; Ludic (self-hosted) -> LLVM IR declare i32 @printf(ptr, ...) declare ptr @malloc(i64) declare ptr @realloc(ptr, i64) declare void @free(ptr) declare i64 @fread(ptr, i64, i64, ptr) declare i64 @fwrite(ptr, i64, i64, ptr) declare i32 @fclose(ptr) declare ptr @fopen(ptr, ptr) declare i32 @fseek(ptr, i64, i32) declare i64 @ftell(ptr) declare i64 @time(ptr) declare void @exit(i32) declare i32 @system(ptr) declare ptr @getenv(ptr) declare ptr @memcpy(ptr, ptr, i64) declare ptr @memset(ptr, i32, i64) declare i64 @strlen(ptr) declare i32 @strcmp(ptr, ptr) declare i32 @strncmp(ptr, ptr, i64) declare ptr @strstr(ptr, ptr) declare i32 @atoi(ptr) declare i32 @getchar() declare i32 @putchar(i32) declare void @win_open(i32, i32, i32, ptr) declare i32 @win_poll() declare void @win_present(ptr, i32, i32) declare i32 @win_running() declare void @win_close() declare void @win_held(ptr) declare i32 @win_key_char(i32) declare i32 @win_text(ptr, i32) declare void @win_mouse(ptr) declare void @win_pad(ptr) declare void @win_touch(ptr) declare void @win_cursor_mode(i32) declare ptr @snd_load(ptr) declare void @snd_play(ptr, i32, i32, i32) declare void @snd_stop(ptr) declare i32 @snd_playing(ptr) declare void @snd_set_volume(ptr, i32) declare void @snd_set_rate(ptr, i32) declare void @snd_set_pan(ptr, i32) declare ptr @hs_req_new(ptr, ptr) declare void @hs_req_header(ptr, ptr, ptr) declare void @hs_req_body(ptr, ptr, i32) declare void @hs_send(i32, ptr) declare i32 @hs_done(i32) declare i32 @hs_status(i32) declare ptr @hs_body(i32) declare i32 @hs_blen(i32) declare ptr @hs_header(i32, ptr) declare void @hs_free(i32) @__stderrp = external global ptr @__stdoutp = external global ptr @.fmt_int = private unnamed_addr constant [4 x i8] c"%d\0A\00" @.fmt_long = private unnamed_addr constant [6 x i8] c"%lld\0A\00" @.fmt_line = private unnamed_addr constant [4 x i8] c"%s\0A\00" @L_argc = internal global i32 0 @L_argv = internal global ptr null @L_clock = internal global i32 0 @.gametitle = private unnamed_addr constant [9 x i8] c"SelfHost\00" %LSlice = type { ptr, i32, i32 } %Cmp_Buf = type { ptr, i32, i32 } %Cmp_Node = type { i32, ptr, i32, ptr, ptr, ptr, ptr, ptr, i32, ptr } %Cmp_Tok = type { i32, ptr, i32, i32 } %Cmp_Val = type { ptr, ptr, ptr } @g_toks = internal global ptr null @g_pi = internal global i32 0 @g_prog = internal global ptr null @g_g_game_name = internal global ptr null @g_g_parse_file = internal global ptr null @g_g_float_files = internal global ptr null @g_g_parsing = internal global i32 1 @g_g_err_file = internal global ptr null @g_g_err_line = internal global i32 0 @g_g_interp_line = internal global i32 1 @g_loaded_paths = internal global ptr null @g_cur_dir = internal global ptr null @g_g_uses_regex = internal global i32 0 @g_g_uses_bignum = internal global i32 0 @g_g_uses_dict = internal global i32 0 @g_g_uses_numeric = internal global i32 0 @g_g_uses_jobs = internal global i32 0 @g_g_uses_query = internal global i32 0 @g_g_uses_reflect = internal global i32 0 @g_g_uses_light = internal global i32 0 @g_g_uses_value = internal global i32 0 @g_g_uses_xml = internal global i32 0 @g_g_uses_base64 = internal global i32 0 @g_g_uses_tiled = internal global i32 0 @g_g_uses_atlas = internal global i32 0 @g_g_uses_reflect_io = internal global i32 0 @g_g_uses_esys = internal global i32 0 @g_g_uses_input = internal global i32 0 @g_g_has_clear_color = internal global i32 0 @g_g_clear_color = internal global ptr null @g_g_warned_draw_sprite = internal global i32 0 @g_g_uses_world_despawn = internal global i32 0 @g_g_uses_anim_rt = internal global i32 0 @g_g_uses_tween_rt = internal global i32 0 @g_g_uses_fx = internal global i32 0 @g_g_uses_audio = internal global i32 0 @g_g_uses_http = internal global i32 0 @g_g_uses_udp = internal global i32 0 @g_g_uses_process = internal global i32 0 @g_g_uses_gl = internal global i32 0 @g_g_uses_vk = internal global i32 0 @g_g_mod_sys_fn = internal global ptr null @g_g_mod_sys_phase = internal global ptr null @g_g_esys_comp = internal global ptr null @g_g_esys_fn = internal global ptr null @g_g_esys_phase = internal global ptr null @g_g_namespaces = internal global ptr null @g_g_ns_blocks = internal global ptr null @g_g_ns_exports = internal global ptr null @g_g_disabled_sys = internal global ptr null @g_head = internal global ptr null @g_code = internal global ptr null @g_falloc = internal global ptr null @g_ll_t = internal global i32 0 @g_ll_lbl = internal global i32 0 @g_ll_str = internal global i32 0 @g_loc_name = internal global ptr null @g_loc_reg = internal global ptr null @g_loc_ty = internal global ptr null @g_loc_mut = internal global ptr null @g_nloc = internal global i32 0 @g_g_emit_module = internal global i32 0 @g_g_uses_str = internal global i32 0 @g_g_uses_intstr = internal global i32 0 @g_g_uses_strslice = internal global i32 0 @g_g_uses_mathrt = internal global i32 0 @g_g_uses_textrt = internal global i32 0 @g_g_uses_textrt2 = internal global i32 0 @g_g_uses_hashrt = internal global i32 0 @g_g_uses_cryptort = internal global i32 0 @g_g_uses_uuidrt = internal global i32 0 @g_g_uses_noisert = internal global i32 0 @g_g_uses_logrt = internal global i32 0 @g_g_uses_osrt = internal global i32 0 @g_g_uses_pid = internal global i32 0 @g_g_uses_unicodert = internal global i32 0 @g_g_uses_fsrt = internal global i32 0 @g_g_uses_pak = internal global i32 0 @g_g_uses_datert = internal global i32 0 @g_g_uses_expect = internal global i32 0 @g_g_uses_panic = internal global i32 0 @g_g_uses_bounds = internal global i32 0 @g_g_fprintf_declared = internal global i32 0 @g_g_bounds = internal global i32 1 @g_g_uses_result = internal global i32 0 @g_g_uses_option = internal global i32 0 @g_g_tests = internal global ptr null @g_g_src_name = internal global ptr null @g_g_uses_longstr = internal global i32 0 @g_g_coverage = internal global i32 0 @g_g_cov_active = internal global i32 1 @g_g_cov_lines = internal global ptr null @g_g_prog_user_end = internal global i32 0 @g_brk_lbl = internal global ptr null @g_cnt_lbl = internal global ptr null @g_nloop = internal global i32 0 @g_ret_ty = internal global ptr null @g_g_term = internal global i32 0 @g_self_stk = internal global ptr null @g_nself = internal global i32 0 @g_mach_stk = internal global ptr null @g_nmach = internal global i32 0 @g_g_scenes = internal global ptr null @g_g_scene_count = internal global i32 0 @g_g_start_scene = internal global i32 0 @g_g_cur_scene = internal global ptr null @g_g_var_ord = internal global i32 0 @g_g_computed = internal global ptr null @g_g_onspawn = internal global ptr null @g_g_ondespawn = internal global ptr null @g_g_onattach = internal global ptr null @g_g_ondetach = internal global ptr null @g_g_onenable = internal global ptr null @g_g_ondisable = internal global ptr null @g_g_events = internal global ptr null @g_g_onlisten = internal global ptr null @g_g_ret_label = internal global ptr null @g_g_cancel_addr = internal global ptr null @g_g_toggled_layers = internal global ptr null @g_loc_blk = internal global ptr null @g_g_blk_cur = internal global i32 0 @g_g_blk_next = internal global i32 0 @g_g_addr_ty = internal global ptr null @g_g_intrin_ok = internal global i32 0 @g_g_windowed = internal global i32 0 @g_g_target_win = internal global i32 0 @g_g_det_names = internal global ptr null @g_g_det_ctx = internal global ptr null @g_g_warn_promote = internal global i32 -1 @g_g_uses_fpstr = internal global i32 0 @g_g_fp_decls = internal global ptr null @g_g_prevals = internal global ptr null @g_g_iok = internal global i32 0 @g_g_snap_mode = internal global ptr null @g_g_off = internal global ptr null @g_g_uses_loopback = internal global i32 0 @g_uiw = internal global ptr null @g_uiw_parent = internal global ptr null @g_ui_roots = internal global ptr null @.str0 = private unnamed_addr constant [3 x i8] c"rb\00" @.str1 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:190: index out of range: \00" @.str2 = private unnamed_addr constant [23 x i8] c"unexpected character '\00" @.str3 = private unnamed_addr constant [9 x i8] c"' (byte \00" @.str4 = private unnamed_addr constant [2 x i8] c")\00" @.str5 = private unnamed_addr constant [2 x i8] c":\00" @.str6 = private unnamed_addr constant [10 x i8] c": error: \00" @.str7 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8 = private unnamed_addr constant [52 x i8] c"unterminated character literal (expected closing ')\00" @.str9 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:400: index out of range: \00" @.str10 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:409: index out of range: \00" @.str11 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:410: index out of range: \00" @.str12 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:411: index out of range: \00" @.str13 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:412: index out of range: \00" @.str14 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:421: index out of range: \00" @.str15 = private unnamed_addr constant [1 x i8] c"\00" @.str16 = private unnamed_addr constant [2 x i8] c":\00" @.str17 = private unnamed_addr constant [10 x i8] c": error: \00" @.str18 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str19 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:431: index out of range: \00" @.str20 = private unnamed_addr constant [12 x i8] c"end of file\00" @.str21 = private unnamed_addr constant [12 x i8] c"end of line\00" @.str22 = private unnamed_addr constant [8 x i8] c"number \00" @.str23 = private unnamed_addr constant [9 x i8] c"string \22\00" @.str24 = private unnamed_addr constant [2 x i8] c"\22\00" @.str25 = private unnamed_addr constant [2 x i8] c"'\00" @.str26 = private unnamed_addr constant [2 x i8] c"'\00" @.str27 = private unnamed_addr constant [11 x i8] c"expected '\00" @.str28 = private unnamed_addr constant [8 x i8] c"', got \00" @.str29 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:440: index out of range: \00" @.str30 = private unnamed_addr constant [29 x i8] c"expected an identifier, got \00" @.str31 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:445: index out of range: \00" @.str32 = private unnamed_addr constant [2 x i8] c"[\00" @.str33 = private unnamed_addr constant [2 x i8] c"]\00" @.str34 = private unnamed_addr constant [2 x i8] c"(\00" @.str35 = private unnamed_addr constant [2 x i8] c")\00" @.str36 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:473: index out of range: \00" @.str37 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:474: index out of range: \00" @.str38 = private unnamed_addr constant [2 x i8] c":\00" @.str39 = private unnamed_addr constant [2 x i8] c":\00" @.str40 = private unnamed_addr constant [2 x i8] c",\00" @.str41 = private unnamed_addr constant [2 x i8] c")\00" @.str42 = private unnamed_addr constant [2 x i8] c"+\00" @.str43 = private unnamed_addr constant [7 x i8] c"string\00" @.str44 = private unnamed_addr constant [2 x i8] c"(\00" @.str45 = private unnamed_addr constant [2 x i8] c")\00" @.str46 = private unnamed_addr constant [2 x i8] c":\00" @.str47 = private unnamed_addr constant [2 x i8] c",\00" @.str48 = private unnamed_addr constant [2 x i8] c")\00" @.str49 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:562: index out of range: \00" @.str50 = private unnamed_addr constant [2 x i8] c"[\00" @.str51 = private unnamed_addr constant [2 x i8] c"]\00" @.str52 = private unnamed_addr constant [2 x i8] c",\00" @.str53 = private unnamed_addr constant [2 x i8] c"]\00" @.str54 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:573: index out of range: \00" @.str55 = private unnamed_addr constant [2 x i8] c"[\00" @.str56 = private unnamed_addr constant [5 x i8] c"emit\00" @.str57 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:576: index out of range: \00" @.str58 = private unnamed_addr constant [5 x i8] c"true\00" @.str59 = private unnamed_addr constant [6 x i8] c"false\00" @.str60 = private unnamed_addr constant [5 x i8] c"null\00" @.str61 = private unnamed_addr constant [4 x i8] c"new\00" @.str62 = private unnamed_addr constant [2 x i8] c"{\00" @.str63 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str64 = private unnamed_addr constant [3 x i8] c"fn\00" @.str65 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:588: index out of range: \00" @.str66 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:588: index out of range: \00" @.str67 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:588: index out of range: \00" @.str68 = private unnamed_addr constant [4 x i8] c"and\00" @.str69 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:588: index out of range: \00" @.str70 = private unnamed_addr constant [3 x i8] c"or\00" @.str71 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:588: index out of range: \00" @.str72 = private unnamed_addr constant [4 x i8] c"not\00" @.str73 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:588: index out of range: \00" @.str74 = private unnamed_addr constant [3 x i8] c"in\00" @.str75 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:588: index out of range: \00" @.str76 = private unnamed_addr constant [3 x i8] c"is\00" @.str77 = private unnamed_addr constant [4 x i8] c"try\00" @.str78 = private unnamed_addr constant [5 x i8] c"else\00" @.str79 = private unnamed_addr constant [37 x i8] c"try needs an `else { ... }` fallback\00" @.str80 = private unnamed_addr constant [2 x i8] c"(\00" @.str81 = private unnamed_addr constant [2 x i8] c")\00" @.str82 = private unnamed_addr constant [20 x i8] c"expected expression\00" @.str83 = private unnamed_addr constant [2 x i8] c".\00" @.str84 = private unnamed_addr constant [6 x i8] c"Regex\00" @.str85 = private unnamed_addr constant [7 x i8] c"BigInt\00" @.str86 = private unnamed_addr constant [8 x i8] c"Decimal\00" @.str87 = private unnamed_addr constant [5 x i8] c"Dict\00" @.str88 = private unnamed_addr constant [4 x i8] c"Set\00" @.str89 = private unnamed_addr constant [5 x i8] c"Huge\00" @.str90 = private unnamed_addr constant [6 x i8] c"Angle\00" @.str91 = private unnamed_addr constant [8 x i8] c"Percent\00" @.str92 = private unnamed_addr constant [4 x i8] c"Job\00" @.str93 = private unnamed_addr constant [8 x i8] c"Promise\00" @.str94 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str95 = private unnamed_addr constant [6 x i8] c"Query\00" @.str96 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str97 = private unnamed_addr constant [6 x i8] c"Light\00" @.str98 = private unnamed_addr constant [6 x i8] c"Value\00" @.str99 = private unnamed_addr constant [5 x i8] c"Json\00" @.str100 = private unnamed_addr constant [4 x i8] c"Xml\00" @.str101 = private unnamed_addr constant [7 x i8] c"Base64\00" @.str102 = private unnamed_addr constant [6 x i8] c"Tiled\00" @.str103 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str104 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str105 = private unnamed_addr constant [5 x i8] c"cell\00" @.str106 = private unnamed_addr constant [10 x i8] c"cell_span\00" @.str107 = private unnamed_addr constant [7 x i8] c"define\00" @.str108 = private unnamed_addr constant [6 x i8] c"named\00" @.str109 = private unnamed_addr constant [5 x i8] c"draw\00" @.str110 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" @.str111 = private unnamed_addr constant [6 x i8] c"width\00" @.str112 = private unnamed_addr constant [7 x i8] c"height\00" @.str113 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str114 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str115 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str116 = private unnamed_addr constant [6 x i8] c"apply\00" @.str117 = private unnamed_addr constant [6 x i8] c"Input\00" @.str118 = private unnamed_addr constant [5 x i8] c"bind\00" @.str119 = private unnamed_addr constant [7 x i8] c"rebind\00" @.str120 = private unnamed_addr constant [5 x i8] c"poll\00" @.str121 = private unnamed_addr constant [5 x i8] c"down\00" @.str122 = private unnamed_addr constant [8 x i8] c"pressed\00" @.str123 = private unnamed_addr constant [7 x i8] c"record\00" @.str124 = private unnamed_addr constant [7 x i8] c"replay\00" @.str125 = private unnamed_addr constant [7 x i8] c"action\00" @.str126 = private unnamed_addr constant [9 x i8] c"bind_pad\00" @.str127 = private unnamed_addr constant [7 x i8] c"active\00" @.str128 = private unnamed_addr constant [13 x i8] c"just_pressed\00" @.str129 = private unnamed_addr constant [14 x i8] c"just_released\00" @.str130 = private unnamed_addr constant [6 x i8] c"Input\00" @.str131 = private unnamed_addr constant [9 x i8] c"key_down\00" @.str132 = private unnamed_addr constant [12 x i8] c"key_pressed\00" @.str133 = private unnamed_addr constant [13 x i8] c"key_released\00" @.str134 = private unnamed_addr constant [10 x i8] c"key_label\00" @.str135 = private unnamed_addr constant [6 x i8] c"press\00" @.str136 = private unnamed_addr constant [8 x i8] c"release\00" @.str137 = private unnamed_addr constant [5 x i8] c"axis\00" @.str138 = private unnamed_addr constant [7 x i8] c"axis_i\00" @.str139 = private unnamed_addr constant [7 x i8] c"vector\00" @.str140 = private unnamed_addr constant [9 x i8] c"strength\00" @.str141 = private unnamed_addr constant [8 x i8] c"mouse_x\00" @.str142 = private unnamed_addr constant [8 x i8] c"mouse_y\00" @.str143 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" @.str144 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" @.str145 = private unnamed_addr constant [11 x i8] c"mouse_down\00" @.str146 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str147 = private unnamed_addr constant [10 x i8] c"set_mouse\00" @.str148 = private unnamed_addr constant [14 x i8] c"pad_connected\00" @.str149 = private unnamed_addr constant [11 x i8] c"pad_button\00" @.str150 = private unnamed_addr constant [9 x i8] c"pad_axis\00" @.str151 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str152 = private unnamed_addr constant [8 x i8] c"set_pad\00" @.str153 = private unnamed_addr constant [12 x i8] c"touch_count\00" @.str154 = private unnamed_addr constant [8 x i8] c"touch_x\00" @.str155 = private unnamed_addr constant [8 x i8] c"touch_y\00" @.str156 = private unnamed_addr constant [10 x i8] c"set_touch\00" @.str157 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" @.str158 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str159 = private unnamed_addr constant [5 x i8] c"play\00" @.str160 = private unnamed_addr constant [5 x i8] c"clip\00" @.str161 = private unnamed_addr constant [9 x i8] c"on_frame\00" @.str162 = private unnamed_addr constant [6 x i8] c"fired\00" @.str163 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str164 = private unnamed_addr constant [3 x i8] c"to\00" @.str165 = private unnamed_addr constant [6 x i8] c"Audio\00" @.str166 = private unnamed_addr constant [5 x i8] c"Http\00" @.str167 = private unnamed_addr constant [4 x i8] c"Udp\00" @.str168 = private unnamed_addr constant [8 x i8] c"Process\00" @.str169 = private unnamed_addr constant [3 x i8] c"Gl\00" @.str170 = private unnamed_addr constant [3 x i8] c"Vk\00" @.str171 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str172 = private unnamed_addr constant [3 x i8] c"to\00" @.str173 = private unnamed_addr constant [6 x i8] c"chain\00" @.str174 = private unnamed_addr constant [6 x i8] c"delay\00" @.str175 = private unnamed_addr constant [6 x i8] c"value\00" @.str176 = private unnamed_addr constant [5 x i8] c"stop\00" @.str177 = private unnamed_addr constant [9 x i8] c"parallel\00" @.str178 = private unnamed_addr constant [3 x i8] c"Fx\00" @.str179 = private unnamed_addr constant [2 x i8] c"[\00" @.str180 = private unnamed_addr constant [3 x i8] c"..\00" @.str181 = private unnamed_addr constant [2 x i8] c"]\00" @.str182 = private unnamed_addr constant [2 x i8] c"]\00" @.str183 = private unnamed_addr constant [2 x i8] c"(\00" @.str184 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:663: index out of range: \00" @.str185 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" @.str186 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" @.str187 = private unnamed_addr constant [2 x i8] c"-\00" @.str188 = private unnamed_addr constant [2 x i8] c"-\00" @.str189 = private unnamed_addr constant [2 x i8] c"~\00" @.str190 = private unnamed_addr constant [2 x i8] c"~\00" @.str191 = private unnamed_addr constant [4 x i8] c"not\00" @.str192 = private unnamed_addr constant [4 x i8] c"not\00" @.str193 = private unnamed_addr constant [2 x i8] c"*\00" @.str194 = private unnamed_addr constant [2 x i8] c"/\00" @.str195 = private unnamed_addr constant [2 x i8] c"%\00" @.str196 = private unnamed_addr constant [3 x i8] c"<<\00" @.str197 = private unnamed_addr constant [3 x i8] c">>\00" @.str198 = private unnamed_addr constant [2 x i8] c"&\00" @.str199 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:685: index out of range: \00" @.str200 = private unnamed_addr constant [2 x i8] c"+\00" @.str201 = private unnamed_addr constant [2 x i8] c"-\00" @.str202 = private unnamed_addr constant [2 x i8] c"|\00" @.str203 = private unnamed_addr constant [2 x i8] c"^\00" @.str204 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:691: index out of range: \00" @.str205 = private unnamed_addr constant [2 x i8] c"<\00" @.str206 = private unnamed_addr constant [3 x i8] c"<=\00" @.str207 = private unnamed_addr constant [2 x i8] c">\00" @.str208 = private unnamed_addr constant [3 x i8] c">=\00" @.str209 = private unnamed_addr constant [3 x i8] c"==\00" @.str210 = private unnamed_addr constant [3 x i8] c"!=\00" @.str211 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:697: index out of range: \00" @.str212 = private unnamed_addr constant [4 x i8] c"and\00" @.str213 = private unnamed_addr constant [4 x i8] c"and\00" @.str214 = private unnamed_addr constant [3 x i8] c"or\00" @.str215 = private unnamed_addr constant [3 x i8] c"or\00" @.str216 = private unnamed_addr constant [2 x i8] c"{\00" @.str217 = private unnamed_addr constant [2 x i8] c"}\00" @.str218 = private unnamed_addr constant [2 x i8] c":\00" @.str219 = private unnamed_addr constant [2 x i8] c",\00" @.str220 = private unnamed_addr constant [2 x i8] c"}\00" @.str221 = private unnamed_addr constant [2 x i8] c"{\00" @.str222 = private unnamed_addr constant [2 x i8] c"}\00" @.str223 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:732: index out of range: \00" @.str224 = private unnamed_addr constant [2 x i8] c"}\00" @.str225 = private unnamed_addr constant [43 x i8] c"expected newline or ';' between statements\00" @.str226 = private unnamed_addr constant [2 x i8] c"}\00" @.str227 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:744: index out of range: \00" @.str228 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:751: index out of range: \00" @.str229 = private unnamed_addr constant [4 x i8] c"let\00" @.str230 = private unnamed_addr constant [4 x i8] c"var\00" @.str231 = private unnamed_addr constant [4 x i8] c"var\00" @.str232 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:755: index out of range: \00" @.str233 = private unnamed_addr constant [2 x i8] c":\00" @.str234 = private unnamed_addr constant [2 x i8] c"=\00" @.str235 = private unnamed_addr constant [7 x i8] c"return\00" @.str236 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:762: index out of range: \00" @.str237 = private unnamed_addr constant [2 x i8] c"}\00" @.str238 = private unnamed_addr constant [3 x i8] c"if\00" @.str239 = private unnamed_addr constant [5 x i8] c"else\00" @.str240 = private unnamed_addr constant [3 x i8] c"if\00" @.str241 = private unnamed_addr constant [6 x i8] c"while\00" @.str242 = private unnamed_addr constant [4 x i8] c"for\00" @.str243 = private unnamed_addr constant [2 x i8] c"(\00" @.str244 = private unnamed_addr constant [3 x i8] c"..\00" @.str245 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str246 = private unnamed_addr constant [8 x i8] c"machine\00" @.str247 = private unnamed_addr constant [2 x i8] c"{\00" @.str248 = private unnamed_addr constant [2 x i8] c"}\00" @.str249 = private unnamed_addr constant [2 x i8] c"=\00" @.str250 = private unnamed_addr constant [2 x i8] c"}\00" @.str251 = private unnamed_addr constant [5 x i8] c"emit\00" @.str252 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:798: index out of range: \00" @.str253 = private unnamed_addr constant [7 x i8] c"become\00" @.str254 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str255 = private unnamed_addr constant [7 x i8] c"enable\00" @.str256 = private unnamed_addr constant [8 x i8] c"disable\00" @.str257 = private unnamed_addr constant [7 x i8] c"enable\00" @.str258 = private unnamed_addr constant [6 x i8] c"layer\00" @.str259 = private unnamed_addr constant [6 x i8] c"layer\00" @.str260 = private unnamed_addr constant [7 x i8] c"system\00" @.str261 = private unnamed_addr constant [7 x i8] c"system\00" @.str262 = private unnamed_addr constant [3 x i8] c"on\00" @.str263 = private unnamed_addr constant [7 x i8] c"attach\00" @.str264 = private unnamed_addr constant [3 x i8] c"on\00" @.str265 = private unnamed_addr constant [27 x i8] c"attach needs 'on '\00" @.str266 = private unnamed_addr constant [2 x i8] c"{\00" @.str267 = private unnamed_addr constant [7 x i8] c"detach\00" @.str268 = private unnamed_addr constant [3 x i8] c"on\00" @.str269 = private unnamed_addr constant [27 x i8] c"detach needs 'on '\00" @.str270 = private unnamed_addr constant [6 x i8] c"break\00" @.str271 = private unnamed_addr constant [9 x i8] c"continue\00" @.str272 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str273 = private unnamed_addr constant [6 x i8] c"match\00" @.str274 = private unnamed_addr constant [2 x i8] c"{\00" @.str275 = private unnamed_addr constant [2 x i8] c"}\00" @.str276 = private unnamed_addr constant [2 x i8] c",\00" @.str277 = private unnamed_addr constant [3 x i8] c"=>\00" @.str278 = private unnamed_addr constant [2 x i8] c"{\00" @.str279 = private unnamed_addr constant [2 x i8] c"}\00" @.str280 = private unnamed_addr constant [2 x i8] c"=\00" @.str281 = private unnamed_addr constant [3 x i8] c"+=\00" @.str282 = private unnamed_addr constant [3 x i8] c"-=\00" @.str283 = private unnamed_addr constant [3 x i8] c"*=\00" @.str284 = private unnamed_addr constant [3 x i8] c"/=\00" @.str285 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:841: index out of range: \00" @.str286 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:841: index out of range: \00" @.str287 = private unnamed_addr constant [2 x i8] c":\00" @.str288 = private unnamed_addr constant [2 x i8] c"=\00" @.str289 = private unnamed_addr constant [2 x i8] c":\00" @.str290 = private unnamed_addr constant [2 x i8] c"=\00" @.str291 = private unnamed_addr constant [4 x i8] c"new\00" @.str292 = private unnamed_addr constant [6 x i8] c"match\00" @.str293 = private unnamed_addr constant [8 x i8] c"machine\00" @.str294 = private unnamed_addr constant [7 x i8] c"become\00" @.str295 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str296 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str297 = private unnamed_addr constant [6 x i8] c"query\00" @.str298 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str299 = private unnamed_addr constant [6 x i8] c"scene\00" @.str300 = private unnamed_addr constant [6 x i8] c"layer\00" @.str301 = private unnamed_addr constant [8 x i8] c"handler\00" @.str302 = private unnamed_addr constant [9 x i8] c"property\00" @.str303 = private unnamed_addr constant [6 x i8] c"model\00" @.str304 = private unnamed_addr constant [5 x i8] c"enum\00" @.str305 = private unnamed_addr constant [6 x i8] c"event\00" @.str306 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str307 = private unnamed_addr constant [9 x i8] c"function\00" @.str308 = private unnamed_addr constant [4 x i8] c"let\00" @.str309 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str310 = private unnamed_addr constant [4 x i8] c"var\00" @.str311 = private unnamed_addr constant [6 x i8] c"const\00" @.str312 = private unnamed_addr constant [3 x i8] c"if\00" @.str313 = private unnamed_addr constant [5 x i8] c"else\00" @.str314 = private unnamed_addr constant [6 x i8] c"while\00" @.str315 = private unnamed_addr constant [4 x i8] c"for\00" @.str316 = private unnamed_addr constant [7 x i8] c"return\00" @.str317 = private unnamed_addr constant [7 x i8] c"import\00" @.str318 = private unnamed_addr constant [8 x i8] c"program\00" @.str319 = private unnamed_addr constant [6 x i8] c"entry\00" @.str320 = private unnamed_addr constant [3 x i8] c"ui\00" @.str321 = private unnamed_addr constant [6 x i8] c"break\00" @.str322 = private unnamed_addr constant [9 x i8] c"continue\00" @.str323 = private unnamed_addr constant [4 x i8] c"and\00" @.str324 = private unnamed_addr constant [3 x i8] c"or\00" @.str325 = private unnamed_addr constant [4 x i8] c"not\00" @.str326 = private unnamed_addr constant [5 x i8] c"true\00" @.str327 = private unnamed_addr constant [6 x i8] c"false\00" @.str328 = private unnamed_addr constant [5 x i8] c"null\00" @.str329 = private unnamed_addr constant [2 x i8] c"(\00" @.str330 = private unnamed_addr constant [2 x i8] c"'\00" @.str331 = private unnamed_addr constant [48 x i8] c"' is a reserved word and cannot name a function\00" @.str332 = private unnamed_addr constant [2 x i8] c")\00" @.str333 = private unnamed_addr constant [2 x i8] c":\00" @.str334 = private unnamed_addr constant [2 x i8] c",\00" @.str335 = private unnamed_addr constant [2 x i8] c")\00" @.str336 = private unnamed_addr constant [5 x i8] c"void\00" @.str337 = private unnamed_addr constant [3 x i8] c"->\00" @.str338 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:892: index out of range: \00" @.str339 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:904: index out of range: \00" @.str340 = private unnamed_addr constant [2 x i8] c"{\00" @.str341 = private unnamed_addr constant [2 x i8] c"}\00" @.str342 = private unnamed_addr constant [7 x i8] c"export\00" @.str343 = private unnamed_addr constant [9 x i8] c"internal\00" @.str344 = private unnamed_addr constant [9 x i8] c"function\00" @.str345 = private unnamed_addr constant [54 x i8] c"a namespace body holds functions: expected `function`\00" @.str346 = private unnamed_addr constant [2 x i8] c"}\00" @.str347 = private unnamed_addr constant [2 x i8] c"_\00" @.str348 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:933: index out of range: \00" @.str349 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:933: index out of range: \00" @.str350 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:935: index out of range: \00" @.str351 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:940: index out of range: \00" @.str352 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:940: index out of range: \00" @.str353 = private unnamed_addr constant [41 x i8] c"selfhost.ludic:941: index out of range: \00" @.str354 = private unnamed_addr constant [3 x i8] c"OS\00" @.str355 = private unnamed_addr constant [11 x i8] c"Windows_NT\00" @.str356 = private unnamed_addr constant [1 x i8] c"\00" @.str357 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00" @.str358 = private unnamed_addr constant [1 x i8] c"\00" @.str359 = private unnamed_addr constant [5 x i8] c"bin/\00" @.str360 = private unnamed_addr constant [5 x i8] c"PATH\00" @.str361 = private unnamed_addr constant [1 x i8] c"\00" @.str362 = private unnamed_addr constant [3 x i8] c"rb\00" @.str363 = private unnamed_addr constant [5 x i8] c".exe\00" @.str364 = private unnamed_addr constant [3 x i8] c"rb\00" @.str365 = private unnamed_addr constant [1 x i8] c"\00" @.str366 = private unnamed_addr constant [23 x i8] c"ludicc: warning: bare \00" @.str367 = private unnamed_addr constant [139 x i8] c"(...) is deprecated (#85) \E2\80\94 use Screen.sprite / Screen.sprite_scaled, or declare a Sprite component for the engine sprite-render system\0A\00" @.str368 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1103: index out of range: \00" @.str369 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1108: index out of range: \00" @.str370 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1121: index out of range: \00" @.str371 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1130: index out of range: \00" @.str372 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1135: index out of range: \00" @.str373 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1141: index out of range: \00" @.str374 = private unnamed_addr constant [2 x i8] c"@\00" @.str375 = private unnamed_addr constant [7 x i8] c"export\00" @.str376 = private unnamed_addr constant [7 x i8] c"Public\00" @.str377 = private unnamed_addr constant [3 x i8] c"On\00" @.str378 = private unnamed_addr constant [2 x i8] c"(\00" @.str379 = private unnamed_addr constant [2 x i8] c")\00" @.str380 = private unnamed_addr constant [8 x i8] c"Queries\00" @.str381 = private unnamed_addr constant [8 x i8] c"OnSpawn\00" @.str382 = private unnamed_addr constant [2 x i8] c"(\00" @.str383 = private unnamed_addr constant [2 x i8] c")\00" @.str384 = private unnamed_addr constant [10 x i8] c"OnDespawn\00" @.str385 = private unnamed_addr constant [2 x i8] c"(\00" @.str386 = private unnamed_addr constant [2 x i8] c",\00" @.str387 = private unnamed_addr constant [2 x i8] c":\00" @.str388 = private unnamed_addr constant [2 x i8] c")\00" @.str389 = private unnamed_addr constant [9 x i8] c"OnAttach\00" @.str390 = private unnamed_addr constant [2 x i8] c"(\00" @.str391 = private unnamed_addr constant [2 x i8] c")\00" @.str392 = private unnamed_addr constant [9 x i8] c"OnDetach\00" @.str393 = private unnamed_addr constant [2 x i8] c"(\00" @.str394 = private unnamed_addr constant [2 x i8] c")\00" @.str395 = private unnamed_addr constant [9 x i8] c"OnEnable\00" @.str396 = private unnamed_addr constant [2 x i8] c"(\00" @.str397 = private unnamed_addr constant [2 x i8] c")\00" @.str398 = private unnamed_addr constant [10 x i8] c"OnDisable\00" @.str399 = private unnamed_addr constant [2 x i8] c"(\00" @.str400 = private unnamed_addr constant [2 x i8] c")\00" @.str401 = private unnamed_addr constant [8 x i8] c"OnStart\00" @.str402 = private unnamed_addr constant [6 x i8] c"Start\00" @.str403 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str404 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str405 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str406 = private unnamed_addr constant [6 x i8] c"Owned\00" @.str407 = private unnamed_addr constant [7 x i8] c"Server\00" @.str408 = private unnamed_addr constant [7 x i8] c"server\00" @.str409 = private unnamed_addr constant [10 x i8] c"Predicted\00" @.str410 = private unnamed_addr constant [10 x i8] c"predicted\00" @.str411 = private unnamed_addr constant [9 x i8] c"ToServer\00" @.str412 = private unnamed_addr constant [9 x i8] c"toserver\00" @.str413 = private unnamed_addr constant [10 x i8] c"ToClients\00" @.str414 = private unnamed_addr constant [10 x i8] c"toclients\00" @.str415 = private unnamed_addr constant [7 x i8] c"System\00" @.str416 = private unnamed_addr constant [7 x i8] c"Update\00" @.str417 = private unnamed_addr constant [2 x i8] c"(\00" @.str418 = private unnamed_addr constant [2 x i8] c")\00" @.str419 = private unnamed_addr constant [13 x i8] c"EngineSystem\00" @.str420 = private unnamed_addr constant [2 x i8] c"(\00" @.str421 = private unnamed_addr constant [2 x i8] c",\00" @.str422 = private unnamed_addr constant [2 x i8] c")\00" @.str423 = private unnamed_addr constant [10 x i8] c"Namespace\00" @.str424 = private unnamed_addr constant [2 x i8] c"(\00" @.str425 = private unnamed_addr constant [2 x i8] c")\00" @.str426 = private unnamed_addr constant [14 x i8] c"deterministic\00" @.str427 = private unnamed_addr constant [11 x i8] c"ClearColor\00" @.str428 = private unnamed_addr constant [2 x i8] c"(\00" @.str429 = private unnamed_addr constant [2 x i8] c")\00" @.str430 = private unnamed_addr constant [2 x i8] c"(\00" @.str431 = private unnamed_addr constant [2 x i8] c"(\00" @.str432 = private unnamed_addr constant [2 x i8] c")\00" @.str433 = private unnamed_addr constant [8 x i8] c"numbers\00" @.str434 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1210: index out of range: \00" @.str435 = private unnamed_addr constant [6 x i8] c"float\00" @.str436 = private unnamed_addr constant [7 x i8] c"import\00" @.str437 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1216: index out of range: \00" @.str438 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00" @.str439 = private unnamed_addr constant [5 x i8] c"enum\00" @.str440 = private unnamed_addr constant [6 x i8] c"event\00" @.str441 = private unnamed_addr constant [9 x i8] c"property\00" @.str442 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1230: index out of range: \00" @.str443 = private unnamed_addr constant [6 x i8] c"model\00" @.str444 = private unnamed_addr constant [6 x i8] c"scene\00" @.str445 = private unnamed_addr constant [7 x i8] c"prefab\00" @.str446 = private unnamed_addr constant [8 x i8] c"handler\00" @.str447 = private unnamed_addr constant [7 x i8] c"server\00" @.str448 = private unnamed_addr constant [7 x i8] c"model_\00" @.str449 = private unnamed_addr constant [7 x i8] c"_spawn\00" @.str450 = private unnamed_addr constant [7 x i8] c"model_\00" @.str451 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str452 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str453 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str454 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str455 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str456 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str457 = private unnamed_addr constant [8 x i8] c"_enable\00" @.str458 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str459 = private unnamed_addr constant [9 x i8] c"_disable\00" @.str460 = private unnamed_addr constant [6 x i8] c"Start\00" @.str461 = private unnamed_addr constant [14 x i8] c"program_start\00" @.str462 = private unnamed_addr constant [13 x i8] c"program_quit\00" @.str463 = private unnamed_addr constant [3 x i8] c"ui\00" @.str464 = private unnamed_addr constant [10 x i8] c"namespace\00" @.str465 = private unnamed_addr constant [4 x i8] c"var\00" @.str466 = private unnamed_addr constant [6 x i8] c"const\00" @.str467 = private unnamed_addr constant [9 x i8] c"function\00" @.str468 = private unnamed_addr constant [7 x i8] c"extern\00" @.str469 = private unnamed_addr constant [6 x i8] c"entry\00" @.str470 = private unnamed_addr constant [5 x i8] c"test\00" @.str471 = private unnamed_addr constant [71 x i8] c"expected a declaration (property, model, handler, function, \E2\80\A6), got \00" @.str472 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1295: index out of range: \00" @.str473 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1297: index out of range: \00" @.str474 = private unnamed_addr constant [36 x i8] c"expected a \22name\22 string after test\00" @.str475 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1299: index out of range: \00" @.str476 = private unnamed_addr constant [9 x i8] c"runtime/\00" @.str477 = private unnamed_addr constant [22 x i8] c"import: no directory \00" @.str478 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1341: index out of range: \00" @.str479 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1341: index out of range: \00" @.str480 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1342: index out of range: \00" @.str481 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1342: index out of range: \00" @.str482 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1342: index out of range: \00" @.str483 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1342: index out of range: \00" @.str484 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1347: index out of range: \00" @.str485 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str486 = private unnamed_addr constant [2 x i8] c"/\00" @.str487 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str488 = private unnamed_addr constant [1 x i8] c"\00" @.str489 = private unnamed_addr constant [12 x i8] c"index.ludic\00" @.str490 = private unnamed_addr constant [13 x i8] c"/index.ludic\00" @.str491 = private unnamed_addr constant [9 x i8] c"/*.ludic\00" @.str492 = private unnamed_addr constant [1 x i8] c"\00" @.str493 = private unnamed_addr constant [9 x i8] c"import: \00" @.str494 = private unnamed_addr constant [42 x i8] c" is a directory with no index.ludic (add \00" @.str495 = private unnamed_addr constant [22 x i8] c" listing its imports)\00" @.str496 = private unnamed_addr constant [14 x i8] c"LUDIC_MODULES\00" @.str497 = private unnamed_addr constant [14 x i8] c"ludic_modules\00" @.str498 = private unnamed_addr constant [10 x i8] c"packages/\00" @.str499 = private unnamed_addr constant [20 x i8] c"cannot open import \00" @.str500 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str501 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1418: index out of range: \00" @.str502 = private unnamed_addr constant [1 x i8] c"\00" @.str503 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str504 = private unnamed_addr constant [1 x i8] c"\00" @.str505 = private unnamed_addr constant [27 x i8] c"runtime/native/regex.ludic\00" @.str506 = private unnamed_addr constant [30 x i8] c"runtime/native/regex_vm.ludic\00" @.str507 = private unnamed_addr constant [1 x i8] c"\00" @.str508 = private unnamed_addr constant [28 x i8] c"runtime/native/bignum.ludic\00" @.str509 = private unnamed_addr constant [1 x i8] c"\00" @.str510 = private unnamed_addr constant [26 x i8] c"runtime/native/dict.ludic\00" @.str511 = private unnamed_addr constant [1 x i8] c"\00" @.str512 = private unnamed_addr constant [29 x i8] c"runtime/native/numeric.ludic\00" @.str513 = private unnamed_addr constant [1 x i8] c"\00" @.str514 = private unnamed_addr constant [26 x i8] c"runtime/native/jobs.ludic\00" @.str515 = private unnamed_addr constant [1 x i8] c"\00" @.str516 = private unnamed_addr constant [27 x i8] c"runtime/native/query.ludic\00" @.str517 = private unnamed_addr constant [1 x i8] c"\00" @.str518 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" @.str519 = private unnamed_addr constant [1 x i8] c"\00" @.str520 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" @.str521 = private unnamed_addr constant [1 x i8] c"\00" @.str522 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" @.str523 = private unnamed_addr constant [1 x i8] c"\00" @.str524 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str525 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str526 = private unnamed_addr constant [27 x i8] c"runtime/native/atlas.ludic\00" @.str527 = private unnamed_addr constant [1 x i8] c"\00" @.str528 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str529 = private unnamed_addr constant [24 x i8] c"runtime/native/fx.ludic\00" @.str530 = private unnamed_addr constant [1 x i8] c"\00" @.str531 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" @.str532 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" @.str533 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" @.str534 = private unnamed_addr constant [1 x i8] c"\00" @.str535 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str536 = private unnamed_addr constant [25 x i8] c"runtime/native/xml.ludic\00" @.str537 = private unnamed_addr constant [29 x i8] c"runtime/native/inflate.ludic\00" @.str538 = private unnamed_addr constant [26 x i8] c"runtime/native/zstd.ludic\00" @.str539 = private unnamed_addr constant [28 x i8] c"runtime/native/base64.ludic\00" @.str540 = private unnamed_addr constant [27 x i8] c"runtime/native/value.ludic\00" @.str541 = private unnamed_addr constant [27 x i8] c"runtime/native/tiled.ludic\00" @.str542 = private unnamed_addr constant [33 x i8] c"runtime/native/tiled_spawn.ludic\00" @.str543 = private unnamed_addr constant [1 x i8] c"\00" @.str544 = private unnamed_addr constant [32 x i8] c"runtime/native/reflect_io.ludic\00" @.str545 = private unnamed_addr constant [1 x i8] c"\00" @.str546 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str547 = private unnamed_addr constant [27 x i8] c"runtime/native/input.ludic\00" @.str548 = private unnamed_addr constant [1 x i8] c"\00" @.str549 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str550 = private unnamed_addr constant [27 x i8] c"runtime/native/tween.ludic\00" @.str551 = private unnamed_addr constant [1 x i8] c"\00" @.str552 = private unnamed_addr constant [27 x i8] c"runtime/native/audio.ludic\00" @.str553 = private unnamed_addr constant [1 x i8] c"\00" @.str554 = private unnamed_addr constant [26 x i8] c"runtime/native/http.ludic\00" @.str555 = private unnamed_addr constant [1 x i8] c"\00" @.str556 = private unnamed_addr constant [25 x i8] c"runtime/native/udp.ludic\00" @.str557 = private unnamed_addr constant [1 x i8] c"\00" @.str558 = private unnamed_addr constant [29 x i8] c"runtime/native/process.ludic\00" @.str559 = private unnamed_addr constant [1 x i8] c"\00" @.str560 = private unnamed_addr constant [24 x i8] c"runtime/native/gl.ludic\00" @.str561 = private unnamed_addr constant [1 x i8] c"\00" @.str562 = private unnamed_addr constant [24 x i8] c"runtime/native/vk.ludic\00" @.str563 = private unnamed_addr constant [1 x i8] c"\00" @.str564 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str565 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" @.str566 = private unnamed_addr constant [1 x i8] c"\00" @.str567 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" @.str568 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str569 = private unnamed_addr constant [29 x i8] c"runtime/native/systems.ludic\00" @.str570 = private unnamed_addr constant [5 x i8] c"Body\00" @.str571 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str572 = private unnamed_addr constant [34 x i8] c"runtime/native/systems_move.ludic\00" @.str573 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str574 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str575 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_sprite.ludic\00" @.str576 = private unnamed_addr constant [9 x i8] c"TileSkin\00" @.str577 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00" @.str578 = private unnamed_addr constant [38 x i8] c"runtime/native/systems_tileskin.ludic\00" @.str579 = private unnamed_addr constant [7 x i8] c"Bounds\00" @.str580 = private unnamed_addr constant [36 x i8] c"runtime/native/systems_bounds.ludic\00" @.str581 = private unnamed_addr constant [8 x i8] c"Light2D\00" @.str582 = private unnamed_addr constant [9 x i8] c"Occluder\00" @.str583 = private unnamed_addr constant [27 x i8] c"runtime/native/light.ludic\00" @.str584 = private unnamed_addr constant [35 x i8] c"runtime/native/systems_light.ludic\00" @.str585 = private unnamed_addr constant [11 x i8] c"SpriteAnim\00" @.str586 = private unnamed_addr constant [16 x i8] c"esys_spriteanim\00" @.str587 = private unnamed_addr constant [7 x i8] c"Update\00" @.str588 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str589 = private unnamed_addr constant [12 x i8] c"esys_motion\00" @.str590 = private unnamed_addr constant [7 x i8] c"Update\00" @.str591 = private unnamed_addr constant [5 x i8] c"Body\00" @.str592 = private unnamed_addr constant [10 x i8] c"esys_move\00" @.str593 = private unnamed_addr constant [7 x i8] c"Update\00" @.str594 = private unnamed_addr constant [7 x i8] c"Bounds\00" @.str595 = private unnamed_addr constant [12 x i8] c"esys_bounds\00" @.str596 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str597 = private unnamed_addr constant [9 x i8] c"TileSkin\00" @.str598 = private unnamed_addr constant [14 x i8] c"esys_tileskin\00" @.str599 = private unnamed_addr constant [7 x i8] c"Render\00" @.str600 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str601 = private unnamed_addr constant [12 x i8] c"esys_sprite\00" @.str602 = private unnamed_addr constant [7 x i8] c"Render\00" @.str603 = private unnamed_addr constant [8 x i8] c"Light2D\00" @.str604 = private unnamed_addr constant [13 x i8] c"esys_light2d\00" @.str605 = private unnamed_addr constant [7 x i8] c"Render\00" @.str606 = private unnamed_addr constant [6 x i8] c"Ludic\00" @.str607 = private unnamed_addr constant [7 x i8] c"import\00" @.str608 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1736: index out of range: \00" @.str609 = private unnamed_addr constant [2 x i8] c"@\00" @.str610 = private unnamed_addr constant [2 x i8] c"(\00" @.str611 = private unnamed_addr constant [2 x i8] c"(\00" @.str612 = private unnamed_addr constant [2 x i8] c")\00" @.str613 = private unnamed_addr constant [8 x i8] c"program\00" @.str614 = private unnamed_addr constant [2 x i8] c"{\00" @.str615 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:1747: index out of range: \00" @.str616 = private unnamed_addr constant [2 x i8] c"}\00" @.str617 = private unnamed_addr constant [2 x i8] c"{\00" @.str618 = private unnamed_addr constant [2 x i8] c"}\00" @.str619 = private unnamed_addr constant [2 x i8] c"@\00" @.str620 = private unnamed_addr constant [9 x i8] c"Computed\00" @.str621 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str622 = private unnamed_addr constant [2 x i8] c":\00" @.str623 = private unnamed_addr constant [2 x i8] c"=\00" @.str624 = private unnamed_addr constant [2 x i8] c",\00" @.str625 = private unnamed_addr constant [2 x i8] c"}\00" @.str626 = private unnamed_addr constant [12 x i8] c"cancellable\00" @.str627 = private unnamed_addr constant [2 x i8] c"{\00" @.str628 = private unnamed_addr constant [2 x i8] c"}\00" @.str629 = private unnamed_addr constant [2 x i8] c":\00" @.str630 = private unnamed_addr constant [2 x i8] c"=\00" @.str631 = private unnamed_addr constant [2 x i8] c",\00" @.str632 = private unnamed_addr constant [2 x i8] c"}\00" @.str633 = private unnamed_addr constant [7 x i8] c"Update\00" @.str634 = private unnamed_addr constant [2 x i8] c"@\00" @.str635 = private unnamed_addr constant [2 x i8] c"(\00" @.str636 = private unnamed_addr constant [2 x i8] c"(\00" @.str637 = private unnamed_addr constant [2 x i8] c")\00" @.str638 = private unnamed_addr constant [6 x i8] c"phase\00" @.str639 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" @.str640 = private unnamed_addr constant [78 x i8] c"' (expected Start, Input, FixedUpdate, Update, LateUpdate, Render or Overlay)\00" @.str641 = private unnamed_addr constant [2 x i8] c"[\00" @.str642 = private unnamed_addr constant [2 x i8] c"]\00" @.str643 = private unnamed_addr constant [2 x i8] c"{\00" @.str644 = private unnamed_addr constant [2 x i8] c"}\00" @.str645 = private unnamed_addr constant [2 x i8] c",\00" @.str646 = private unnamed_addr constant [2 x i8] c"]\00" @.str647 = private unnamed_addr constant [6 x i8] c"where\00" @.str648 = private unnamed_addr constant [2 x i8] c"(\00" @.str649 = private unnamed_addr constant [2 x i8] c")\00" @.str650 = private unnamed_addr constant [2 x i8] c",\00" @.str651 = private unnamed_addr constant [2 x i8] c")\00" @.str652 = private unnamed_addr constant [6 x i8] c"query\00" @.str653 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00" @.str654 = private unnamed_addr constant [4 x i8] c"and\00" @.str655 = private unnamed_addr constant [2 x i8] c"(\00" @.str656 = private unnamed_addr constant [2 x i8] c")\00" @.str657 = private unnamed_addr constant [2 x i8] c")\00" @.str658 = private unnamed_addr constant [2 x i8] c":\00" @.str659 = private unnamed_addr constant [6 x i8] c"these\00" @.str660 = private unnamed_addr constant [2 x i8] c"[\00" @.str661 = private unnamed_addr constant [2 x i8] c"]\00" @.str662 = private unnamed_addr constant [2 x i8] c"{\00" @.str663 = private unnamed_addr constant [2 x i8] c"}\00" @.str664 = private unnamed_addr constant [2 x i8] c",\00" @.str665 = private unnamed_addr constant [2 x i8] c"]\00" @.str666 = private unnamed_addr constant [3 x i8] c"on\00" @.str667 = private unnamed_addr constant [2 x i8] c",\00" @.str668 = private unnamed_addr constant [2 x i8] c")\00" @.str669 = private unnamed_addr constant [2 x i8] c"{\00" @.str670 = private unnamed_addr constant [2 x i8] c"}\00" @.str671 = private unnamed_addr constant [2 x i8] c"}\00" @.str672 = private unnamed_addr constant [2 x i8] c",\00" @.str673 = private unnamed_addr constant [2 x i8] c":\00" @.str674 = private unnamed_addr constant [2 x i8] c"{\00" @.str675 = private unnamed_addr constant [2 x i8] c"}\00" @.str676 = private unnamed_addr constant [6 x i8] c"start\00" @.str677 = private unnamed_addr constant [7 x i8] c"public\00" @.str678 = private unnamed_addr constant [6 x i8] c"shows\00" @.str679 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str680 = private unnamed_addr constant [6 x i8] c"loads\00" @.str681 = private unnamed_addr constant [6 x i8] c"start\00" @.str682 = private unnamed_addr constant [6 x i8] c"shows\00" @.str683 = private unnamed_addr constant [6 x i8] c"lasts\00" @.str684 = private unnamed_addr constant [5 x i8] c"then\00" @.str685 = private unnamed_addr constant [27 x i8] c"lasts N needs `then Scene`\00" @.str686 = private unnamed_addr constant [6 x i8] c"loads\00" @.str687 = private unnamed_addr constant [5 x i8] c"then\00" @.str688 = private unnamed_addr constant [25 x i8] c"loads needs `then Scene`\00" @.str689 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str690 = private unnamed_addr constant [7 x i8] c"_enter\00" @.str691 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str692 = private unnamed_addr constant [6 x i8] c"_exit\00" @.str693 = private unnamed_addr constant [2 x i8] c"{\00" @.str694 = private unnamed_addr constant [2 x i8] c"}\00" @.str695 = private unnamed_addr constant [3 x i8] c"on\00" @.str696 = private unnamed_addr constant [6 x i8] c"enter\00" @.str697 = private unnamed_addr constant [5 x i8] c"exit\00" @.str698 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00" @.str699 = private unnamed_addr constant [6 x i8] c"layer\00" @.str700 = private unnamed_addr constant [7 x i8] c"public\00" @.str701 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str702 = private unnamed_addr constant [6 x i8] c"_show\00" @.str703 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str704 = private unnamed_addr constant [6 x i8] c"_hide\00" @.str705 = private unnamed_addr constant [2 x i8] c"{\00" @.str706 = private unnamed_addr constant [2 x i8] c"}\00" @.str707 = private unnamed_addr constant [2 x i8] c"@\00" @.str708 = private unnamed_addr constant [8 x i8] c"Queries\00" @.str709 = private unnamed_addr constant [56 x i8] c"a handler inside a layer may only carry @Queries (got @\00" @.str710 = private unnamed_addr constant [2 x i8] c")\00" @.str711 = private unnamed_addr constant [8 x i8] c"handler\00" @.str712 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\00" @.str713 = private unnamed_addr constant [2 x i8] c"_\00" @.str714 = private unnamed_addr constant [2 x i8] c"}\00" @.str715 = private unnamed_addr constant [39 x i8] c"expected 'on', 'layer' or '}' in scene\00" @.str716 = private unnamed_addr constant [2 x i8] c"}\00" @.str717 = private unnamed_addr constant [8 x i8] c"_Loader\00" @.str718 = private unnamed_addr constant [7 x i8] c"Update\00" @.str719 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str720 = private unnamed_addr constant [5 x i8] c"pump\00" @.str721 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str722 = private unnamed_addr constant [6 x i8] c"ready\00" @.str723 = private unnamed_addr constant [11 x i8] c"_LoaderBar\00" @.str724 = private unnamed_addr constant [7 x i8] c"Render\00" @.str725 = private unnamed_addr constant [21 x i8] c"assets_draw_progress\00" @.str726 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str727 = private unnamed_addr constant [6 x i8] c"_left\00" @.str728 = private unnamed_addr constant [4 x i8] c"int\00" @.str729 = private unnamed_addr constant [2 x i8] c"=\00" @.str730 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2019: index out of range: \00" @.str731 = private unnamed_addr constant [7 x i8] c"_Timer\00" @.str732 = private unnamed_addr constant [7 x i8] c"Update\00" @.str733 = private unnamed_addr constant [3 x i8] c"-=\00" @.str734 = private unnamed_addr constant [3 x i8] c"<=\00" @.str735 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2039: index out of range: \00" @.str736 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2039: index out of range: \00" @.str737 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2039: index out of range: \00" @.str738 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2048: index out of range: \00" @.str739 = private unnamed_addr constant [3 x i8] c"id\00" @.str740 = private unnamed_addr constant [5 x i8] c"goto\00" @.str741 = private unnamed_addr constant [3 x i8] c"==\00" @.str742 = private unnamed_addr constant [3 x i8] c"id\00" @.str743 = private unnamed_addr constant [4 x i8] c"UI_\00" @.str744 = private unnamed_addr constant [10 x i8] c"UiClicked\00" @.str745 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2062: index out of range: \00" @.str746 = private unnamed_addr constant [2 x i8] c"{\00" @.str747 = private unnamed_addr constant [2 x i8] c"}\00" @.str748 = private unnamed_addr constant [2 x i8] c"(\00" @.str749 = private unnamed_addr constant [2 x i8] c")\00" @.str750 = private unnamed_addr constant [2 x i8] c",\00" @.str751 = private unnamed_addr constant [2 x i8] c")\00" @.str752 = private unnamed_addr constant [2 x i8] c",\00" @.str753 = private unnamed_addr constant [2 x i8] c"}\00" @.str754 = private unnamed_addr constant [2 x i8] c"{\00" @.str755 = private unnamed_addr constant [2 x i8] c"}\00" @.str756 = private unnamed_addr constant [2 x i8] c"@\00" @.str757 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str758 = private unnamed_addr constant [2 x i8] c",\00" @.str759 = private unnamed_addr constant [2 x i8] c"}\00" @.str760 = private unnamed_addr constant [2 x i8] c"(\00" @.str761 = private unnamed_addr constant [2 x i8] c")\00" @.str762 = private unnamed_addr constant [2 x i8] c":\00" @.str763 = private unnamed_addr constant [2 x i8] c",\00" @.str764 = private unnamed_addr constant [2 x i8] c")\00" @.str765 = private unnamed_addr constant [5 x i8] c"void\00" @.str766 = private unnamed_addr constant [3 x i8] c"->\00" @.str767 = private unnamed_addr constant [2 x i8] c"=\00" @.str768 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2117: index out of range: \00" @.str769 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2126: index out of range: \00" @.str770 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2126: index out of range: \00" @.str771 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2126: index out of range: \00" @.str772 = private unnamed_addr constant [2 x i8] c":\00" @.str773 = private unnamed_addr constant [2 x i8] c":\00" @.str774 = private unnamed_addr constant [2 x i8] c"{\00" @.str775 = private unnamed_addr constant [2 x i8] c"}\00" @.str776 = private unnamed_addr constant [2 x i8] c"}\00" @.str777 = private unnamed_addr constant [2 x i8] c"{\00" @.str778 = private unnamed_addr constant [2 x i8] c"}\00" @.str779 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2209: index out of range: \00" @.str780 = private unnamed_addr constant [3 x i8] c" \00" @.str781 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i32, ptr @L_cov_hits, i32 \00" @.str782 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str783 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str784 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str785 = private unnamed_addr constant [4 x i8] c", 1\00" @.str786 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str787 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str788 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str789 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2250: index out of range: \00" @.str790 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2250: index out of range: \00" @.str791 = private unnamed_addr constant [3 x i8] c"%t\00" @.str792 = private unnamed_addr constant [3 x i8] c" \00" @.str793 = private unnamed_addr constant [11 x i8] c" = alloca \00" @.str794 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str795 = private unnamed_addr constant [3 x i8] c"%t\00" @.str796 = private unnamed_addr constant [4 x i8] c"int\00" @.str797 = private unnamed_addr constant [5 x i8] c"bool\00" @.str798 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str799 = private unnamed_addr constant [7 x i8] c"entity\00" @.str800 = private unnamed_addr constant [4 x i8] c"i32\00" @.str801 = private unnamed_addr constant [4 x i8] c"i32\00" @.str802 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str803 = private unnamed_addr constant [4 x i8] c"i32\00" @.str804 = private unnamed_addr constant [5 x i8] c"long\00" @.str805 = private unnamed_addr constant [4 x i8] c"i64\00" @.str806 = private unnamed_addr constant [6 x i8] c"float\00" @.str807 = private unnamed_addr constant [6 x i8] c"float\00" @.str808 = private unnamed_addr constant [7 x i8] c"double\00" @.str809 = private unnamed_addr constant [7 x i8] c"double\00" @.str810 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str811 = private unnamed_addr constant [4 x i8] c"i64\00" @.str812 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str813 = private unnamed_addr constant [4 x i8] c"i64\00" @.str814 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str815 = private unnamed_addr constant [5 x i8] c"i128\00" @.str816 = private unnamed_addr constant [5 x i8] c"byte\00" @.str817 = private unnamed_addr constant [3 x i8] c"i8\00" @.str818 = private unnamed_addr constant [6 x i8] c"words\00" @.str819 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str820 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str821 = private unnamed_addr constant [7 x i8] c"floats\00" @.str822 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str823 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str824 = private unnamed_addr constant [5 x i8] c"void\00" @.str825 = private unnamed_addr constant [5 x i8] c"void\00" @.str826 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str827 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2292: index out of range: \00" @.str828 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2297: index out of range: \00" @.str829 = private unnamed_addr constant [6 x i8] c"%Cmp_\00" @.str830 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2307: index out of range: \00" @.str831 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2312: index out of range: \00" @.str832 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2312: index out of range: \00" @.str833 = private unnamed_addr constant [4 x i8] c"int\00" @.str834 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2320: index out of range: \00" @.str835 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2333: index out of range: \00" @.str836 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2336: index out of range: \00" @.str837 = private unnamed_addr constant [10 x i8] c"EndReason\00" @.str838 = private unnamed_addr constant [10 x i8] c"Despawned\00" @.str839 = private unnamed_addr constant [10 x i8] c"SceneExit\00" @.str840 = private unnamed_addr constant [5 x i8] c"Quit\00" @.str841 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2354: index out of range: \00" @.str842 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2359: index out of range: \00" @.str843 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2364: index out of range: \00" @.str844 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2371: index out of range: \00" @.str845 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2372: index out of range: \00" @.str846 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str847 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2379: index out of range: \00" @.str848 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2393: index out of range: \00" @.str849 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2398: index out of range: \00" @.str850 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2412: index out of range: \00" @.str851 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2422: index out of range: \00" @.str852 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2437: index out of range: \00" @.str853 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2451: index out of range: \00" @.str854 = private unnamed_addr constant [2 x i8] c".\00" @.str855 = private unnamed_addr constant [2 x i8] c".\00" @.str856 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2468: index out of range: \00" @.str857 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2468: index out of range: \00" @.str858 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2474: index out of range: \00" @.str859 = private unnamed_addr constant [3 x i8] c"of\00" @.str860 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str861 = private unnamed_addr constant [5 x i8] c"make\00" @.str862 = private unnamed_addr constant [5 x i8] c"zero\00" @.str863 = private unnamed_addr constant [4 x i8] c"add\00" @.str864 = private unnamed_addr constant [4 x i8] c"sub\00" @.str865 = private unnamed_addr constant [6 x i8] c"scale\00" @.str866 = private unnamed_addr constant [6 x i8] c"along\00" @.str867 = private unnamed_addr constant [5 x i8] c"step\00" @.str868 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str869 = private unnamed_addr constant [4 x i8] c"Map\00" @.str870 = private unnamed_addr constant [12 x i8] c"random_cell\00" @.str871 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" @.str872 = private unnamed_addr constant [8 x i8] c"to_tile\00" @.str873 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str874 = private unnamed_addr constant [9 x i8] c"Collider\00" @.str875 = private unnamed_addr constant [7 x i8] c"center\00" @.str876 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str877 = private unnamed_addr constant [6 x i8] c"Input\00" @.str878 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str879 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str880 = private unnamed_addr constant [2 x i8] c"_\00" @.str881 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2498: index out of range: \00" @.str882 = private unnamed_addr constant [3 x i8] c"[]\00" @.str883 = private unnamed_addr constant [7 x i8] c"string\00" @.str884 = private unnamed_addr constant [4 x i8] c"int\00" @.str885 = private unnamed_addr constant [6 x i8] c"float\00" @.str886 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str887 = private unnamed_addr constant [5 x i8] c"bool\00" @.str888 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2519: index out of range: \00" @.str889 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2519: index out of range: \00" @.str890 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2537: index out of range: \00" @.str891 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2537: index out of range: \00" @.str892 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2545: index out of range: \00" @.str893 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2545: index out of range: \00" @.str894 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2558: index out of range: \00" @.str895 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2558: index out of range: \00" @.str896 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2570: index out of range: \00" @.str897 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2570: index out of range: \00" @.str898 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2575: index out of range: \00" @.str899 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2575: index out of range: \00" @.str900 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2592: index out of range: \00" @.str901 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2592: index out of range: \00" @.str902 = private unnamed_addr constant [7 x i8] c"entity\00" @.str903 = private unnamed_addr constant [4 x i8] c"int\00" @.str904 = private unnamed_addr constant [7 x i8] c"reason\00" @.str905 = private unnamed_addr constant [4 x i8] c"int\00" @.str906 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2624: index out of range: \00" @.str907 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2629: index out of range: \00" @.str908 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2646: index out of range: \00" @.str909 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2646: index out of range: \00" @.str910 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2646: index out of range: \00" @.str911 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2646: index out of range: \00" @.str912 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2649: index out of range: \00" @.str913 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2653: index out of range: \00" @.str914 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2660: index out of range: \00" @.str915 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2660: index out of range: \00" @.str916 = private unnamed_addr constant [2 x i8] c"'\00" @.str917 = private unnamed_addr constant [34 x i8] c"' is declared twice in this block\00" @.str918 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2664: index out of range: \00" @.str919 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2667: index out of range: \00" @.str920 = private unnamed_addr constant [6 x i8] c"@.str\00" @.str921 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00" @.str922 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" @.str923 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" @.str924 = private unnamed_addr constant [2 x i8] c"-\00" @.str925 = private unnamed_addr constant [2 x i8] c"-\00" @.str926 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str927 = private unnamed_addr constant [5 x i8] c"null\00" @.str928 = private unnamed_addr constant [2 x i8] c"0\00" @.str929 = private unnamed_addr constant [2 x i8] c"-\00" @.str930 = private unnamed_addr constant [5 x i8] c"void\00" @.str931 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2739: index out of range: \00" @.str932 = private unnamed_addr constant [9 x i8] c" store \00" @.str933 = private unnamed_addr constant [2 x i8] c" \00" @.str934 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str935 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str936 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str937 = private unnamed_addr constant [40 x i8] c"define void @L_init_globals() {\0Aentry:\0A\00" @.str938 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str939 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00" @.str940 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00" @.str941 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00" @.str942 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00" @.str943 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00" @.str944 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00" @.str945 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00" @.str946 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00" @.str947 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00" @.str948 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00" @.str949 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00" @.str950 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00" @.str951 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00" @.str952 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00" @.str953 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00" @.str954 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00" @.str955 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00" @.str956 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00" @.str957 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00" @.str958 = private unnamed_addr constant [37 x i8] c"declare i32 @strncmp(ptr, ptr, i64)\0A\00" @.str959 = private unnamed_addr constant [31 x i8] c"declare ptr @strstr(ptr, ptr)\0A\00" @.str960 = private unnamed_addr constant [24 x i8] c"declare i32 @atoi(ptr)\0A\00" @.str961 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00" @.str962 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00" @.str963 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00" @.str964 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00" @.str965 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00" @.str966 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00" @.str967 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00" @.str968 = private unnamed_addr constant [29 x i8] c"declare void @win_held(ptr)\0A\00" @.str969 = private unnamed_addr constant [32 x i8] c"declare i32 @win_key_char(i32)\0A\00" @.str970 = private unnamed_addr constant [33 x i8] c"declare i32 @win_text(ptr, i32)\0A\00" @.str971 = private unnamed_addr constant [30 x i8] c"declare void @win_mouse(ptr)\0A\00" @.str972 = private unnamed_addr constant [28 x i8] c"declare void @win_pad(ptr)\0A\00" @.str973 = private unnamed_addr constant [30 x i8] c"declare void @win_touch(ptr)\0A\00" @.str974 = private unnamed_addr constant [36 x i8] c"declare void @win_cursor_mode(i32)\0A\00" @.str975 = private unnamed_addr constant [28 x i8] c"declare ptr @snd_load(ptr)\0A\00" @.str976 = private unnamed_addr constant [44 x i8] c"declare void @snd_play(ptr, i32, i32, i32)\0A\00" @.str977 = private unnamed_addr constant [29 x i8] c"declare void @snd_stop(ptr)\0A\00" @.str978 = private unnamed_addr constant [31 x i8] c"declare i32 @snd_playing(ptr)\0A\00" @.str979 = private unnamed_addr constant [40 x i8] c"declare void @snd_set_volume(ptr, i32)\0A\00" @.str980 = private unnamed_addr constant [38 x i8] c"declare void @snd_set_rate(ptr, i32)\0A\00" @.str981 = private unnamed_addr constant [37 x i8] c"declare void @snd_set_pan(ptr, i32)\0A\00" @.str982 = private unnamed_addr constant [35 x i8] c"declare ptr @hs_req_new(ptr, ptr)\0A\00" @.str983 = private unnamed_addr constant [44 x i8] c"declare void @hs_req_header(ptr, ptr, ptr)\0A\00" @.str984 = private unnamed_addr constant [42 x i8] c"declare void @hs_req_body(ptr, ptr, i32)\0A\00" @.str985 = private unnamed_addr constant [33 x i8] c"declare void @hs_send(i32, ptr)\0A\00" @.str986 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_done(i32)\0A\00" @.str987 = private unnamed_addr constant [29 x i8] c"declare i32 @hs_status(i32)\0A\00" @.str988 = private unnamed_addr constant [27 x i8] c"declare ptr @hs_body(i32)\0A\00" @.str989 = private unnamed_addr constant [27 x i8] c"declare i32 @hs_blen(i32)\0A\00" @.str990 = private unnamed_addr constant [34 x i8] c"declare ptr @hs_header(i32, ptr)\0A\00" @.str991 = private unnamed_addr constant [28 x i8] c"declare void @hs_free(i32)\0A\00" @.str992 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00" @.str993 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00" @.str994 = private unnamed_addr constant [64 x i8] c"@.fmt_int = private unnamed_addr constant [4 x i8] c\22%d\5C0A\5C00\22\0A\00" @.str995 = private unnamed_addr constant [67 x i8] c"@.fmt_long = private unnamed_addr constant [6 x i8] c\22%lld\5C0A\5C00\22\0A\00" @.str996 = private unnamed_addr constant [65 x i8] c"@.fmt_line = private unnamed_addr constant [4 x i8] c\22%s\5C0A\5C00\22\0A\00" @.str997 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00" @.str998 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00" @.str999 = private unnamed_addr constant [34 x i8] c"@L_clock = internal global i32 0\0A\00" @.str1000 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00" @.str1001 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00" @.str1002 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00" @.str1003 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00" @.str1004 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2831: index out of range: \00" @.str1005 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2835: index out of range: \00" @.str1006 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2835: index out of range: \00" @.str1007 = private unnamed_addr constant [10 x i8] c"property \00" @.str1008 = private unnamed_addr constant [63 x i8] c" is also a property of the engine runtime; choose another name\00" @.str1009 = private unnamed_addr constant [10 x i8] c"property \00" @.str1010 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str1011 = private unnamed_addr constant [11 x i8] c" = type { \00" @.str1012 = private unnamed_addr constant [4 x i8] c"i32\00" @.str1013 = private unnamed_addr constant [3 x i8] c", \00" @.str1014 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2846: index out of range: \00" @.str1015 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str1016 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2856: index out of range: \00" @.str1017 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2860: index out of range: \00" @.str1018 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2860: index out of range: \00" @.str1019 = private unnamed_addr constant [10 x i8] c"variable \00" @.str1020 = private unnamed_addr constant [63 x i8] c" is also a variable of the engine runtime; choose another name\00" @.str1021 = private unnamed_addr constant [10 x i8] c"variable \00" @.str1022 = private unnamed_addr constant [19 x i8] c" is declared twice\00" @.str1023 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str1024 = private unnamed_addr constant [20 x i8] c" = internal global \00" @.str1025 = private unnamed_addr constant [2 x i8] c" \00" @.str1026 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1027 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2881: index out of range: \00" @.str1028 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1029 = private unnamed_addr constant [3 x i8] c" @\00" @.str1030 = private unnamed_addr constant [2 x i8] c"(\00" @.str1031 = private unnamed_addr constant [3 x i8] c", \00" @.str1032 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:2887: index out of range: \00" @.str1033 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1034 = private unnamed_addr constant [41 x i8] c"define i32 @lp_str_eq(ptr %a, ptr %b) {\0A\00" @.str1035 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00" @.str1036 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" @.str1037 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00" @.str1038 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00" @.str1039 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00" @.str1040 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00" @.str1041 = private unnamed_addr constant [70 x i8] c"chk:\0A %zt = icmp eq i8 %ca, 0\0A br i1 %zt, label %ret1, label %cont\0A\00" @.str1042 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str1043 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00" @.str1044 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_concat(ptr %a, ptr %b) {\0A\00" @.str1045 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00" @.str1046 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00" @.str1047 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00" @.str1048 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00" @.str1049 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00" @.str1050 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00" @.str1051 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00" @.str1052 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00" @.str1053 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00" @.str1054 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00" @.str1055 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00" @.str1056 = private unnamed_addr constant [83 x i8] c" %sz64 = sext i32 %sz to i64\0A %out = call ptr @malloc(i64 %sz64)\0A br label %c1\0A\00" @.str1057 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00" @.str1058 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00" @.str1059 = private unnamed_addr constant [81 x i8] c"c1b:\0A %s1 = getelementptr inbounds i8, ptr %a, i32 %i\0A %v1 = load i8, ptr %s1\0A\00" @.str1060 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00" @.str1061 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00" @.str1062 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00" @.str1063 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00" @.str1064 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00" @.str1065 = private unnamed_addr constant [81 x i8] c"c2b:\0A %s2 = getelementptr inbounds i8, ptr %b, i32 %j\0A %v2 = load i8, ptr %s2\0A\00" @.str1066 = private unnamed_addr constant [102 x i8] c" %oj = add i32 %ia, %j\0A %o2 = getelementptr inbounds i8, ptr %out, i32 %oj\0A store i8 %v2, ptr %o2\0A\00" @.str1067 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00" @.str1068 = private unnamed_addr constant [99 x i8] c"fin:\0A %pe = getelementptr inbounds i8, ptr %out, i32 %sum\0A store i8 0, ptr %pe\0A ret ptr %out\0A}\0A\00" @.str1069 = private unnamed_addr constant [35 x i8] c"define ptr @lp_int_str(i32 %n0) {\0A\00" @.str1070 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" @.str1071 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00" @.str1072 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00" @.str1073 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" @.str1074 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" @.str1075 = private unnamed_addr constant [94 x i8] c"zc:\0A %zp = getelementptr inbounds i8, ptr %buf, i32 22\0A store i8 48, ptr %zp\0A ret ptr %zp\0A\00" @.str1076 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" @.str1077 = private unnamed_addr constant [104 x i8] c"dloop:\0A %pos = phi i32 [ 22, %dl ], [ %pos2, %dbody ]\0A %cur = phi i32 [ %n, %dl ], [ %cur2, %dbody ]\0A\00" @.str1078 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" @.str1079 = private unnamed_addr constant [85 x i8] c"dbody:\0A %d = urem i32 %cur, 10\0A %ch = add i32 %d, 48\0A %ch8 = trunc i32 %ch to i8\0A\00" @.str1080 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" @.str1081 = private unnamed_addr constant [73 x i8] c" %cur2 = udiv i32 %cur, 10\0A %pos2 = sub i32 %pos, 1\0A br label %dloop\0A\00" @.str1082 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" @.str1083 = private unnamed_addr constant [128 x i8] c"addneg:\0A %sp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 45, ptr %sp\0A %posn = sub i32 %pos, 1\0A br label %fin\0A\00" @.str1084 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" @.str1085 = private unnamed_addr constant [101 x i8] c" %rpos = add i32 %fpos, 1\0A %res = getelementptr inbounds i8, ptr %buf, i32 %rpos\0A ret ptr %res\0A}\0A\00" @.str1086 = private unnamed_addr constant [36 x i8] c"define ptr @lp_long_str(i64 %n0) {\0A\00" @.str1087 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00" @.str1088 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i64 %n0, 0\0A %neg = sub i64 0, %n0\0A\00" @.str1089 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i64 %neg, i64 %n0\0A\00" @.str1090 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00" @.str1091 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i64 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00" @.str1092 = private unnamed_addr constant [94 x i8] c"zc:\0A %zp = getelementptr inbounds i8, ptr %buf, i32 22\0A store i8 48, ptr %zp\0A ret ptr %zp\0A\00" @.str1093 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00" @.str1094 = private unnamed_addr constant [104 x i8] c"dloop:\0A %pos = phi i32 [ 22, %dl ], [ %pos2, %dbody ]\0A %cur = phi i64 [ %n, %dl ], [ %cur2, %dbody ]\0A\00" @.str1095 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i64 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00" @.str1096 = private unnamed_addr constant [116 x i8] c"dbody:\0A %d = urem i64 %cur, 10\0A %d32 = trunc i64 %d to i32\0A %ch = add i32 %d32, 48\0A %ch8 = trunc i32 %ch to i8\0A\00" @.str1097 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00" @.str1098 = private unnamed_addr constant [73 x i8] c" %cur2 = udiv i64 %cur, 10\0A %pos2 = sub i32 %pos, 1\0A br label %dloop\0A\00" @.str1099 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00" @.str1100 = private unnamed_addr constant [128 x i8] c"addneg:\0A %sp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 45, ptr %sp\0A %posn = sub i32 %pos, 1\0A br label %fin\0A\00" @.str1101 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00" @.str1102 = private unnamed_addr constant [101 x i8] c" %rpos = add i32 %fpos, 1\0A %res = getelementptr inbounds i8, ptr %buf, i32 %rpos\0A ret ptr %res\0A}\0A\00" @.str1103 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00" @.str1104 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00" @.str1105 = private unnamed_addr constant [85 x i8] c" %sz64 = sext i32 %sz to i64\0A %out = call ptr @malloc(i64 %sz64)\0A br label %loop\0A\00" @.str1106 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00" @.str1107 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00" @.str1108 = private unnamed_addr constant [109 x i8] c"body:\0A %si = add i32 %start, %i\0A %sp = getelementptr inbounds i8, ptr %s, i32 %si\0A %c = load i8, ptr %sp\0A\00" @.str1109 = private unnamed_addr constant [115 x i8] c" %op = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %c, ptr %op\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str1110 = private unnamed_addr constant [99 x i8] c"fin:\0A %tp = getelementptr inbounds i8, ptr %out, i32 %len\0A store i8 0, ptr %tp\0A ret ptr %out\0A}\0A\00" @.str1111 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00" @.str1112 = private unnamed_addr constant [15 x i8] c"no such field \00" @.str1113 = private unnamed_addr constant [3 x i8] c" \00" @.str1114 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str1115 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1116 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str1117 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1118 = private unnamed_addr constant [6 x i8] c"words\00" @.str1119 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str1120 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1121 = private unnamed_addr constant [4 x i8] c"int\00" @.str1122 = private unnamed_addr constant [7 x i8] c"fixeds\00" @.str1123 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00" @.str1124 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1125 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1126 = private unnamed_addr constant [7 x i8] c"floats\00" @.str1127 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str1128 = private unnamed_addr constant [6 x i8] c"float\00" @.str1129 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str1130 = private unnamed_addr constant [7 x i8] c"double\00" @.str1131 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str1132 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1133 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1134 = private unnamed_addr constant [9 x i8] c"pointers\00" @.str1135 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00" @.str1136 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1137 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str1138 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str1139 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1140 = private unnamed_addr constant [5 x i8] c"byte\00" @.str1141 = private unnamed_addr constant [3 x i8] c" \00" @.str1142 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str1143 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" @.str1144 = private unnamed_addr constant [3 x i8] c" \00" @.str1145 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00" @.str1146 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1147 = private unnamed_addr constant [3 x i8] c" \00" @.str1148 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str1149 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00" @.str1150 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str1151 = private unnamed_addr constant [14 x i8] c"icmp ult i32 \00" @.str1152 = private unnamed_addr constant [3 x i8] c", \00" @.str1153 = private unnamed_addr constant [5 x i8] c"ixok\00" @.str1154 = private unnamed_addr constant [6 x i8] c"ixbad\00" @.str1155 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str1156 = private unnamed_addr constant [10 x i8] c", label %\00" @.str1157 = private unnamed_addr constant [10 x i8] c", label %\00" @.str1158 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1159 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str1160 = private unnamed_addr constant [2 x i8] c":\00" @.str1161 = private unnamed_addr constant [23 x i8] c": index out of range: \00" @.str1162 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str1163 = private unnamed_addr constant [25 x i8] c", ptr @.fmt_bounds, ptr \00" @.str1164 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1165 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1166 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1167 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str1168 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str1169 = private unnamed_addr constant [3 x i8] c" \00" @.str1170 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str1171 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1172 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1173 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1174 = private unnamed_addr constant [7 x i8] c"resize\00" @.str1175 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str1176 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str1177 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str1178 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str1179 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str1180 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str1181 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str1182 = private unnamed_addr constant [4 x i8] c"arg\00" @.str1183 = private unnamed_addr constant [5 x i8] c"exit\00" @.str1184 = private unnamed_addr constant [12 x i8] c"file_stderr\00" @.str1185 = private unnamed_addr constant [12 x i8] c"file_stdout\00" @.str1186 = private unnamed_addr constant [4 x i8] c"run\00" @.str1187 = private unnamed_addr constant [7 x i8] c"getenv\00" @.str1188 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str1189 = private unnamed_addr constant [3 x i8] c" \00" @.str1190 = private unnamed_addr constant [4 x i8] c" = \00" @.str1191 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1192 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3107: index out of range: \00" @.str1193 = private unnamed_addr constant [7 x i8] c"resize\00" @.str1194 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1195 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1196 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str1197 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1198 = private unnamed_addr constant [2 x i8] c")\00" @.str1199 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1200 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str1201 = private unnamed_addr constant [27 x i8] c"call ptr @lp_pak_open(ptr \00" @.str1202 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1203 = private unnamed_addr constant [2 x i8] c")\00" @.str1204 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1205 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str1206 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str1207 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1208 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1209 = private unnamed_addr constant [7 x i8] c"@fread\00" @.str1210 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str1211 = private unnamed_addr constant [8 x i8] c"@fwrite\00" @.str1212 = private unnamed_addr constant [10 x i8] c"call i64 \00" @.str1213 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str1214 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str1215 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1216 = private unnamed_addr constant [2 x i8] c")\00" @.str1217 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1218 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1219 = private unnamed_addr constant [4 x i8] c"int\00" @.str1220 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str1221 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str1222 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1223 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00" @.str1224 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1225 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1226 = private unnamed_addr constant [2 x i8] c")\00" @.str1227 = private unnamed_addr constant [4 x i8] c"int\00" @.str1228 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str1229 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00" @.str1230 = private unnamed_addr constant [2 x i8] c")\00" @.str1231 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str1232 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1233 = private unnamed_addr constant [4 x i8] c"int\00" @.str1234 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str1235 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00" @.str1236 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1237 = private unnamed_addr constant [2 x i8] c"0\00" @.str1238 = private unnamed_addr constant [5 x i8] c"void\00" @.str1239 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str1240 = private unnamed_addr constant [35 x i8] c" call void @fn_world_despawn(i32 \00" @.str1241 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1242 = private unnamed_addr constant [2 x i8] c"0\00" @.str1243 = private unnamed_addr constant [5 x i8] c"void\00" @.str1244 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str1245 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" @.str1246 = private unnamed_addr constant [4 x i8] c"int\00" @.str1247 = private unnamed_addr constant [4 x i8] c"arg\00" @.str1248 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" @.str1249 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" @.str1250 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1251 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str1252 = private unnamed_addr constant [7 x i8] c"string\00" @.str1253 = private unnamed_addr constant [5 x i8] c"exit\00" @.str1254 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" @.str1255 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1256 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str1257 = private unnamed_addr constant [2 x i8] c"0\00" @.str1258 = private unnamed_addr constant [5 x i8] c"void\00" @.str1259 = private unnamed_addr constant [12 x i8] c"file_stderr\00" @.str1260 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1261 = private unnamed_addr constant [12 x i8] c"file_stdout\00" @.str1262 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1263 = private unnamed_addr constant [4 x i8] c"run\00" @.str1264 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00" @.str1265 = private unnamed_addr constant [2 x i8] c")\00" @.str1266 = private unnamed_addr constant [4 x i8] c"int\00" @.str1267 = private unnamed_addr constant [7 x i8] c"getenv\00" @.str1268 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str1269 = private unnamed_addr constant [2 x i8] c")\00" @.str1270 = private unnamed_addr constant [7 x i8] c"string\00" @.str1271 = private unnamed_addr constant [2 x i8] c"0\00" @.str1272 = private unnamed_addr constant [5 x i8] c"void\00" @.str1273 = private unnamed_addr constant [28 x i8] c"call ptr @lp_win_stdio(i32 \00" @.str1274 = private unnamed_addr constant [2 x i8] c")\00" @.str1275 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00" @.str1276 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00" @.str1277 = private unnamed_addr constant [5 x i8] c"free\00" @.str1278 = private unnamed_addr constant [5 x i8] c"fill\00" @.str1279 = private unnamed_addr constant [7 x i8] c"offset\00" @.str1280 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str1281 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str1282 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str1283 = private unnamed_addr constant [12 x i8] c"is_windowed\00" @.str1284 = private unnamed_addr constant [11 x i8] c"game_title\00" @.str1285 = private unnamed_addr constant [9 x i8] c"win_open\00" @.str1286 = private unnamed_addr constant [9 x i8] c"win_poll\00" @.str1287 = private unnamed_addr constant [12 x i8] c"win_present\00" @.str1288 = private unnamed_addr constant [12 x i8] c"win_running\00" @.str1289 = private unnamed_addr constant [10 x i8] c"win_close\00" @.str1290 = private unnamed_addr constant [9 x i8] c"win_held\00" @.str1291 = private unnamed_addr constant [10 x i8] c"win_mouse\00" @.str1292 = private unnamed_addr constant [9 x i8] c"win_text\00" @.str1293 = private unnamed_addr constant [13 x i8] c"win_key_char\00" @.str1294 = private unnamed_addr constant [8 x i8] c"win_pad\00" @.str1295 = private unnamed_addr constant [10 x i8] c"win_touch\00" @.str1296 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" @.str1297 = private unnamed_addr constant [9 x i8] c"snd_load\00" @.str1298 = private unnamed_addr constant [9 x i8] c"snd_play\00" @.str1299 = private unnamed_addr constant [9 x i8] c"snd_stop\00" @.str1300 = private unnamed_addr constant [12 x i8] c"snd_playing\00" @.str1301 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" @.str1302 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" @.str1303 = private unnamed_addr constant [12 x i8] c"snd_set_pan\00" @.str1304 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" @.str1305 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" @.str1306 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" @.str1307 = private unnamed_addr constant [8 x i8] c"hs_send\00" @.str1308 = private unnamed_addr constant [8 x i8] c"hs_done\00" @.str1309 = private unnamed_addr constant [10 x i8] c"hs_status\00" @.str1310 = private unnamed_addr constant [8 x i8] c"hs_body\00" @.str1311 = private unnamed_addr constant [8 x i8] c"hs_blen\00" @.str1312 = private unnamed_addr constant [10 x i8] c"hs_header\00" @.str1313 = private unnamed_addr constant [8 x i8] c"hs_free\00" @.str1314 = private unnamed_addr constant [5 x i8] c"free\00" @.str1315 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" @.str1316 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1317 = private unnamed_addr constant [2 x i8] c"0\00" @.str1318 = private unnamed_addr constant [5 x i8] c"void\00" @.str1319 = private unnamed_addr constant [5 x i8] c"fill\00" @.str1320 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1321 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1322 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" @.str1323 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1324 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str1325 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1326 = private unnamed_addr constant [2 x i8] c"0\00" @.str1327 = private unnamed_addr constant [5 x i8] c"void\00" @.str1328 = private unnamed_addr constant [7 x i8] c"offset\00" @.str1329 = private unnamed_addr constant [3 x i8] c" \00" @.str1330 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str1331 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1332 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1333 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1334 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str1335 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00" @.str1336 = private unnamed_addr constant [4 x i8] c"int\00" @.str1337 = private unnamed_addr constant [9 x i8] c"as_fixed\00" @.str1338 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3244: index out of range: \00" @.str1339 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1340 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str1341 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3245: index out of range: \00" @.str1342 = private unnamed_addr constant [4 x i8] c"int\00" @.str1343 = private unnamed_addr constant [12 x i8] c"is_windowed\00" @.str1344 = private unnamed_addr constant [2 x i8] c"1\00" @.str1345 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1346 = private unnamed_addr constant [2 x i8] c"0\00" @.str1347 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1348 = private unnamed_addr constant [11 x i8] c"game_title\00" @.str1349 = private unnamed_addr constant [12 x i8] c"@.gametitle\00" @.str1350 = private unnamed_addr constant [7 x i8] c"string\00" @.str1351 = private unnamed_addr constant [9 x i8] c"win_poll\00" @.str1352 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00" @.str1353 = private unnamed_addr constant [4 x i8] c"int\00" @.str1354 = private unnamed_addr constant [12 x i8] c"win_running\00" @.str1355 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00" @.str1356 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1357 = private unnamed_addr constant [9 x i8] c"win_open\00" @.str1358 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00" @.str1359 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1360 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1361 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1362 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1363 = private unnamed_addr constant [2 x i8] c"0\00" @.str1364 = private unnamed_addr constant [5 x i8] c"void\00" @.str1365 = private unnamed_addr constant [12 x i8] c"win_present\00" @.str1366 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00" @.str1367 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1368 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1369 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1370 = private unnamed_addr constant [2 x i8] c"0\00" @.str1371 = private unnamed_addr constant [5 x i8] c"void\00" @.str1372 = private unnamed_addr constant [10 x i8] c"win_close\00" @.str1373 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00" @.str1374 = private unnamed_addr constant [2 x i8] c"0\00" @.str1375 = private unnamed_addr constant [5 x i8] c"void\00" @.str1376 = private unnamed_addr constant [9 x i8] c"win_held\00" @.str1377 = private unnamed_addr constant [27 x i8] c" call void @win_held(ptr \00" @.str1378 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1379 = private unnamed_addr constant [2 x i8] c"0\00" @.str1380 = private unnamed_addr constant [5 x i8] c"void\00" @.str1381 = private unnamed_addr constant [10 x i8] c"win_mouse\00" @.str1382 = private unnamed_addr constant [28 x i8] c" call void @win_mouse(ptr \00" @.str1383 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1384 = private unnamed_addr constant [2 x i8] c"0\00" @.str1385 = private unnamed_addr constant [5 x i8] c"void\00" @.str1386 = private unnamed_addr constant [13 x i8] c"win_key_char\00" @.str1387 = private unnamed_addr constant [28 x i8] c"call i32 @win_key_char(i32 \00" @.str1388 = private unnamed_addr constant [2 x i8] c")\00" @.str1389 = private unnamed_addr constant [4 x i8] c"int\00" @.str1390 = private unnamed_addr constant [9 x i8] c"win_text\00" @.str1391 = private unnamed_addr constant [24 x i8] c"call i32 @win_text(ptr \00" @.str1392 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1393 = private unnamed_addr constant [2 x i8] c")\00" @.str1394 = private unnamed_addr constant [4 x i8] c"int\00" @.str1395 = private unnamed_addr constant [8 x i8] c"win_pad\00" @.str1396 = private unnamed_addr constant [26 x i8] c" call void @win_pad(ptr \00" @.str1397 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1398 = private unnamed_addr constant [2 x i8] c"0\00" @.str1399 = private unnamed_addr constant [5 x i8] c"void\00" @.str1400 = private unnamed_addr constant [10 x i8] c"win_touch\00" @.str1401 = private unnamed_addr constant [28 x i8] c" call void @win_touch(ptr \00" @.str1402 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1403 = private unnamed_addr constant [2 x i8] c"0\00" @.str1404 = private unnamed_addr constant [5 x i8] c"void\00" @.str1405 = private unnamed_addr constant [16 x i8] c"win_cursor_mode\00" @.str1406 = private unnamed_addr constant [34 x i8] c" call void @win_cursor_mode(i32 \00" @.str1407 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1408 = private unnamed_addr constant [2 x i8] c"0\00" @.str1409 = private unnamed_addr constant [5 x i8] c"void\00" @.str1410 = private unnamed_addr constant [9 x i8] c"snd_load\00" @.str1411 = private unnamed_addr constant [24 x i8] c"call ptr @snd_load(ptr \00" @.str1412 = private unnamed_addr constant [2 x i8] c")\00" @.str1413 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1414 = private unnamed_addr constant [9 x i8] c"snd_play\00" @.str1415 = private unnamed_addr constant [27 x i8] c" call void @snd_play(ptr \00" @.str1416 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1417 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1418 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1419 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1420 = private unnamed_addr constant [2 x i8] c"0\00" @.str1421 = private unnamed_addr constant [5 x i8] c"void\00" @.str1422 = private unnamed_addr constant [9 x i8] c"snd_stop\00" @.str1423 = private unnamed_addr constant [27 x i8] c" call void @snd_stop(ptr \00" @.str1424 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1425 = private unnamed_addr constant [2 x i8] c"0\00" @.str1426 = private unnamed_addr constant [5 x i8] c"void\00" @.str1427 = private unnamed_addr constant [12 x i8] c"snd_playing\00" @.str1428 = private unnamed_addr constant [27 x i8] c"call i32 @snd_playing(ptr \00" @.str1429 = private unnamed_addr constant [2 x i8] c")\00" @.str1430 = private unnamed_addr constant [4 x i8] c"int\00" @.str1431 = private unnamed_addr constant [15 x i8] c"snd_set_volume\00" @.str1432 = private unnamed_addr constant [33 x i8] c" call void @snd_set_volume(ptr \00" @.str1433 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1434 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1435 = private unnamed_addr constant [2 x i8] c"0\00" @.str1436 = private unnamed_addr constant [5 x i8] c"void\00" @.str1437 = private unnamed_addr constant [13 x i8] c"snd_set_rate\00" @.str1438 = private unnamed_addr constant [31 x i8] c" call void @snd_set_rate(ptr \00" @.str1439 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1440 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1441 = private unnamed_addr constant [2 x i8] c"0\00" @.str1442 = private unnamed_addr constant [5 x i8] c"void\00" @.str1443 = private unnamed_addr constant [12 x i8] c"snd_set_pan\00" @.str1444 = private unnamed_addr constant [30 x i8] c" call void @snd_set_pan(ptr \00" @.str1445 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1446 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1447 = private unnamed_addr constant [2 x i8] c"0\00" @.str1448 = private unnamed_addr constant [5 x i8] c"void\00" @.str1449 = private unnamed_addr constant [11 x i8] c"hs_req_new\00" @.str1450 = private unnamed_addr constant [26 x i8] c"call ptr @hs_req_new(ptr \00" @.str1451 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1452 = private unnamed_addr constant [2 x i8] c")\00" @.str1453 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1454 = private unnamed_addr constant [14 x i8] c"hs_req_header\00" @.str1455 = private unnamed_addr constant [32 x i8] c" call void @hs_req_header(ptr \00" @.str1456 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1457 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1458 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1459 = private unnamed_addr constant [2 x i8] c"0\00" @.str1460 = private unnamed_addr constant [5 x i8] c"void\00" @.str1461 = private unnamed_addr constant [12 x i8] c"hs_req_body\00" @.str1462 = private unnamed_addr constant [30 x i8] c" call void @hs_req_body(ptr \00" @.str1463 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1464 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1465 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1466 = private unnamed_addr constant [2 x i8] c"0\00" @.str1467 = private unnamed_addr constant [5 x i8] c"void\00" @.str1468 = private unnamed_addr constant [8 x i8] c"hs_send\00" @.str1469 = private unnamed_addr constant [26 x i8] c" call void @hs_send(i32 \00" @.str1470 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1471 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1472 = private unnamed_addr constant [2 x i8] c"0\00" @.str1473 = private unnamed_addr constant [5 x i8] c"void\00" @.str1474 = private unnamed_addr constant [8 x i8] c"hs_done\00" @.str1475 = private unnamed_addr constant [23 x i8] c"call i32 @hs_done(i32 \00" @.str1476 = private unnamed_addr constant [2 x i8] c")\00" @.str1477 = private unnamed_addr constant [4 x i8] c"int\00" @.str1478 = private unnamed_addr constant [10 x i8] c"hs_status\00" @.str1479 = private unnamed_addr constant [25 x i8] c"call i32 @hs_status(i32 \00" @.str1480 = private unnamed_addr constant [2 x i8] c")\00" @.str1481 = private unnamed_addr constant [4 x i8] c"int\00" @.str1482 = private unnamed_addr constant [8 x i8] c"hs_body\00" @.str1483 = private unnamed_addr constant [23 x i8] c"call ptr @hs_body(i32 \00" @.str1484 = private unnamed_addr constant [2 x i8] c")\00" @.str1485 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1486 = private unnamed_addr constant [8 x i8] c"hs_blen\00" @.str1487 = private unnamed_addr constant [23 x i8] c"call i32 @hs_blen(i32 \00" @.str1488 = private unnamed_addr constant [2 x i8] c")\00" @.str1489 = private unnamed_addr constant [4 x i8] c"int\00" @.str1490 = private unnamed_addr constant [10 x i8] c"hs_header\00" @.str1491 = private unnamed_addr constant [25 x i8] c"call ptr @hs_header(i32 \00" @.str1492 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str1493 = private unnamed_addr constant [2 x i8] c")\00" @.str1494 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str1495 = private unnamed_addr constant [8 x i8] c"hs_free\00" @.str1496 = private unnamed_addr constant [26 x i8] c" call void @hs_free(i32 \00" @.str1497 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1498 = private unnamed_addr constant [2 x i8] c"0\00" @.str1499 = private unnamed_addr constant [5 x i8] c"void\00" @.str1500 = private unnamed_addr constant [2 x i8] c"0\00" @.str1501 = private unnamed_addr constant [5 x i8] c"void\00" @.str1502 = private unnamed_addr constant [6 x i8] c"float\00" @.str1503 = private unnamed_addr constant [7 x i8] c"double\00" @.str1504 = private unnamed_addr constant [1 x i8] c"\00" @.str1505 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3328: index out of range: \00" @.str1506 = private unnamed_addr constant [1 x i8] c"\00" @.str1507 = private unnamed_addr constant [16 x i8] c"@deterministic \00" @.str1508 = private unnamed_addr constant [22 x i8] c" cannot compute with \00" @.str1509 = private unnamed_addr constant [56 x i8] c": floating point differs between machines \E2\80\94 use fixed\00" @.str1510 = private unnamed_addr constant [7 x i8] c"double\00" @.str1511 = private unnamed_addr constant [7 x i8] c"double\00" @.str1512 = private unnamed_addr constant [7 x i8] c"double\00" @.str1513 = private unnamed_addr constant [6 x i8] c"float\00" @.str1514 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str1515 = private unnamed_addr constant [2 x i8] c" \00" @.str1516 = private unnamed_addr constant [5 x i8] c"fadd\00" @.str1517 = private unnamed_addr constant [2 x i8] c"-\00" @.str1518 = private unnamed_addr constant [5 x i8] c"fsub\00" @.str1519 = private unnamed_addr constant [2 x i8] c"*\00" @.str1520 = private unnamed_addr constant [5 x i8] c"fmul\00" @.str1521 = private unnamed_addr constant [2 x i8] c"/\00" @.str1522 = private unnamed_addr constant [5 x i8] c"fdiv\00" @.str1523 = private unnamed_addr constant [2 x i8] c"%\00" @.str1524 = private unnamed_addr constant [5 x i8] c"frem\00" @.str1525 = private unnamed_addr constant [2 x i8] c" \00" @.str1526 = private unnamed_addr constant [2 x i8] c" \00" @.str1527 = private unnamed_addr constant [3 x i8] c", \00" @.str1528 = private unnamed_addr constant [35 x i8] c"internal: not a literal expression\00" @.str1529 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str1530 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str1531 = private unnamed_addr constant [5 x i8] c"null\00" @.str1532 = private unnamed_addr constant [6 x i8] c"float\00" @.str1533 = private unnamed_addr constant [7 x i8] c"double\00" @.str1534 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str1535 = private unnamed_addr constant [2 x i8] c"0\00" @.str1536 = private unnamed_addr constant [3 x i8] c".0\00" @.str1537 = private unnamed_addr constant [7 x i8] c"double\00" @.str1538 = private unnamed_addr constant [16 x i8] c"fptrunc double \00" @.str1539 = private unnamed_addr constant [10 x i8] c" to float\00" @.str1540 = private unnamed_addr constant [6 x i8] c"float\00" @.str1541 = private unnamed_addr constant [7 x i8] c"double\00" @.str1542 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str1543 = private unnamed_addr constant [11 x i8] c" to double\00" @.str1544 = private unnamed_addr constant [7 x i8] c"double\00" @.str1545 = private unnamed_addr constant [6 x i8] c"float\00" @.str1546 = private unnamed_addr constant [66 x i8] c": a double does not narrow to float implicitly \E2\80\94 write float(x)\00" @.str1547 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1548 = private unnamed_addr constant [13 x i8] c": fixed and \00" @.str1549 = private unnamed_addr constant [41 x i8] c" do not mix implicitly \E2\80\94 convert with \00" @.str1550 = private unnamed_addr constant [16 x i8] c"(x) or fixed(x)\00" @.str1551 = private unnamed_addr constant [4 x i8] c"i64\00" @.str1552 = private unnamed_addr constant [4 x i8] c"i32\00" @.str1553 = private unnamed_addr constant [6 x i8] c": an \00" @.str1554 = private unnamed_addr constant [20 x i8] c" does not become a \00" @.str1555 = private unnamed_addr constant [47 x i8] c" implicitly in a numbers float file \E2\80\94 write \00" @.str1556 = private unnamed_addr constant [4 x i8] c"(x)\00" @.str1557 = private unnamed_addr constant [4 x i8] c"i64\00" @.str1558 = private unnamed_addr constant [12 x i8] c"sitofp i64 \00" @.str1559 = private unnamed_addr constant [5 x i8] c" to \00" @.str1560 = private unnamed_addr constant [4 x i8] c"i32\00" @.str1561 = private unnamed_addr constant [12 x i8] c"sitofp i32 \00" @.str1562 = private unnamed_addr constant [5 x i8] c" to \00" @.str1563 = private unnamed_addr constant [5 x i8] c": a \00" @.str1564 = private unnamed_addr constant [17 x i8] c" is not a number\00" @.str1565 = private unnamed_addr constant [25 x i8] c"LUDIC_WARN_FLOAT_PROMOTE\00" @.str1566 = private unnamed_addr constant [1 x i8] c"\00" @.str1567 = private unnamed_addr constant [2 x i8] c":\00" @.str1568 = private unnamed_addr constant [23 x i8] c": warning: a computed \00" @.str1569 = private unnamed_addr constant [17 x i8] c" is promoted to \00" @.str1570 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str1571 = private unnamed_addr constant [2 x i8] c"<\00" @.str1572 = private unnamed_addr constant [4 x i8] c"olt\00" @.str1573 = private unnamed_addr constant [3 x i8] c"<=\00" @.str1574 = private unnamed_addr constant [4 x i8] c"ole\00" @.str1575 = private unnamed_addr constant [2 x i8] c">\00" @.str1576 = private unnamed_addr constant [4 x i8] c"ogt\00" @.str1577 = private unnamed_addr constant [3 x i8] c">=\00" @.str1578 = private unnamed_addr constant [4 x i8] c"oge\00" @.str1579 = private unnamed_addr constant [3 x i8] c"==\00" @.str1580 = private unnamed_addr constant [4 x i8] c"oeq\00" @.str1581 = private unnamed_addr constant [4 x i8] c"une\00" @.str1582 = private unnamed_addr constant [1 x i8] c"\00" @.str1583 = private unnamed_addr constant [1 x i8] c"\00" @.str1584 = private unnamed_addr constant [1 x i8] c"\00" @.str1585 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1586 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1587 = private unnamed_addr constant [1 x i8] c"\00" @.str1588 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1589 = private unnamed_addr constant [1 x i8] c"\00" @.str1590 = private unnamed_addr constant [6 x i8] c"float\00" @.str1591 = private unnamed_addr constant [18 x i8] c"the left side of \00" @.str1592 = private unnamed_addr constant [19 x i8] c"the right side of \00" @.str1593 = private unnamed_addr constant [6 x i8] c"fcmp \00" @.str1594 = private unnamed_addr constant [2 x i8] c" \00" @.str1595 = private unnamed_addr constant [2 x i8] c" \00" @.str1596 = private unnamed_addr constant [3 x i8] c", \00" @.str1597 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str1598 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1599 = private unnamed_addr constant [5 x i8] c"bool\00" @.str1600 = private unnamed_addr constant [1 x i8] c"\00" @.str1601 = private unnamed_addr constant [2 x i8] c"+\00" @.str1602 = private unnamed_addr constant [5 x i8] c"fadd\00" @.str1603 = private unnamed_addr constant [2 x i8] c"-\00" @.str1604 = private unnamed_addr constant [5 x i8] c"fsub\00" @.str1605 = private unnamed_addr constant [2 x i8] c"*\00" @.str1606 = private unnamed_addr constant [5 x i8] c"fmul\00" @.str1607 = private unnamed_addr constant [2 x i8] c"/\00" @.str1608 = private unnamed_addr constant [5 x i8] c"fdiv\00" @.str1609 = private unnamed_addr constant [2 x i8] c"%\00" @.str1610 = private unnamed_addr constant [5 x i8] c"frem\00" @.str1611 = private unnamed_addr constant [1 x i8] c"\00" @.str1612 = private unnamed_addr constant [10 x i8] c"operator \00" @.str1613 = private unnamed_addr constant [20 x i8] c" does not apply to \00" @.str1614 = private unnamed_addr constant [2 x i8] c" \00" @.str1615 = private unnamed_addr constant [2 x i8] c" \00" @.str1616 = private unnamed_addr constant [3 x i8] c", \00" @.str1617 = private unnamed_addr constant [7 x i8] c"double\00" @.str1618 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str1619 = private unnamed_addr constant [11 x i8] c" to double\00" @.str1620 = private unnamed_addr constant [16 x i8] c"fptrunc double \00" @.str1621 = private unnamed_addr constant [10 x i8] c" to float\00" @.str1622 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1623 = private unnamed_addr constant [12 x i8] c"sitofp i32 \00" @.str1624 = private unnamed_addr constant [5 x i8] c" to \00" @.str1625 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1626 = private unnamed_addr constant [2 x i8] c" \00" @.str1627 = private unnamed_addr constant [10 x i8] c", 65536.0\00" @.str1628 = private unnamed_addr constant [4 x i8] c"i32\00" @.str1629 = private unnamed_addr constant [4 x i8] c"i64\00" @.str1630 = private unnamed_addr constant [8 x i8] c"sitofp \00" @.str1631 = private unnamed_addr constant [2 x i8] c" \00" @.str1632 = private unnamed_addr constant [5 x i8] c" to \00" @.str1633 = private unnamed_addr constant [4 x i8] c"(x)\00" @.str1634 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str1635 = private unnamed_addr constant [2 x i8] c" \00" @.str1636 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1637 = private unnamed_addr constant [4 x i8] c"int\00" @.str1638 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str1639 = private unnamed_addr constant [2 x i8] c" \00" @.str1640 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1641 = private unnamed_addr constant [5 x i8] c"long\00" @.str1642 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1643 = private unnamed_addr constant [2 x i8] c" \00" @.str1644 = private unnamed_addr constant [10 x i8] c", 65536.0\00" @.str1645 = private unnamed_addr constant [8 x i8] c"fptosi \00" @.str1646 = private unnamed_addr constant [2 x i8] c" \00" @.str1647 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1648 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str1649 = private unnamed_addr constant [6 x i8] c"float\00" @.str1650 = private unnamed_addr constant [14 x i8] c"float_bits(x)\00" @.str1651 = private unnamed_addr constant [15 x i8] c"bitcast float \00" @.str1652 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str1653 = private unnamed_addr constant [4 x i8] c"int\00" @.str1654 = private unnamed_addr constant [13 x i8] c"bitcast i32 \00" @.str1655 = private unnamed_addr constant [10 x i8] c" to float\00" @.str1656 = private unnamed_addr constant [6 x i8] c"float\00" @.str1657 = private unnamed_addr constant [7 x i8] c"double\00" @.str1658 = private unnamed_addr constant [15 x i8] c"double_bits(x)\00" @.str1659 = private unnamed_addr constant [16 x i8] c"bitcast double \00" @.str1660 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1661 = private unnamed_addr constant [5 x i8] c"long\00" @.str1662 = private unnamed_addr constant [13 x i8] c"bitcast i64 \00" @.str1663 = private unnamed_addr constant [11 x i8] c" to double\00" @.str1664 = private unnamed_addr constant [7 x i8] c"double\00" @.str1665 = private unnamed_addr constant [2 x i8] c"0\00" @.str1666 = private unnamed_addr constant [6 x i8] c"float\00" @.str1667 = private unnamed_addr constant [13 x i8] c"fpext float \00" @.str1668 = private unnamed_addr constant [11 x i8] c" to double\00" @.str1669 = private unnamed_addr constant [2 x i8] c"1\00" @.str1670 = private unnamed_addr constant [28 x i8] c"call ptr @lp_fp_str(double \00" @.str1671 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1672 = private unnamed_addr constant [2 x i8] c")\00" @.str1673 = private unnamed_addr constant [7 x i8] c"string\00" @.str1674 = private unnamed_addr constant [43 x i8] c"declare i32 @snprintf(ptr, i64, ptr, ...)\0A\00" @.str1675 = private unnamed_addr constant [34 x i8] c"declare double @strtod(ptr, ptr)\0A\00" @.str1676 = private unnamed_addr constant [32 x i8] c"declare ptr @strpbrk(ptr, ptr)\0A\00" @.str1677 = private unnamed_addr constant [63 x i8] c"@.fmt_fpg = private unnamed_addr constant [5 x i8] c\22%.*g\5C00\22\0A\00" @.str1678 = private unnamed_addr constant [67 x i8] c"@.fp_marks = private unnamed_addr constant [8 x i8] c\22.eEnNiI\5C00\22\0A\00" @.str1679 = private unnamed_addr constant [49 x i8] c"define ptr @lp_fp_str(double %v, i32 %single) {\0A\00" @.str1680 = private unnamed_addr constant [58 x i8] c"entry:\0A %buf = call ptr @malloc(i64 40)\0A br label %try\0A\00" @.str1681 = private unnamed_addr constant [52 x i8] c"try:\0A %p = phi i32 [ 6, %entry ], [ %p1, %again ]\0A\00" @.str1682 = private unnamed_addr constant [100 x i8] c" %w = call i32 (ptr, i64, ptr, ...) @snprintf(ptr %buf, i64 36, ptr @.fmt_fpg, i32 %p, double %v)\0A\00" @.str1683 = private unnamed_addr constant [48 x i8] c" %r = call double @strtod(ptr %buf, ptr null)\0A\00" @.str1684 = private unnamed_addr constant [71 x i8] c" %rf = fptrunc double %r to float\0A %vf = fptrunc double %v to float\0A\00" @.str1685 = private unnamed_addr constant [66 x i8] c" %eqf = fcmp oeq float %rf, %vf\0A %eqd = fcmp oeq double %r, %v\0A\00" @.str1686 = private unnamed_addr constant [74 x i8] c" %is1 = icmp ne i32 %single, 0\0A %eq = select i1 %is1, i1 %eqf, i1 %eqd\0A\00" @.str1687 = private unnamed_addr constant [80 x i8] c" %p1 = add i32 %p, 1\0A %last = icmp sge i32 %p, 17\0A %stop = or i1 %eq, %last\0A\00" @.str1688 = private unnamed_addr constant [42 x i8] c" br i1 %stop, label %done, label %again\0A\00" @.str1689 = private unnamed_addr constant [24 x i8] c"again:\0A br label %try\0A\00" @.str1690 = private unnamed_addr constant [96 x i8] c"done:\0A %mark = call ptr @strpbrk(ptr %buf, ptr @.fp_marks)\0A %whole = icmp eq ptr %mark, null\0A\00" @.str1691 = private unnamed_addr constant [40 x i8] c" br i1 %whole, label %dot, label %out\0A\00" @.str1692 = private unnamed_addr constant [96 x i8] c"dot:\0A %n64 = call i64 @strlen(ptr %buf)\0A %e0 = getelementptr inbounds i8, ptr %buf, i64 %n64\0A\00" @.str1693 = private unnamed_addr constant [101 x i8] c" store i8 46, ptr %e0\0A %n1 = add i64 %n64, 1\0A %e1 = getelementptr inbounds i8, ptr %buf, i64 %n1\0A\00" @.str1694 = private unnamed_addr constant [101 x i8] c" store i8 48, ptr %e1\0A %n2 = add i64 %n64, 2\0A %e2 = getelementptr inbounds i8, ptr %buf, i64 %n2\0A\00" @.str1695 = private unnamed_addr constant [39 x i8] c" store i8 0, ptr %e2\0A br label %out\0A\00" @.str1696 = private unnamed_addr constant [23 x i8] c"out:\0A ret ptr %buf\0A}\0A\00" @.str1697 = private unnamed_addr constant [2 x i8] c"4\00" @.str1698 = private unnamed_addr constant [7 x i8] c"floats\00" @.str1699 = private unnamed_addr constant [7 x i8] c"double\00" @.str1700 = private unnamed_addr constant [2 x i8] c"8\00" @.str1701 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str1702 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str1703 = private unnamed_addr constant [3 x i8] c", \00" @.str1704 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str1705 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str1706 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str1707 = private unnamed_addr constant [2 x i8] c")\00" @.str1708 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3601: index out of range: \00" @.str1709 = private unnamed_addr constant [6 x i8] c"float\00" @.str1710 = private unnamed_addr constant [2 x i8] c"f\00" @.str1711 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1712 = private unnamed_addr constant [3 x i8] c" @\00" @.str1713 = private unnamed_addr constant [2 x i8] c"(\00" @.str1714 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1715 = private unnamed_addr constant [6 x i8] c"call \00" @.str1716 = private unnamed_addr constant [3 x i8] c" @\00" @.str1717 = private unnamed_addr constant [2 x i8] c"(\00" @.str1718 = private unnamed_addr constant [2 x i8] c" \00" @.str1719 = private unnamed_addr constant [2 x i8] c")\00" @.str1720 = private unnamed_addr constant [6 x i8] c"float\00" @.str1721 = private unnamed_addr constant [2 x i8] c"f\00" @.str1722 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1723 = private unnamed_addr constant [3 x i8] c" @\00" @.str1724 = private unnamed_addr constant [2 x i8] c"(\00" @.str1725 = private unnamed_addr constant [3 x i8] c", \00" @.str1726 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1727 = private unnamed_addr constant [6 x i8] c"call \00" @.str1728 = private unnamed_addr constant [3 x i8] c" @\00" @.str1729 = private unnamed_addr constant [2 x i8] c"(\00" @.str1730 = private unnamed_addr constant [2 x i8] c" \00" @.str1731 = private unnamed_addr constant [3 x i8] c", \00" @.str1732 = private unnamed_addr constant [2 x i8] c" \00" @.str1733 = private unnamed_addr constant [2 x i8] c")\00" @.str1734 = private unnamed_addr constant [4 x i8] c"f64\00" @.str1735 = private unnamed_addr constant [6 x i8] c"float\00" @.str1736 = private unnamed_addr constant [4 x i8] c"f32\00" @.str1737 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1738 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str1739 = private unnamed_addr constant [2 x i8] c".\00" @.str1740 = private unnamed_addr constant [2 x i8] c"(\00" @.str1741 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1742 = private unnamed_addr constant [6 x i8] c"call \00" @.str1743 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str1744 = private unnamed_addr constant [2 x i8] c".\00" @.str1745 = private unnamed_addr constant [2 x i8] c"(\00" @.str1746 = private unnamed_addr constant [2 x i8] c" \00" @.str1747 = private unnamed_addr constant [2 x i8] c")\00" @.str1748 = private unnamed_addr constant [4 x i8] c"f64\00" @.str1749 = private unnamed_addr constant [6 x i8] c"float\00" @.str1750 = private unnamed_addr constant [4 x i8] c"f32\00" @.str1751 = private unnamed_addr constant [9 x i8] c"declare \00" @.str1752 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str1753 = private unnamed_addr constant [2 x i8] c".\00" @.str1754 = private unnamed_addr constant [2 x i8] c"(\00" @.str1755 = private unnamed_addr constant [3 x i8] c", \00" @.str1756 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str1757 = private unnamed_addr constant [6 x i8] c"call \00" @.str1758 = private unnamed_addr constant [8 x i8] c" @llvm.\00" @.str1759 = private unnamed_addr constant [2 x i8] c".\00" @.str1760 = private unnamed_addr constant [2 x i8] c"(\00" @.str1761 = private unnamed_addr constant [2 x i8] c" \00" @.str1762 = private unnamed_addr constant [3 x i8] c", \00" @.str1763 = private unnamed_addr constant [2 x i8] c" \00" @.str1764 = private unnamed_addr constant [2 x i8] c")\00" @.str1765 = private unnamed_addr constant [4 x i8] c"olt\00" @.str1766 = private unnamed_addr constant [4 x i8] c"max\00" @.str1767 = private unnamed_addr constant [4 x i8] c"ogt\00" @.str1768 = private unnamed_addr constant [6 x i8] c"fcmp \00" @.str1769 = private unnamed_addr constant [2 x i8] c" \00" @.str1770 = private unnamed_addr constant [2 x i8] c" \00" @.str1771 = private unnamed_addr constant [3 x i8] c", \00" @.str1772 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1773 = private unnamed_addr constant [3 x i8] c", \00" @.str1774 = private unnamed_addr constant [2 x i8] c" \00" @.str1775 = private unnamed_addr constant [3 x i8] c", \00" @.str1776 = private unnamed_addr constant [2 x i8] c" \00" @.str1777 = private unnamed_addr constant [1 x i8] c"\00" @.str1778 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3647: index out of range: \00" @.str1779 = private unnamed_addr constant [1 x i8] c"\00" @.str1780 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3657: index out of range: \00" @.str1781 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str1782 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str1783 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1784 = private unnamed_addr constant [5 x i8] c"fabs\00" @.str1785 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1786 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1787 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1788 = private unnamed_addr constant [4 x i8] c"sin\00" @.str1789 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1790 = private unnamed_addr constant [4 x i8] c"cos\00" @.str1791 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1792 = private unnamed_addr constant [4 x i8] c"exp\00" @.str1793 = private unnamed_addr constant [4 x i8] c"log\00" @.str1794 = private unnamed_addr constant [4 x i8] c"log\00" @.str1795 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1796 = private unnamed_addr constant [4 x i8] c"tan\00" @.str1797 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1798 = private unnamed_addr constant [5 x i8] c"asin\00" @.str1799 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1800 = private unnamed_addr constant [5 x i8] c"acos\00" @.str1801 = private unnamed_addr constant [5 x i8] c"atan\00" @.str1802 = private unnamed_addr constant [5 x i8] c"atan\00" @.str1803 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1804 = private unnamed_addr constant [6 x i8] c"floor\00" @.str1805 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1806 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str1807 = private unnamed_addr constant [6 x i8] c"round\00" @.str1808 = private unnamed_addr constant [6 x i8] c"round\00" @.str1809 = private unnamed_addr constant [6 x i8] c"trunc\00" @.str1810 = private unnamed_addr constant [6 x i8] c"trunc\00" @.str1811 = private unnamed_addr constant [5 x i8] c"sign\00" @.str1812 = private unnamed_addr constant [10 x i8] c"fcmp ogt \00" @.str1813 = private unnamed_addr constant [2 x i8] c" \00" @.str1814 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str1815 = private unnamed_addr constant [10 x i8] c"fcmp olt \00" @.str1816 = private unnamed_addr constant [2 x i8] c" \00" @.str1817 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str1818 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1819 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str1820 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1821 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str1822 = private unnamed_addr constant [4 x i8] c"int\00" @.str1823 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str1824 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1825 = private unnamed_addr constant [2 x i8] c" \00" @.str1826 = private unnamed_addr constant [18 x i8] c"3.141592653589793\00" @.str1827 = private unnamed_addr constant [8 x i8] c", 180.0\00" @.str1828 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1829 = private unnamed_addr constant [2 x i8] c" \00" @.str1830 = private unnamed_addr constant [3 x i8] c", \00" @.str1831 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str1832 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1833 = private unnamed_addr constant [9 x i8] c" 180.0, \00" @.str1834 = private unnamed_addr constant [18 x i8] c"3.141592653589793\00" @.str1835 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1836 = private unnamed_addr constant [2 x i8] c" \00" @.str1837 = private unnamed_addr constant [3 x i8] c", \00" @.str1838 = private unnamed_addr constant [4 x i8] c"min\00" @.str1839 = private unnamed_addr constant [4 x i8] c"max\00" @.str1840 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1841 = private unnamed_addr constant [4 x i8] c"pow\00" @.str1842 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1843 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str1844 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1845 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str1846 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str1847 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str1848 = private unnamed_addr constant [6 x i8] c"frem \00" @.str1849 = private unnamed_addr constant [2 x i8] c" \00" @.str1850 = private unnamed_addr constant [3 x i8] c", \00" @.str1851 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str1852 = private unnamed_addr constant [2 x i8] c" \00" @.str1853 = private unnamed_addr constant [3 x i8] c", \00" @.str1854 = private unnamed_addr constant [6 x i8] c"frem \00" @.str1855 = private unnamed_addr constant [2 x i8] c" \00" @.str1856 = private unnamed_addr constant [3 x i8] c", \00" @.str1857 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1858 = private unnamed_addr constant [4 x i8] c"max\00" @.str1859 = private unnamed_addr constant [4 x i8] c"min\00" @.str1860 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str1861 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1862 = private unnamed_addr constant [2 x i8] c" \00" @.str1863 = private unnamed_addr constant [3 x i8] c", \00" @.str1864 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1865 = private unnamed_addr constant [2 x i8] c" \00" @.str1866 = private unnamed_addr constant [3 x i8] c", \00" @.str1867 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str1868 = private unnamed_addr constant [2 x i8] c" \00" @.str1869 = private unnamed_addr constant [3 x i8] c", \00" @.str1870 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str1871 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1872 = private unnamed_addr constant [2 x i8] c" \00" @.str1873 = private unnamed_addr constant [3 x i8] c", \00" @.str1874 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1875 = private unnamed_addr constant [2 x i8] c" \00" @.str1876 = private unnamed_addr constant [3 x i8] c", \00" @.str1877 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1878 = private unnamed_addr constant [2 x i8] c" \00" @.str1879 = private unnamed_addr constant [3 x i8] c", \00" @.str1880 = private unnamed_addr constant [6 x i8] c"remap\00" @.str1881 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1882 = private unnamed_addr constant [2 x i8] c" \00" @.str1883 = private unnamed_addr constant [3 x i8] c", \00" @.str1884 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1885 = private unnamed_addr constant [2 x i8] c" \00" @.str1886 = private unnamed_addr constant [3 x i8] c", \00" @.str1887 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1888 = private unnamed_addr constant [2 x i8] c" \00" @.str1889 = private unnamed_addr constant [3 x i8] c", \00" @.str1890 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1891 = private unnamed_addr constant [2 x i8] c" \00" @.str1892 = private unnamed_addr constant [3 x i8] c", \00" @.str1893 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1894 = private unnamed_addr constant [2 x i8] c" \00" @.str1895 = private unnamed_addr constant [3 x i8] c", \00" @.str1896 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str1897 = private unnamed_addr constant [2 x i8] c" \00" @.str1898 = private unnamed_addr constant [3 x i8] c", \00" @.str1899 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str1900 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1901 = private unnamed_addr constant [2 x i8] c" \00" @.str1902 = private unnamed_addr constant [3 x i8] c", \00" @.str1903 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1904 = private unnamed_addr constant [2 x i8] c" \00" @.str1905 = private unnamed_addr constant [3 x i8] c", \00" @.str1906 = private unnamed_addr constant [6 x i8] c"fdiv \00" @.str1907 = private unnamed_addr constant [2 x i8] c" \00" @.str1908 = private unnamed_addr constant [3 x i8] c", \00" @.str1909 = private unnamed_addr constant [4 x i8] c"max\00" @.str1910 = private unnamed_addr constant [4 x i8] c"0.0\00" @.str1911 = private unnamed_addr constant [4 x i8] c"min\00" @.str1912 = private unnamed_addr constant [4 x i8] c"1.0\00" @.str1913 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1914 = private unnamed_addr constant [2 x i8] c" \00" @.str1915 = private unnamed_addr constant [3 x i8] c", \00" @.str1916 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1917 = private unnamed_addr constant [2 x i8] c" \00" @.str1918 = private unnamed_addr constant [6 x i8] c", 2.0\00" @.str1919 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1920 = private unnamed_addr constant [7 x i8] c" 3.0, \00" @.str1921 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1922 = private unnamed_addr constant [2 x i8] c" \00" @.str1923 = private unnamed_addr constant [3 x i8] c", \00" @.str1924 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str1925 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1926 = private unnamed_addr constant [2 x i8] c" \00" @.str1927 = private unnamed_addr constant [3 x i8] c", \00" @.str1928 = private unnamed_addr constant [5 x i8] c"fabs\00" @.str1929 = private unnamed_addr constant [10 x i8] c"fcmp ole \00" @.str1930 = private unnamed_addr constant [2 x i8] c" \00" @.str1931 = private unnamed_addr constant [3 x i8] c", \00" @.str1932 = private unnamed_addr constant [10 x i8] c"fcmp olt \00" @.str1933 = private unnamed_addr constant [2 x i8] c" \00" @.str1934 = private unnamed_addr constant [6 x i8] c", 0.0\00" @.str1935 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str1936 = private unnamed_addr constant [2 x i8] c" \00" @.str1937 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1938 = private unnamed_addr constant [3 x i8] c", \00" @.str1939 = private unnamed_addr constant [2 x i8] c" \00" @.str1940 = private unnamed_addr constant [3 x i8] c", \00" @.str1941 = private unnamed_addr constant [2 x i8] c" \00" @.str1942 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str1943 = private unnamed_addr constant [2 x i8] c" \00" @.str1944 = private unnamed_addr constant [3 x i8] c", \00" @.str1945 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1946 = private unnamed_addr constant [3 x i8] c", \00" @.str1947 = private unnamed_addr constant [2 x i8] c" \00" @.str1948 = private unnamed_addr constant [3 x i8] c", \00" @.str1949 = private unnamed_addr constant [2 x i8] c" \00" @.str1950 = private unnamed_addr constant [5 x i8] c"dist\00" @.str1951 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str1952 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1953 = private unnamed_addr constant [2 x i8] c" \00" @.str1954 = private unnamed_addr constant [3 x i8] c", \00" @.str1955 = private unnamed_addr constant [6 x i8] c"fsub \00" @.str1956 = private unnamed_addr constant [2 x i8] c" \00" @.str1957 = private unnamed_addr constant [3 x i8] c", \00" @.str1958 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1959 = private unnamed_addr constant [2 x i8] c" \00" @.str1960 = private unnamed_addr constant [3 x i8] c", \00" @.str1961 = private unnamed_addr constant [6 x i8] c"fmul \00" @.str1962 = private unnamed_addr constant [2 x i8] c" \00" @.str1963 = private unnamed_addr constant [3 x i8] c", \00" @.str1964 = private unnamed_addr constant [6 x i8] c"fadd \00" @.str1965 = private unnamed_addr constant [2 x i8] c" \00" @.str1966 = private unnamed_addr constant [3 x i8] c", \00" @.str1967 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str1968 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str1969 = private unnamed_addr constant [6 x i8] c"Math.\00" @.str1970 = private unnamed_addr constant [9 x i8] c" has no \00" @.str1971 = private unnamed_addr constant [6 x i8] c" form\00" @.str1972 = private unnamed_addr constant [4 x i8] c"min\00" @.str1973 = private unnamed_addr constant [4 x i8] c"max\00" @.str1974 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1975 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str1976 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3805: index out of range: \00" @.str1977 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3809: index out of range: \00" @.str1978 = private unnamed_addr constant [4 x i8] c"abs\00" @.str1979 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3815: index out of range: \00" @.str1980 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str1981 = private unnamed_addr constant [4 x i8] c", 0\00" @.str1982 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str1983 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1984 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1985 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1986 = private unnamed_addr constant [4 x i8] c"min\00" @.str1987 = private unnamed_addr constant [4 x i8] c"max\00" @.str1988 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3821: index out of range: \00" @.str1989 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3821: index out of range: \00" @.str1990 = private unnamed_addr constant [4 x i8] c"slt\00" @.str1991 = private unnamed_addr constant [4 x i8] c"max\00" @.str1992 = private unnamed_addr constant [4 x i8] c"sgt\00" @.str1993 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str1994 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str1995 = private unnamed_addr constant [3 x i8] c", \00" @.str1996 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str1997 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1998 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str1999 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3828: index out of range: \00" @.str2000 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3828: index out of range: \00" @.str2001 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3828: index out of range: \00" @.str2002 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2003 = private unnamed_addr constant [3 x i8] c", \00" @.str2004 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2005 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2006 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2007 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str2008 = private unnamed_addr constant [3 x i8] c", \00" @.str2009 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2010 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2011 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2012 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str2013 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2014 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str2015 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2016 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str2017 = private unnamed_addr constant [3 x i8] c", \00" @.str2018 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str2019 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2020 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2021 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2022 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str2023 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2024 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str2025 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2026 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str2027 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2028 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" @.str2029 = private unnamed_addr constant [3 x i8] c", \00" @.str2030 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2031 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2032 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2033 = private unnamed_addr constant [3 x i8] c", \00" @.str2034 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2035 = private unnamed_addr constant [3 x i8] c", \00" @.str2036 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2037 = private unnamed_addr constant [3 x i8] c", \00" @.str2038 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2039 = private unnamed_addr constant [3 x i8] c", \00" @.str2040 = private unnamed_addr constant [4 x i8] c"min\00" @.str2041 = private unnamed_addr constant [4 x i8] c"max\00" @.str2042 = private unnamed_addr constant [4 x i8] c"abs\00" @.str2043 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str2044 = private unnamed_addr constant [5 x i8] c"sign\00" @.str2045 = private unnamed_addr constant [6 x i8] c"floor\00" @.str2046 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str2047 = private unnamed_addr constant [6 x i8] c"round\00" @.str2048 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str2049 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str2050 = private unnamed_addr constant [6 x i8] c"remap\00" @.str2051 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str2052 = private unnamed_addr constant [4 x i8] c"sin\00" @.str2053 = private unnamed_addr constant [4 x i8] c"cos\00" @.str2054 = private unnamed_addr constant [4 x i8] c"tan\00" @.str2055 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str2056 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str2057 = private unnamed_addr constant [5 x i8] c"asin\00" @.str2058 = private unnamed_addr constant [5 x i8] c"acos\00" @.str2059 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str2060 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str2061 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str2062 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str2063 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str2064 = private unnamed_addr constant [8 x i8] c"snapped\00" @.str2065 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str2066 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str2067 = private unnamed_addr constant [5 x i8] c"dist\00" @.str2068 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str2069 = private unnamed_addr constant [4 x i8] c"exp\00" @.str2070 = private unnamed_addr constant [4 x i8] c"log\00" @.str2071 = private unnamed_addr constant [4 x i8] c"pow\00" @.str2072 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3887: index out of range: \00" @.str2073 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3888: index out of range: \00" @.str2074 = private unnamed_addr constant [1 x i8] c"\00" @.str2075 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3891: index out of range: \00" @.str2076 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3897: index out of range: \00" @.str2077 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3901: index out of range: \00" @.str2078 = private unnamed_addr constant [4 x i8] c"min\00" @.str2079 = private unnamed_addr constant [4 x i8] c"max\00" @.str2080 = private unnamed_addr constant [4 x i8] c"abs\00" @.str2081 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str2082 = private unnamed_addr constant [5 x i8] c"sign\00" @.str2083 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3910: index out of range: \00" @.str2084 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str2085 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2086 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2087 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2088 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2089 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str2090 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2091 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str2092 = private unnamed_addr constant [4 x i8] c"int\00" @.str2093 = private unnamed_addr constant [6 x i8] c"floor\00" @.str2094 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3917: index out of range: \00" @.str2095 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str2096 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2097 = private unnamed_addr constant [4 x i8] c"int\00" @.str2098 = private unnamed_addr constant [5 x i8] c"ceil\00" @.str2099 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3921: index out of range: \00" @.str2100 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2101 = private unnamed_addr constant [8 x i8] c", 65535\00" @.str2102 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str2103 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2104 = private unnamed_addr constant [4 x i8] c"int\00" @.str2105 = private unnamed_addr constant [6 x i8] c"round\00" @.str2106 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3926: index out of range: \00" @.str2107 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2108 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str2109 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str2110 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2111 = private unnamed_addr constant [4 x i8] c"int\00" @.str2112 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str2113 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3931: index out of range: \00" @.str2114 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3931: index out of range: \00" @.str2115 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3931: index out of range: \00" @.str2116 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2117 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00" @.str2118 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3935: index out of range: \00" @.str2119 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3935: index out of range: \00" @.str2120 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3935: index out of range: \00" @.str2121 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2122 = private unnamed_addr constant [5 x i8] c"sqrt\00" @.str2123 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3940: index out of range: \00" @.str2124 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str2125 = private unnamed_addr constant [2 x i8] c")\00" @.str2126 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2127 = private unnamed_addr constant [4 x i8] c"sin\00" @.str2128 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3945: index out of range: \00" @.str2129 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2130 = private unnamed_addr constant [2 x i8] c")\00" @.str2131 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2132 = private unnamed_addr constant [4 x i8] c"cos\00" @.str2133 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3950: index out of range: \00" @.str2134 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2135 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str2136 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2137 = private unnamed_addr constant [2 x i8] c")\00" @.str2138 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2139 = private unnamed_addr constant [4 x i8] c"tan\00" @.str2140 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3956: index out of range: \00" @.str2141 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2142 = private unnamed_addr constant [2 x i8] c")\00" @.str2143 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2144 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str2145 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2146 = private unnamed_addr constant [2 x i8] c")\00" @.str2147 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2148 = private unnamed_addr constant [6 x i8] c"atan2\00" @.str2149 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3964: index out of range: \00" @.str2150 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3964: index out of range: \00" @.str2151 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str2152 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2153 = private unnamed_addr constant [2 x i8] c")\00" @.str2154 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2155 = private unnamed_addr constant [5 x i8] c"asin\00" @.str2156 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3969: index out of range: \00" @.str2157 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str2158 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str2159 = private unnamed_addr constant [2 x i8] c")\00" @.str2160 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str2161 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2162 = private unnamed_addr constant [2 x i8] c")\00" @.str2163 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2164 = private unnamed_addr constant [5 x i8] c"acos\00" @.str2165 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3977: index out of range: \00" @.str2166 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str2167 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str2168 = private unnamed_addr constant [2 x i8] c")\00" @.str2169 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str2170 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2171 = private unnamed_addr constant [2 x i8] c")\00" @.str2172 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2173 = private unnamed_addr constant [6 x i8] c"hypot\00" @.str2174 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3985: index out of range: \00" @.str2175 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3985: index out of range: \00" @.str2176 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2177 = private unnamed_addr constant [3 x i8] c", \00" @.str2178 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str2179 = private unnamed_addr constant [2 x i8] c")\00" @.str2180 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2181 = private unnamed_addr constant [6 x i8] c"dist2\00" @.str2182 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3991: index out of range: \00" @.str2183 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3991: index out of range: \00" @.str2184 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3992: index out of range: \00" @.str2185 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:3992: index out of range: \00" @.str2186 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2187 = private unnamed_addr constant [3 x i8] c", \00" @.str2188 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2189 = private unnamed_addr constant [3 x i8] c", \00" @.str2190 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2191 = private unnamed_addr constant [3 x i8] c", \00" @.str2192 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2193 = private unnamed_addr constant [5 x i8] c"dist\00" @.str2194 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4000: index out of range: \00" @.str2195 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4000: index out of range: \00" @.str2196 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4001: index out of range: \00" @.str2197 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4001: index out of range: \00" @.str2198 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2199 = private unnamed_addr constant [3 x i8] c", \00" @.str2200 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2201 = private unnamed_addr constant [3 x i8] c", \00" @.str2202 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2203 = private unnamed_addr constant [3 x i8] c", \00" @.str2204 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str2205 = private unnamed_addr constant [2 x i8] c")\00" @.str2206 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2207 = private unnamed_addr constant [4 x i8] c"exp\00" @.str2208 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4010: index out of range: \00" @.str2209 = private unnamed_addr constant [6 x i8] c"94548\00" @.str2210 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str2211 = private unnamed_addr constant [2 x i8] c")\00" @.str2212 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2213 = private unnamed_addr constant [4 x i8] c"log\00" @.str2214 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4016: index out of range: \00" @.str2215 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" @.str2216 = private unnamed_addr constant [2 x i8] c")\00" @.str2217 = private unnamed_addr constant [6 x i8] c"45426\00" @.str2218 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2219 = private unnamed_addr constant [4 x i8] c"pow\00" @.str2220 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4022: index out of range: \00" @.str2221 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4022: index out of range: \00" @.str2222 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_log2(i32 \00" @.str2223 = private unnamed_addr constant [2 x i8] c")\00" @.str2224 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str2225 = private unnamed_addr constant [2 x i8] c")\00" @.str2226 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2227 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00" @.str2228 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4028: index out of range: \00" @.str2229 = private unnamed_addr constant [5 x i8] c"1144\00" @.str2230 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2231 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00" @.str2232 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4032: index out of range: \00" @.str2233 = private unnamed_addr constant [8 x i8] c"3754936\00" @.str2234 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2235 = private unnamed_addr constant [7 x i8] c"posmod\00" @.str2236 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4036: index out of range: \00" @.str2237 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4036: index out of range: \00" @.str2238 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2239 = private unnamed_addr constant [3 x i8] c", \00" @.str2240 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2241 = private unnamed_addr constant [3 x i8] c", \00" @.str2242 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2243 = private unnamed_addr constant [3 x i8] c", \00" @.str2244 = private unnamed_addr constant [4 x i8] c"int\00" @.str2245 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str2246 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4042: index out of range: \00" @.str2247 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4042: index out of range: \00" @.str2248 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4042: index out of range: \00" @.str2249 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2250 = private unnamed_addr constant [3 x i8] c", \00" @.str2251 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2252 = private unnamed_addr constant [3 x i8] c", \00" @.str2253 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2254 = private unnamed_addr constant [3 x i8] c", \00" @.str2255 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2256 = private unnamed_addr constant [3 x i8] c", \00" @.str2257 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2258 = private unnamed_addr constant [3 x i8] c", \00" @.str2259 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2260 = private unnamed_addr constant [3 x i8] c", \00" @.str2261 = private unnamed_addr constant [4 x i8] c"int\00" @.str2262 = private unnamed_addr constant [10 x i8] c"ping_pong\00" @.str2263 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4051: index out of range: \00" @.str2264 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4051: index out of range: \00" @.str2265 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2266 = private unnamed_addr constant [4 x i8] c", 2\00" @.str2267 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2268 = private unnamed_addr constant [3 x i8] c", \00" @.str2269 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2270 = private unnamed_addr constant [3 x i8] c", \00" @.str2271 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str2272 = private unnamed_addr constant [3 x i8] c", \00" @.str2273 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2274 = private unnamed_addr constant [3 x i8] c", \00" @.str2275 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str2276 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2277 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2278 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2279 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2280 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2281 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2282 = private unnamed_addr constant [3 x i8] c", \00" @.str2283 = private unnamed_addr constant [4 x i8] c"int\00" @.str2284 = private unnamed_addr constant [8 x i8] c"snapped\00" @.str2285 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4063: index out of range: \00" @.str2286 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4063: index out of range: \00" @.str2287 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2288 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str2289 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str2290 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2291 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2292 = private unnamed_addr constant [3 x i8] c", \00" @.str2293 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2294 = private unnamed_addr constant [12 x i8] c"move_toward\00" @.str2295 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4070: index out of range: \00" @.str2296 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4070: index out of range: \00" @.str2297 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4070: index out of range: \00" @.str2298 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2299 = private unnamed_addr constant [3 x i8] c", \00" @.str2300 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str2301 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2302 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2303 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2304 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2305 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2306 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str2307 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2308 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2309 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2310 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2311 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00" @.str2312 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2313 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str2314 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2315 = private unnamed_addr constant [3 x i8] c", \00" @.str2316 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2317 = private unnamed_addr constant [3 x i8] c", \00" @.str2318 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str2319 = private unnamed_addr constant [3 x i8] c", \00" @.str2320 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2321 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2322 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2323 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2324 = private unnamed_addr constant [11 x i8] c"smoothstep\00" @.str2325 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4085: index out of range: \00" @.str2326 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4085: index out of range: \00" @.str2327 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4085: index out of range: \00" @.str2328 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2329 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2330 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2331 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str2332 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str2333 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str2334 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2335 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str2336 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2337 = private unnamed_addr constant [4 x i8] c", 2\00" @.str2338 = private unnamed_addr constant [17 x i8] c"sub i32 196608, \00" @.str2339 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2340 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4097: index out of range: \00" @.str2341 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4098: index out of range: \00" @.str2342 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4098: index out of range: \00" @.str2343 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4099: index out of range: \00" @.str2344 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4099: index out of range: \00" @.str2345 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2346 = private unnamed_addr constant [2968 x i8] c"@L_sin_tab = private unnamed_addr constant [256 x i32] [i32 0, i32 1608, i32 3216, i32 4821, i32 6424, i32 8022, i32 9616, i32 11204, i32 12785, i32 14359, i32 15924, i32 17479, i32 19024, i32 20557, i32 22078, i32 23586, i32 25080, i32 26558, i32 28020, i32 29466, i32 30893, i32 32303, i32 33692, i32 35062, i32 36410, i32 37736, i32 39040, i32 40320, i32 41576, i32 42806, i32 44011, i32 45190, i32 46341, i32 47464, i32 48559, i32 49624, i32 50660, i32 51665, i32 52639, i32 53581, i32 54491, i32 55368, i32 56212, i32 57022, i32 57798, i32 58538, i32 59244, i32 59914, i32 60547, i32 61145, i32 61705, i32 62228, i32 62714, i32 63162, i32 63572, i32 63944, i32 64277, i32 64571, i32 64827, i32 65043, i32 65220, i32 65358, i32 65457, i32 65516, i32 65536, i32 65516, i32 65457, i32 65358, i32 65220, i32 65043, i32 64827, i32 64571, i32 64277, i32 63944, i32 63572, i32 63162, i32 62714, i32 62228, i32 61705, i32 61145, i32 60547, i32 59914, i32 59244, i32 58538, i32 57798, i32 57022, i32 56212, i32 55368, i32 54491, i32 53581, i32 52639, i32 51665, i32 50660, i32 49624, i32 48559, i32 47464, i32 46341, i32 45190, i32 44011, i32 42806, i32 41576, i32 40320, i32 39040, i32 37736, i32 36410, i32 35062, i32 33692, i32 32303, i32 30893, i32 29466, i32 28020, i32 26558, i32 25080, i32 23586, i32 22078, i32 20557, i32 19024, i32 17479, i32 15924, i32 14359, i32 12785, i32 11204, i32 9616, i32 8022, i32 6424, i32 4821, i32 3216, i32 1608, i32 0, i32 -1608, i32 -3216, i32 -4821, i32 -6424, i32 -8022, i32 -9616, i32 -11204, i32 -12785, i32 -14359, i32 -15924, i32 -17479, i32 -19024, i32 -20557, i32 -22078, i32 -23586, i32 -25080, i32 -26558, i32 -28020, i32 -29466, i32 -30893, i32 -32303, i32 -33692, i32 -35062, i32 -36410, i32 -37736, i32 -39040, i32 -40320, i32 -41576, i32 -42806, i32 -44011, i32 -45190, i32 -46341, i32 -47464, i32 -48559, i32 -49624, i32 -50660, i32 -51665, i32 -52639, i32 -53581, i32 -54491, i32 -55368, i32 -56212, i32 -57022, i32 -57798, i32 -58538, i32 -59244, i32 -59914, i32 -60547, i32 -61145, i32 -61705, i32 -62228, i32 -62714, i32 -63162, i32 -63572, i32 -63944, i32 -64277, i32 -64571, i32 -64827, i32 -65043, i32 -65220, i32 -65358, i32 -65457, i32 -65516, i32 -65536, i32 -65516, i32 -65457, i32 -65358, i32 -65220, i32 -65043, i32 -64827, i32 -64571, i32 -64277, i32 -63944, i32 -63572, i32 -63162, i32 -62714, i32 -62228, i32 -61705, i32 -61145, i32 -60547, i32 -59914, i32 -59244, i32 -58538, i32 -57798, i32 -57022, i32 -56212, i32 -55368, i32 -54491, i32 -53581, i32 -52639, i32 -51665, i32 -50660, i32 -49624, i32 -48559, i32 -47464, i32 -46341, i32 -45190, i32 -44011, i32 -42806, i32 -41576, i32 -40320, i32 -39040, i32 -37736, i32 -36410, i32 -35062, i32 -33692, i32 -32303, i32 -30893, i32 -29466, i32 -28020, i32 -26558, i32 -25080, i32 -23586, i32 -22078, i32 -20557, i32 -19024, i32 -17479, i32 -15924, i32 -14359, i32 -12785, i32 -11204, i32 -9616, i32 -8022, i32 -6424, i32 -4821, i32 -3216, i32 -1608]\0A\00" @.str2347 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_sqrt(i32 %x) {\0A\00" @.str2348 = private unnamed_addr constant [73 x i8] c"entry:\0A %neg = icmp slt i32 %x, 0\0A br i1 %neg, label %ret0, label %go\0A\00" @.str2349 = private unnamed_addr constant [19 x i8] c"ret0:\0A ret i32 0\0A\00" @.str2350 = private unnamed_addr constant [58 x i8] c"go:\0A %x64 = sext i32 %x to i64\0A %n0 = shl i64 %x64, 16\0A\00" @.str2351 = private unnamed_addr constant [58 x i8] c" %np = alloca i64\0A %rp = alloca i64\0A %bp = alloca i64\0A\00" @.str2352 = private unnamed_addr constant [106 x i8] c" store i64 %n0, ptr %np\0A store i64 0, ptr %rp\0A store i64 4611686018427387904, ptr %bp\0A br label %adj\0A\00" @.str2353 = private unnamed_addr constant [126 x i8] c"adj:\0A %b1 = load i64, ptr %bp\0A %n1 = load i64, ptr %np\0A %tb = icmp ugt i64 %b1, %n1\0A br i1 %tb, label %adjb, label %loop\0A\00" @.str2354 = private unnamed_addr constant [72 x i8] c"adjb:\0A %b2 = lshr i64 %b1, 2\0A store i64 %b2, ptr %bp\0A br label %adj\0A\00" @.str2355 = private unnamed_addr constant [98 x i8] c"loop:\0A %b3 = load i64, ptr %bp\0A %bz = icmp eq i64 %b3, 0\0A br i1 %bz, label %done, label %body\0A\00" @.str2356 = private unnamed_addr constant [152 x i8] c"body:\0A %r1 = load i64, ptr %rp\0A %n2 = load i64, ptr %np\0A %rb = add i64 %r1, %b3\0A %ge = icmp uge i64 %n2, %rb\0A br i1 %ge, label %sub, label %shift\0A\00" @.str2357 = private unnamed_addr constant [153 x i8] c"sub:\0A %n3 = sub i64 %n2, %rb\0A store i64 %n3, ptr %np\0A %rsh = lshr i64 %r1, 1\0A %rnew = add i64 %rsh, %b3\0A store i64 %rnew, ptr %rp\0A br label %next\0A\00" @.str2358 = private unnamed_addr constant [78 x i8] c"shift:\0A %rsh2 = lshr i64 %r1, 1\0A store i64 %rsh2, ptr %rp\0A br label %next\0A\00" @.str2359 = private unnamed_addr constant [73 x i8] c"next:\0A %b4 = lshr i64 %b3, 2\0A store i64 %b4, ptr %bp\0A br label %loop\0A\00" @.str2360 = private unnamed_addr constant [80 x i8] c"done:\0A %rf = load i64, ptr %rp\0A %r32 = trunc i64 %rf to i32\0A ret i32 %r32\0A}\0A\00" @.str2361 = private unnamed_addr constant [33 x i8] c"define i32 @lp_fx_sin(i32 %x) {\0A\00" @.str2362 = private unnamed_addr constant [82 x i8] c" %xe = sext i32 %x to i64\0A %m = mul i64 %xe, 2670177\0A %idxf = ashr i64 %m, 16\0A\00" @.str2363 = private unnamed_addr constant [85 x i8] c" %i0 = ashr i64 %idxf, 16\0A %i0m = and i64 %i0, 255\0A %frac = and i64 %idxf, 65535\0A\00" @.str2364 = private unnamed_addr constant [51 x i8] c" %i1 = add i64 %i0m, 1\0A %i1m = and i64 %i1, 255\0A\00" @.str2365 = private unnamed_addr constant [94 x i8] c" %p0 = getelementptr [256 x i32], ptr @L_sin_tab, i64 0, i64 %i0m\0A %v0 = load i32, ptr %p0\0A\00" @.str2366 = private unnamed_addr constant [94 x i8] c" %p1 = getelementptr [256 x i32], ptr @L_sin_tab, i64 0, i64 %i1m\0A %v1 = load i32, ptr %p1\0A\00" @.str2367 = private unnamed_addr constant [184 x i8] c" %d = sub i32 %v1, %v0\0A %de = sext i32 %d to i64\0A %dm = mul i64 %de, %frac\0A %dsh = ashr i64 %dm, 16\0A %dsh32 = trunc i64 %dsh to i32\0A %res = add i32 %v0, %dsh32\0A ret i32 %res\0A}\0A\00" @.str2368 = private unnamed_addr constant [43 x i8] c"define i32 @lp_fx_atan2(i32 %y, i32 %x) {\0A\00" @.str2369 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str2370 = private unnamed_addr constant [27 x i8] c" %xz = icmp eq i32 %x, 0\0A\00" @.str2371 = private unnamed_addr constant [27 x i8] c" %yz = icmp eq i32 %y, 0\0A\00" @.str2372 = private unnamed_addr constant [28 x i8] c" %both0 = and i1 %xz, %yz\0A\00" @.str2373 = private unnamed_addr constant [37 x i8] c" br i1 %both0, label %z, label %go\0A\00" @.str2374 = private unnamed_addr constant [4 x i8] c"z:\0A\00" @.str2375 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str2376 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str2377 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" @.str2378 = private unnamed_addr constant [24 x i8] c" %yng = sub i32 0, %y\0A\00" @.str2379 = private unnamed_addr constant [44 x i8] c" %ay0 = select i1 %yneg, i32 %yng, i32 %y\0A\00" @.str2380 = private unnamed_addr constant [25 x i8] c" %ay = add i32 %ay0, 1\0A\00" @.str2381 = private unnamed_addr constant [30 x i8] c" %xpos = icmp sge i32 %x, 0\0A\00" @.str2382 = private unnamed_addr constant [37 x i8] c" br i1 %xpos, label %xp, label %xn\0A\00" @.str2383 = private unnamed_addr constant [5 x i8] c"xp:\0A\00" @.str2384 = private unnamed_addr constant [25 x i8] c" %n1 = sub i32 %x, %ay\0A\00" @.str2385 = private unnamed_addr constant [25 x i8] c" %d1 = add i32 %x, %ay\0A\00" @.str2386 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" @.str2387 = private unnamed_addr constant [5 x i8] c"xn:\0A\00" @.str2388 = private unnamed_addr constant [25 x i8] c" %n2 = add i32 %x, %ay\0A\00" @.str2389 = private unnamed_addr constant [25 x i8] c" %d2 = sub i32 %ay, %x\0A\00" @.str2390 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00" @.str2391 = private unnamed_addr constant [5 x i8] c"dv:\0A\00" @.str2392 = private unnamed_addr constant [45 x i8] c" %num = phi i32 [ %n1, %xp ], [ %n2, %xn ]\0A\00" @.str2393 = private unnamed_addr constant [45 x i8] c" %den = phi i32 [ %d1, %xp ], [ %d2, %xn ]\0A\00" @.str2394 = private unnamed_addr constant [51 x i8] c" %base = phi i32 [ 51472, %xp ], [ 154416, %xn ]\0A\00" @.str2395 = private unnamed_addr constant [31 x i8] c" %n64 = sext i32 %num to i64\0A\00" @.str2396 = private unnamed_addr constant [27 x i8] c" %nsh = shl i64 %n64, 16\0A\00" @.str2397 = private unnamed_addr constant [31 x i8] c" %d64 = sext i32 %den to i64\0A\00" @.str2398 = private unnamed_addr constant [30 x i8] c" %rdv = sdiv i64 %nsh, %d64\0A\00" @.str2399 = private unnamed_addr constant [30 x i8] c" %r = trunc i64 %rdv to i32\0A\00" @.str2400 = private unnamed_addr constant [30 x i8] c" %r64a = sext i32 %r to i64\0A\00" @.str2401 = private unnamed_addr constant [30 x i8] c" %r64b = sext i32 %r to i64\0A\00" @.str2402 = private unnamed_addr constant [30 x i8] c" %rr = mul i64 %r64a, %r64b\0A\00" @.str2403 = private unnamed_addr constant [27 x i8] c" %rrs = ashr i64 %rr, 16\0A\00" @.str2404 = private unnamed_addr constant [31 x i8] c" %r2 = trunc i64 %rrs to i32\0A\00" @.str2405 = private unnamed_addr constant [30 x i8] c" %r2e = sext i32 %r2 to i64\0A\00" @.str2406 = private unnamed_addr constant [28 x i8] c" %re = sext i32 %r to i64\0A\00" @.str2407 = private unnamed_addr constant [28 x i8] c" %r3m = mul i64 %r2e, %re\0A\00" @.str2408 = private unnamed_addr constant [28 x i8] c" %r3s = ashr i64 %r3m, 16\0A\00" @.str2409 = private unnamed_addr constant [31 x i8] c" %r3 = trunc i64 %r3s to i32\0A\00" @.str2410 = private unnamed_addr constant [30 x i8] c" %r3e = sext i32 %r3 to i64\0A\00" @.str2411 = private unnamed_addr constant [29 x i8] c" %c1 = mul i64 %r3e, 12865\0A\00" @.str2412 = private unnamed_addr constant [27 x i8] c" %c1s = ashr i64 %c1, 16\0A\00" @.str2413 = private unnamed_addr constant [31 x i8] c" %t1 = trunc i64 %c1s to i32\0A\00" @.str2414 = private unnamed_addr constant [29 x i8] c" %re2 = sext i32 %r to i64\0A\00" @.str2415 = private unnamed_addr constant [29 x i8] c" %c2 = mul i64 %re2, 64337\0A\00" @.str2416 = private unnamed_addr constant [27 x i8] c" %c2s = ashr i64 %c2, 16\0A\00" @.str2417 = private unnamed_addr constant [31 x i8] c" %t2 = trunc i64 %c2s to i32\0A\00" @.str2418 = private unnamed_addr constant [28 x i8] c" %poly = sub i32 %t1, %t2\0A\00" @.str2419 = private unnamed_addr constant [33 x i8] c" %angle = add i32 %poly, %base\0A\00" @.str2420 = private unnamed_addr constant [31 x i8] c" %angneg = sub i32 0, %angle\0A\00" @.str2421 = private unnamed_addr constant [51 x i8] c" %res = select i1 %yneg, i32 %angneg, i32 %angle\0A\00" @.str2422 = private unnamed_addr constant [16 x i8] c" ret i32 %res\0A\00" @.str2423 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str2424 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_exp2(i32 %x) {\0A\00" @.str2425 = private unnamed_addr constant [76 x i8] c" %i = ashr i32 %x, 16\0A %f = and i32 %x, 65535\0A %fe = sext i32 %f to i64\0A\00" @.str2426 = private unnamed_addr constant [75 x i8] c" %m5 = mul i64 %fe, 87\0A %s5 = ashr i64 %m5, 16\0A %p5 = add i64 %s5, 630\0A\00" @.str2427 = private unnamed_addr constant [77 x i8] c" %m4 = mul i64 %fe, %p5\0A %s4 = ashr i64 %m4, 16\0A %p4 = add i64 %s4, 3638\0A\00" @.str2428 = private unnamed_addr constant [78 x i8] c" %m3 = mul i64 %fe, %p4\0A %s3 = ashr i64 %m3, 16\0A %p3 = add i64 %s3, 15744\0A\00" @.str2429 = private unnamed_addr constant [78 x i8] c" %m2 = mul i64 %fe, %p3\0A %s2 = ashr i64 %m2, 16\0A %p2 = add i64 %s2, 45426\0A\00" @.str2430 = private unnamed_addr constant [78 x i8] c" %m1 = mul i64 %fe, %p2\0A %s1 = ashr i64 %m1, 16\0A %p1 = add i64 %s1, 65536\0A\00" @.str2431 = private unnamed_addr constant [29 x i8] c" %p = trunc i64 %p1 to i32\0A\00" @.str2432 = private unnamed_addr constant [30 x i8] c" %ipos = icmp sge i32 %i, 0\0A\00" @.str2433 = private unnamed_addr constant [115 x i8] c" %sa0 = select i1 %ipos, i32 %i, i32 0\0A %sahi = icmp sgt i32 %sa0, 30\0A %sa = select i1 %sahi, i32 30, i32 %sa0\0A\00" @.str2434 = private unnamed_addr constant [26 x i8] c" %shl = shl i32 %p, %sa\0A\00" @.str2435 = private unnamed_addr constant [138 x i8] c" %ni = sub i32 0, %i\0A %ra0 = select i1 %ipos, i32 0, i32 %ni\0A %rahi = icmp sgt i32 %ra0, 31\0A %ra = select i1 %rahi, i32 31, i32 %ra0\0A\00" @.str2436 = private unnamed_addr constant [27 x i8] c" %shr = ashr i32 %p, %ra\0A\00" @.str2437 = private unnamed_addr constant [63 x i8] c" %res = select i1 %ipos, i32 %shl, i32 %shr\0A ret i32 %res\0A}\0A\00" @.str2438 = private unnamed_addr constant [37 x i8] c"declare i32 @llvm.ctlz.i32(i32, i1)\0A\00" @.str2439 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fx_log2(i32 %x) {\0A\00" @.str2440 = private unnamed_addr constant [72 x i8] c"entry:\0A %pos = icmp sgt i32 %x, 0\0A br i1 %pos, label %go, label %neg\0A\00" @.str2441 = private unnamed_addr constant [28 x i8] c"neg:\0A ret i32 -2147483648\0A\00" @.str2442 = private unnamed_addr constant [80 x i8] c"go:\0A %lz = call i32 @llvm.ctlz.i32(i32 %x, i1 true)\0A %pmsb = sub i32 31, %lz\0A\00" @.str2443 = private unnamed_addr constant [49 x i8] c" %e = sub i32 %pmsb, 16\0A %ef = shl i32 %e, 16\0A\00" @.str2444 = private unnamed_addr constant [82 x i8] c" %sh = sub i32 16, %pmsb\0A %shpos = icmp sge i32 %sh, 0\0A %nsh = sub i32 0, %sh\0A\00" @.str2445 = private unnamed_addr constant [93 x i8] c" %mL = shl i32 %x, %sh\0A %mR = ashr i32 %x, %nsh\0A %m = select i1 %shpos, i32 %mL, i32 %mR\0A\00" @.str2446 = private unnamed_addr constant [55 x i8] c" %num = sub i32 %m, 65536\0A %den = add i32 %m, 65536\0A\00" @.str2447 = private unnamed_addr constant [147 x i8] c" %n64 = sext i32 %num to i64\0A %nshl = shl i64 %n64, 16\0A %d64 = sext i32 %den to i64\0A %rdv = sdiv i64 %nshl, %d64\0A %r = trunc i64 %rdv to i32\0A\00" @.str2448 = private unnamed_addr constant [78 x i8] c" %re = sext i32 %r to i64\0A %rr = mul i64 %re, %re\0A %r2 = ashr i64 %rr, 16\0A\00" @.str2449 = private unnamed_addr constant [81 x i8] c" %c3 = mul i64 %r2, 9362\0A %c3s = ashr i64 %c3, 16\0A %q3 = add i64 %c3s, 13107\0A\00" @.str2450 = private unnamed_addr constant [80 x i8] c" %c2 = mul i64 %r2, %q3\0A %c2s = ashr i64 %c2, 16\0A %q2 = add i64 %c2s, 21845\0A\00" @.str2451 = private unnamed_addr constant [80 x i8] c" %c1 = mul i64 %r2, %q2\0A %c1s = ashr i64 %c1, 16\0A %q1 = add i64 %c1s, 65536\0A\00" @.str2452 = private unnamed_addr constant [77 x i8] c" %rp = mul i64 %re, %q1\0A %rps = ashr i64 %rp, 16\0A %lnm = shl i64 %rps, 1\0A\00" @.str2453 = private unnamed_addr constant [86 x i8] c" %lm = mul i64 %lnm, 94548\0A %lms = ashr i64 %lm, 16\0A %l2m = trunc i64 %lms to i32\0A\00" @.str2454 = private unnamed_addr constant [45 x i8] c" %res = add i32 %ef, %l2m\0A ret i32 %res\0A}\0A\00" @.str2455 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str2456 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2457 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str2458 = private unnamed_addr constant [5 x i8] c", 32\00" @.str2459 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2460 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2461 = private unnamed_addr constant [8 x i8] c"or i64 \00" @.str2462 = private unnamed_addr constant [3 x i8] c", \00" @.str2463 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str2464 = private unnamed_addr constant [5 x i8] c", 32\00" @.str2465 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2466 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2467 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2468 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2469 = private unnamed_addr constant [5 x i8] c"make\00" @.str2470 = private unnamed_addr constant [5 x i8] c"zero\00" @.str2471 = private unnamed_addr constant [2 x i8] c"x\00" @.str2472 = private unnamed_addr constant [2 x i8] c"y\00" @.str2473 = private unnamed_addr constant [4 x i8] c"add\00" @.str2474 = private unnamed_addr constant [4 x i8] c"sub\00" @.str2475 = private unnamed_addr constant [6 x i8] c"scale\00" @.str2476 = private unnamed_addr constant [4 x i8] c"dot\00" @.str2477 = private unnamed_addr constant [7 x i8] c"length\00" @.str2478 = private unnamed_addr constant [9 x i8] c"distance\00" @.str2479 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str2480 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str2481 = private unnamed_addr constant [7 x i8] c"rotate\00" @.str2482 = private unnamed_addr constant [6 x i8] c"angle\00" @.str2483 = private unnamed_addr constant [11 x i8] c"from_angle\00" @.str2484 = private unnamed_addr constant [5 x i8] c"zero\00" @.str2485 = private unnamed_addr constant [2 x i8] c"0\00" @.str2486 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2487 = private unnamed_addr constant [5 x i8] c"make\00" @.str2488 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4273: index out of range: \00" @.str2489 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4273: index out of range: \00" @.str2490 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2491 = private unnamed_addr constant [2 x i8] c"x\00" @.str2492 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4277: index out of range: \00" @.str2493 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2494 = private unnamed_addr constant [2 x i8] c"y\00" @.str2495 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4281: index out of range: \00" @.str2496 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2497 = private unnamed_addr constant [4 x i8] c"add\00" @.str2498 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4285: index out of range: \00" @.str2499 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4285: index out of range: \00" @.str2500 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2501 = private unnamed_addr constant [3 x i8] c", \00" @.str2502 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2503 = private unnamed_addr constant [3 x i8] c", \00" @.str2504 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2505 = private unnamed_addr constant [4 x i8] c"sub\00" @.str2506 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4292: index out of range: \00" @.str2507 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4292: index out of range: \00" @.str2508 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2509 = private unnamed_addr constant [3 x i8] c", \00" @.str2510 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2511 = private unnamed_addr constant [3 x i8] c", \00" @.str2512 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2513 = private unnamed_addr constant [6 x i8] c"scale\00" @.str2514 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4299: index out of range: \00" @.str2515 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4299: index out of range: \00" @.str2516 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2517 = private unnamed_addr constant [4 x i8] c"dot\00" @.str2518 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4306: index out of range: \00" @.str2519 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4306: index out of range: \00" @.str2520 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2521 = private unnamed_addr constant [3 x i8] c", \00" @.str2522 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2523 = private unnamed_addr constant [7 x i8] c"length\00" @.str2524 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4313: index out of range: \00" @.str2525 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2526 = private unnamed_addr constant [3 x i8] c", \00" @.str2527 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str2528 = private unnamed_addr constant [2 x i8] c")\00" @.str2529 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2530 = private unnamed_addr constant [9 x i8] c"distance\00" @.str2531 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4321: index out of range: \00" @.str2532 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4321: index out of range: \00" @.str2533 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2534 = private unnamed_addr constant [3 x i8] c", \00" @.str2535 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2536 = private unnamed_addr constant [3 x i8] c", \00" @.str2537 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2538 = private unnamed_addr constant [3 x i8] c", \00" @.str2539 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str2540 = private unnamed_addr constant [2 x i8] c")\00" @.str2541 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2542 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str2543 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4331: index out of range: \00" @.str2544 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2545 = private unnamed_addr constant [3 x i8] c", \00" @.str2546 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_sqrt(i32 \00" @.str2547 = private unnamed_addr constant [2 x i8] c")\00" @.str2548 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str2549 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2550 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2551 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str2552 = private unnamed_addr constant [6 x i8] c"65536\00" @.str2553 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2554 = private unnamed_addr constant [7 x i8] c"rotate\00" @.str2555 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4344: index out of range: \00" @.str2556 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4344: index out of range: \00" @.str2557 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2558 = private unnamed_addr constant [2 x i8] c")\00" @.str2559 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2560 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str2561 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2562 = private unnamed_addr constant [2 x i8] c")\00" @.str2563 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2564 = private unnamed_addr constant [3 x i8] c", \00" @.str2565 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2566 = private unnamed_addr constant [3 x i8] c", \00" @.str2567 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2568 = private unnamed_addr constant [6 x i8] c"angle\00" @.str2569 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4357: index out of range: \00" @.str2570 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fx_atan2(i32 \00" @.str2571 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2572 = private unnamed_addr constant [2 x i8] c")\00" @.str2573 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2574 = private unnamed_addr constant [11 x i8] c"from_angle\00" @.str2575 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4363: index out of range: \00" @.str2576 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2577 = private unnamed_addr constant [2 x i8] c")\00" @.str2578 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2579 = private unnamed_addr constant [9 x i8] c", 102944\00" @.str2580 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str2581 = private unnamed_addr constant [2 x i8] c")\00" @.str2582 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2583 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4370: index out of range: \00" @.str2584 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4370: index out of range: \00" @.str2585 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4370: index out of range: \00" @.str2586 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2587 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str2588 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str2589 = private unnamed_addr constant [4 x i8] c", 0\00" @.str2590 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2591 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2592 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2593 = private unnamed_addr constant [5 x i8] c"make\00" @.str2594 = private unnamed_addr constant [5 x i8] c"zero\00" @.str2595 = private unnamed_addr constant [2 x i8] c"x\00" @.str2596 = private unnamed_addr constant [2 x i8] c"y\00" @.str2597 = private unnamed_addr constant [4 x i8] c"add\00" @.str2598 = private unnamed_addr constant [4 x i8] c"sub\00" @.str2599 = private unnamed_addr constant [6 x i8] c"scale\00" @.str2600 = private unnamed_addr constant [4 x i8] c"dot\00" @.str2601 = private unnamed_addr constant [6 x i8] c"equal\00" @.str2602 = private unnamed_addr constant [10 x i8] c"manhattan\00" @.str2603 = private unnamed_addr constant [10 x i8] c"to_vector\00" @.str2604 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str2605 = private unnamed_addr constant [7 x i8] c"within\00" @.str2606 = private unnamed_addr constant [8 x i8] c"heading\00" @.str2607 = private unnamed_addr constant [6 x i8] c"along\00" @.str2608 = private unnamed_addr constant [5 x i8] c"step\00" @.str2609 = private unnamed_addr constant [5 x i8] c"zero\00" @.str2610 = private unnamed_addr constant [2 x i8] c"0\00" @.str2611 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2612 = private unnamed_addr constant [5 x i8] c"make\00" @.str2613 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4408: index out of range: \00" @.str2614 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4408: index out of range: \00" @.str2615 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2616 = private unnamed_addr constant [2 x i8] c"x\00" @.str2617 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4412: index out of range: \00" @.str2618 = private unnamed_addr constant [4 x i8] c"int\00" @.str2619 = private unnamed_addr constant [2 x i8] c"y\00" @.str2620 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4416: index out of range: \00" @.str2621 = private unnamed_addr constant [4 x i8] c"int\00" @.str2622 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str2623 = private unnamed_addr constant [7 x i8] c"within\00" @.str2624 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4420: index out of range: \00" @.str2625 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4420: index out of range: \00" @.str2626 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2627 = private unnamed_addr constant [3 x i8] c", \00" @.str2628 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2629 = private unnamed_addr constant [3 x i8] c", \00" @.str2630 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2631 = private unnamed_addr constant [3 x i8] c", \00" @.str2632 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2633 = private unnamed_addr constant [3 x i8] c", \00" @.str2634 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2635 = private unnamed_addr constant [3 x i8] c", \00" @.str2636 = private unnamed_addr constant [10 x i8] c"distance2\00" @.str2637 = private unnamed_addr constant [4 x i8] c"int\00" @.str2638 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4427: index out of range: \00" @.str2639 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2640 = private unnamed_addr constant [3 x i8] c", \00" @.str2641 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str2642 = private unnamed_addr constant [3 x i8] c", \00" @.str2643 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2644 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2645 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2646 = private unnamed_addr constant [8 x i8] c"heading\00" @.str2647 = private unnamed_addr constant [16 x i8] c"rt_ivec_heading\00" @.str2648 = private unnamed_addr constant [39 x i8] c"IVec2.heading needs the engine runtime\00" @.str2649 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4434: index out of range: \00" @.str2650 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4434: index out of range: \00" @.str2651 = private unnamed_addr constant [34 x i8] c"call i32 @fn_rt_ivec_heading(i64 \00" @.str2652 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str2653 = private unnamed_addr constant [2 x i8] c")\00" @.str2654 = private unnamed_addr constant [4 x i8] c"int\00" @.str2655 = private unnamed_addr constant [6 x i8] c"along\00" @.str2656 = private unnamed_addr constant [14 x i8] c"rt_ivec_along\00" @.str2657 = private unnamed_addr constant [37 x i8] c"IVec2.along needs the engine runtime\00" @.str2658 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4439: index out of range: \00" @.str2659 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4439: index out of range: \00" @.str2660 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4439: index out of range: \00" @.str2661 = private unnamed_addr constant [32 x i8] c"call i64 @fn_rt_ivec_along(i64 \00" @.str2662 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2663 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2664 = private unnamed_addr constant [2 x i8] c")\00" @.str2665 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2666 = private unnamed_addr constant [5 x i8] c"step\00" @.str2667 = private unnamed_addr constant [13 x i8] c"rt_ivec_step\00" @.str2668 = private unnamed_addr constant [36 x i8] c"IVec2.step needs the engine runtime\00" @.str2669 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4444: index out of range: \00" @.str2670 = private unnamed_addr constant [31 x i8] c"call i64 @fn_rt_ivec_step(i32 \00" @.str2671 = private unnamed_addr constant [2 x i8] c")\00" @.str2672 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2673 = private unnamed_addr constant [4 x i8] c"add\00" @.str2674 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4448: index out of range: \00" @.str2675 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4448: index out of range: \00" @.str2676 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2677 = private unnamed_addr constant [3 x i8] c", \00" @.str2678 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2679 = private unnamed_addr constant [3 x i8] c", \00" @.str2680 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2681 = private unnamed_addr constant [4 x i8] c"sub\00" @.str2682 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4455: index out of range: \00" @.str2683 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4455: index out of range: \00" @.str2684 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2685 = private unnamed_addr constant [3 x i8] c", \00" @.str2686 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2687 = private unnamed_addr constant [3 x i8] c", \00" @.str2688 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2689 = private unnamed_addr constant [6 x i8] c"scale\00" @.str2690 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4462: index out of range: \00" @.str2691 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4462: index out of range: \00" @.str2692 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2693 = private unnamed_addr constant [3 x i8] c", \00" @.str2694 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2695 = private unnamed_addr constant [3 x i8] c", \00" @.str2696 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str2697 = private unnamed_addr constant [4 x i8] c"dot\00" @.str2698 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4469: index out of range: \00" @.str2699 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4469: index out of range: \00" @.str2700 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2701 = private unnamed_addr constant [3 x i8] c", \00" @.str2702 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str2703 = private unnamed_addr constant [3 x i8] c", \00" @.str2704 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2705 = private unnamed_addr constant [3 x i8] c", \00" @.str2706 = private unnamed_addr constant [4 x i8] c"int\00" @.str2707 = private unnamed_addr constant [6 x i8] c"equal\00" @.str2708 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4475: index out of range: \00" @.str2709 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4475: index out of range: \00" @.str2710 = private unnamed_addr constant [13 x i8] c"icmp eq i64 \00" @.str2711 = private unnamed_addr constant [3 x i8] c", \00" @.str2712 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2713 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2714 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2715 = private unnamed_addr constant [10 x i8] c"manhattan\00" @.str2716 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4480: index out of range: \00" @.str2717 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4480: index out of range: \00" @.str2718 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2719 = private unnamed_addr constant [3 x i8] c", \00" @.str2720 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str2721 = private unnamed_addr constant [3 x i8] c", \00" @.str2722 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2723 = private unnamed_addr constant [3 x i8] c", \00" @.str2724 = private unnamed_addr constant [4 x i8] c"int\00" @.str2725 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4487: index out of range: \00" @.str2726 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str2727 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2728 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str2729 = private unnamed_addr constant [5 x i8] c", 16\00" @.str2730 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2731 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2732 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str2733 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str2734 = private unnamed_addr constant [5 x i8] c", 96\00" @.str2735 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2736 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str2737 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str2738 = private unnamed_addr constant [5 x i8] c", 64\00" @.str2739 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2740 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str2741 = private unnamed_addr constant [10 x i8] c"shl i128 \00" @.str2742 = private unnamed_addr constant [5 x i8] c", 32\00" @.str2743 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str2744 = private unnamed_addr constant [9 x i8] c" to i128\00" @.str2745 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str2746 = private unnamed_addr constant [3 x i8] c", \00" @.str2747 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str2748 = private unnamed_addr constant [3 x i8] c", \00" @.str2749 = private unnamed_addr constant [9 x i8] c"or i128 \00" @.str2750 = private unnamed_addr constant [3 x i8] c", \00" @.str2751 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" @.str2752 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2753 = private unnamed_addr constant [11 x i8] c"lshr i128 \00" @.str2754 = private unnamed_addr constant [3 x i8] c", \00" @.str2755 = private unnamed_addr constant [12 x i8] c"trunc i128 \00" @.str2756 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2757 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str2758 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str2759 = private unnamed_addr constant [3 x i8] c", \00" @.str2760 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2761 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2762 = private unnamed_addr constant [5 x i8] c"make\00" @.str2763 = private unnamed_addr constant [2 x i8] c"x\00" @.str2764 = private unnamed_addr constant [2 x i8] c"y\00" @.str2765 = private unnamed_addr constant [2 x i8] c"w\00" @.str2766 = private unnamed_addr constant [2 x i8] c"h\00" @.str2767 = private unnamed_addr constant [6 x i8] c"right\00" @.str2768 = private unnamed_addr constant [7 x i8] c"bottom\00" @.str2769 = private unnamed_addr constant [7 x i8] c"center\00" @.str2770 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2771 = private unnamed_addr constant [11 x i8] c"intersects\00" @.str2772 = private unnamed_addr constant [5 x i8] c"make\00" @.str2773 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4540: index out of range: \00" @.str2774 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4540: index out of range: \00" @.str2775 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4541: index out of range: \00" @.str2776 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4541: index out of range: \00" @.str2777 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str2778 = private unnamed_addr constant [2 x i8] c"x\00" @.str2779 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4544: index out of range: \00" @.str2780 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2781 = private unnamed_addr constant [2 x i8] c"y\00" @.str2782 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4545: index out of range: \00" @.str2783 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2784 = private unnamed_addr constant [2 x i8] c"w\00" @.str2785 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4546: index out of range: \00" @.str2786 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2787 = private unnamed_addr constant [2 x i8] c"h\00" @.str2788 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4547: index out of range: \00" @.str2789 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2790 = private unnamed_addr constant [6 x i8] c"right\00" @.str2791 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4549: index out of range: \00" @.str2792 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2793 = private unnamed_addr constant [3 x i8] c", \00" @.str2794 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2795 = private unnamed_addr constant [7 x i8] c"bottom\00" @.str2796 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4554: index out of range: \00" @.str2797 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2798 = private unnamed_addr constant [3 x i8] c", \00" @.str2799 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str2800 = private unnamed_addr constant [7 x i8] c"center\00" @.str2801 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4559: index out of range: \00" @.str2802 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str2803 = private unnamed_addr constant [4 x i8] c", 1\00" @.str2804 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str2805 = private unnamed_addr constant [4 x i8] c", 1\00" @.str2806 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2807 = private unnamed_addr constant [3 x i8] c", \00" @.str2808 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2809 = private unnamed_addr constant [3 x i8] c", \00" @.str2810 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str2811 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2812 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4567: index out of range: \00" @.str2813 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4567: index out of range: \00" @.str2814 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4567: index out of range: \00" @.str2815 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2816 = private unnamed_addr constant [3 x i8] c", \00" @.str2817 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2818 = private unnamed_addr constant [3 x i8] c", \00" @.str2819 = private unnamed_addr constant [4 x i8] c"sge\00" @.str2820 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2821 = private unnamed_addr constant [4 x i8] c"sge\00" @.str2822 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2823 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2824 = private unnamed_addr constant [3 x i8] c", \00" @.str2825 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2826 = private unnamed_addr constant [3 x i8] c", \00" @.str2827 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2828 = private unnamed_addr constant [3 x i8] c", \00" @.str2829 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2830 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4577: index out of range: \00" @.str2831 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4577: index out of range: \00" @.str2832 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2833 = private unnamed_addr constant [3 x i8] c", \00" @.str2834 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2835 = private unnamed_addr constant [3 x i8] c", \00" @.str2836 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2837 = private unnamed_addr constant [3 x i8] c", \00" @.str2838 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str2839 = private unnamed_addr constant [3 x i8] c", \00" @.str2840 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2841 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2842 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2843 = private unnamed_addr constant [4 x i8] c"slt\00" @.str2844 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2845 = private unnamed_addr constant [3 x i8] c", \00" @.str2846 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2847 = private unnamed_addr constant [3 x i8] c", \00" @.str2848 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str2849 = private unnamed_addr constant [3 x i8] c", \00" @.str2850 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2851 = private unnamed_addr constant [7 x i8] c"length\00" @.str2852 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str2853 = private unnamed_addr constant [6 x i8] c"slice\00" @.str2854 = private unnamed_addr constant [7 x i8] c"equals\00" @.str2855 = private unnamed_addr constant [7 x i8] c"concat\00" @.str2856 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str2857 = private unnamed_addr constant [9 x i8] c"from_int\00" @.str2858 = private unnamed_addr constant [9 x i8] c"to_float\00" @.str2859 = private unnamed_addr constant [12 x i8] c"starts_with\00" @.str2860 = private unnamed_addr constant [10 x i8] c"ends_with\00" @.str2861 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2862 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str2863 = private unnamed_addr constant [6 x i8] c"upper\00" @.str2864 = private unnamed_addr constant [6 x i8] c"lower\00" @.str2865 = private unnamed_addr constant [5 x i8] c"trim\00" @.str2866 = private unnamed_addr constant [7 x i8] c"repeat\00" @.str2867 = private unnamed_addr constant [9 x i8] c"pad_left\00" @.str2868 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str2869 = private unnamed_addr constant [6 x i8] c"split\00" @.str2870 = private unnamed_addr constant [5 x i8] c"join\00" @.str2871 = private unnamed_addr constant [8 x i8] c"replace\00" @.str2872 = private unnamed_addr constant [9 x i8] c"from_int\00" @.str2873 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4609: index out of range: \00" @.str2874 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str2875 = private unnamed_addr constant [2 x i8] c")\00" @.str2876 = private unnamed_addr constant [7 x i8] c"string\00" @.str2877 = private unnamed_addr constant [6 x i8] c"slice\00" @.str2878 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4614: index out of range: \00" @.str2879 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4614: index out of range: \00" @.str2880 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4614: index out of range: \00" @.str2881 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str2882 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2883 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2884 = private unnamed_addr constant [2 x i8] c")\00" @.str2885 = private unnamed_addr constant [7 x i8] c"string\00" @.str2886 = private unnamed_addr constant [7 x i8] c"equals\00" @.str2887 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4619: index out of range: \00" @.str2888 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4619: index out of range: \00" @.str2889 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00" @.str2890 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2891 = private unnamed_addr constant [2 x i8] c")\00" @.str2892 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2893 = private unnamed_addr constant [7 x i8] c"concat\00" @.str2894 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4624: index out of range: \00" @.str2895 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4624: index out of range: \00" @.str2896 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str2897 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2898 = private unnamed_addr constant [2 x i8] c")\00" @.str2899 = private unnamed_addr constant [7 x i8] c"string\00" @.str2900 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4629: index out of range: \00" @.str2901 = private unnamed_addr constant [7 x i8] c"length\00" @.str2902 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str2903 = private unnamed_addr constant [2 x i8] c")\00" @.str2904 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2905 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2906 = private unnamed_addr constant [4 x i8] c"int\00" @.str2907 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str2908 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4635: index out of range: \00" @.str2909 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str2910 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2911 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str2912 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str2913 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2914 = private unnamed_addr constant [4 x i8] c"int\00" @.str2915 = private unnamed_addr constant [9 x i8] c"to_float\00" @.str2916 = private unnamed_addr constant [34 x i8] c"declare double @strtod(ptr, ptr)\0A\00" @.str2917 = private unnamed_addr constant [25 x i8] c"call double @strtod(ptr \00" @.str2918 = private unnamed_addr constant [12 x i8] c", ptr null)\00" @.str2919 = private unnamed_addr constant [16 x i8] c"fptrunc double \00" @.str2920 = private unnamed_addr constant [10 x i8] c" to float\00" @.str2921 = private unnamed_addr constant [6 x i8] c"float\00" @.str2922 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str2923 = private unnamed_addr constant [20 x i8] c"call i32 @atoi(ptr \00" @.str2924 = private unnamed_addr constant [2 x i8] c")\00" @.str2925 = private unnamed_addr constant [4 x i8] c"int\00" @.str2926 = private unnamed_addr constant [6 x i8] c"upper\00" @.str2927 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_upper(ptr \00" @.str2928 = private unnamed_addr constant [2 x i8] c")\00" @.str2929 = private unnamed_addr constant [7 x i8] c"string\00" @.str2930 = private unnamed_addr constant [6 x i8] c"lower\00" @.str2931 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_lower(ptr \00" @.str2932 = private unnamed_addr constant [2 x i8] c")\00" @.str2933 = private unnamed_addr constant [7 x i8] c"string\00" @.str2934 = private unnamed_addr constant [5 x i8] c"trim\00" @.str2935 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_trim(ptr \00" @.str2936 = private unnamed_addr constant [2 x i8] c")\00" @.str2937 = private unnamed_addr constant [7 x i8] c"string\00" @.str2938 = private unnamed_addr constant [7 x i8] c"repeat\00" @.str2939 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4662: index out of range: \00" @.str2940 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_repeat(ptr \00" @.str2941 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2942 = private unnamed_addr constant [2 x i8] c")\00" @.str2943 = private unnamed_addr constant [7 x i8] c"string\00" @.str2944 = private unnamed_addr constant [9 x i8] c"pad_left\00" @.str2945 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4667: index out of range: \00" @.str2946 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00" @.str2947 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2948 = private unnamed_addr constant [8 x i8] c", i1 1)\00" @.str2949 = private unnamed_addr constant [7 x i8] c"string\00" @.str2950 = private unnamed_addr constant [10 x i8] c"pad_right\00" @.str2951 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4672: index out of range: \00" @.str2952 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_pad(ptr \00" @.str2953 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str2954 = private unnamed_addr constant [8 x i8] c", i1 0)\00" @.str2955 = private unnamed_addr constant [7 x i8] c"string\00" @.str2956 = private unnamed_addr constant [8 x i8] c"replace\00" @.str2957 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4677: index out of range: \00" @.str2958 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4677: index out of range: \00" @.str2959 = private unnamed_addr constant [30 x i8] c"call ptr @lp_str_replace(ptr \00" @.str2960 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2961 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2962 = private unnamed_addr constant [2 x i8] c")\00" @.str2963 = private unnamed_addr constant [7 x i8] c"string\00" @.str2964 = private unnamed_addr constant [6 x i8] c"split\00" @.str2965 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4682: index out of range: \00" @.str2966 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_split(ptr \00" @.str2967 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2968 = private unnamed_addr constant [2 x i8] c")\00" @.str2969 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str2970 = private unnamed_addr constant [5 x i8] c"join\00" @.str2971 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4687: index out of range: \00" @.str2972 = private unnamed_addr constant [27 x i8] c"call ptr @lp_str_join(ptr \00" @.str2973 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2974 = private unnamed_addr constant [2 x i8] c")\00" @.str2975 = private unnamed_addr constant [7 x i8] c"string\00" @.str2976 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2977 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str2978 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4691: index out of range: \00" @.str2979 = private unnamed_addr constant [22 x i8] c"call ptr @strstr(ptr \00" @.str2980 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str2981 = private unnamed_addr constant [2 x i8] c")\00" @.str2982 = private unnamed_addr constant [9 x i8] c"contains\00" @.str2983 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str2984 = private unnamed_addr constant [7 x i8] c", null\00" @.str2985 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str2986 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2987 = private unnamed_addr constant [5 x i8] c"bool\00" @.str2988 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str2989 = private unnamed_addr constant [7 x i8] c", null\00" @.str2990 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str2991 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2992 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str2993 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str2994 = private unnamed_addr constant [9 x i8] c"sub i64 \00" @.str2995 = private unnamed_addr constant [3 x i8] c", \00" @.str2996 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str2997 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str2998 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str2999 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" @.str3000 = private unnamed_addr constant [4 x i8] c"int\00" @.str3001 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:4706: index out of range: \00" @.str3002 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str3003 = private unnamed_addr constant [2 x i8] c")\00" @.str3004 = private unnamed_addr constant [12 x i8] c"starts_with\00" @.str3005 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" @.str3006 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3007 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str3008 = private unnamed_addr constant [2 x i8] c")\00" @.str3009 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str3010 = private unnamed_addr constant [4 x i8] c", 0\00" @.str3011 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3012 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3013 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3014 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str3015 = private unnamed_addr constant [2 x i8] c")\00" @.str3016 = private unnamed_addr constant [9 x i8] c"sub i64 \00" @.str3017 = private unnamed_addr constant [3 x i8] c", \00" @.str3018 = private unnamed_addr constant [4 x i8] c"i32\00" @.str3019 = private unnamed_addr constant [4 x i8] c"i32\00" @.str3020 = private unnamed_addr constant [2 x i8] c"0\00" @.str3021 = private unnamed_addr constant [14 x i8] c"icmp slt i64 \00" @.str3022 = private unnamed_addr constant [4 x i8] c", 0\00" @.str3023 = private unnamed_addr constant [7 x i8] c"ew_cmp\00" @.str3024 = private unnamed_addr constant [7 x i8] c"ew_end\00" @.str3025 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str3026 = private unnamed_addr constant [10 x i8] c", label %\00" @.str3027 = private unnamed_addr constant [10 x i8] c", label %\00" @.str3028 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str3029 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str3030 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str3031 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str3032 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00" @.str3033 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3034 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str3035 = private unnamed_addr constant [2 x i8] c")\00" @.str3036 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str3037 = private unnamed_addr constant [4 x i8] c", 0\00" @.str3038 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str3039 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str3040 = private unnamed_addr constant [4 x i8] c"i32\00" @.str3041 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str3042 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str3043 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str3044 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str3045 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3046 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_upper(ptr %s) {\0A\00" @.str3047 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3048 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str3049 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" @.str3050 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str3051 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3052 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3053 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3054 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str3055 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3056 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str3057 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str3058 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str3059 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str3060 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" @.str3061 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 97\0A\00" @.str3062 = private unnamed_addr constant [29 x i8] c" %le = icmp ule i8 %c, 122\0A\00" @.str3063 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" @.str3064 = private unnamed_addr constant [24 x i8] c" %cc = add i8 %c, -32\0A\00" @.str3065 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" @.str3066 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" @.str3067 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" @.str3068 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3069 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3070 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3071 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str3072 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" @.str3073 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str3074 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str3075 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3076 = private unnamed_addr constant [36 x i8] c"define ptr @lp_str_lower(ptr %s) {\0A\00" @.str3077 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3078 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str3079 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00" @.str3080 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str3081 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3082 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3083 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3084 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str3085 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3086 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str3087 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str3088 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str3089 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00" @.str3090 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00" @.str3091 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 65\0A\00" @.str3092 = private unnamed_addr constant [28 x i8] c" %le = icmp ule i8 %c, 90\0A\00" @.str3093 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00" @.str3094 = private unnamed_addr constant [23 x i8] c" %cc = add i8 %c, 32\0A\00" @.str3095 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00" @.str3096 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00" @.str3097 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00" @.str3098 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3099 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3100 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3101 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str3102 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00" @.str3103 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str3104 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str3105 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3106 = private unnamed_addr constant [35 x i8] c"define ptr @lp_str_trim(ptr %s) {\0A\00" @.str3107 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3108 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00" @.str3109 = private unnamed_addr constant [20 x i8] c" %sp = alloca i64\0A\00" @.str3110 = private unnamed_addr constant [20 x i8] c" %ep = alloca i64\0A\00" @.str3111 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %sp\0A\00" @.str3112 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %ep\0A\00" @.str3113 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" @.str3114 = private unnamed_addr constant [8 x i8] c"lcond:\0A\00" @.str3115 = private unnamed_addr constant [27 x i8] c" %a0 = load i64, ptr %sp\0A\00" @.str3116 = private unnamed_addr constant [27 x i8] c" %e0 = load i64, ptr %ep\0A\00" @.str3117 = private unnamed_addr constant [32 x i8] c" %lt0 = icmp ult i64 %a0, %e0\0A\00" @.str3118 = private unnamed_addr constant [41 x i8] c" br i1 %lt0, label %lchk, label %rcond\0A\00" @.str3119 = private unnamed_addr constant [7 x i8] c"lchk:\0A\00" @.str3120 = private unnamed_addr constant [43 x i8] c" %p0 = getelementptr i8, ptr %s, i64 %a0\0A\00" @.str3121 = private unnamed_addr constant [26 x i8] c" %c0 = load i8, ptr %p0\0A\00" @.str3122 = private unnamed_addr constant [36 x i8] c" %ws0 = call i1 @lp_is_ws(i8 %c0)\0A\00" @.str3123 = private unnamed_addr constant [41 x i8] c" br i1 %ws0, label %linc, label %rcond\0A\00" @.str3124 = private unnamed_addr constant [7 x i8] c"linc:\0A\00" @.str3125 = private unnamed_addr constant [24 x i8] c" %a1 = add i64 %a0, 1\0A\00" @.str3126 = private unnamed_addr constant [26 x i8] c" store i64 %a1, ptr %sp\0A\00" @.str3127 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00" @.str3128 = private unnamed_addr constant [8 x i8] c"rcond:\0A\00" @.str3129 = private unnamed_addr constant [27 x i8] c" %a2 = load i64, ptr %sp\0A\00" @.str3130 = private unnamed_addr constant [27 x i8] c" %e2 = load i64, ptr %ep\0A\00" @.str3131 = private unnamed_addr constant [32 x i8] c" %lt2 = icmp ult i64 %a2, %e2\0A\00" @.str3132 = private unnamed_addr constant [41 x i8] c" br i1 %lt2, label %rchk, label %build\0A\00" @.str3133 = private unnamed_addr constant [7 x i8] c"rchk:\0A\00" @.str3134 = private unnamed_addr constant [25 x i8] c" %em1 = sub i64 %e2, 1\0A\00" @.str3135 = private unnamed_addr constant [44 x i8] c" %p1 = getelementptr i8, ptr %s, i64 %em1\0A\00" @.str3136 = private unnamed_addr constant [26 x i8] c" %c1 = load i8, ptr %p1\0A\00" @.str3137 = private unnamed_addr constant [36 x i8] c" %ws1 = call i1 @lp_is_ws(i8 %c1)\0A\00" @.str3138 = private unnamed_addr constant [41 x i8] c" br i1 %ws1, label %rdec, label %build\0A\00" @.str3139 = private unnamed_addr constant [7 x i8] c"rdec:\0A\00" @.str3140 = private unnamed_addr constant [27 x i8] c" store i64 %em1, ptr %ep\0A\00" @.str3141 = private unnamed_addr constant [19 x i8] c" br label %rcond\0A\00" @.str3142 = private unnamed_addr constant [8 x i8] c"build:\0A\00" @.str3143 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00" @.str3144 = private unnamed_addr constant [27 x i8] c" %en = load i64, ptr %ep\0A\00" @.str3145 = private unnamed_addr constant [27 x i8] c" %len = sub i64 %en, %st\0A\00" @.str3146 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %len, 1\0A\00" @.str3147 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str3148 = private unnamed_addr constant [44 x i8] c" %src = getelementptr i8, ptr %s, i64 %st\0A\00" @.str3149 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %out, ptr %src, i64 %len)\0A\00" @.str3150 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %len\0A\00" @.str3151 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str3152 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str3153 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3154 = private unnamed_addr constant [30 x i8] c"define i1 @lp_is_ws(i8 %c) {\0A\00" @.str3155 = private unnamed_addr constant [26 x i8] c" %a = icmp eq i8 %c, 32\0A\00" @.str3156 = private unnamed_addr constant [25 x i8] c" %b = icmp eq i8 %c, 9\0A\00" @.str3157 = private unnamed_addr constant [26 x i8] c" %d = icmp eq i8 %c, 10\0A\00" @.str3158 = private unnamed_addr constant [26 x i8] c" %e = icmp eq i8 %c, 13\0A\00" @.str3159 = private unnamed_addr constant [22 x i8] c" %ab = or i1 %a, %b\0A\00" @.str3160 = private unnamed_addr constant [22 x i8] c" %de = or i1 %d, %e\0A\00" @.str3161 = private unnamed_addr constant [23 x i8] c" %r = or i1 %ab, %de\0A\00" @.str3162 = private unnamed_addr constant [13 x i8] c" ret i1 %r\0A\00" @.str3163 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3164 = private unnamed_addr constant [47 x i8] c"define ptr @lp_str_repeat(ptr %s, i32 %n32) {\0A\00" @.str3165 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3166 = private unnamed_addr constant [32 x i8] c" %nneg = icmp slt i32 %n32, 0\0A\00" @.str3167 = private unnamed_addr constant [42 x i8] c" %nn = select i1 %nneg, i32 0, i32 %n32\0A\00" @.str3168 = private unnamed_addr constant [28 x i8] c" %n = zext i32 %nn to i64\0A\00" @.str3169 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" @.str3170 = private unnamed_addr constant [25 x i8] c" %tot = mul i64 %L, %n\0A\00" @.str3171 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %tot, 1\0A\00" @.str3172 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str3173 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3174 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3175 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3176 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str3177 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3178 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00" @.str3179 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00" @.str3180 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str3181 = private unnamed_addr constant [25 x i8] c" %off = mul i64 %i, %L\0A\00" @.str3182 = private unnamed_addr constant [47 x i8] c" %dst = getelementptr i8, ptr %out, i64 %off\0A\00" @.str3183 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %dst, ptr %s, i64 %L)\0A\00" @.str3184 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3185 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3186 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3187 = private unnamed_addr constant [6 x i8] c"fin:\0A\00" @.str3188 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %tot\0A\00" @.str3189 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str3190 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str3191 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3192 = private unnamed_addr constant [54 x i8] c"define ptr @lp_str_pad(ptr %s, i32 %w32, i1 %left) {\0A\00" @.str3193 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3194 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00" @.str3195 = private unnamed_addr constant [30 x i8] c" %w0 = sext i32 %w32 to i64\0A\00" @.str3196 = private unnamed_addr constant [32 x i8] c" %need = icmp ugt i64 %w0, %L\0A\00" @.str3197 = private unnamed_addr constant [39 x i8] c" br i1 %need, label %do, label %copy\0A\00" @.str3198 = private unnamed_addr constant [7 x i8] c"copy:\0A\00" @.str3199 = private unnamed_addr constant [24 x i8] c" %sz0 = add i64 %L, 1\0A\00" @.str3200 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" @.str3201 = private unnamed_addr constant [23 x i8] c" %e0 = add i64 %L, 0\0A\00" @.str3202 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %L)\0A\00" @.str3203 = private unnamed_addr constant [43 x i8] c" %t0 = getelementptr i8, ptr %o0, i64 %L\0A\00" @.str3204 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %t0\0A\00" @.str3205 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" @.str3206 = private unnamed_addr constant [5 x i8] c"do:\0A\00" @.str3207 = private unnamed_addr constant [26 x i8] c" %pad = sub i64 %w0, %L\0A\00" @.str3208 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %w0, 1\0A\00" @.str3209 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00" @.str3210 = private unnamed_addr constant [48 x i8] c" br i1 %left, label %padleft, label %padright\0A\00" @.str3211 = private unnamed_addr constant [10 x i8] c"padleft:\0A\00" @.str3212 = private unnamed_addr constant [52 x i8] c" call void @lp_fill_sp(ptr %out, i64 0, i64 %pad)\0A\00" @.str3213 = private unnamed_addr constant [48 x i8] c" %dstL = getelementptr i8, ptr %out, i64 %pad\0A\00" @.str3214 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\0A\00" @.str3215 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" @.str3216 = private unnamed_addr constant [11 x i8] c"padright:\0A\00" @.str3217 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\0A\00" @.str3218 = private unnamed_addr constant [53 x i8] c" call void @lp_fill_sp(ptr %out, i64 %L, i64 %pad)\0A\00" @.str3219 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00" @.str3220 = private unnamed_addr constant [7 x i8] c"term:\0A\00" @.str3221 = private unnamed_addr constant [45 x i8] c" %tp = getelementptr i8, ptr %out, i64 %w0\0A\00" @.str3222 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str3223 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str3224 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3225 = private unnamed_addr constant [61 x i8] c"define void @lp_fill_sp(ptr %buf, i64 %start, i64 %count) {\0A\00" @.str3226 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3227 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3228 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3229 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3230 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str3231 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3232 = private unnamed_addr constant [32 x i8] c" %d = icmp ult i64 %i, %count\0A\00" @.str3233 = private unnamed_addr constant [38 x i8] c" br i1 %d, label %body, label %done\0A\00" @.str3234 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str3235 = private unnamed_addr constant [29 x i8] c" %off = add i64 %start, %i\0A\00" @.str3236 = private unnamed_addr constant [45 x i8] c" %p = getelementptr i8, ptr %buf, i64 %off\0A\00" @.str3237 = private unnamed_addr constant [23 x i8] c" store i8 32, ptr %p\0A\00" @.str3238 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3239 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3240 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3241 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3242 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str3243 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3244 = private unnamed_addr constant [58 x i8] c"define ptr @lp_str_replace(ptr %s, ptr %from, ptr %to) {\0A\00" @.str3245 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3246 = private unnamed_addr constant [37 x i8] c" %lf = call i64 @strlen(ptr %from)\0A\00" @.str3247 = private unnamed_addr constant [28 x i8] c" %lz = icmp eq i64 %lf, 0\0A\00" @.str3248 = private unnamed_addr constant [42 x i8] c" br i1 %lz, label %copyall, label %scan\0A\00" @.str3249 = private unnamed_addr constant [10 x i8] c"copyall:\0A\00" @.str3250 = private unnamed_addr constant [35 x i8] c" %ls0 = call i64 @strlen(ptr %s)\0A\00" @.str3251 = private unnamed_addr constant [26 x i8] c" %sz0 = add i64 %ls0, 1\0A\00" @.str3252 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00" @.str3253 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %sz0)\0A\00" @.str3254 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00" @.str3255 = private unnamed_addr constant [7 x i8] c"scan:\0A\00" @.str3256 = private unnamed_addr constant [35 x i8] c" %lt = call i64 @strlen(ptr %to)\0A\00" @.str3257 = private unnamed_addr constant [34 x i8] c" %ls = call i64 @strlen(ptr %s)\0A\00" @.str3258 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" @.str3259 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %cntp\0A\00" @.str3260 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" @.str3261 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" @.str3262 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str3263 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" @.str3264 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" @.str3265 = private unnamed_addr constant [48 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %from)\0A\00" @.str3266 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" @.str3267 = private unnamed_addr constant [44 x i8] c" br i1 %isnull, label %csize, label %cinc\0A\00" @.str3268 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" @.str3269 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" @.str3270 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" @.str3271 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" @.str3272 = private unnamed_addr constant [46 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lf\0A\00" @.str3273 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" @.str3274 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str3275 = private unnamed_addr constant [8 x i8] c"csize:\0A\00" @.str3276 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" @.str3277 = private unnamed_addr constant [29 x i8] c" %delta = sub i64 %lt, %lf\0A\00" @.str3278 = private unnamed_addr constant [32 x i8] c" %grow = mul i64 %cnt, %delta\0A\00" @.str3279 = private unnamed_addr constant [32 x i8] c" %newlen = add i64 %ls, %grow\0A\00" @.str3280 = private unnamed_addr constant [29 x i8] c" %osz = add i64 %newlen, 1\0A\00" @.str3281 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" @.str3282 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" @.str3283 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" @.str3284 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" @.str3285 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" @.str3286 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" @.str3287 = private unnamed_addr constant [8 x i8] c"bcond:\0A\00" @.str3288 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" @.str3289 = private unnamed_addr constant [47 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %from)\0A\00" @.str3290 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" @.str3291 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %tail, label %seg\0A\00" @.str3292 = private unnamed_addr constant [6 x i8] c"seg:\0A\00" @.str3293 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" @.str3294 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" @.str3295 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" @.str3296 = private unnamed_addr constant [31 x i8] c" %dst0 = load ptr, ptr %dstp\0A\00" @.str3297 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst0, ptr %src, i64 %seglen)\0A\00" @.str3298 = private unnamed_addr constant [52 x i8] c" %dst1 = getelementptr i8, ptr %dst0, i64 %seglen\0A\00" @.str3299 = private unnamed_addr constant [49 x i8] c" call ptr @memcpy(ptr %dst1, ptr %to, i64 %lt)\0A\00" @.str3300 = private unnamed_addr constant [48 x i8] c" %dst2 = getelementptr i8, ptr %dst1, i64 %lt\0A\00" @.str3301 = private unnamed_addr constant [30 x i8] c" store ptr %dst2, ptr %dstp\0A\00" @.str3302 = private unnamed_addr constant [46 x i8] c" %src2 = getelementptr i8, ptr %h2, i64 %lf\0A\00" @.str3303 = private unnamed_addr constant [30 x i8] c" store ptr %src2, ptr %srcp\0A\00" @.str3304 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00" @.str3305 = private unnamed_addr constant [7 x i8] c"tail:\0A\00" @.str3306 = private unnamed_addr constant [31 x i8] c" %src3 = load ptr, ptr %srcp\0A\00" @.str3307 = private unnamed_addr constant [38 x i8] c" %rem = call i64 @strlen(ptr %src3)\0A\00" @.str3308 = private unnamed_addr constant [31 x i8] c" %dst3 = load ptr, ptr %dstp\0A\00" @.str3309 = private unnamed_addr constant [28 x i8] c" %remp1 = add i64 %rem, 1\0A\00" @.str3310 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\0A\00" @.str3311 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str3312 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3313 = private unnamed_addr constant [45 x i8] c"define ptr @lp_str_join(ptr %h, ptr %sep) {\0A\00" @.str3314 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3315 = private unnamed_addr constant [62 x i8] c" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A\00" @.str3316 = private unnamed_addr constant [30 x i8] c" %len32 = load i32, ptr %lp\0A\00" @.str3317 = private unnamed_addr constant [33 x i8] c" %len = sext i32 %len32 to i64\0A\00" @.str3318 = private unnamed_addr constant [62 x i8] c" %dp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A\00" @.str3319 = private unnamed_addr constant [29 x i8] c" %data = load ptr, ptr %dp\0A\00" @.str3320 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" @.str3321 = private unnamed_addr constant [22 x i8] c" %totp = alloca i64\0A\00" @.str3322 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %totp\0A\00" @.str3323 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3324 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3325 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" @.str3326 = private unnamed_addr constant [8 x i8] c"scond:\0A\00" @.str3327 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3328 = private unnamed_addr constant [30 x i8] c" %d = icmp ult i64 %i, %len\0A\00" @.str3329 = private unnamed_addr constant [40 x i8] c" br i1 %d, label %sbody, label %alloc\0A\00" @.str3330 = private unnamed_addr constant [8 x i8] c"sbody:\0A\00" @.str3331 = private unnamed_addr constant [46 x i8] c" %ep = getelementptr ptr, ptr %data, i64 %i\0A\00" @.str3332 = private unnamed_addr constant [27 x i8] c" %es = load ptr, ptr %ep\0A\00" @.str3333 = private unnamed_addr constant [35 x i8] c" %el = call i64 @strlen(ptr %es)\0A\00" @.str3334 = private unnamed_addr constant [29 x i8] c" %t0 = load i64, ptr %totp\0A\00" @.str3335 = private unnamed_addr constant [26 x i8] c" %t1 = add i64 %t0, %el\0A\00" @.str3336 = private unnamed_addr constant [28 x i8] c" store i64 %t1, ptr %totp\0A\00" @.str3337 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3338 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3339 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00" @.str3340 = private unnamed_addr constant [8 x i8] c"alloc:\0A\00" @.str3341 = private unnamed_addr constant [30 x i8] c" %nz = icmp ugt i64 %len, 0\0A\00" @.str3342 = private unnamed_addr constant [26 x i8] c" %lm1 = sub i64 %len, 1\0A\00" @.str3343 = private unnamed_addr constant [31 x i8] c" %seps = mul i64 %lm1, %lsep\0A\00" @.str3344 = private unnamed_addr constant [44 x i8] c" %sepsz = select i1 %nz, i64 %seps, i64 0\0A\00" @.str3345 = private unnamed_addr constant [31 x i8] c" %tot0 = load i64, ptr %totp\0A\00" @.str3346 = private unnamed_addr constant [32 x i8] c" %tot = add i64 %tot0, %sepsz\0A\00" @.str3347 = private unnamed_addr constant [26 x i8] c" %osz = add i64 %tot, 1\0A\00" @.str3348 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00" @.str3349 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00" @.str3350 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00" @.str3351 = private unnamed_addr constant [20 x i8] c" %jp = alloca i64\0A\00" @.str3352 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %jp\0A\00" @.str3353 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" @.str3354 = private unnamed_addr constant [8 x i8] c"jcond:\0A\00" @.str3355 = private unnamed_addr constant [26 x i8] c" %j = load i64, ptr %jp\0A\00" @.str3356 = private unnamed_addr constant [31 x i8] c" %d2 = icmp ult i64 %j, %len\0A\00" @.str3357 = private unnamed_addr constant [40 x i8] c" br i1 %d2, label %jbody, label %jfin\0A\00" @.str3358 = private unnamed_addr constant [8 x i8] c"jbody:\0A\00" @.str3359 = private unnamed_addr constant [29 x i8] c" %jnz = icmp ugt i64 %j, 0\0A\00" @.str3360 = private unnamed_addr constant [43 x i8] c" br i1 %jnz, label %putsep, label %putel\0A\00" @.str3361 = private unnamed_addr constant [9 x i8] c"putsep:\0A\00" @.str3362 = private unnamed_addr constant [30 x i8] c" %ds0 = load ptr, ptr %dstp\0A\00" @.str3363 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %ds0, ptr %sep, i64 %lsep)\0A\00" @.str3364 = private unnamed_addr constant [48 x i8] c" %ds1 = getelementptr i8, ptr %ds0, i64 %lsep\0A\00" @.str3365 = private unnamed_addr constant [29 x i8] c" store ptr %ds1, ptr %dstp\0A\00" @.str3366 = private unnamed_addr constant [19 x i8] c" br label %putel\0A\00" @.str3367 = private unnamed_addr constant [8 x i8] c"putel:\0A\00" @.str3368 = private unnamed_addr constant [47 x i8] c" %ep2 = getelementptr ptr, ptr %data, i64 %j\0A\00" @.str3369 = private unnamed_addr constant [29 x i8] c" %es2 = load ptr, ptr %ep2\0A\00" @.str3370 = private unnamed_addr constant [37 x i8] c" %el2 = call i64 @strlen(ptr %es2)\0A\00" @.str3371 = private unnamed_addr constant [30 x i8] c" %ds2 = load ptr, ptr %dstp\0A\00" @.str3372 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %ds2, ptr %es2, i64 %el2)\0A\00" @.str3373 = private unnamed_addr constant [47 x i8] c" %ds3 = getelementptr i8, ptr %ds2, i64 %el2\0A\00" @.str3374 = private unnamed_addr constant [29 x i8] c" store ptr %ds3, ptr %dstp\0A\00" @.str3375 = private unnamed_addr constant [23 x i8] c" %j1 = add i64 %j, 1\0A\00" @.str3376 = private unnamed_addr constant [26 x i8] c" store i64 %j1, ptr %jp\0A\00" @.str3377 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00" @.str3378 = private unnamed_addr constant [7 x i8] c"jfin:\0A\00" @.str3379 = private unnamed_addr constant [30 x i8] c" %dsf = load ptr, ptr %dstp\0A\00" @.str3380 = private unnamed_addr constant [24 x i8] c" store i8 0, ptr %dsf\0A\00" @.str3381 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00" @.str3382 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3383 = private unnamed_addr constant [46 x i8] c"define ptr @lp_str_split(ptr %s, ptr %sep) {\0A\00" @.str3384 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3385 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00" @.str3386 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00" @.str3387 = private unnamed_addr constant [26 x i8] c" store i64 1, ptr %cntp\0A\00" @.str3388 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00" @.str3389 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00" @.str3390 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str3391 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00" @.str3392 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00" @.str3393 = private unnamed_addr constant [47 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %sep)\0A\00" @.str3394 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00" @.str3395 = private unnamed_addr constant [41 x i8] c" br i1 %isnull, label %mk, label %cinc\0A\00" @.str3396 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00" @.str3397 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00" @.str3398 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00" @.str3399 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00" @.str3400 = private unnamed_addr constant [48 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lsep\0A\00" @.str3401 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00" @.str3402 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00" @.str3403 = private unnamed_addr constant [5 x i8] c"mk:\0A\00" @.str3404 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00" @.str3405 = private unnamed_addr constant [35 x i8] c" %hdr = call ptr @malloc(i64 16)\0A\00" @.str3406 = private unnamed_addr constant [28 x i8] c" %arrsz = mul i64 %cnt, 8\0A\00" @.str3407 = private unnamed_addr constant [39 x i8] c" %arr = call ptr @malloc(i64 %arrsz)\0A\00" @.str3408 = private unnamed_addr constant [64 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 0\0A\00" @.str3409 = private unnamed_addr constant [27 x i8] c" store ptr %arr, ptr %d0\0A\00" @.str3410 = private unnamed_addr constant [34 x i8] c" %cnt32 = trunc i64 %cnt to i32\0A\00" @.str3411 = private unnamed_addr constant [64 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 1\0A\00" @.str3412 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d1\0A\00" @.str3413 = private unnamed_addr constant [64 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 2\0A\00" @.str3414 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d2\0A\00" @.str3415 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00" @.str3416 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00" @.str3417 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3418 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3419 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" @.str3420 = private unnamed_addr constant [8 x i8] c"fcond:\0A\00" @.str3421 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3422 = private unnamed_addr constant [31 x i8] c" %lt = icmp ult i64 %i, %cnt\0A\00" @.str3423 = private unnamed_addr constant [40 x i8] c" br i1 %lt, label %fbody, label %done\0A\00" @.str3424 = private unnamed_addr constant [8 x i8] c"fbody:\0A\00" @.str3425 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00" @.str3426 = private unnamed_addr constant [46 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %sep)\0A\00" @.str3427 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00" @.str3428 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %last, label %mid\0A\00" @.str3429 = private unnamed_addr constant [6 x i8] c"mid:\0A\00" @.str3430 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00" @.str3431 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00" @.str3432 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00" @.str3433 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" @.str3434 = private unnamed_addr constant [7 x i8] c"last:\0A\00" @.str3435 = private unnamed_addr constant [37 x i8] c" %rem = call i64 @strlen(ptr %src)\0A\00" @.str3436 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00" @.str3437 = private unnamed_addr constant [8 x i8] c"store:\0A\00" @.str3438 = private unnamed_addr constant [53 x i8] c" %seg = phi i64 [ %seglen, %mid ], [ %rem, %last ]\0A\00" @.str3439 = private unnamed_addr constant [26 x i8] c" %ssz = add i64 %seg, 1\0A\00" @.str3440 = private unnamed_addr constant [37 x i8] c" %sub = call ptr @malloc(i64 %ssz)\0A\00" @.str3441 = private unnamed_addr constant [31 x i8] c" %src2 = load ptr, ptr %srcp\0A\00" @.str3442 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %sub, ptr %src2, i64 %seg)\0A\00" @.str3443 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %sub, i64 %seg\0A\00" @.str3444 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00" @.str3445 = private unnamed_addr constant [47 x i8] c" %slot = getelementptr ptr, ptr %arr, i64 %i\0A\00" @.str3446 = private unnamed_addr constant [29 x i8] c" store ptr %sub, ptr %slot\0A\00" @.str3447 = private unnamed_addr constant [48 x i8] c" %adv2 = getelementptr i8, ptr %h2, i64 %lsep\0A\00" @.str3448 = private unnamed_addr constant [30 x i8] c" store ptr %adv2, ptr %srcp\0A\00" @.str3449 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3450 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3451 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00" @.str3452 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3453 = private unnamed_addr constant [16 x i8] c" ret ptr %hdr\0A\00" @.str3454 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3455 = private unnamed_addr constant [3 x i8] c"of\00" @.str3456 = private unnamed_addr constant [6 x i8] c"fnv1a\00" @.str3457 = private unnamed_addr constant [6 x i8] c"crc32\00" @.str3458 = private unnamed_addr constant [4 x i8] c"mix\00" @.str3459 = private unnamed_addr constant [8 x i8] c"combine\00" @.str3460 = private unnamed_addr constant [5 x i8] c"of64\00" @.str3461 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" @.str3462 = private unnamed_addr constant [6 x i8] c"mix64\00" @.str3463 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str3464 = private unnamed_addr constant [5 x i8] c", 16\00" @.str3465 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str3466 = private unnamed_addr constant [3 x i8] c", \00" @.str3467 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str3468 = private unnamed_addr constant [14 x i8] c", -2048144789\00" @.str3469 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str3470 = private unnamed_addr constant [5 x i8] c", 13\00" @.str3471 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str3472 = private unnamed_addr constant [3 x i8] c", \00" @.str3473 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str3474 = private unnamed_addr constant [14 x i8] c", -1028477387\00" @.str3475 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str3476 = private unnamed_addr constant [5 x i8] c", 16\00" @.str3477 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str3478 = private unnamed_addr constant [3 x i8] c", \00" @.str3479 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str3480 = private unnamed_addr constant [5 x i8] c", 33\00" @.str3481 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str3482 = private unnamed_addr constant [3 x i8] c", \00" @.str3483 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str3484 = private unnamed_addr constant [21 x i8] c", -49064778989728563\00" @.str3485 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str3486 = private unnamed_addr constant [5 x i8] c", 33\00" @.str3487 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str3488 = private unnamed_addr constant [3 x i8] c", \00" @.str3489 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str3490 = private unnamed_addr constant [23 x i8] c", -4265267296055464877\00" @.str3491 = private unnamed_addr constant [10 x i8] c"lshr i64 \00" @.str3492 = private unnamed_addr constant [5 x i8] c", 33\00" @.str3493 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str3494 = private unnamed_addr constant [3 x i8] c", \00" @.str3495 = private unnamed_addr constant [3 x i8] c"of\00" @.str3496 = private unnamed_addr constant [6 x i8] c"fnv1a\00" @.str3497 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5207: index out of range: \00" @.str3498 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_fnv1a(ptr \00" @.str3499 = private unnamed_addr constant [2 x i8] c")\00" @.str3500 = private unnamed_addr constant [4 x i8] c"int\00" @.str3501 = private unnamed_addr constant [5 x i8] c"of64\00" @.str3502 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00" @.str3503 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5212: index out of range: \00" @.str3504 = private unnamed_addr constant [32 x i8] c"call i64 @lp_hash_fnv1a_64(ptr \00" @.str3505 = private unnamed_addr constant [2 x i8] c")\00" @.str3506 = private unnamed_addr constant [5 x i8] c"long\00" @.str3507 = private unnamed_addr constant [6 x i8] c"mix64\00" @.str3508 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5216: index out of range: \00" @.str3509 = private unnamed_addr constant [5 x i8] c"long\00" @.str3510 = private unnamed_addr constant [6 x i8] c"crc32\00" @.str3511 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5221: index out of range: \00" @.str3512 = private unnamed_addr constant [29 x i8] c"call i32 @lp_hash_crc32(ptr \00" @.str3513 = private unnamed_addr constant [2 x i8] c")\00" @.str3514 = private unnamed_addr constant [4 x i8] c"int\00" @.str3515 = private unnamed_addr constant [4 x i8] c"mix\00" @.str3516 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5225: index out of range: \00" @.str3517 = private unnamed_addr constant [4 x i8] c"int\00" @.str3518 = private unnamed_addr constant [2 x i8] c"0\00" @.str3519 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5235: index out of range: \00" @.str3520 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3521 = private unnamed_addr constant [14 x i8] c", -1640531527\00" @.str3522 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str3523 = private unnamed_addr constant [4 x i8] c", 6\00" @.str3524 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str3525 = private unnamed_addr constant [4 x i8] c", 2\00" @.str3526 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3527 = private unnamed_addr constant [3 x i8] c", \00" @.str3528 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str3529 = private unnamed_addr constant [3 x i8] c", \00" @.str3530 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str3531 = private unnamed_addr constant [3 x i8] c", \00" @.str3532 = private unnamed_addr constant [4 x i8] c"int\00" @.str3533 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_fnv1a(ptr %s) {\0A\00" @.str3534 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3535 = private unnamed_addr constant [20 x i8] c" %hp = alloca i32\0A\00" @.str3536 = private unnamed_addr constant [34 x i8] c" store i32 -2128831035, ptr %hp\0A\00" @.str3537 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3538 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3539 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3540 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str3541 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3542 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str3543 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" @.str3544 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" @.str3545 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str3546 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str3547 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i32\0A\00" @.str3548 = private unnamed_addr constant [26 x i8] c" %h = load i32, ptr %hp\0A\00" @.str3549 = private unnamed_addr constant [24 x i8] c" %x = xor i32 %h, %ce\0A\00" @.str3550 = private unnamed_addr constant [29 x i8] c" %m = mul i32 %x, 16777619\0A\00" @.str3551 = private unnamed_addr constant [25 x i8] c" store i32 %m, ptr %hp\0A\00" @.str3552 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3553 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3554 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3555 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3556 = private unnamed_addr constant [27 x i8] c" %hr = load i32, ptr %hp\0A\00" @.str3557 = private unnamed_addr constant [15 x i8] c" ret i32 %hr\0A\00" @.str3558 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3559 = private unnamed_addr constant [40 x i8] c"define i64 @lp_hash_fnv1a_64(ptr %s) {\0A\00" @.str3560 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3561 = private unnamed_addr constant [20 x i8] c" %hp = alloca i64\0A\00" @.str3562 = private unnamed_addr constant [43 x i8] c" store i64 -3750763034362895579, ptr %hp\0A\00" @.str3563 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3564 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3565 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3566 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str3567 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3568 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str3569 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00" @.str3570 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00" @.str3571 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str3572 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str3573 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i64\0A\00" @.str3574 = private unnamed_addr constant [26 x i8] c" %h = load i64, ptr %hp\0A\00" @.str3575 = private unnamed_addr constant [24 x i8] c" %x = xor i64 %h, %ce\0A\00" @.str3576 = private unnamed_addr constant [34 x i8] c" %m = mul i64 %x, 1099511628211\0A\00" @.str3577 = private unnamed_addr constant [25 x i8] c" store i64 %m, ptr %hp\0A\00" @.str3578 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3579 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3580 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3581 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3582 = private unnamed_addr constant [27 x i8] c" %hr = load i64, ptr %hp\0A\00" @.str3583 = private unnamed_addr constant [15 x i8] c" ret i64 %hr\0A\00" @.str3584 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3585 = private unnamed_addr constant [37 x i8] c"define i32 @lp_hash_crc32(ptr %s) {\0A\00" @.str3586 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3587 = private unnamed_addr constant [20 x i8] c" %cp = alloca i32\0A\00" @.str3588 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %cp\0A\00" @.str3589 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00" @.str3590 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00" @.str3591 = private unnamed_addr constant [20 x i8] c" %kp = alloca i32\0A\00" @.str3592 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3593 = private unnamed_addr constant [7 x i8] c"cond:\0A\00" @.str3594 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00" @.str3595 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00" @.str3596 = private unnamed_addr constant [25 x i8] c" %ch = load i8, ptr %p\0A\00" @.str3597 = private unnamed_addr constant [26 x i8] c" %z = icmp eq i8 %ch, 0\0A\00" @.str3598 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00" @.str3599 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str3600 = private unnamed_addr constant [28 x i8] c" %ce = zext i8 %ch to i32\0A\00" @.str3601 = private unnamed_addr constant [27 x i8] c" %c0 = load i32, ptr %cp\0A\00" @.str3602 = private unnamed_addr constant [26 x i8] c" %cx = xor i32 %c0, %ce\0A\00" @.str3603 = private unnamed_addr constant [26 x i8] c" store i32 %cx, ptr %cp\0A\00" @.str3604 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %kp\0A\00" @.str3605 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" @.str3606 = private unnamed_addr constant [6 x i8] c"bit:\0A\00" @.str3607 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str3608 = private unnamed_addr constant [28 x i8] c" %kd = icmp slt i32 %k, 8\0A\00" @.str3609 = private unnamed_addr constant [45 x i8] c" br i1 %kd, label %bitbody, label %bitdone\0A\00" @.str3610 = private unnamed_addr constant [10 x i8] c"bitbody:\0A\00" @.str3611 = private unnamed_addr constant [27 x i8] c" %c1 = load i32, ptr %cp\0A\00" @.str3612 = private unnamed_addr constant [24 x i8] c" %lb = and i32 %c1, 1\0A\00" @.str3613 = private unnamed_addr constant [25 x i8] c" %ls = lshr i32 %c1, 1\0A\00" @.str3614 = private unnamed_addr constant [29 x i8] c" %ism = icmp eq i32 %lb, 1\0A\00" @.str3615 = private unnamed_addr constant [47 x i8] c" %px = select i1 %ism, i32 -306674912, i32 0\0A\00" @.str3616 = private unnamed_addr constant [26 x i8] c" %c2 = xor i32 %ls, %px\0A\00" @.str3617 = private unnamed_addr constant [26 x i8] c" store i32 %c2, ptr %cp\0A\00" @.str3618 = private unnamed_addr constant [23 x i8] c" %k1 = add i32 %k, 1\0A\00" @.str3619 = private unnamed_addr constant [26 x i8] c" store i32 %k1, ptr %kp\0A\00" @.str3620 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00" @.str3621 = private unnamed_addr constant [10 x i8] c"bitdone:\0A\00" @.str3622 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00" @.str3623 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00" @.str3624 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00" @.str3625 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str3626 = private unnamed_addr constant [27 x i8] c" %cf = load i32, ptr %cp\0A\00" @.str3627 = private unnamed_addr constant [24 x i8] c" %r = xor i32 %cf, -1\0A\00" @.str3628 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" @.str3629 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str3630 = private unnamed_addr constant [7 x i8] c"sha256\00" @.str3631 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" @.str3632 = private unnamed_addr constant [12 x i8] c"verify_hmac\00" @.str3633 = private unnamed_addr constant [4 x i8] c"hex\00" @.str3634 = private unnamed_addr constant [9 x i8] c"ct_equal\00" @.str3635 = private unnamed_addr constant [13 x i8] c"random_bytes\00" @.str3636 = private unnamed_addr constant [11 x i8] c"random_hex\00" @.str3637 = private unnamed_addr constant [11 x i8] c"random_u32\00" @.str3638 = private unnamed_addr constant [7 x i8] c"base64\00" @.str3639 = private unnamed_addr constant [7 x i8] c"sha256\00" @.str3640 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5398: index out of range: \00" @.str3641 = private unnamed_addr constant [29 x i8] c"call ptr @lp_sha256_hex(ptr \00" @.str3642 = private unnamed_addr constant [2 x i8] c")\00" @.str3643 = private unnamed_addr constant [7 x i8] c"string\00" @.str3644 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00" @.str3645 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5402: index out of range: \00" @.str3646 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5402: index out of range: \00" @.str3647 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" @.str3648 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3649 = private unnamed_addr constant [2 x i8] c")\00" @.str3650 = private unnamed_addr constant [7 x i8] c"string\00" @.str3651 = private unnamed_addr constant [4 x i8] c"hex\00" @.str3652 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5406: index out of range: \00" @.str3653 = private unnamed_addr constant [26 x i8] c"call ptr @lp_str_hex(ptr \00" @.str3654 = private unnamed_addr constant [2 x i8] c")\00" @.str3655 = private unnamed_addr constant [7 x i8] c"string\00" @.str3656 = private unnamed_addr constant [9 x i8] c"ct_equal\00" @.str3657 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5410: index out of range: \00" @.str3658 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5410: index out of range: \00" @.str3659 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00" @.str3660 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3661 = private unnamed_addr constant [2 x i8] c")\00" @.str3662 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3663 = private unnamed_addr constant [13 x i8] c"random_bytes\00" @.str3664 = private unnamed_addr constant [11 x i8] c"random_hex\00" @.str3665 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5417: index out of range: \00" @.str3666 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str3667 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str3668 = private unnamed_addr constant [29 x i8] c"call ptr @lp_random_hex(i64 \00" @.str3669 = private unnamed_addr constant [2 x i8] c")\00" @.str3670 = private unnamed_addr constant [7 x i8] c"string\00" @.str3671 = private unnamed_addr constant [11 x i8] c"random_u32\00" @.str3672 = private unnamed_addr constant [26 x i8] c"call i32 @lp_random_u32()\00" @.str3673 = private unnamed_addr constant [4 x i8] c"int\00" @.str3674 = private unnamed_addr constant [7 x i8] c"base64\00" @.str3675 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5425: index out of range: \00" @.str3676 = private unnamed_addr constant [25 x i8] c"call ptr @lp_base64(ptr \00" @.str3677 = private unnamed_addr constant [2 x i8] c")\00" @.str3678 = private unnamed_addr constant [7 x i8] c"string\00" @.str3679 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5431: index out of range: \00" @.str3680 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5431: index out of range: \00" @.str3681 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5431: index out of range: \00" @.str3682 = private unnamed_addr constant [34 x i8] c"call ptr @lp_hmac_sha256_hex(ptr \00" @.str3683 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3684 = private unnamed_addr constant [2 x i8] c")\00" @.str3685 = private unnamed_addr constant [27 x i8] c"call i32 @lp_ct_streq(ptr \00" @.str3686 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3687 = private unnamed_addr constant [2 x i8] c")\00" @.str3688 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3689 = private unnamed_addr constant [1083 x i8] c"@sha256_K = private unnamed_addr constant [64 x i32] [i32 1116352408, i32 1899447441, i32 -1245643825, i32 -373957723, i32 961987163, i32 1508970993, i32 -1841331548, i32 -1424204075, i32 -670586216, i32 310598401, i32 607225278, i32 1426881987, i32 1925078388, i32 -2132889090, i32 -1680079193, i32 -1046744716, i32 -459576895, i32 -272742522, i32 264347078, i32 604807628, i32 770255983, i32 1249150122, i32 1555081692, i32 1996064986, i32 -1740746414, i32 -1473132947, i32 -1341970488, i32 -1084653625, i32 -958395405, i32 -710438585, i32 113926993, i32 338241895, i32 666307205, i32 773529912, i32 1294757372, i32 1396182291, i32 1695183700, i32 1986661051, i32 -2117940946, i32 -1838011259, i32 -1564481375, i32 -1474664885, i32 -1035236496, i32 -949202525, i32 -778901479, i32 -694614492, i32 -200395387, i32 275423344, i32 430227734, i32 506948616, i32 659060556, i32 883997877, i32 958139571, i32 1322822218, i32 1537002063, i32 1747873779, i32 1955562222, i32 2024104815, i32 -2067236844, i32 -1933114872, i32 -1866530822, i32 -1538233109, i32 -1090935817, i32 -965641998]\0A\00" @.str3690 = private unnamed_addr constant [41 x i8] c"define i32 @lp_rotr32(i32 %x, i32 %n) {\0A\00" @.str3691 = private unnamed_addr constant [104 x i8] c" %r = lshr i32 %x, %n\0A %m = sub i32 32, %n\0A %l = shl i32 %x, %m\0A %o = or i32 %r, %l\0A ret i32 %o\0A}\0A\00" @.str3692 = private unnamed_addr constant [60 x i8] c"define void @lp_sha256_buf(ptr %msg, i64 %len, ptr %out) {\0A\00" @.str3693 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3694 = private unnamed_addr constant [50 x i8] c" %H = alloca [8 x i32]\0A %W = alloca [64 x i32]\0A\00" @.str3695 = private unnamed_addr constant [145 x i8] c" %a = alloca i32\0A %b = alloca i32\0A %c = alloca i32\0A %d = alloca i32\0A %e = alloca i32\0A %f = alloca i32\0A %g = alloca i32\0A %h = alloca i32\0A\00" @.str3696 = private unnamed_addr constant [39 x i8] c" %ip = alloca i64\0A %bp = alloca i64\0A\00" @.str3697 = private unnamed_addr constant [95 x i8] c" %e0 = add i64 %len, 8\0A %e1 = lshr i64 %e0, 6\0A %e2 = add i64 %e1, 1\0A %pl = shl i64 %e2, 6\0A\00" @.str3698 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %pl)\0A\00" @.str3699 = private unnamed_addr constant [46 x i8] c" call ptr @memset(ptr %buf, i32 0, i64 %pl)\0A\00" @.str3700 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %buf, ptr %msg, i64 %len)\0A\00" @.str3701 = private unnamed_addr constant [77 x i8] c" %pmark = getelementptr i8, ptr %buf, i64 %len\0A store i8 -128, ptr %pmark\0A\00" @.str3702 = private unnamed_addr constant [27 x i8] c" %bits = shl i64 %len, 3\0A\00" @.str3703 = private unnamed_addr constant [41 x i8] c" store i64 0, ptr %ip\0A br label %lenc\0A\00" @.str3704 = private unnamed_addr constant [104 x i8] c"lenc:\0A %lj = load i64, ptr %ip\0A %ljlt = icmp slt i64 %lj, 8\0A br i1 %ljlt, label %lenb, label %hinit\0A\00" @.str3705 = private unnamed_addr constant [7 x i8] c"lenb:\0A\00" @.str3706 = private unnamed_addr constant [113 x i8] c" %lj8 = mul i64 %lj, 8\0A %lsh = sub i64 56, %lj8\0A %lbsh = lshr i64 %bits, %lsh\0A %lbb = trunc i64 %lbsh to i8\0A\00" @.str3707 = private unnamed_addr constant [128 x i8] c" %lpm8 = sub i64 %pl, 8\0A %lpos = add i64 %lpm8, %lj\0A %lpp = getelementptr i8, ptr %buf, i64 %lpos\0A store i8 %lbb, ptr %lpp\0A\00" @.str3708 = private unnamed_addr constant [68 x i8] c" %lj1 = add i64 %lj, 1\0A store i64 %lj1, ptr %ip\0A br label %lenc\0A\00" @.str3709 = private unnamed_addr constant [8 x i8] c"hinit:\0A\00" @.str3710 = private unnamed_addr constant [87 x i8] c" %H0 = getelementptr [8 x i32], ptr %H, i64 0, i64 0\0A store i32 1779033703, ptr %H0\0A\00" @.str3711 = private unnamed_addr constant [88 x i8] c" %H1 = getelementptr [8 x i32], ptr %H, i64 0, i64 1\0A store i32 -1150833019, ptr %H1\0A\00" @.str3712 = private unnamed_addr constant [87 x i8] c" %H2 = getelementptr [8 x i32], ptr %H, i64 0, i64 2\0A store i32 1013904242, ptr %H2\0A\00" @.str3713 = private unnamed_addr constant [88 x i8] c" %H3 = getelementptr [8 x i32], ptr %H, i64 0, i64 3\0A store i32 -1521486534, ptr %H3\0A\00" @.str3714 = private unnamed_addr constant [87 x i8] c" %H4 = getelementptr [8 x i32], ptr %H, i64 0, i64 4\0A store i32 1359893119, ptr %H4\0A\00" @.str3715 = private unnamed_addr constant [88 x i8] c" %H5 = getelementptr [8 x i32], ptr %H, i64 0, i64 5\0A store i32 -1694144372, ptr %H5\0A\00" @.str3716 = private unnamed_addr constant [86 x i8] c" %H6 = getelementptr [8 x i32], ptr %H, i64 0, i64 6\0A store i32 528734635, ptr %H6\0A\00" @.str3717 = private unnamed_addr constant [87 x i8] c" %H7 = getelementptr [8 x i32], ptr %H, i64 0, i64 7\0A store i32 1541459225, ptr %H7\0A\00" @.str3718 = private unnamed_addr constant [65 x i8] c" %nb = lshr i64 %pl, 6\0A store i64 0, ptr %bp\0A br label %blkc\0A\00" @.str3719 = private unnamed_addr constant [103 x i8] c"blkc:\0A %bi = load i64, ptr %bp\0A %blt = icmp ult i64 %bi, %nb\0A br i1 %blt, label %blkb, label %outp\0A\00" @.str3720 = private unnamed_addr constant [80 x i8] c"blkb:\0A %bi64 = shl i64 %bi, 6\0A %base = getelementptr i8, ptr %buf, i64 %bi64\0A\00" @.str3721 = private unnamed_addr constant [40 x i8] c" store i64 0, ptr %ip\0A br label %w1c\0A\00" @.str3722 = private unnamed_addr constant [104 x i8] c"w1c:\0A %wi = load i64, ptr %ip\0A %wilt = icmp slt i64 %wi, 16\0A br i1 %wilt, label %w1b, label %w2init\0A\00" @.str3723 = private unnamed_addr constant [6 x i8] c"w1b:\0A\00" @.str3724 = private unnamed_addr constant [25 x i8] c" %wi4 = shl i64 %wi, 2\0A\00" @.str3725 = private unnamed_addr constant [75 x i8] c" %wp0 = getelementptr i8, ptr %base, i64 %wi4\0A %wc0 = load i8, ptr %wp0\0A\00" @.str3726 = private unnamed_addr constant [100 x i8] c" %wo1 = add i64 %wi4, 1\0A %wp1 = getelementptr i8, ptr %base, i64 %wo1\0A %wc1 = load i8, ptr %wp1\0A\00" @.str3727 = private unnamed_addr constant [100 x i8] c" %wo2 = add i64 %wi4, 2\0A %wp2 = getelementptr i8, ptr %base, i64 %wo2\0A %wc2 = load i8, ptr %wp2\0A\00" @.str3728 = private unnamed_addr constant [100 x i8] c" %wo3 = add i64 %wi4, 3\0A %wp3 = getelementptr i8, ptr %base, i64 %wo3\0A %wc3 = load i8, ptr %wp3\0A\00" @.str3729 = private unnamed_addr constant [117 x i8] c" %wz0 = zext i8 %wc0 to i32\0A %wz1 = zext i8 %wc1 to i32\0A %wz2 = zext i8 %wc2 to i32\0A %wz3 = zext i8 %wc3 to i32\0A\00" @.str3730 = private unnamed_addr constant [80 x i8] c" %ws24 = shl i32 %wz0, 24\0A %ws16 = shl i32 %wz1, 16\0A %ws8 = shl i32 %wz2, 8\0A\00" @.str3731 = private unnamed_addr constant [89 x i8] c" %wor1 = or i32 %ws24, %ws16\0A %wor2 = or i32 %wor1, %ws8\0A %word = or i32 %wor2, %wz3\0A\00" @.str3732 = private unnamed_addr constant [87 x i8] c" %wwp = getelementptr [64 x i32], ptr %W, i64 0, i64 %wi\0A store i32 %word, ptr %wwp\0A\00" @.str3733 = private unnamed_addr constant [67 x i8] c" %wi1 = add i64 %wi, 1\0A store i64 %wi1, ptr %ip\0A br label %w1c\0A\00" @.str3734 = private unnamed_addr constant [49 x i8] c"w2init:\0A store i64 16, ptr %ip\0A br label %w2c\0A\00" @.str3735 = private unnamed_addr constant [106 x i8] c"w2c:\0A %xi = load i64, ptr %ip\0A %xilt = icmp slt i64 %xi, 64\0A br i1 %xilt, label %w2b, label %compinit\0A\00" @.str3736 = private unnamed_addr constant [6 x i8] c"w2b:\0A\00" @.str3737 = private unnamed_addr constant [117 x i8] c" %im15 = sub i64 %xi, 15\0A %pm15 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im15\0A %w15 = load i32, ptr %pm15\0A\00" @.str3738 = private unnamed_addr constant [119 x i8] c" %r7 = call i32 @lp_rotr32(i32 %w15, i32 7)\0A %r18 = call i32 @lp_rotr32(i32 %w15, i32 18)\0A %sh3 = lshr i32 %w15, 3\0A\00" @.str3739 = private unnamed_addr constant [55 x i8] c" %x01 = xor i32 %r7, %r18\0A %s0 = xor i32 %x01, %sh3\0A\00" @.str3740 = private unnamed_addr constant [112 x i8] c" %im2 = sub i64 %xi, 2\0A %pm2 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im2\0A %w2v = load i32, ptr %pm2\0A\00" @.str3741 = private unnamed_addr constant [123 x i8] c" %r17 = call i32 @lp_rotr32(i32 %w2v, i32 17)\0A %r19 = call i32 @lp_rotr32(i32 %w2v, i32 19)\0A %sh10 = lshr i32 %w2v, 10\0A\00" @.str3742 = private unnamed_addr constant [57 x i8] c" %x02 = xor i32 %r17, %r19\0A %s1 = xor i32 %x02, %sh10\0A\00" @.str3743 = private unnamed_addr constant [117 x i8] c" %im16 = sub i64 %xi, 16\0A %pm16 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im16\0A %w16 = load i32, ptr %pm16\0A\00" @.str3744 = private unnamed_addr constant [111 x i8] c" %im7 = sub i64 %xi, 7\0A %pm7 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im7\0A %w7 = load i32, ptr %pm7\0A\00" @.str3745 = private unnamed_addr constant [81 x i8] c" %wa1 = add i32 %w16, %s0\0A %wa2 = add i32 %wa1, %w7\0A %wv = add i32 %wa2, %s1\0A\00" @.str3746 = private unnamed_addr constant [85 x i8] c" %wpi = getelementptr [64 x i32], ptr %W, i64 0, i64 %xi\0A store i32 %wv, ptr %wpi\0A\00" @.str3747 = private unnamed_addr constant [67 x i8] c" %xi1 = add i64 %xi, 1\0A store i64 %xi1, ptr %ip\0A br label %w2c\0A\00" @.str3748 = private unnamed_addr constant [11 x i8] c"compinit:\0A\00" @.str3749 = private unnamed_addr constant [53 x i8] c" %cv0 = load i32, ptr %H0\0A store i32 %cv0, ptr %a\0A\00" @.str3750 = private unnamed_addr constant [53 x i8] c" %cv1 = load i32, ptr %H1\0A store i32 %cv1, ptr %b\0A\00" @.str3751 = private unnamed_addr constant [53 x i8] c" %cv2 = load i32, ptr %H2\0A store i32 %cv2, ptr %c\0A\00" @.str3752 = private unnamed_addr constant [53 x i8] c" %cv3 = load i32, ptr %H3\0A store i32 %cv3, ptr %d\0A\00" @.str3753 = private unnamed_addr constant [53 x i8] c" %cv4 = load i32, ptr %H4\0A store i32 %cv4, ptr %e\0A\00" @.str3754 = private unnamed_addr constant [53 x i8] c" %cv5 = load i32, ptr %H5\0A store i32 %cv5, ptr %f\0A\00" @.str3755 = private unnamed_addr constant [53 x i8] c" %cv6 = load i32, ptr %H6\0A store i32 %cv6, ptr %g\0A\00" @.str3756 = private unnamed_addr constant [53 x i8] c" %cv7 = load i32, ptr %H7\0A store i32 %cv7, ptr %h\0A\00" @.str3757 = private unnamed_addr constant [39 x i8] c" store i64 0, ptr %ip\0A br label %rc\0A\00" @.str3758 = private unnamed_addr constant [98 x i8] c"rc:\0A %ri = load i64, ptr %ip\0A %rlt = icmp slt i64 %ri, 64\0A br i1 %rlt, label %rb, label %addH\0A\00" @.str3759 = private unnamed_addr constant [5 x i8] c"rb:\0A\00" @.str3760 = private unnamed_addr constant [102 x i8] c" %av = load i32, ptr %a\0A %bv = load i32, ptr %b\0A %cvv = load i32, ptr %c\0A %dv = load i32, ptr %d\0A\00" @.str3761 = private unnamed_addr constant [101 x i8] c" %ev = load i32, ptr %e\0A %fv = load i32, ptr %f\0A %gv = load i32, ptr %g\0A %hv = load i32, ptr %h\0A\00" @.str3762 = private unnamed_addr constant [137 x i8] c" %e6 = call i32 @lp_rotr32(i32 %ev, i32 6)\0A %e11 = call i32 @lp_rotr32(i32 %ev, i32 11)\0A %e25 = call i32 @lp_rotr32(i32 %ev, i32 25)\0A\00" @.str3763 = private unnamed_addr constant [55 x i8] c" %S1a = xor i32 %e6, %e11\0A %S1 = xor i32 %S1a, %e25\0A\00" @.str3764 = private unnamed_addr constant [102 x i8] c" %ef = and i32 %ev, %fv\0A %ne = xor i32 %ev, -1\0A %neg = and i32 %ne, %gv\0A %ch = xor i32 %ef, %neg\0A\00" @.str3765 = private unnamed_addr constant [91 x i8] c" %kp = getelementptr [64 x i32], ptr @sha256_K, i64 0, i64 %ri\0A %kv = load i32, ptr %kp\0A\00" @.str3766 = private unnamed_addr constant [87 x i8] c" %wpr = getelementptr [64 x i32], ptr %W, i64 0, i64 %ri\0A %wvr = load i32, ptr %wpr\0A\00" @.str3767 = private unnamed_addr constant [111 x i8] c" %t1a = add i32 %hv, %S1\0A %t1b = add i32 %t1a, %ch\0A %t1c = add i32 %t1b, %kv\0A %temp1 = add i32 %t1c, %wvr\0A\00" @.str3768 = private unnamed_addr constant [138 x i8] c" %a2r = call i32 @lp_rotr32(i32 %av, i32 2)\0A %a13 = call i32 @lp_rotr32(i32 %av, i32 13)\0A %a22 = call i32 @lp_rotr32(i32 %av, i32 22)\0A\00" @.str3769 = private unnamed_addr constant [56 x i8] c" %S0a = xor i32 %a2r, %a13\0A %S0 = xor i32 %S0a, %a22\0A\00" @.str3770 = private unnamed_addr constant [131 x i8] c" %ab = and i32 %av, %bv\0A %ac = and i32 %av, %cvv\0A %bc = and i32 %bv, %cvv\0A %mj1 = xor i32 %ab, %ac\0A %maj = xor i32 %mj1, %bc\0A\00" @.str3771 = private unnamed_addr constant [30 x i8] c" %temp2 = add i32 %S0, %maj\0A\00" @.str3772 = private unnamed_addr constant [73 x i8] c" store i32 %gv, ptr %h\0A store i32 %fv, ptr %g\0A store i32 %ev, ptr %f\0A\00" @.str3773 = private unnamed_addr constant [57 x i8] c" %newe = add i32 %dv, %temp1\0A store i32 %newe, ptr %e\0A\00" @.str3774 = private unnamed_addr constant [74 x i8] c" store i32 %cvv, ptr %d\0A store i32 %bv, ptr %c\0A store i32 %av, ptr %b\0A\00" @.str3775 = private unnamed_addr constant [60 x i8] c" %newa = add i32 %temp1, %temp2\0A store i32 %newa, ptr %a\0A\00" @.str3776 = private unnamed_addr constant [66 x i8] c" %rin = add i64 %ri, 1\0A store i64 %rin, ptr %ip\0A br label %rc\0A\00" @.str3777 = private unnamed_addr constant [7 x i8] c"addH:\0A\00" @.str3778 = private unnamed_addr constant [106 x i8] c" %fa = load i32, ptr %a\0A %lH0 = load i32, ptr %H0\0A %nH0 = add i32 %lH0, %fa\0A store i32 %nH0, ptr %H0\0A\00" @.str3779 = private unnamed_addr constant [106 x i8] c" %fb = load i32, ptr %b\0A %lH1 = load i32, ptr %H1\0A %nH1 = add i32 %lH1, %fb\0A store i32 %nH1, ptr %H1\0A\00" @.str3780 = private unnamed_addr constant [106 x i8] c" %fc = load i32, ptr %c\0A %lH2 = load i32, ptr %H2\0A %nH2 = add i32 %lH2, %fc\0A store i32 %nH2, ptr %H2\0A\00" @.str3781 = private unnamed_addr constant [106 x i8] c" %fd = load i32, ptr %d\0A %lH3 = load i32, ptr %H3\0A %nH3 = add i32 %lH3, %fd\0A store i32 %nH3, ptr %H3\0A\00" @.str3782 = private unnamed_addr constant [106 x i8] c" %fe = load i32, ptr %e\0A %lH4 = load i32, ptr %H4\0A %nH4 = add i32 %lH4, %fe\0A store i32 %nH4, ptr %H4\0A\00" @.str3783 = private unnamed_addr constant [106 x i8] c" %ff = load i32, ptr %f\0A %lH5 = load i32, ptr %H5\0A %nH5 = add i32 %lH5, %ff\0A store i32 %nH5, ptr %H5\0A\00" @.str3784 = private unnamed_addr constant [106 x i8] c" %fg = load i32, ptr %g\0A %lH6 = load i32, ptr %H6\0A %nH6 = add i32 %lH6, %fg\0A store i32 %nH6, ptr %H6\0A\00" @.str3785 = private unnamed_addr constant [106 x i8] c" %fh = load i32, ptr %h\0A %lH7 = load i32, ptr %H7\0A %nH7 = add i32 %lH7, %fh\0A store i32 %nH7, ptr %H7\0A\00" @.str3786 = private unnamed_addr constant [70 x i8] c" %binc = add i64 %bi, 1\0A store i64 %binc, ptr %bp\0A br label %blkc\0A\00" @.str3787 = private unnamed_addr constant [45 x i8] c"outp:\0A store i64 0, ptr %ip\0A br label %oc\0A\00" @.str3788 = private unnamed_addr constant [98 x i8] c"oc:\0A %oi = load i64, ptr %ip\0A %olt = icmp slt i64 %oi, 8\0A br i1 %olt, label %ob, label %freeb\0A\00" @.str3789 = private unnamed_addr constant [5 x i8] c"ob:\0A\00" @.str3790 = private unnamed_addr constant [111 x i8] c" %hpp = getelementptr [8 x i32], ptr %H, i64 0, i64 %oi\0A %hval = load i32, ptr %hpp\0A %oi4 = shl i64 %oi, 2\0A\00" @.str3791 = private unnamed_addr constant [137 x i8] c" %ob24 = lshr i32 %hval, 24\0A %obb24 = trunc i32 %ob24 to i8\0A %op0 = getelementptr i8, ptr %out, i64 %oi4\0A store i8 %obb24, ptr %op0\0A\00" @.str3792 = private unnamed_addr constant [162 x i8] c" %ob16 = lshr i32 %hval, 16\0A %obb16 = trunc i32 %ob16 to i8\0A %oo1 = add i64 %oi4, 1\0A %op1 = getelementptr i8, ptr %out, i64 %oo1\0A store i8 %obb16, ptr %op1\0A\00" @.str3793 = private unnamed_addr constant [157 x i8] c" %ob8 = lshr i32 %hval, 8\0A %obb8 = trunc i32 %ob8 to i8\0A %oo2 = add i64 %oi4, 2\0A %op2 = getelementptr i8, ptr %out, i64 %oo2\0A store i8 %obb8, ptr %op2\0A\00" @.str3794 = private unnamed_addr constant [131 x i8] c" %obb0 = trunc i32 %hval to i8\0A %oo3 = add i64 %oi4, 3\0A %op3 = getelementptr i8, ptr %out, i64 %oo3\0A store i8 %obb0, ptr %op3\0A\00" @.str3795 = private unnamed_addr constant [66 x i8] c" %oin = add i64 %oi, 1\0A store i64 %oin, ptr %ip\0A br label %oc\0A\00" @.str3796 = private unnamed_addr constant [49 x i8] c"freeb:\0A call void @free(ptr %buf)\0A ret void\0A}\0A\00" @.str3797 = private unnamed_addr constant [35 x i8] c"define i8 @lp_hex_digit(i32 %d) {\0A\00" @.str3798 = private unnamed_addr constant [134 x i8] c" %lt = icmp ult i32 %d, 10\0A %base = select i1 %lt, i32 48, i32 87\0A %v = add i32 %base, %d\0A %c = trunc i32 %v to i8\0A ret i8 %c\0A}\0A\00" @.str3799 = private unnamed_addr constant [46 x i8] c"define ptr @lp_hex_encode(ptr %in, i64 %n) {\0A\00" @.str3800 = private unnamed_addr constant [152 x i8] c"entry:\0A %ip = alloca i64\0A %olen = shl i64 %n, 1\0A %olen1 = add i64 %olen, 1\0A %s = call ptr @malloc(i64 %olen1)\0A store i64 0, ptr %ip\0A br label %c\0A\00" @.str3801 = private unnamed_addr constant [94 x i8] c"c:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, %n\0A br i1 %lt, label %bdy, label %done\0A\00" @.str3802 = private unnamed_addr constant [104 x i8] c"bdy:\0A %pp = getelementptr i8, ptr %in, i64 %i\0A %byte = load i8, ptr %pp\0A %bz = zext i8 %byte to i32\0A\00" @.str3803 = private unnamed_addr constant [127 x i8] c" %hi = lshr i32 %bz, 4\0A %lo = and i32 %bz, 15\0A %hc = call i8 @lp_hex_digit(i32 %hi)\0A %lc = call i8 @lp_hex_digit(i32 %lo)\0A\00" @.str3804 = private unnamed_addr constant [180 x i8] c" %oi = shl i64 %i, 1\0A %o0 = getelementptr i8, ptr %s, i64 %oi\0A store i8 %hc, ptr %o0\0A %oi1 = add i64 %oi, 1\0A %o1 = getelementptr i8, ptr %s, i64 %oi1\0A store i8 %lc, ptr %o1\0A\00" @.str3805 = private unnamed_addr constant [64 x i8] c" %in1 = add i64 %i, 1\0A store i64 %in1, ptr %ip\0A br label %c\0A\00" @.str3806 = private unnamed_addr constant [88 x i8] c"done:\0A %tp = getelementptr i8, ptr %s, i64 %olen\0A store i8 0, ptr %tp\0A ret ptr %s\0A}\0A\00" @.str3807 = private unnamed_addr constant [37 x i8] c"define ptr @lp_sha256_hex(ptr %s) {\0A\00" @.str3808 = private unnamed_addr constant [124 x i8] c"entry:\0A %dig = alloca [32 x i8]\0A %len = call i64 @strlen(ptr %s)\0A %dp = getelementptr [32 x i8], ptr %dig, i64 0, i64 0\0A\00" @.str3809 = private unnamed_addr constant [122 x i8] c" call void @lp_sha256_buf(ptr %s, i64 %len, ptr %dp)\0A %hex = call ptr @lp_hex_encode(ptr %dp, i64 32)\0A ret ptr %hex\0A}\0A\00" @.str3810 = private unnamed_addr constant [34 x i8] c"define ptr @lp_str_hex(ptr %s) {\0A\00" @.str3811 = private unnamed_addr constant [95 x i8] c" %n = call i64 @strlen(ptr %s)\0A %h = call ptr @lp_hex_encode(ptr %s, i64 %n)\0A ret ptr %h\0A}\0A\00" @.str3812 = private unnamed_addr constant [55 x i8] c"define void @lp_xor64(ptr %dst, ptr %src, i32 %pad) {\0A\00" @.str3813 = private unnamed_addr constant [64 x i8] c"entry:\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %c\0A\00" @.str3814 = private unnamed_addr constant [89 x i8] c"c:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, 64\0A br i1 %lt, label %b, label %d\0A\00" @.str3815 = private unnamed_addr constant [281 x i8] c"b:\0A %sp = getelementptr i8, ptr %src, i64 %i\0A %sv = load i8, ptr %sp\0A %sz = zext i8 %sv to i32\0A %xr = xor i32 %sz, %pad\0A %xb = trunc i32 %xr to i8\0A %dp = getelementptr i8, ptr %dst, i64 %i\0A store i8 %xb, ptr %dp\0A %in = add i64 %i, 1\0A store i64 %in, ptr %ip\0A br label %c\0A\00" @.str3816 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00" @.str3817 = private unnamed_addr constant [54 x i8] c"define ptr @lp_hmac_sha256_hex(ptr %key, ptr %msg) {\0A\00" @.str3818 = private unnamed_addr constant [8 x i8] c"entry:\0A\00" @.str3819 = private unnamed_addr constant [109 x i8] c" %k0 = alloca [64 x i8]\0A %inner = alloca [32 x i8]\0A %outbuf = alloca [96 x i8]\0A %fin = alloca [32 x i8]\0A\00" @.str3820 = private unnamed_addr constant [75 x i8] c" %klen = call i64 @strlen(ptr %key)\0A %mlen = call i64 @strlen(ptr %msg)\0A\00" @.str3821 = private unnamed_addr constant [101 x i8] c" %k0p = getelementptr [64 x i8], ptr %k0, i64 0, i64 0\0A call ptr @memset(ptr %k0p, i32 0, i64 64)\0A\00" @.str3822 = private unnamed_addr constant [74 x i8] c" %big = icmp ugt i64 %klen, 64\0A br i1 %big, label %hashk, label %copyk\0A\00" @.str3823 = private unnamed_addr constant [83 x i8] c"hashk:\0A call void @lp_sha256_buf(ptr %key, i64 %klen, ptr %k0p)\0A br label %pads\0A\00" @.str3824 = private unnamed_addr constant [75 x i8] c"copyk:\0A call ptr @memcpy(ptr %k0p, ptr %key, i64 %klen)\0A br label %pads\0A\00" @.str3825 = private unnamed_addr constant [7 x i8] c"pads:\0A\00" @.str3826 = private unnamed_addr constant [70 x i8] c" %inlen = add i64 64, %mlen\0A %inbuf = call ptr @malloc(i64 %inlen)\0A\00" @.str3827 = private unnamed_addr constant [53 x i8] c" call void @lp_xor64(ptr %inbuf, ptr %k0p, i32 54)\0A\00" @.str3828 = private unnamed_addr constant [101 x i8] c" %inmsg = getelementptr i8, ptr %inbuf, i64 64\0A call ptr @memcpy(ptr %inmsg, ptr %msg, i64 %mlen)\0A\00" @.str3829 = private unnamed_addr constant [157 x i8] c" %innerp = getelementptr [32 x i8], ptr %inner, i64 0, i64 0\0A call void @lp_sha256_buf(ptr %inbuf, i64 %inlen, ptr %innerp)\0A call void @free(ptr %inbuf)\0A\00" @.str3830 = private unnamed_addr constant [113 x i8] c" %outp = getelementptr [96 x i8], ptr %outbuf, i64 0, i64 0\0A call void @lp_xor64(ptr %outp, ptr %k0p, i32 92)\0A\00" @.str3831 = private unnamed_addr constant [104 x i8] c" %outmsg = getelementptr i8, ptr %outbuf, i64 64\0A call ptr @memcpy(ptr %outmsg, ptr %innerp, i64 32)\0A\00" @.str3832 = private unnamed_addr constant [116 x i8] c" %finp = getelementptr [32 x i8], ptr %fin, i64 0, i64 0\0A call void @lp_sha256_buf(ptr %outp, i64 96, ptr %finp)\0A\00" @.str3833 = private unnamed_addr constant [70 x i8] c" %hex = call ptr @lp_hex_encode(ptr %finp, i64 32)\0A ret ptr %hex\0A}\0A\00" @.str3834 = private unnamed_addr constant [43 x i8] c"define i32 @lp_ct_streq(ptr %a, ptr %b) {\0A\00" @.str3835 = private unnamed_addr constant [183 x i8] c"entry:\0A %accp = alloca i32\0A %ip = alloca i64\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A %eqlen = icmp eq i64 %la, %lb\0A br i1 %eqlen, label %go, label %ne\0A\00" @.str3836 = private unnamed_addr constant [17 x i8] c"ne:\0A ret i32 0\0A\00" @.str3837 = private unnamed_addr constant [67 x i8] c"go:\0A store i32 0, ptr %accp\0A store i64 0, ptr %ip\0A br label %c\0A\00" @.str3838 = private unnamed_addr constant [92 x i8] c"c:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, %la\0A br i1 %lt, label %bdy, label %d\0A\00" @.str3839 = private unnamed_addr constant [327 x i8] c"bdy:\0A %pa = getelementptr i8, ptr %a, i64 %i\0A %va = load i8, ptr %pa\0A %pb = getelementptr i8, ptr %b, i64 %i\0A %vb = load i8, ptr %pb\0A %x = xor i8 %va, %vb\0A %xz = zext i8 %x to i32\0A %ac = load i32, ptr %accp\0A %ao = or i32 %ac, %xz\0A store i32 %ao, ptr %accp\0A %in = add i64 %i, 1\0A store i64 %in, ptr %ip\0A br label %c\0A\00" @.str3840 = private unnamed_addr constant [102 x i8] c"d:\0A %finv = load i32, ptr %accp\0A %z = icmp eq i32 %finv, 0\0A %r = zext i1 %z to i32\0A ret i32 %r\0A}\0A\00" @.str3841 = private unnamed_addr constant [78 x i8] c"@.ludic_urandom = private unnamed_addr constant [13 x i8] c\22/dev/urandom\5C00\22\0A\00" @.str3842 = private unnamed_addr constant [66 x i8] c"@.ludic_rbmode = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str3843 = private unnamed_addr constant [126 x i8] c"@.ludic_b64tab = private unnamed_addr constant [64 x i8] c\22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\22\0A\00" @.str3844 = private unnamed_addr constant [41 x i8] c"declare i8 @SystemFunction036(ptr, i32)\0A\00" @.str3845 = private unnamed_addr constant [50 x i8] c"define void @lp_secure_bytes(ptr %out, i64 %n) {\0A\00" @.str3846 = private unnamed_addr constant [108 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A %op = alloca i64\0A store i64 0, ptr %op\0A br label %c\0A\00" @.str3847 = private unnamed_addr constant [120 x i8] c"c:\0A %o = load i64, ptr %op\0A %left = sub i64 %n, %o\0A %more = icmp sgt i64 %left, 0\0A br i1 %more, label %b, label %d\0A\00" @.str3848 = private unnamed_addr constant [112 x i8] c"b:\0A %big = icmp sgt i64 %left, 65536\0A %k = select i1 %big, i64 65536, i64 %left\0A %k32 = trunc i64 %k to i32\0A\00" @.str3849 = private unnamed_addr constant [96 x i8] c" %p = getelementptr i8, ptr %out, i64 %o\0A %ok = call i8 @SystemFunction036(ptr %p, i32 %k32)\0A\00" @.str3850 = private unnamed_addr constant [63 x i8] c" %on = add i64 %o, %k\0A store i64 %on, ptr %op\0A br label %c\0A\00" @.str3851 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00" @.str3852 = private unnamed_addr constant [50 x i8] c"define void @lp_secure_bytes(ptr %out, i64 %n) {\0A\00" @.str3853 = private unnamed_addr constant [52 x i8] c"entry:\0A call ptr @memset(ptr %out, i32 0, i64 %n)\0A\00" @.str3854 = private unnamed_addr constant [66 x i8] c" %fp = call ptr @fopen(ptr @.ludic_urandom, ptr @.ludic_rbmode)\0A\00" @.str3855 = private unnamed_addr constant [75 x i8] c" %isnull = icmp eq ptr %fp, null\0A br i1 %isnull, label %fail, label %ok\0A\00" @.str3856 = private unnamed_addr constant [108 x i8] c"ok:\0A %rd = call i64 @fread(ptr %out, i64 1, i64 %n, ptr %fp)\0A %cl = call i32 @fclose(ptr %fp)\0A ret void\0A\00" @.str3857 = private unnamed_addr constant [20 x i8] c"fail:\0A ret void\0A}\0A\00" @.str3858 = private unnamed_addr constant [37 x i8] c"define ptr @lp_random_hex(i64 %n) {\0A\00" @.str3859 = private unnamed_addr constant [89 x i8] c"entry:\0A %buf = call ptr @malloc(i64 %n)\0A call void @lp_secure_bytes(ptr %buf, i64 %n)\0A\00" @.str3860 = private unnamed_addr constant [97 x i8] c" %hex = call ptr @lp_hex_encode(ptr %buf, i64 %n)\0A call void @free(ptr %buf)\0A ret ptr %hex\0A}\0A\00" @.str3861 = private unnamed_addr constant [31 x i8] c"define i32 @lp_random_u32() {\0A\00" @.str3862 = private unnamed_addr constant [129 x i8] c"entry:\0A %b = alloca [4 x i8]\0A %bp = getelementptr [4 x i8], ptr %b, i64 0, i64 0\0A call void @lp_secure_bytes(ptr %bp, i64 4)\0A\00" @.str3863 = private unnamed_addr constant [94 x i8] c" %p0 = getelementptr i8, ptr %bp, i64 0\0A %c0 = load i8, ptr %p0\0A %z0 = zext i8 %c0 to i32\0A\00" @.str3864 = private unnamed_addr constant [117 x i8] c" %p1 = getelementptr i8, ptr %bp, i64 1\0A %c1 = load i8, ptr %p1\0A %z1 = zext i8 %c1 to i32\0A %s1 = shl i32 %z1, 8\0A\00" @.str3865 = private unnamed_addr constant [118 x i8] c" %p2 = getelementptr i8, ptr %bp, i64 2\0A %c2 = load i8, ptr %p2\0A %z2 = zext i8 %c2 to i32\0A %s2 = shl i32 %z2, 16\0A\00" @.str3866 = private unnamed_addr constant [118 x i8] c" %p3 = getelementptr i8, ptr %bp, i64 3\0A %c3 = load i8, ptr %p3\0A %z3 = zext i8 %c3 to i32\0A %s3 = shl i32 %z3, 24\0A\00" @.str3867 = private unnamed_addr constant [89 x i8] c" %o1 = or i32 %z0, %s1\0A %o2 = or i32 %o1, %s2\0A %o3 = or i32 %o2, %s3\0A ret i32 %o3\0A}\0A\00" @.str3868 = private unnamed_addr constant [33 x i8] c"define ptr @lp_base64(ptr %s) {\0A\00" @.str3869 = private unnamed_addr constant [40 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A\00" @.str3870 = private unnamed_addr constant [74 x i8] c" %n2 = add i64 %n, 2\0A %grp = udiv i64 %n2, 3\0A %bufn = mul i64 %grp, 3\0A\00" @.str3871 = private unnamed_addr constant [93 x i8] c" %olen = mul i64 %grp, 4\0A %olen1 = add i64 %olen, 1\0A %out = call ptr @malloc(i64 %olen1)\0A\00" @.str3872 = private unnamed_addr constant [136 x i8] c" %inbuf = call ptr @malloc(i64 %bufn)\0A call ptr @memset(ptr %inbuf, i32 0, i64 %bufn)\0A call ptr @memcpy(ptr %inbuf, ptr %s, i64 %n)\0A\00" @.str3873 = private unnamed_addr constant [60 x i8] c" %gp = alloca i64\0A store i64 0, ptr %gp\0A br label %cond\0A\00" @.str3874 = private unnamed_addr constant [101 x i8] c"cond:\0A %gi = load i64, ptr %gp\0A %lt = icmp ult i64 %gi, %grp\0A br i1 %lt, label %body, label %pad\0A\00" @.str3875 = private unnamed_addr constant [30 x i8] c"body:\0A %i3 = mul i64 %gi, 3\0A\00" @.str3876 = private unnamed_addr constant [103 x i8] c" %ip0 = getelementptr i8, ptr %inbuf, i64 %i3\0A %bv0 = load i8, ptr %ip0\0A %b0 = zext i8 %bv0 to i32\0A\00" @.str3877 = private unnamed_addr constant [128 x i8] c" %i3a = add i64 %i3, 1\0A %ip1 = getelementptr i8, ptr %inbuf, i64 %i3a\0A %bv1 = load i8, ptr %ip1\0A %b1 = zext i8 %bv1 to i32\0A\00" @.str3878 = private unnamed_addr constant [128 x i8] c" %i3b = add i64 %i3, 2\0A %ip2 = getelementptr i8, ptr %inbuf, i64 %i3b\0A %bv2 = load i8, ptr %ip2\0A %b2 = zext i8 %bv2 to i32\0A\00" @.str3879 = private unnamed_addr constant [25 x i8] c" %e0 = lshr i32 %b0, 2\0A\00" @.str3880 = private unnamed_addr constant [101 x i8] c" %b0l = and i32 %b0, 3\0A %b0s = shl i32 %b0l, 4\0A %b1h = lshr i32 %b1, 4\0A %e1 = or i32 %b0s, %b1h\0A\00" @.str3881 = private unnamed_addr constant [102 x i8] c" %b1l = and i32 %b1, 15\0A %b1s = shl i32 %b1l, 2\0A %b2h = lshr i32 %b2, 6\0A %e2 = or i32 %b1s, %b2h\0A\00" @.str3882 = private unnamed_addr constant [25 x i8] c" %e3 = and i32 %b2, 63\0A\00" @.str3883 = private unnamed_addr constant [24 x i8] c" %o4 = mul i64 %gi, 4\0A\00" @.str3884 = private unnamed_addr constant [117 x i8] c" %e0z = zext i32 %e0 to i64\0A %e1z = zext i32 %e1 to i64\0A %e2z = zext i32 %e2 to i64\0A %e3z = zext i32 %e3 to i64\0A\00" @.str3885 = private unnamed_addr constant [167 x i8] c" %g0 = getelementptr [64 x i8], ptr @.ludic_b64tab, i64 0, i64 %e0z\0A %ch0 = load i8, ptr %g0\0A %op0 = getelementptr i8, ptr %out, i64 %o4\0A store i8 %ch0, ptr %op0\0A\00" @.str3886 = private unnamed_addr constant [192 x i8] c" %o4a = add i64 %o4, 1\0A %g1 = getelementptr [64 x i8], ptr @.ludic_b64tab, i64 0, i64 %e1z\0A %ch1 = load i8, ptr %g1\0A %op1 = getelementptr i8, ptr %out, i64 %o4a\0A store i8 %ch1, ptr %op1\0A\00" @.str3887 = private unnamed_addr constant [192 x i8] c" %o4b = add i64 %o4, 2\0A %g2 = getelementptr [64 x i8], ptr @.ludic_b64tab, i64 0, i64 %e2z\0A %ch2 = load i8, ptr %g2\0A %op2 = getelementptr i8, ptr %out, i64 %o4b\0A store i8 %ch2, ptr %op2\0A\00" @.str3888 = private unnamed_addr constant [192 x i8] c" %o4c = add i64 %o4, 3\0A %g3 = getelementptr [64 x i8], ptr @.ludic_b64tab, i64 0, i64 %e3z\0A %ch3 = load i8, ptr %g3\0A %op3 = getelementptr i8, ptr %out, i64 %o4c\0A store i8 %ch3, ptr %op3\0A\00" @.str3889 = private unnamed_addr constant [68 x i8] c" %gin = add i64 %gi, 1\0A store i64 %gin, ptr %gp\0A br label %cond\0A\00" @.str3890 = private unnamed_addr constant [86 x i8] c"pad:\0A %rem = urem i64 %n, 3\0A %r1 = icmp eq i64 %rem, 1\0A %r2 = icmp eq i64 %rem, 2\0A\00" @.str3891 = private unnamed_addr constant [69 x i8] c" %eq = getelementptr i8, ptr %out, i64 %olen\0A store i8 0, ptr %eq\0A\00" @.str3892 = private unnamed_addr constant [41 x i8] c" br i1 %r1, label %pad1, label %maybe2\0A\00" @.str3893 = private unnamed_addr constant [216 x i8] c"pad1:\0A %pm1 = sub i64 %olen, 1\0A %pp1 = getelementptr i8, ptr %out, i64 %pm1\0A store i8 61, ptr %pp1\0A %pm2 = sub i64 %olen, 2\0A %pp2 = getelementptr i8, ptr %out, i64 %pm2\0A store i8 61, ptr %pp2\0A br label %done\0A\00" @.str3894 = private unnamed_addr constant [47 x i8] c"maybe2:\0A br i1 %r2, label %pad2, label %done\0A\00" @.str3895 = private unnamed_addr constant [120 x i8] c"pad2:\0A %qm1 = sub i64 %olen, 1\0A %qp1 = getelementptr i8, ptr %out, i64 %qm1\0A store i8 61, ptr %qp1\0A br label %done\0A\00" @.str3896 = private unnamed_addr constant [54 x i8] c"done:\0A call void @free(ptr %inbuf)\0A ret ptr %out\0A}\0A\00" @.str3897 = private unnamed_addr constant [4 x i8] c"new\00" @.str3898 = private unnamed_addr constant [3 x i8] c"v4\00" @.str3899 = private unnamed_addr constant [7 x i8] c"new_v7\00" @.str3900 = private unnamed_addr constant [3 x i8] c"v7\00" @.str3901 = private unnamed_addr constant [6 x i8] c"parse\00" @.str3902 = private unnamed_addr constant [9 x i8] c"is_valid\00" @.str3903 = private unnamed_addr constant [8 x i8] c"to_text\00" @.str3904 = private unnamed_addr constant [7 x i8] c"equals\00" @.str3905 = private unnamed_addr constant [4 x i8] c"nil\00" @.str3906 = private unnamed_addr constant [4 x i8] c"new\00" @.str3907 = private unnamed_addr constant [3 x i8] c"v4\00" @.str3908 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v4()\00" @.str3909 = private unnamed_addr constant [7 x i8] c"string\00" @.str3910 = private unnamed_addr constant [7 x i8] c"new_v7\00" @.str3911 = private unnamed_addr constant [3 x i8] c"v7\00" @.str3912 = private unnamed_addr constant [23 x i8] c"call ptr @lp_uuid_v7()\00" @.str3913 = private unnamed_addr constant [7 x i8] c"string\00" @.str3914 = private unnamed_addr constant [4 x i8] c"nil\00" @.str3915 = private unnamed_addr constant [24 x i8] c"call ptr @lp_uuid_nil()\00" @.str3916 = private unnamed_addr constant [7 x i8] c"string\00" @.str3917 = private unnamed_addr constant [9 x i8] c"is_valid\00" @.str3918 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5766: index out of range: \00" @.str3919 = private unnamed_addr constant [29 x i8] c"call i32 @lp_uuid_valid(ptr \00" @.str3920 = private unnamed_addr constant [2 x i8] c")\00" @.str3921 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3922 = private unnamed_addr constant [8 x i8] c"to_text\00" @.str3923 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5770: index out of range: \00" @.str3924 = private unnamed_addr constant [7 x i8] c"string\00" @.str3925 = private unnamed_addr constant [7 x i8] c"equals\00" @.str3926 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5774: index out of range: \00" @.str3927 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5774: index out of range: \00" @.str3928 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uuid_eq(ptr \00" @.str3929 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str3930 = private unnamed_addr constant [2 x i8] c")\00" @.str3931 = private unnamed_addr constant [5 x i8] c"bool\00" @.str3932 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5780: index out of range: \00" @.str3933 = private unnamed_addr constant [29 x i8] c"call ptr @lp_uuid_parse(ptr \00" @.str3934 = private unnamed_addr constant [2 x i8] c")\00" @.str3935 = private unnamed_addr constant [7 x i8] c"string\00" @.str3936 = private unnamed_addr constant [40 x i8] c"define ptr @lp_uuid_format(ptr %b16) {\0A\00" @.str3937 = private unnamed_addr constant [93 x i8] c"entry:\0A %hex = call ptr @lp_hex_encode(ptr %b16, i64 16)\0A %out = call ptr @malloc(i64 37)\0A\00" @.str3938 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %out, ptr %hex, i64 8)\0A\00" @.str3939 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" @.str3940 = private unnamed_addr constant [129 x i8] c" %h8 = getelementptr i8, ptr %hex, i64 8\0A %o9 = getelementptr i8, ptr %out, i64 9\0A call ptr @memcpy(ptr %o9, ptr %h8, i64 4)\0A\00" @.str3941 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" @.str3942 = private unnamed_addr constant [135 x i8] c" %h12 = getelementptr i8, ptr %hex, i64 12\0A %o14 = getelementptr i8, ptr %out, i64 14\0A call ptr @memcpy(ptr %o14, ptr %h12, i64 4)\0A\00" @.str3943 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" @.str3944 = private unnamed_addr constant [135 x i8] c" %h16 = getelementptr i8, ptr %hex, i64 16\0A %o19 = getelementptr i8, ptr %out, i64 19\0A call ptr @memcpy(ptr %o19, ptr %h16, i64 4)\0A\00" @.str3945 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" @.str3946 = private unnamed_addr constant [136 x i8] c" %h20 = getelementptr i8, ptr %hex, i64 20\0A %o24 = getelementptr i8, ptr %out, i64 24\0A call ptr @memcpy(ptr %o24, ptr %h20, i64 12)\0A\00" @.str3947 = private unnamed_addr constant [68 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A\00" @.str3948 = private unnamed_addr constant [46 x i8] c" call void @free(ptr %hex)\0A ret ptr %out\0A}\0A\00" @.str3949 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v4() {\0A\00" @.str3950 = private unnamed_addr constant [132 x i8] c"entry:\0A %b = alloca [16 x i8]\0A %bp = getelementptr [16 x i8], ptr %b, i64 0, i64 0\0A call void @lp_secure_bytes(ptr %bp, i64 16)\0A\00" @.str3951 = private unnamed_addr constant [140 x i8] c" %p6 = getelementptr i8, ptr %bp, i64 6\0A %v6 = load i8, ptr %p6\0A %v6a = and i8 %v6, 15\0A %v6b = or i8 %v6a, 64\0A store i8 %v6b, ptr %p6\0A\00" @.str3952 = private unnamed_addr constant [142 x i8] c" %p8 = getelementptr i8, ptr %bp, i64 8\0A %v8 = load i8, ptr %p8\0A %v8a = and i8 %v8, 63\0A %v8b = or i8 %v8a, -128\0A store i8 %v8b, ptr %p8\0A\00" @.str3953 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" @.str3954 = private unnamed_addr constant [28 x i8] c"define ptr @lp_uuid_v7() {\0A\00" @.str3955 = private unnamed_addr constant [132 x i8] c"entry:\0A %b = alloca [16 x i8]\0A %bp = getelementptr [16 x i8], ptr %b, i64 0, i64 0\0A call void @lp_secure_bytes(ptr %bp, i64 16)\0A\00" @.str3956 = private unnamed_addr constant [58 x i8] c" %t = call i64 @time(ptr null)\0A %ms = mul i64 %t, 1000\0A\00" @.str3957 = private unnamed_addr constant [121 x i8] c" %s40 = lshr i64 %ms, 40\0A %t0 = trunc i64 %s40 to i8\0A %q0 = getelementptr i8, ptr %bp, i64 0\0A store i8 %t0, ptr %q0\0A\00" @.str3958 = private unnamed_addr constant [121 x i8] c" %s32 = lshr i64 %ms, 32\0A %t1 = trunc i64 %s32 to i8\0A %q1 = getelementptr i8, ptr %bp, i64 1\0A store i8 %t1, ptr %q1\0A\00" @.str3959 = private unnamed_addr constant [121 x i8] c" %s24 = lshr i64 %ms, 24\0A %t2 = trunc i64 %s24 to i8\0A %q2 = getelementptr i8, ptr %bp, i64 2\0A store i8 %t2, ptr %q2\0A\00" @.str3960 = private unnamed_addr constant [121 x i8] c" %s16 = lshr i64 %ms, 16\0A %t3 = trunc i64 %s16 to i8\0A %q3 = getelementptr i8, ptr %bp, i64 3\0A store i8 %t3, ptr %q3\0A\00" @.str3961 = private unnamed_addr constant [118 x i8] c" %s8 = lshr i64 %ms, 8\0A %t4 = trunc i64 %s8 to i8\0A %q4 = getelementptr i8, ptr %bp, i64 4\0A store i8 %t4, ptr %q4\0A\00" @.str3962 = private unnamed_addr constant [94 x i8] c" %t5 = trunc i64 %ms to i8\0A %q5 = getelementptr i8, ptr %bp, i64 5\0A store i8 %t5, ptr %q5\0A\00" @.str3963 = private unnamed_addr constant [141 x i8] c" %p6 = getelementptr i8, ptr %bp, i64 6\0A %v6 = load i8, ptr %p6\0A %v6a = and i8 %v6, 15\0A %v6b = or i8 %v6a, 112\0A store i8 %v6b, ptr %p6\0A\00" @.str3964 = private unnamed_addr constant [142 x i8] c" %p8 = getelementptr i8, ptr %bp, i64 8\0A %v8 = load i8, ptr %p8\0A %v8a = and i8 %v8, 63\0A %v8b = or i8 %v8a, -128\0A store i8 %v8b, ptr %p8\0A\00" @.str3965 = private unnamed_addr constant [57 x i8] c" %s = call ptr @lp_uuid_format(ptr %bp)\0A ret ptr %s\0A}\0A\00" @.str3966 = private unnamed_addr constant [29 x i8] c"define ptr @lp_uuid_nil() {\0A\00" @.str3967 = private unnamed_addr constant [87 x i8] c"entry:\0A %out = call ptr @malloc(i64 37)\0A call ptr @memset(ptr %out, i32 48, i64 36)\0A\00" @.str3968 = private unnamed_addr constant [66 x i8] c" %o8 = getelementptr i8, ptr %out, i64 8\0A store i8 45, ptr %o8\0A\00" @.str3969 = private unnamed_addr constant [69 x i8] c" %o13 = getelementptr i8, ptr %out, i64 13\0A store i8 45, ptr %o13\0A\00" @.str3970 = private unnamed_addr constant [69 x i8] c" %o18 = getelementptr i8, ptr %out, i64 18\0A store i8 45, ptr %o18\0A\00" @.str3971 = private unnamed_addr constant [69 x i8] c" %o23 = getelementptr i8, ptr %out, i64 23\0A store i8 45, ptr %o23\0A\00" @.str3972 = private unnamed_addr constant [85 x i8] c" %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A ret ptr %out\0A}\0A\00" @.str3973 = private unnamed_addr constant [37 x i8] c"define i32 @lp_uuid_valid(ptr %s) {\0A\00" @.str3974 = private unnamed_addr constant [102 x i8] c"entry:\0A %n = call i64 @strlen(ptr %s)\0A %ne = icmp eq i64 %n, 36\0A br i1 %ne, label %go, label %bad\0A\00" @.str3975 = private unnamed_addr constant [64 x i8] c"go:\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %cond\0A\00" @.str3976 = private unnamed_addr constant [98 x i8] c"cond:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, 36\0A br i1 %lt, label %body, label %good\0A\00" @.str3977 = private unnamed_addr constant [70 x i8] c"body:\0A %p = getelementptr i8, ptr %s, i64 %i\0A %c = load i8, ptr %p\0A\00" @.str3978 = private unnamed_addr constant [111 x i8] c" %h8 = icmp eq i64 %i, 8\0A %h13 = icmp eq i64 %i, 13\0A %h18 = icmp eq i64 %i, 18\0A %h23 = icmp eq i64 %i, 23\0A\00" @.str3979 = private unnamed_addr constant [118 x i8] c" %hx = or i1 %h8, %h13\0A %hy = or i1 %hx, %h18\0A %hyph = or i1 %hy, %h23\0A br i1 %hyph, label %ckhyph, label %ckhex\0A\00" @.str3980 = private unnamed_addr constant [74 x i8] c"ckhyph:\0A %ish = icmp eq i8 %c, 45\0A br i1 %ish, label %next, label %bad\0A\00" @.str3981 = private unnamed_addr constant [8 x i8] c"ckhex:\0A\00" @.str3982 = private unnamed_addr constant [86 x i8] c" %ge0 = icmp uge i8 %c, 48\0A %le9 = icmp ule i8 %c, 57\0A %isdig = and i1 %ge0, %le9\0A\00" @.str3983 = private unnamed_addr constant [86 x i8] c" %gea = icmp uge i8 %c, 97\0A %lef = icmp ule i8 %c, 102\0A %islo = and i1 %gea, %lef\0A\00" @.str3984 = private unnamed_addr constant [85 x i8] c" %geA = icmp uge i8 %c, 65\0A %leF = icmp ule i8 %c, 70\0A %ishi = and i1 %geA, %leF\0A\00" @.str3985 = private unnamed_addr constant [99 x i8] c" %hx1 = or i1 %isdig, %islo\0A %ishex = or i1 %hx1, %ishi\0A br i1 %ishex, label %next, label %bad\0A\00" @.str3986 = private unnamed_addr constant [71 x i8] c"next:\0A %i1 = add i64 %i, 1\0A store i64 %i1, ptr %ip\0A br label %cond\0A\00" @.str3987 = private unnamed_addr constant [19 x i8] c"good:\0A ret i32 1\0A\00" @.str3988 = private unnamed_addr constant [20 x i8] c"bad:\0A ret i32 0\0A}\0A\00" @.str3989 = private unnamed_addr constant [42 x i8] c"define i32 @lp_uuid_eq(ptr %a, ptr %b) {\0A\00" @.str3990 = private unnamed_addr constant [137 x i8] c"entry:\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A %eq = icmp eq i64 %la, %lb\0A br i1 %eq, label %go, label %ne\0A\00" @.str3991 = private unnamed_addr constant [64 x i8] c"go:\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %cond\0A\00" @.str3992 = private unnamed_addr constant [100 x i8] c"cond:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, %la\0A br i1 %lt, label %body, label %eqret\0A\00" @.str3993 = private unnamed_addr constant [139 x i8] c"body:\0A %pa = getelementptr i8, ptr %a, i64 %i\0A %ca = load i8, ptr %pa\0A %pb = getelementptr i8, ptr %b, i64 %i\0A %cb = load i8, ptr %pb\0A\00" @.str3994 = private unnamed_addr constant [155 x i8] c" %caA = icmp uge i8 %ca, 65\0A %caZ = icmp ule i8 %ca, 90\0A %caup = and i1 %caA, %caZ\0A %ca32 = add i8 %ca, 32\0A %cal = select i1 %caup, i8 %ca32, i8 %ca\0A\00" @.str3995 = private unnamed_addr constant [155 x i8] c" %cbA = icmp uge i8 %cb, 65\0A %cbZ = icmp ule i8 %cb, 90\0A %cbup = and i1 %cbA, %cbZ\0A %cb32 = add i8 %cb, 32\0A %cbl = select i1 %cbup, i8 %cb32, i8 %cb\0A\00" @.str3996 = private unnamed_addr constant [71 x i8] c" %same = icmp eq i8 %cal, %cbl\0A br i1 %same, label %next, label %ne\0A\00" @.str3997 = private unnamed_addr constant [71 x i8] c"next:\0A %i1 = add i64 %i, 1\0A store i64 %i1, ptr %ip\0A br label %cond\0A\00" @.str3998 = private unnamed_addr constant [20 x i8] c"eqret:\0A ret i32 1\0A\00" @.str3999 = private unnamed_addr constant [19 x i8] c"ne:\0A ret i32 0\0A}\0A\00" @.str4000 = private unnamed_addr constant [37 x i8] c"define ptr @lp_uuid_parse(ptr %s) {\0A\00" @.str4001 = private unnamed_addr constant [116 x i8] c"entry:\0A %ok = call i32 @lp_uuid_valid(ptr %s)\0A %isok = icmp ne i32 %ok, 0\0A br i1 %isok, label %dup, label %nilb\0A\00" @.str4002 = private unnamed_addr constant [99 x i8] c"dup:\0A %out = call ptr @malloc(i64 37)\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %cond\0A\00" @.str4003 = private unnamed_addr constant [97 x i8] c"cond:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, 36\0A br i1 %lt, label %body, label %fin\0A\00" @.str4004 = private unnamed_addr constant [70 x i8] c"body:\0A %p = getelementptr i8, ptr %s, i64 %i\0A %c = load i8, ptr %p\0A\00" @.str4005 = private unnamed_addr constant [142 x i8] c" %cA = icmp uge i8 %c, 65\0A %cZ = icmp ule i8 %c, 90\0A %cup = and i1 %cA, %cZ\0A %c32 = add i8 %c, 32\0A %cl = select i1 %cup, i8 %c32, i8 %c\0A\00" @.str4006 = private unnamed_addr constant [68 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A store i8 %cl, ptr %op\0A\00" @.str4007 = private unnamed_addr constant [65 x i8] c" %i1 = add i64 %i, 1\0A store i64 %i1, ptr %ip\0A br label %cond\0A\00" @.str4008 = private unnamed_addr constant [88 x i8] c"fin:\0A %o36 = getelementptr i8, ptr %out, i64 36\0A store i8 0, ptr %o36\0A ret ptr %out\0A\00" @.str4009 = private unnamed_addr constant [55 x i8] c"nilb:\0A %nn = call ptr @lp_uuid_nil()\0A ret ptr %nn\0A}\0A\00" @.str4010 = private unnamed_addr constant [7 x i8] c"value2\00" @.str4011 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str4012 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str4013 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str4014 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str4015 = private unnamed_addr constant [13 x i8] c"cellular2_id\00" @.str4016 = private unnamed_addr constant [5 x i8] c"unit\00" @.str4017 = private unnamed_addr constant [5 x i8] c"unit\00" @.str4018 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5914: index out of range: \00" @.str4019 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str4020 = private unnamed_addr constant [4 x i8] c", 1\00" @.str4021 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str4022 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str4023 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4024 = private unnamed_addr constant [7 x i8] c"value2\00" @.str4025 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5920: index out of range: \00" @.str4026 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5920: index out of range: \00" @.str4027 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5920: index out of range: \00" @.str4028 = private unnamed_addr constant [31 x i8] c"call i32 @lp_noise_value2(i32 \00" @.str4029 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4030 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4031 = private unnamed_addr constant [2 x i8] c")\00" @.str4032 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4033 = private unnamed_addr constant [8 x i8] c"perlin2\00" @.str4034 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5924: index out of range: \00" @.str4035 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5924: index out of range: \00" @.str4036 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5924: index out of range: \00" @.str4037 = private unnamed_addr constant [32 x i8] c"call i32 @lp_noise_perlin2(i32 \00" @.str4038 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4039 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4040 = private unnamed_addr constant [2 x i8] c")\00" @.str4041 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4042 = private unnamed_addr constant [9 x i8] c"simplex2\00" @.str4043 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5928: index out of range: \00" @.str4044 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5928: index out of range: \00" @.str4045 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5928: index out of range: \00" @.str4046 = private unnamed_addr constant [33 x i8] c"call i32 @lp_noise_simplex2(i32 \00" @.str4047 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4048 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4049 = private unnamed_addr constant [2 x i8] c")\00" @.str4050 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4051 = private unnamed_addr constant [5 x i8] c"fbm2\00" @.str4052 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5933: index out of range: \00" @.str4053 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5933: index out of range: \00" @.str4054 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5933: index out of range: \00" @.str4055 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5933: index out of range: \00" @.str4056 = private unnamed_addr constant [29 x i8] c"call i32 @lp_noise_fbm2(i32 \00" @.str4057 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4058 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4059 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4060 = private unnamed_addr constant [2 x i8] c")\00" @.str4061 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4062 = private unnamed_addr constant [10 x i8] c"cellular2\00" @.str4063 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5938: index out of range: \00" @.str4064 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5938: index out of range: \00" @.str4065 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5938: index out of range: \00" @.str4066 = private unnamed_addr constant [34 x i8] c"call i32 @lp_noise_cellular2(i32 \00" @.str4067 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4068 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4069 = private unnamed_addr constant [2 x i8] c")\00" @.str4070 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str4071 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5943: index out of range: \00" @.str4072 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5943: index out of range: \00" @.str4073 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:5943: index out of range: \00" @.str4074 = private unnamed_addr constant [37 x i8] c"call i32 @lp_noise_cellular2_id(i32 \00" @.str4075 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4076 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4077 = private unnamed_addr constant [2 x i8] c")\00" @.str4078 = private unnamed_addr constant [4 x i8] c"int\00" @.str4079 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_mul(i32 %a, i32 %b) {\0A\00" @.str4080 = private unnamed_addr constant [148 x i8] c" %a64 = sext i32 %a to i64\0A %b64 = sext i32 %b to i64\0A %m = mul i64 %a64, %b64\0A %s = ashr i64 %m, 16\0A %r = trunc i64 %s to i32\0A ret i32 %r\0A}\0A\00" @.str4081 = private unnamed_addr constant [42 x i8] c"define i32 @lp_nfx_div(i32 %a, i32 %b) {\0A\00" @.str4082 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %b, 0\0A br i1 %z, label %zero, label %go\0A\00" @.str4083 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" @.str4084 = private unnamed_addr constant [156 x i8] c"go:\0A %a64 = sext i32 %a to i64\0A %ash = shl i64 %a64, 16\0A %b64 = sext i32 %b to i64\0A %d = sdiv i64 %ash, %b64\0A %r = trunc i64 %d to i32\0A ret i32 %r\0A}\0A\00" @.str4085 = private unnamed_addr constant [51 x i8] c"define i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %t) {\0A\00" @.str4086 = private unnamed_addr constant [106 x i8] c" %d = sub i32 %b, %a\0A %dt = call i32 @lp_nfx_mul(i32 %d, i32 %t)\0A %r = add i32 %a, %dt\0A ret i32 %r\0A}\0A\00" @.str4087 = private unnamed_addr constant [38 x i8] c"define i32 @lp_noise_clamp(i32 %v) {\0A\00" @.str4088 = private unnamed_addr constant [163 x i8] c" %hi = icmp sgt i32 %v, 65536\0A %v1 = select i1 %hi, i32 65536, i32 %v\0A %lo = icmp slt i32 %v1, -65536\0A %r = select i1 %lo, i32 -65536, i32 %v1\0A ret i32 %r\0A}\0A\00" @.str4089 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi) {\0A\00" @.str4090 = private unnamed_addr constant [111 x i8] c" %a = mul i32 %xi, 374761393\0A %b = mul i32 %yi, -1028477387\0A %c = add i32 %seed, %a\0A %d0 = add i32 %c, %b\0A\00" @.str4091 = private unnamed_addr constant [79 x i8] c" %e = lshr i32 %d0, 16\0A %f = xor i32 %d0, %e\0A %g = mul i32 %f, -2048144789\0A\00" @.str4092 = private unnamed_addr constant [77 x i8] c" %h = lshr i32 %g, 13\0A %i = xor i32 %g, %h\0A %j = mul i32 %i, -1028477387\0A\00" @.str4093 = private unnamed_addr constant [61 x i8] c" %k = lshr i32 %j, 16\0A %l = xor i32 %j, %k\0A ret i32 %l\0A}\0A\00" @.str4094 = private unnamed_addr constant [37 x i8] c"define i32 @lp_noise_fade(i32 %t) {\0A\00" @.str4095 = private unnamed_addr constant [92 x i8] c" %t2 = call i32 @lp_nfx_mul(i32 %t, i32 %t)\0A %t3 = call i32 @lp_nfx_mul(i32 %t2, i32 %t)\0A\00" @.str4096 = private unnamed_addr constant [93 x i8] c" %t4 = call i32 @lp_nfx_mul(i32 %t3, i32 %t)\0A %t5 = call i32 @lp_nfx_mul(i32 %t4, i32 %t)\0A\00" @.str4097 = private unnamed_addr constant [74 x i8] c" %c6 = mul i32 %t5, 6\0A %c15 = mul i32 %t4, 15\0A %c10 = mul i32 %t3, 10\0A\00" @.str4098 = private unnamed_addr constant [67 x i8] c" %s1 = sub i32 %c6, %c15\0A %r = add i32 %s1, %c10\0A ret i32 %r\0A}\0A\00" @.str4099 = private unnamed_addr constant [58 x i8] c"define i32 @lp_noise_value2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str4100 = private unnamed_addr constant [101 x i8] c" %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A %xf = and i32 %x, 65535\0A %yf = and i32 %y, 65535\0A\00" @.str4101 = private unnamed_addr constant [81 x i8] c" %u = call i32 @lp_noise_fade(i32 %xf)\0A %v = call i32 @lp_noise_fade(i32 %yf)\0A\00" @.str4102 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" @.str4103 = private unnamed_addr constant [122 x i8] c" %h00 = call i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi)\0A %m00 = and i32 %h00, 131071\0A %n00 = sub i32 %m00, 65536\0A\00" @.str4104 = private unnamed_addr constant [123 x i8] c" %h10 = call i32 @lp_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\0A %m10 = and i32 %h10, 131071\0A %n10 = sub i32 %m10, 65536\0A\00" @.str4105 = private unnamed_addr constant [123 x i8] c" %h01 = call i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\0A %m01 = and i32 %h01, 131071\0A %n01 = sub i32 %m01, 65536\0A\00" @.str4106 = private unnamed_addr constant [124 x i8] c" %h11 = call i32 @lp_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\0A %m11 = and i32 %h11, 131071\0A %n11 = sub i32 %m11, 65536\0A\00" @.str4107 = private unnamed_addr constant [115 x i8] c" %a = call i32 @lp_nfx_lerp(i32 %n00, i32 %n10, i32 %u)\0A %b = call i32 @lp_nfx_lerp(i32 %n01, i32 %n11, i32 %u)\0A\00" @.str4108 = private unnamed_addr constant [109 x i8] c" %n = call i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %v)\0A %r = call i32 @lp_noise_clamp(i32 %n)\0A ret i32 %r\0A}\0A\00" @.str4109 = private unnamed_addr constant [224 x i8] c"@noise_grad2 = private unnamed_addr constant [16 x i32] [i32 65536, i32 0, i32 -65536, i32 0, i32 0, i32 65536, i32 0, i32 -65536, i32 46341, i32 46341, i32 -46341, i32 46341, i32 46341, i32 -46341, i32 -46341, i32 -46341]\0A\00" @.str4110 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_grad2(i32 %hash, i32 %dx, i32 %dy) {\0A\00" @.str4111 = private unnamed_addr constant [80 x i8] c" %h = and i32 %hash, 7\0A %idx = shl i32 %h, 1\0A %idx64 = sext i32 %idx to i64\0A\00" @.str4112 = private unnamed_addr constant [99 x i8] c" %gxp = getelementptr [16 x i32], ptr @noise_grad2, i64 0, i64 %idx64\0A %gx = load i32, ptr %gxp\0A\00" @.str4113 = private unnamed_addr constant [156 x i8] c" %idy = add i32 %idx, 1\0A %idy64 = sext i32 %idy to i64\0A %gyp = getelementptr [16 x i32], ptr @noise_grad2, i64 0, i64 %idy64\0A %gy = load i32, ptr %gyp\0A\00" @.str4114 = private unnamed_addr constant [134 x i8] c" %px = call i32 @lp_nfx_mul(i32 %gx, i32 %dx)\0A %py = call i32 @lp_nfx_mul(i32 %gy, i32 %dy)\0A %r = add i32 %px, %py\0A ret i32 %r\0A}\0A\00" @.str4115 = private unnamed_addr constant [59 x i8] c"define i32 @lp_noise_perlin2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str4116 = private unnamed_addr constant [101 x i8] c" %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A %xf = and i32 %x, 65535\0A %yf = and i32 %y, 65535\0A\00" @.str4117 = private unnamed_addr constant [57 x i8] c" %xf1 = sub i32 %xf, 65536\0A %yf1 = sub i32 %yf, 65536\0A\00" @.str4118 = private unnamed_addr constant [81 x i8] c" %u = call i32 @lp_noise_fade(i32 %xf)\0A %v = call i32 @lp_noise_fade(i32 %yf)\0A\00" @.str4119 = private unnamed_addr constant [49 x i8] c" %xi1 = add i32 %xi, 1\0A %yi1 = add i32 %yi, 1\0A\00" @.str4120 = private unnamed_addr constant [126 x i8] c" %h00 = call i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi)\0A %h10 = call i32 @lp_noise_hash(i32 %seed, i32 %xi1, i32 %yi)\0A\00" @.str4121 = private unnamed_addr constant [128 x i8] c" %h01 = call i32 @lp_noise_hash(i32 %seed, i32 %xi, i32 %yi1)\0A %h11 = call i32 @lp_noise_hash(i32 %seed, i32 %xi1, i32 %yi1)\0A\00" @.str4122 = private unnamed_addr constant [126 x i8] c" %g00 = call i32 @lp_noise_grad2(i32 %h00, i32 %xf, i32 %yf)\0A %g10 = call i32 @lp_noise_grad2(i32 %h10, i32 %xf1, i32 %yf)\0A\00" @.str4123 = private unnamed_addr constant [128 x i8] c" %g01 = call i32 @lp_noise_grad2(i32 %h01, i32 %xf, i32 %yf1)\0A %g11 = call i32 @lp_noise_grad2(i32 %h11, i32 %xf1, i32 %yf1)\0A\00" @.str4124 = private unnamed_addr constant [115 x i8] c" %a = call i32 @lp_nfx_lerp(i32 %g00, i32 %g10, i32 %u)\0A %b = call i32 @lp_nfx_lerp(i32 %g01, i32 %g11, i32 %u)\0A\00" @.str4125 = private unnamed_addr constant [158 x i8] c" %n = call i32 @lp_nfx_lerp(i32 %a, i32 %b, i32 %v)\0A %sc = call i32 @lp_nfx_mul(i32 %n, i32 92682)\0A %r = call i32 @lp_noise_clamp(i32 %sc)\0A ret i32 %r\0A}\0A\00" @.str4126 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_scorner(i32 %hash, i32 %dx, i32 %dy) {\0A\00" @.str4127 = private unnamed_addr constant [95 x i8] c" %xx = call i32 @lp_nfx_mul(i32 %dx, i32 %dx)\0A %yy = call i32 @lp_nfx_mul(i32 %dy, i32 %dy)\0A\00" @.str4128 = private unnamed_addr constant [117 x i8] c" %s0 = sub i32 32768, %xx\0A %t = sub i32 %s0, %yy\0A %neg = icmp sle i32 %t, 0\0A br i1 %neg, label %zero, label %go\0A\00" @.str4129 = private unnamed_addr constant [19 x i8] c"zero:\0A ret i32 0\0A\00" @.str4130 = private unnamed_addr constant [97 x i8] c"go:\0A %t2 = call i32 @lp_nfx_mul(i32 %t, i32 %t)\0A %t4 = call i32 @lp_nfx_mul(i32 %t2, i32 %t2)\0A\00" @.str4131 = private unnamed_addr constant [122 x i8] c" %g = call i32 @lp_noise_grad2(i32 %hash, i32 %dx, i32 %dy)\0A %r = call i32 @lp_nfx_mul(i32 %t4, i32 %g)\0A ret i32 %r\0A}\0A\00" @.str4132 = private unnamed_addr constant [60 x i8] c"define i32 @lp_noise_simplex2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str4133 = private unnamed_addr constant [79 x i8] c" %sum0 = add i32 %x, %y\0A %skew = call i32 @lp_nfx_mul(i32 %sum0, i32 23994)\0A\00" @.str4134 = private unnamed_addr constant [101 x i8] c" %xs = add i32 %x, %skew\0A %ys = add i32 %y, %skew\0A %i = ashr i32 %xs, 16\0A %j = ashr i32 %ys, 16\0A\00" @.str4135 = private unnamed_addr constant [51 x i8] c" %ij = add i32 %i, %j\0A %tt = mul i32 %ij, 13849\0A\00" @.str4136 = private unnamed_addr constant [49 x i8] c" %if0 = shl i32 %i, 16\0A %jf0 = shl i32 %j, 16\0A\00" @.str4137 = private unnamed_addr constant [101 x i8] c" %X0 = sub i32 %if0, %tt\0A %Y0 = sub i32 %jf0, %tt\0A %x0 = sub i32 %x, %X0\0A %y0 = sub i32 %y, %Y0\0A\00" @.str4138 = private unnamed_addr constant [103 x i8] c" %gt = icmp sgt i32 %x0, %y0\0A %i1 = select i1 %gt, i32 1, i32 0\0A %j1 = select i1 %gt, i32 0, i32 1\0A\00" @.str4139 = private unnamed_addr constant [51 x i8] c" %i1f = shl i32 %i1, 16\0A %j1f = shl i32 %j1, 16\0A\00" @.str4140 = private unnamed_addr constant [111 x i8] c" %x1a = sub i32 %x0, %i1f\0A %x1 = add i32 %x1a, 13849\0A %y1a = sub i32 %y0, %j1f\0A %y1 = add i32 %y1a, 13849\0A\00" @.str4141 = private unnamed_addr constant [113 x i8] c" %x2a = sub i32 %x0, 65536\0A %x2 = add i32 %x2a, 27698\0A %y2a = sub i32 %y0, 65536\0A %y2 = add i32 %y2a, 27698\0A\00" @.str4142 = private unnamed_addr constant [95 x i8] c" %i1p = add i32 %i, %i1\0A %j1p = add i32 %j, %j1\0A %i2 = add i32 %i, 1\0A %j2 = add i32 %j, 1\0A\00" @.str4143 = private unnamed_addr constant [187 x i8] c" %gi0 = call i32 @lp_noise_hash(i32 %seed, i32 %i, i32 %j)\0A %gi1 = call i32 @lp_noise_hash(i32 %seed, i32 %i1p, i32 %j1p)\0A %gi2 = call i32 @lp_noise_hash(i32 %seed, i32 %i2, i32 %j2)\0A\00" @.str4144 = private unnamed_addr constant [190 x i8] c" %n0 = call i32 @lp_noise_scorner(i32 %gi0, i32 %x0, i32 %y0)\0A %n1 = call i32 @lp_noise_scorner(i32 %gi1, i32 %x1, i32 %y1)\0A %n2 = call i32 @lp_noise_scorner(i32 %gi2, i32 %x2, i32 %y2)\0A\00" @.str4145 = private unnamed_addr constant [51 x i8] c" %sa = add i32 %n0, %n1\0A %sb = add i32 %sa, %n2\0A\00" @.str4146 = private unnamed_addr constant [81 x i8] c" %sc = mul i32 %sb, 45\0A %r = call i32 @lp_noise_clamp(i32 %sc)\0A ret i32 %r\0A}\0A\00" @.str4147 = private unnamed_addr constant [66 x i8] c"define i32 @lp_noise_fbm2(i32 %x, i32 %y, i32 %seed, i32 %oct) {\0A\00" @.str4148 = private unnamed_addr constant [113 x i8] c"entry:\0A %sump = alloca i32\0A %normp = alloca i32\0A %ampp = alloca i32\0A %freqp = alloca i32\0A %op = alloca i32\0A\00" @.str4149 = private unnamed_addr constant [151 x i8] c" store i32 0, ptr %sump\0A store i32 0, ptr %normp\0A store i32 65536, ptr %ampp\0A store i32 65536, ptr %freqp\0A store i32 0, ptr %op\0A br label %cond\0A\00" @.str4150 = private unnamed_addr constant [100 x i8] c"cond:\0A %o = load i32, ptr %op\0A %lt = icmp slt i32 %o, %oct\0A br i1 %lt, label %body, label %done\0A\00" @.str4151 = private unnamed_addr constant [67 x i8] c"body:\0A %freq = load i32, ptr %freqp\0A %amp = load i32, ptr %ampp\0A\00" @.str4152 = private unnamed_addr constant [97 x i8] c" %fx = call i32 @lp_nfx_mul(i32 %x, i32 %freq)\0A %fy = call i32 @lp_nfx_mul(i32 %y, i32 %freq)\0A\00" @.str4153 = private unnamed_addr constant [89 x i8] c" %so = add i32 %seed, %o\0A %n = call i32 @lp_noise_simplex2(i32 %fx, i32 %fy, i32 %so)\0A\00" @.str4154 = private unnamed_addr constant [134 x i8] c" %na = call i32 @lp_nfx_mul(i32 %n, i32 %amp)\0A %sum = load i32, ptr %sump\0A %sum2 = add i32 %sum, %na\0A store i32 %sum2, ptr %sump\0A\00" @.str4155 = private unnamed_addr constant [94 x i8] c" %norm = load i32, ptr %normp\0A %norm2 = add i32 %norm, %amp\0A store i32 %norm2, ptr %normp\0A\00" @.str4156 = private unnamed_addr constant [82 x i8] c" %amp2 = call i32 @lp_nfx_mul(i32 %amp, i32 32768)\0A store i32 %amp2, ptr %ampp\0A\00" @.str4157 = private unnamed_addr constant [87 x i8] c" %freq2 = call i32 @lp_nfx_mul(i32 %freq, i32 131072)\0A store i32 %freq2, ptr %freqp\0A\00" @.str4158 = private unnamed_addr constant [65 x i8] c" %o1 = add i32 %o, 1\0A store i32 %o1, ptr %op\0A br label %cond\0A\00" @.str4159 = private unnamed_addr constant [69 x i8] c"done:\0A %fsum = load i32, ptr %sump\0A %fnorm = load i32, ptr %normp\0A\00" @.str4160 = private unnamed_addr constant [65 x i8] c" %nz = icmp eq i32 %fnorm, 0\0A br i1 %nz, label %z, label %div\0A\00" @.str4161 = private unnamed_addr constant [16 x i8] c"z:\0A ret i32 0\0A\00" @.str4162 = private unnamed_addr constant [112 x i8] c"div:\0A %d = call i32 @lp_nfx_div(i32 %fsum, i32 %fnorm)\0A %r = call i32 @lp_noise_clamp(i32 %d)\0A ret i32 %r\0A}\0A\00" @.str4163 = private unnamed_addr constant [86 x i8] c"define void @lp_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2out, ptr %idout) {\0A\00" @.str4164 = private unnamed_addr constant [56 x i8] c"entry:\0A %xi = ashr i32 %x, 16\0A %yi = ashr i32 %y, 16\0A\00" @.str4165 = private unnamed_addr constant [83 x i8] c" %bestp = alloca i32\0A %idp = alloca i32\0A %dyp = alloca i32\0A %dxp = alloca i32\0A\00" @.str4166 = private unnamed_addr constant [100 x i8] c" store i32 2147483647, ptr %bestp\0A store i32 0, ptr %idp\0A store i32 -1, ptr %dyp\0A br label %yc\0A\00" @.str4167 = private unnamed_addr constant [99 x i8] c"yc:\0A %oy = load i32, ptr %dyp\0A %yok = icmp sle i32 %oy, 1\0A br i1 %yok, label %yb, label %ydone\0A\00" @.str4168 = private unnamed_addr constant [45 x i8] c"yb:\0A store i32 -1, ptr %dxp\0A br label %xc\0A\00" @.str4169 = private unnamed_addr constant [99 x i8] c"xc:\0A %ox = load i32, ptr %dxp\0A %xok = icmp sle i32 %ox, 1\0A br i1 %xok, label %xb, label %xdone\0A\00" @.str4170 = private unnamed_addr constant [55 x i8] c"xb:\0A %cx = add i32 %xi, %ox\0A %cy = add i32 %yi, %oy\0A\00" @.str4171 = private unnamed_addr constant [61 x i8] c" %h = call i32 @lp_noise_hash(i32 %seed, i32 %cx, i32 %cy)\0A\00" @.str4172 = private unnamed_addr constant [80 x i8] c" %fxr = and i32 %h, 65535\0A %hs = lshr i32 %h, 16\0A %fyr = and i32 %hs, 65535\0A\00" @.str4173 = private unnamed_addr constant [107 x i8] c" %cxf = shl i32 %cx, 16\0A %cyf = shl i32 %cy, 16\0A %pxr = add i32 %cxf, %fxr\0A %pyr = add i32 %cyf, %fyr\0A\00" @.str4174 = private unnamed_addr constant [53 x i8] c" %ddx = sub i32 %pxr, %x\0A %ddy = sub i32 %pyr, %y\0A\00" @.str4175 = private unnamed_addr constant [128 x i8] c" %dxx = call i32 @lp_nfx_mul(i32 %ddx, i32 %ddx)\0A %dyy = call i32 @lp_nfx_mul(i32 %ddy, i32 %ddy)\0A %d2 = add i32 %dxx, %dyy\0A\00" @.str4176 = private unnamed_addr constant [105 x i8] c" %best = load i32, ptr %bestp\0A %less = icmp slt i32 %d2, %best\0A br i1 %less, label %upd, label %skip\0A\00" @.str4177 = private unnamed_addr constant [76 x i8] c"upd:\0A store i32 %d2, ptr %bestp\0A store i32 %h, ptr %idp\0A br label %skip\0A\00" @.str4178 = private unnamed_addr constant [73 x i8] c"skip:\0A %ox1 = add i32 %ox, 1\0A store i32 %ox1, ptr %dxp\0A br label %xc\0A\00" @.str4179 = private unnamed_addr constant [74 x i8] c"xdone:\0A %oy1 = add i32 %oy, 1\0A store i32 %oy1, ptr %dyp\0A br label %yc\0A\00" @.str4180 = private unnamed_addr constant [133 x i8] c"ydone:\0A %fb = load i32, ptr %bestp\0A store i32 %fb, ptr %d2out\0A %fi = load i32, ptr %idp\0A store i32 %fi, ptr %idout\0A ret void\0A}\0A\00" @.str4181 = private unnamed_addr constant [61 x i8] c"define i32 @lp_noise_cellular2(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str4182 = private unnamed_addr constant [116 x i8] c" %d2 = alloca i32\0A %id = alloca i32\0A call void @lp_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\0A\00" @.str4183 = private unnamed_addr constant [77 x i8] c" %v = load i32, ptr %d2\0A %r = call i32 @lp_fx_sqrt(i32 %v)\0A ret i32 %r\0A}\0A\00" @.str4184 = private unnamed_addr constant [64 x i8] c"define i32 @lp_noise_cellular2_id(i32 %x, i32 %y, i32 %seed) {\0A\00" @.str4185 = private unnamed_addr constant [116 x i8] c" %d2 = alloca i32\0A %id = alloca i32\0A call void @lp_noise_cell_scan(i32 %x, i32 %y, i32 %seed, ptr %d2, ptr %id)\0A\00" @.str4186 = private unnamed_addr constant [41 x i8] c" %r = load i32, ptr %id\0A ret i32 %r\0A}\0A\00" @.str4187 = private unnamed_addr constant [6 x i8] c"trace\00" @.str4188 = private unnamed_addr constant [6 x i8] c"debug\00" @.str4189 = private unnamed_addr constant [5 x i8] c"info\00" @.str4190 = private unnamed_addr constant [5 x i8] c"warn\00" @.str4191 = private unnamed_addr constant [6 x i8] c"error\00" @.str4192 = private unnamed_addr constant [10 x i8] c"set_level\00" @.str4193 = private unnamed_addr constant [6 x i8] c"level\00" @.str4194 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str4195 = private unnamed_addr constant [4 x i8] c"i64\00" @.str4196 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" @.str4197 = private unnamed_addr constant [2 x i8] c")\00" @.str4198 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str4199 = private unnamed_addr constant [2 x i8] c")\00" @.str4200 = private unnamed_addr constant [10 x i8] c"set_level\00" @.str4201 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6144: index out of range: \00" @.str4202 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str4203 = private unnamed_addr constant [20 x i8] c", ptr @L_log_level\0A\00" @.str4204 = private unnamed_addr constant [2 x i8] c"0\00" @.str4205 = private unnamed_addr constant [5 x i8] c"void\00" @.str4206 = private unnamed_addr constant [6 x i8] c"level\00" @.str4207 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_log_level\00" @.str4208 = private unnamed_addr constant [4 x i8] c"int\00" @.str4209 = private unnamed_addr constant [2 x i8] c"2\00" @.str4210 = private unnamed_addr constant [8 x i8] c"[INFO] \00" @.str4211 = private unnamed_addr constant [6 x i8] c"trace\00" @.str4212 = private unnamed_addr constant [2 x i8] c"0\00" @.str4213 = private unnamed_addr constant [9 x i8] c"[TRACE] \00" @.str4214 = private unnamed_addr constant [6 x i8] c"debug\00" @.str4215 = private unnamed_addr constant [2 x i8] c"1\00" @.str4216 = private unnamed_addr constant [9 x i8] c"[DEBUG] \00" @.str4217 = private unnamed_addr constant [5 x i8] c"warn\00" @.str4218 = private unnamed_addr constant [2 x i8] c"3\00" @.str4219 = private unnamed_addr constant [8 x i8] c"[WARN] \00" @.str4220 = private unnamed_addr constant [6 x i8] c"error\00" @.str4221 = private unnamed_addr constant [2 x i8] c"4\00" @.str4222 = private unnamed_addr constant [9 x i8] c"[ERROR] \00" @.str4223 = private unnamed_addr constant [7 x i8] c"string\00" @.str4224 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6160: index out of range: \00" @.str4225 = private unnamed_addr constant [2 x i8] c"+\00" @.str4226 = private unnamed_addr constant [7 x i8] c"string\00" @.str4227 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6164: index out of range: \00" @.str4228 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6165: index out of range: \00" @.str4229 = private unnamed_addr constant [2 x i8] c"+\00" @.str4230 = private unnamed_addr constant [2 x i8] c" \00" @.str4231 = private unnamed_addr constant [7 x i8] c"string\00" @.str4232 = private unnamed_addr constant [2 x i8] c"+\00" @.str4233 = private unnamed_addr constant [7 x i8] c"string\00" @.str4234 = private unnamed_addr constant [2 x i8] c"+\00" @.str4235 = private unnamed_addr constant [2 x i8] c"=\00" @.str4236 = private unnamed_addr constant [7 x i8] c"string\00" @.str4237 = private unnamed_addr constant [2 x i8] c"+\00" @.str4238 = private unnamed_addr constant [7 x i8] c"string\00" @.str4239 = private unnamed_addr constant [30 x i8] c" call void @lp_log_emit(i32 \00" @.str4240 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4241 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str4242 = private unnamed_addr constant [2 x i8] c"0\00" @.str4243 = private unnamed_addr constant [5 x i8] c"void\00" @.str4244 = private unnamed_addr constant [29 x i8] c"@L_log_level = global i32 0\0A\00" @.str4245 = private unnamed_addr constant [61 x i8] c"@.log_nl = private unnamed_addr constant [2 x i8] c\22\5C0A\5C00\22\0A\00" @.str4246 = private unnamed_addr constant [46 x i8] c"define void @lp_log_emit(i32 %lvl, ptr %s) {\0A\00" @.str4247 = private unnamed_addr constant [114 x i8] c"entry:\0A %th = load i32, ptr @L_log_level\0A %skip = icmp slt i32 %lvl, %th\0A br i1 %skip, label %done, label %go\0A\00" @.str4248 = private unnamed_addr constant [12 x i8] c"go:\0A %e = \00" @.str4249 = private unnamed_addr constant [34 x i8] c"\0A %n = call i64 @strlen(ptr %s)\0A\00" @.str4250 = private unnamed_addr constant [134 x i8] c" %w = call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %e)\0A %w2 = call i64 @fwrite(ptr @.log_nl, i64 1, i64 1, ptr %e)\0A br label %done\0A\00" @.str4251 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" @.str4252 = private unnamed_addr constant [5 x i8] c"args\00" @.str4253 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str4254 = private unnamed_addr constant [4 x i8] c"arg\00" @.str4255 = private unnamed_addr constant [4 x i8] c"env\00" @.str4256 = private unnamed_addr constant [7 x i8] c"env_or\00" @.str4257 = private unnamed_addr constant [8 x i8] c"has_env\00" @.str4258 = private unnamed_addr constant [8 x i8] c"set_env\00" @.str4259 = private unnamed_addr constant [10 x i8] c"unset_env\00" @.str4260 = private unnamed_addr constant [5 x i8] c"exit\00" @.str4261 = private unnamed_addr constant [4 x i8] c"pid\00" @.str4262 = private unnamed_addr constant [9 x i8] c"platform\00" @.str4263 = private unnamed_addr constant [5 x i8] c"arch\00" @.str4264 = private unnamed_addr constant [13 x i8] c"stdout_write\00" @.str4265 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str4266 = private unnamed_addr constant [9 x i8] c"save_dir\00" @.str4267 = private unnamed_addr constant [11 x i8] c"config_dir\00" @.str4268 = private unnamed_addr constant [10 x i8] c"cache_dir\00" @.str4269 = private unnamed_addr constant [9 x i8] c"temp_dir\00" @.str4270 = private unnamed_addr constant [10 x i8] c"arg_count\00" @.str4271 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00" @.str4272 = private unnamed_addr constant [4 x i8] c"int\00" @.str4273 = private unnamed_addr constant [4 x i8] c"arg\00" @.str4274 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6238: index out of range: \00" @.str4275 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00" @.str4276 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00" @.str4277 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4278 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str4279 = private unnamed_addr constant [7 x i8] c"string\00" @.str4280 = private unnamed_addr constant [4 x i8] c"pid\00" @.str4281 = private unnamed_addr constant [19 x i8] c"call i32 @getpid()\00" @.str4282 = private unnamed_addr constant [4 x i8] c"int\00" @.str4283 = private unnamed_addr constant [5 x i8] c"exit\00" @.str4284 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6245: index out of range: \00" @.str4285 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00" @.str4286 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str4287 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00" @.str4288 = private unnamed_addr constant [2 x i8] c"0\00" @.str4289 = private unnamed_addr constant [5 x i8] c"void\00" @.str4290 = private unnamed_addr constant [4 x i8] c"env\00" @.str4291 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6252: index out of range: \00" @.str4292 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str4293 = private unnamed_addr constant [2 x i8] c")\00" @.str4294 = private unnamed_addr constant [7 x i8] c"string\00" @.str4295 = private unnamed_addr constant [8 x i8] c"has_env\00" @.str4296 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6256: index out of range: \00" @.str4297 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00" @.str4298 = private unnamed_addr constant [2 x i8] c")\00" @.str4299 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str4300 = private unnamed_addr constant [7 x i8] c", null\00" @.str4301 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str4302 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str4303 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4304 = private unnamed_addr constant [13 x i8] c"stdout_write\00" @.str4305 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str4306 = private unnamed_addr constant [13 x i8] c"stderr_write\00" @.str4307 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6264: index out of range: \00" @.str4308 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str4309 = private unnamed_addr constant [2 x i8] c")\00" @.str4310 = private unnamed_addr constant [24 x i8] c" call i64 @fwrite(ptr \00" @.str4311 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str4312 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4313 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str4314 = private unnamed_addr constant [2 x i8] c"0\00" @.str4315 = private unnamed_addr constant [5 x i8] c"void\00" @.str4316 = private unnamed_addr constant [5 x i8] c"args\00" @.str4317 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_args()\00" @.str4318 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str4319 = private unnamed_addr constant [7 x i8] c"env_or\00" @.str4320 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6274: index out of range: \00" @.str4321 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6274: index out of range: \00" @.str4322 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_getenv_or(ptr \00" @.str4323 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4324 = private unnamed_addr constant [2 x i8] c")\00" @.str4325 = private unnamed_addr constant [7 x i8] c"string\00" @.str4326 = private unnamed_addr constant [8 x i8] c"set_env\00" @.str4327 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6278: index out of range: \00" @.str4328 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6278: index out of range: \00" @.str4329 = private unnamed_addr constant [22 x i8] c"call i32 @setenv(ptr \00" @.str4330 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4331 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str4332 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str4333 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4334 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str4335 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str4336 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4337 = private unnamed_addr constant [10 x i8] c"unset_env\00" @.str4338 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6284: index out of range: \00" @.str4339 = private unnamed_addr constant [24 x i8] c"call i32 @unsetenv(ptr \00" @.str4340 = private unnamed_addr constant [2 x i8] c")\00" @.str4341 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str4342 = private unnamed_addr constant [4 x i8] c", 0\00" @.str4343 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str4344 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str4345 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4346 = private unnamed_addr constant [9 x i8] c"platform\00" @.str4347 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_platform()\00" @.str4348 = private unnamed_addr constant [7 x i8] c"string\00" @.str4349 = private unnamed_addr constant [5 x i8] c"arch\00" @.str4350 = private unnamed_addr constant [23 x i8] c"call ptr @lp_os_arch()\00" @.str4351 = private unnamed_addr constant [7 x i8] c"string\00" @.str4352 = private unnamed_addr constant [9 x i8] c"save_dir\00" @.str4353 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6292: index out of range: \00" @.str4354 = private unnamed_addr constant [30 x i8] c"call ptr @lp_os_save_dir(ptr \00" @.str4355 = private unnamed_addr constant [2 x i8] c")\00" @.str4356 = private unnamed_addr constant [7 x i8] c"string\00" @.str4357 = private unnamed_addr constant [11 x i8] c"config_dir\00" @.str4358 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6296: index out of range: \00" @.str4359 = private unnamed_addr constant [32 x i8] c"call ptr @lp_os_config_dir(ptr \00" @.str4360 = private unnamed_addr constant [2 x i8] c")\00" @.str4361 = private unnamed_addr constant [7 x i8] c"string\00" @.str4362 = private unnamed_addr constant [10 x i8] c"cache_dir\00" @.str4363 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6300: index out of range: \00" @.str4364 = private unnamed_addr constant [31 x i8] c"call ptr @lp_os_cache_dir(ptr \00" @.str4365 = private unnamed_addr constant [2 x i8] c")\00" @.str4366 = private unnamed_addr constant [7 x i8] c"string\00" @.str4367 = private unnamed_addr constant [27 x i8] c"call ptr @lp_os_temp_dir()\00" @.str4368 = private unnamed_addr constant [7 x i8] c"string\00" @.str4369 = private unnamed_addr constant [36 x i8] c"declare i32 @setenv(ptr, ptr, i32)\0A\00" @.str4370 = private unnamed_addr constant [28 x i8] c"declare i32 @unsetenv(ptr)\0A\00" @.str4371 = private unnamed_addr constant [25 x i8] c"declare i32 @uname(ptr)\0A\00" @.str4372 = private unnamed_addr constant [5 x i8] c"HOME\00" @.str4373 = private unnamed_addr constant [2 x i8] c".\00" @.str4374 = private unnamed_addr constant [30 x i8] c"/Library/Application Support/\00" @.str4375 = private unnamed_addr constant [17 x i8] c"/Library/Caches/\00" @.str4376 = private unnamed_addr constant [7 x i8] c"TMPDIR\00" @.str4377 = private unnamed_addr constant [5 x i8] c"/tmp\00" @.str4378 = private unnamed_addr constant [7 x i8] c"Darwin\00" @.str4379 = private unnamed_addr constant [14 x i8] c"XDG_DATA_HOME\00" @.str4380 = private unnamed_addr constant [16 x i8] c"XDG_CONFIG_HOME\00" @.str4381 = private unnamed_addr constant [15 x i8] c"XDG_CACHE_HOME\00" @.str4382 = private unnamed_addr constant [15 x i8] c"/.local/share/\00" @.str4383 = private unnamed_addr constant [10 x i8] c"/.config/\00" @.str4384 = private unnamed_addr constant [9 x i8] c"/.cache/\00" @.str4385 = private unnamed_addr constant [2 x i8] c"/\00" @.str4386 = private unnamed_addr constant [6 x i8] c"macos\00" @.str4387 = private unnamed_addr constant [6 x i8] c"Linux\00" @.str4388 = private unnamed_addr constant [6 x i8] c"linux\00" @.str4389 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_getenv_or(ptr %name, ptr %fb) {\0A\00" @.str4390 = private unnamed_addr constant [106 x i8] c"entry:\0A %r = call ptr @getenv(ptr %name)\0A %z = icmp eq ptr %r, null\0A br i1 %z, label %use, label %got\0A\00" @.str4391 = private unnamed_addr constant [20 x i8] c"use:\0A ret ptr %fb\0A\00" @.str4392 = private unnamed_addr constant [21 x i8] c"got:\0A ret ptr %r\0A}\0A\00" @.str4393 = private unnamed_addr constant [43 x i8] c"define ptr @lp_os_join2(ptr %a, ptr %b) {\0A\00" @.str4394 = private unnamed_addr constant [74 x i8] c"entry:\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A\00" @.str4395 = private unnamed_addr constant [86 x i8] c" %sum = add i64 %la, %lb\0A %tot = add i64 %sum, 1\0A %m = call ptr @malloc(i64 %tot)\0A\00" @.str4396 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A\00" @.str4397 = private unnamed_addr constant [88 x i8] c" %m2 = getelementptr i8, ptr %m, i64 %la\0A call ptr @memcpy(ptr %m2, ptr %b, i64 %lb)\0A\00" @.str4398 = private unnamed_addr constant [83 x i8] c" %end = getelementptr i8, ptr %m, i64 %sum\0A store i8 0, ptr %end\0A ret ptr %m\0A}\0A\00" @.str4399 = private unnamed_addr constant [51 x i8] c"define ptr @lp_os_join3(ptr %a, ptr %b, ptr %c) {\0A\00" @.str4400 = private unnamed_addr constant [115 x i8] c"entry:\0A %ab = call ptr @lp_os_join2(ptr %a, ptr %b)\0A %r = call ptr @lp_os_join2(ptr %ab, ptr %c)\0A ret ptr %r\0A}\0A\00" @.str4401 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str4402 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4403 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4404 = private unnamed_addr constant [39 x i8] c"@L_os_darwin = internal global i32 -1\0A\00" @.str4405 = private unnamed_addr constant [33 x i8] c"define i32 @lp_os_is_darwin() {\0A\00" @.str4406 = private unnamed_addr constant [114 x i8] c"entry:\0A %c = load i32, ptr @L_os_darwin\0A %known = icmp sge i32 %c, 0\0A br i1 %known, label %done, label %probe\0A\00" @.str4407 = private unnamed_addr constant [20 x i8] c"done:\0A ret i32 %c\0A\00" @.str4408 = private unnamed_addr constant [72 x i8] c"probe:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str4409 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" @.str4410 = private unnamed_addr constant [38 x i8] c", i64 6)\0A %isd = icmp eq i32 %cd, 0\0A\00" @.str4411 = private unnamed_addr constant [113 x i8] c" %r = select i1 %isd, i32 1, i32 0\0A call void @free(ptr %buf)\0A store i32 %r, ptr @L_os_darwin\0A ret i32 %r\0A}\0A\00" @.str4412 = private unnamed_addr constant [45 x i8] c"define ptr @lp_os_xdg(ptr %var, ptr %rel) {\0A\00" @.str4413 = private unnamed_addr constant [106 x i8] c"entry:\0A %v = call ptr @getenv(ptr %var)\0A %z = icmp eq ptr %v, null\0A br i1 %z, label %dflt, label %chk\0A\00" @.str4414 = private unnamed_addr constant [99 x i8] c"chk:\0A %c0 = load i8, ptr %v\0A %empty = icmp eq i8 %c0, 0\0A br i1 %empty, label %dflt, label %use\0A\00" @.str4415 = private unnamed_addr constant [47 x i8] c"use:\0A %u = call ptr @lp_os_join2(ptr %v, ptr \00" @.str4416 = private unnamed_addr constant [16 x i8] c")\0A ret ptr %u\0A\00" @.str4417 = private unnamed_addr constant [99 x i8] c"dflt:\0A %h = call ptr @lp_os_home()\0A %d = call ptr @lp_os_join2(ptr %h, ptr %rel)\0A ret ptr %d\0A}\0A\00" @.str4418 = private unnamed_addr constant [67 x i8] c"define ptr @lp_os_known(ptr %app, ptr %mac, ptr %var, ptr %rel) {\0A\00" @.str4419 = private unnamed_addr constant [103 x i8] c"entry:\0A %d = call i32 @lp_os_is_darwin()\0A %isd = icmp ne i32 %d, 0\0A br i1 %isd, label %m, label %x\0A\00" @.str4420 = private unnamed_addr constant [106 x i8] c"m:\0A %h = call ptr @lp_os_home()\0A %r1 = call ptr @lp_os_join3(ptr %h, ptr %mac, ptr %app)\0A ret ptr %r1\0A\00" @.str4421 = private unnamed_addr constant [115 x i8] c"x:\0A %b = call ptr @lp_os_xdg(ptr %var, ptr %rel)\0A %r2 = call ptr @lp_os_join2(ptr %b, ptr %app)\0A ret ptr %r2\0A}\0A\00" @.str4422 = private unnamed_addr constant [83 x i8] c"define ptr @lp_os_save_dir(ptr %app) {\0A %r = call ptr @lp_os_known(ptr %app, ptr \00" @.str4423 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4424 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4425 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4426 = private unnamed_addr constant [85 x i8] c"define ptr @lp_os_config_dir(ptr %app) {\0A %r = call ptr @lp_os_known(ptr %app, ptr \00" @.str4427 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4428 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4429 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4430 = private unnamed_addr constant [84 x i8] c"define ptr @lp_os_cache_dir(ptr %app) {\0A %r = call ptr @lp_os_known(ptr %app, ptr \00" @.str4431 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4432 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4433 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4434 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str4435 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4436 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str4437 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" @.str4438 = private unnamed_addr constant [66 x i8] c"entry:\0A %c = load i32, ptr @L_argc\0A %v = load ptr, ptr @L_argv\0A\00" @.str4439 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00" @.str4440 = private unnamed_addr constant [86 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A store ptr %v, ptr %d0\0A\00" @.str4441 = private unnamed_addr constant [86 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A store i32 %c, ptr %d1\0A\00" @.str4442 = private unnamed_addr constant [86 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2\0A store i32 %c, ptr %d2\0A\00" @.str4443 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" @.str4444 = private unnamed_addr constant [32 x i8] c"define ptr @lp_os_platform() {\0A\00" @.str4445 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str4446 = private unnamed_addr constant [41 x i8] c" %cd = call i32 @strncmp(ptr %buf, ptr \00" @.str4447 = private unnamed_addr constant [76 x i8] c", i64 6)\0A %isd = icmp eq i32 %cd, 0\0A br i1 %isd, label %mac, label %chkl\0A\00" @.str4448 = private unnamed_addr constant [16 x i8] c"mac:\0A ret ptr \00" @.str4449 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4450 = private unnamed_addr constant [47 x i8] c"chkl:\0A %cl = call i32 @strncmp(ptr %buf, ptr \00" @.str4451 = private unnamed_addr constant [77 x i8] c", i64 5)\0A %isl = icmp eq i32 %cl, 0\0A br i1 %isl, label %lin, label %other\0A\00" @.str4452 = private unnamed_addr constant [16 x i8] c"lin:\0A ret ptr \00" @.str4453 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str4454 = private unnamed_addr constant [25 x i8] c"other:\0A ret ptr %buf\0A}\0A\00" @.str4455 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_arch() {\0A\00" @.str4456 = private unnamed_addr constant [72 x i8] c"entry:\0A %buf = call ptr @malloc(i64 8192)\0A call i32 @uname(ptr %buf)\0A\00" @.str4457 = private unnamed_addr constant [60 x i8] c" %m = getelementptr i8, ptr %buf, i64 1024\0A ret ptr %m\0A}\0A\00" @.str4458 = private unnamed_addr constant [4 x i8] c"len\00" @.str4459 = private unnamed_addr constant [9 x i8] c"byte_len\00" @.str4460 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" @.str4461 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str4462 = private unnamed_addr constant [6 x i8] c"chars\00" @.str4463 = private unnamed_addr constant [6 x i8] c"upper\00" @.str4464 = private unnamed_addr constant [6 x i8] c"lower\00" @.str4465 = private unnamed_addr constant [9 x i8] c"truncate\00" @.str4466 = private unnamed_addr constant [13 x i8] c"grapheme_len\00" @.str4467 = private unnamed_addr constant [9 x i8] c"byte_len\00" @.str4468 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6474: index out of range: \00" @.str4469 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str4470 = private unnamed_addr constant [2 x i8] c")\00" @.str4471 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str4472 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str4473 = private unnamed_addr constant [4 x i8] c"int\00" @.str4474 = private unnamed_addr constant [4 x i8] c"len\00" @.str4475 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6479: index out of range: \00" @.str4476 = private unnamed_addr constant [26 x i8] c"call i32 @lp_uni_len(ptr \00" @.str4477 = private unnamed_addr constant [2 x i8] c")\00" @.str4478 = private unnamed_addr constant [4 x i8] c"int\00" @.str4479 = private unnamed_addr constant [14 x i8] c"is_valid_utf8\00" @.str4480 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6483: index out of range: \00" @.str4481 = private unnamed_addr constant [28 x i8] c"call i32 @lp_uni_valid(ptr \00" @.str4482 = private unnamed_addr constant [2 x i8] c")\00" @.str4483 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4484 = private unnamed_addr constant [8 x i8] c"char_at\00" @.str4485 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6487: index out of range: \00" @.str4486 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6487: index out of range: \00" @.str4487 = private unnamed_addr constant [30 x i8] c"call i32 @lp_uni_char_at(ptr \00" @.str4488 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4489 = private unnamed_addr constant [2 x i8] c")\00" @.str4490 = private unnamed_addr constant [4 x i8] c"int\00" @.str4491 = private unnamed_addr constant [6 x i8] c"chars\00" @.str4492 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6491: index out of range: \00" @.str4493 = private unnamed_addr constant [28 x i8] c"call ptr @lp_uni_chars(ptr \00" @.str4494 = private unnamed_addr constant [2 x i8] c")\00" @.str4495 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str4496 = private unnamed_addr constant [6 x i8] c"upper\00" @.str4497 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6495: index out of range: \00" @.str4498 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" @.str4499 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str4500 = private unnamed_addr constant [7 x i8] c"string\00" @.str4501 = private unnamed_addr constant [6 x i8] c"lower\00" @.str4502 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6499: index out of range: \00" @.str4503 = private unnamed_addr constant [27 x i8] c"call ptr @lp_uni_case(ptr \00" @.str4504 = private unnamed_addr constant [9 x i8] c", i32 0)\00" @.str4505 = private unnamed_addr constant [7 x i8] c"string\00" @.str4506 = private unnamed_addr constant [9 x i8] c"truncate\00" @.str4507 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6503: index out of range: \00" @.str4508 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6503: index out of range: \00" @.str4509 = private unnamed_addr constant [31 x i8] c"call ptr @lp_uni_truncate(ptr \00" @.str4510 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str4511 = private unnamed_addr constant [2 x i8] c")\00" @.str4512 = private unnamed_addr constant [7 x i8] c"string\00" @.str4513 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6507: index out of range: \00" @.str4514 = private unnamed_addr constant [35 x i8] c"call i32 @lp_uni_grapheme_len(ptr \00" @.str4515 = private unnamed_addr constant [2 x i8] c")\00" @.str4516 = private unnamed_addr constant [4 x i8] c"int\00" @.str4517 = private unnamed_addr constant [34 x i8] c"define i32 @lp_uni_len(ptr %s) {\0A\00" @.str4518 = private unnamed_addr constant [107 x i8] c"entry:\0A %ip = alloca i32\0A %np = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %np\0A br label %lp\0A\00" @.str4519 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" @.str4520 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4521 = private unnamed_addr constant [99 x i8] c"go:\0A %m = and i32 %c, 192\0A %cont = icmp eq i32 %m, 128\0A br i1 %cont, label %skip, label %count\0A\00" @.str4522 = private unnamed_addr constant [97 x i8] c"count:\0A %n = load i32, ptr %np\0A %n1 = add i32 %n, 1\0A store i32 %n1, ptr %np\0A br label %skip\0A\00" @.str4523 = private unnamed_addr constant [69 x i8] c"skip:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" @.str4524 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" @.str4525 = private unnamed_addr constant [57 x i8] c"define i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cpout) {\0A\00" @.str4526 = private unnamed_addr constant [101 x i8] c"entry:\0A %p0 = getelementptr i8, ptr %s, i32 %i\0A %b0 = load i8, ptr %p0\0A %c0 = zext i8 %b0 to i32\0A\00" @.str4527 = private unnamed_addr constant [69 x i8] c" %a1 = icmp ult i32 %c0, 128\0A br i1 %a1, label %one, label %multi\0A\00" @.str4528 = private unnamed_addr constant [70 x i8] c"one:\0A store i32 %c0, ptr %cpout\0A %oi = add i32 %i, 1\0A ret i32 %oi\0A\00" @.str4529 = private unnamed_addr constant [99 x i8] c"multi:\0A %h2 = and i32 %c0, 224\0A %is2 = icmp eq i32 %h2, 192\0A br i1 %is2, label %two, label %c3\0A\00" @.str4530 = private unnamed_addr constant [98 x i8] c"c3:\0A %h3 = and i32 %c0, 240\0A %is3 = icmp eq i32 %h3, 224\0A br i1 %is3, label %three, label %c4\0A\00" @.str4531 = private unnamed_addr constant [98 x i8] c"c4:\0A %h4 = and i32 %c0, 248\0A %is4 = icmp eq i32 %h4, 240\0A br i1 %is4, label %four, label %bad\0A\00" @.str4532 = private unnamed_addr constant [70 x i8] c"bad:\0A store i32 %c0, ptr %cpout\0A %bi = add i32 %i, 1\0A ret i32 %bi\0A\00" @.str4533 = private unnamed_addr constant [128 x i8] c"two:\0A %t1i = add i32 %i, 1\0A %t1p = getelementptr i8, ptr %s, i32 %t1i\0A %t1b = load i8, ptr %t1p\0A %t1 = zext i8 %t1b to i32\0A\00" @.str4534 = private unnamed_addr constant [67 x i8] c" %t1z = icmp eq i32 %t1, 0\0A br i1 %t1z, label %tbad, label %tok\0A\00" @.str4535 = private unnamed_addr constant [73 x i8] c"tbad:\0A store i32 %c0, ptr %cpout\0A %tbi = add i32 %i, 1\0A ret i32 %tbi\0A\00" @.str4536 = private unnamed_addr constant [169 x i8] c"tok:\0A %tm = and i32 %c0, 31\0A %tsh = shl i32 %tm, 6\0A %tl = and i32 %t1, 63\0A %tcp = or i32 %tsh, %tl\0A store i32 %tcp, ptr %cpout\0A %ti = add i32 %i, 2\0A ret i32 %ti\0A\00" @.str4537 = private unnamed_addr constant [130 x i8] c"three:\0A %r1i = add i32 %i, 1\0A %r1p = getelementptr i8, ptr %s, i32 %r1i\0A %r1b = load i8, ptr %r1p\0A %r1 = zext i8 %r1b to i32\0A\00" @.str4538 = private unnamed_addr constant [67 x i8] c" %r1z = icmp eq i32 %r1, 0\0A br i1 %r1z, label %rbad, label %rc2\0A\00" @.str4539 = private unnamed_addr constant [73 x i8] c"rbad:\0A store i32 %c0, ptr %cpout\0A %rbi = add i32 %i, 1\0A ret i32 %rbi\0A\00" @.str4540 = private unnamed_addr constant [128 x i8] c"rc2:\0A %r2i = add i32 %i, 2\0A %r2p = getelementptr i8, ptr %s, i32 %r2i\0A %r2b = load i8, ptr %r2p\0A %r2 = zext i8 %r2b to i32\0A\00" @.str4541 = private unnamed_addr constant [67 x i8] c" %r2z = icmp eq i32 %r2, 0\0A br i1 %r2z, label %rbad, label %rok\0A\00" @.str4542 = private unnamed_addr constant [131 x i8] c"rok:\0A %rm = and i32 %c0, 15\0A %rsh = shl i32 %rm, 12\0A %ram = and i32 %r1, 63\0A %rash = shl i32 %ram, 6\0A %rbm = and i32 %r2, 63\0A\00" @.str4543 = private unnamed_addr constant [121 x i8] c" %rp1 = or i32 %rsh, %rash\0A %rcp = or i32 %rp1, %rbm\0A store i32 %rcp, ptr %cpout\0A %ri = add i32 %i, 3\0A ret i32 %ri\0A\00" @.str4544 = private unnamed_addr constant [129 x i8] c"four:\0A %f1i = add i32 %i, 1\0A %f1p = getelementptr i8, ptr %s, i32 %f1i\0A %f1b = load i8, ptr %f1p\0A %f1 = zext i8 %f1b to i32\0A\00" @.str4545 = private unnamed_addr constant [67 x i8] c" %f1z = icmp eq i32 %f1, 0\0A br i1 %f1z, label %fbad, label %fc2\0A\00" @.str4546 = private unnamed_addr constant [73 x i8] c"fbad:\0A store i32 %c0, ptr %cpout\0A %fbi = add i32 %i, 1\0A ret i32 %fbi\0A\00" @.str4547 = private unnamed_addr constant [128 x i8] c"fc2:\0A %f2i = add i32 %i, 2\0A %f2p = getelementptr i8, ptr %s, i32 %f2i\0A %f2b = load i8, ptr %f2p\0A %f2 = zext i8 %f2b to i32\0A\00" @.str4548 = private unnamed_addr constant [67 x i8] c" %f2z = icmp eq i32 %f2, 0\0A br i1 %f2z, label %fbad, label %fc3\0A\00" @.str4549 = private unnamed_addr constant [128 x i8] c"fc3:\0A %f3i = add i32 %i, 3\0A %f3p = getelementptr i8, ptr %s, i32 %f3i\0A %f3b = load i8, ptr %f3p\0A %f3 = zext i8 %f3b to i32\0A\00" @.str4550 = private unnamed_addr constant [67 x i8] c" %f3z = icmp eq i32 %f3, 0\0A br i1 %f3z, label %fbad, label %fok\0A\00" @.str4551 = private unnamed_addr constant [106 x i8] c"fok:\0A %fm = and i32 %c0, 7\0A %fsh = shl i32 %fm, 18\0A %fam = and i32 %f1, 63\0A %fash = shl i32 %fam, 12\0A\00" @.str4552 = private unnamed_addr constant [77 x i8] c" %fbm = and i32 %f2, 63\0A %fbsh = shl i32 %fbm, 6\0A %fcm = and i32 %f3, 63\0A\00" @.str4553 = private unnamed_addr constant [151 x i8] c" %fp1 = or i32 %fsh, %fash\0A %fp2 = or i32 %fp1, %fbsh\0A %fcp = or i32 %fp2, %fcm\0A store i32 %fcp, ptr %cpout\0A %fi = add i32 %i, 4\0A ret i32 %fi\0A}\0A\00" @.str4554 = private unnamed_addr constant [36 x i8] c"define i32 @lp_uni_valid(ptr %s) {\0A\00" @.str4555 = private unnamed_addr constant [65 x i8] c"entry:\0A %ip = alloca i32\0A store i32 0, ptr %ip\0A br label %lp\0A\00" @.str4556 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" @.str4557 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %good, label %g\0A\00" @.str4558 = private unnamed_addr constant [69 x i8] c"g:\0A %a1 = icmp ult i32 %c, 128\0A br i1 %a1, label %adv1, label %m2\0A\00" @.str4559 = private unnamed_addr constant [69 x i8] c"adv1:\0A %n1 = add i32 %i, 1\0A store i32 %n1, ptr %ip\0A br label %lp\0A\00" @.str4560 = private unnamed_addr constant [95 x i8] c"m2:\0A %h2 = and i32 %c, 224\0A %is2 = icmp eq i32 %h2, 192\0A br i1 %is2, label %do2, label %m3\0A\00" @.str4561 = private unnamed_addr constant [95 x i8] c"m3:\0A %h3 = and i32 %c, 240\0A %is3 = icmp eq i32 %h3, 224\0A br i1 %is3, label %do3, label %m4\0A\00" @.str4562 = private unnamed_addr constant [96 x i8] c"m4:\0A %h4 = and i32 %c, 248\0A %is4 = icmp eq i32 %h4, 240\0A br i1 %is4, label %do4, label %bad\0A\00" @.str4563 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str4564 = private unnamed_addr constant [128 x i8] c"do2:\0A %v1i = add i32 %i, 1\0A %v1p = getelementptr i8, ptr %s, i32 %v1i\0A %v1b = load i8, ptr %v1p\0A %v1 = zext i8 %v1b to i32\0A\00" @.str4565 = private unnamed_addr constant [98 x i8] c" %v1m = and i32 %v1, 192\0A %v1ok = icmp eq i32 %v1m, 128\0A br i1 %v1ok, label %do2b, label %bad\0A\00" @.str4566 = private unnamed_addr constant [108 x i8] c"do2b:\0A %q2m = and i32 %c, 31\0A %q2s = shl i32 %q2m, 6\0A %q2l = and i32 %v1, 63\0A %cp2 = or i32 %q2s, %q2l\0A\00" @.str4567 = private unnamed_addr constant [71 x i8] c" %ov2 = icmp ult i32 %cp2, 128\0A br i1 %ov2, label %bad, label %adv2\0A\00" @.str4568 = private unnamed_addr constant [69 x i8] c"adv2:\0A %n2 = add i32 %i, 2\0A store i32 %n2, ptr %ip\0A br label %lp\0A\00" @.str4569 = private unnamed_addr constant [128 x i8] c"do3:\0A %w1i = add i32 %i, 1\0A %w1p = getelementptr i8, ptr %s, i32 %w1i\0A %w1b = load i8, ptr %w1p\0A %w1 = zext i8 %w1b to i32\0A\00" @.str4570 = private unnamed_addr constant [98 x i8] c" %w1m = and i32 %w1, 192\0A %w1ok = icmp eq i32 %w1m, 128\0A br i1 %w1ok, label %do3b, label %bad\0A\00" @.str4571 = private unnamed_addr constant [129 x i8] c"do3b:\0A %w2i = add i32 %i, 2\0A %w2p = getelementptr i8, ptr %s, i32 %w2i\0A %w2b = load i8, ptr %w2p\0A %w2 = zext i8 %w2b to i32\0A\00" @.str4572 = private unnamed_addr constant [98 x i8] c" %w2m = and i32 %w2, 192\0A %w2ok = icmp eq i32 %w2m, 128\0A br i1 %w2ok, label %do3c, label %bad\0A\00" @.str4573 = private unnamed_addr constant [136 x i8] c"do3c:\0A %e3m = and i32 %c, 15\0A %e3s = shl i32 %e3m, 12\0A %e3am = and i32 %w1, 63\0A %e3as = shl i32 %e3am, 6\0A %e3bm = and i32 %w2, 63\0A\00" @.str4574 = private unnamed_addr constant [59 x i8] c" %cp3p = or i32 %e3s, %e3as\0A %cp3 = or i32 %cp3p, %e3bm\0A\00" @.str4575 = private unnamed_addr constant [72 x i8] c" %ov3 = icmp ult i32 %cp3, 2048\0A br i1 %ov3, label %bad, label %do3d\0A\00" @.str4576 = private unnamed_addr constant [138 x i8] c"do3d:\0A %sg1 = icmp uge i32 %cp3, 55296\0A %sg2 = icmp ule i32 %cp3, 57343\0A %sg = and i1 %sg1, %sg2\0A br i1 %sg, label %bad, label %adv3\0A\00" @.str4577 = private unnamed_addr constant [69 x i8] c"adv3:\0A %n3 = add i32 %i, 3\0A store i32 %n3, ptr %ip\0A br label %lp\0A\00" @.str4578 = private unnamed_addr constant [128 x i8] c"do4:\0A %x1i = add i32 %i, 1\0A %x1p = getelementptr i8, ptr %s, i32 %x1i\0A %x1b = load i8, ptr %x1p\0A %x1 = zext i8 %x1b to i32\0A\00" @.str4579 = private unnamed_addr constant [98 x i8] c" %x1m = and i32 %x1, 192\0A %x1ok = icmp eq i32 %x1m, 128\0A br i1 %x1ok, label %do4b, label %bad\0A\00" @.str4580 = private unnamed_addr constant [129 x i8] c"do4b:\0A %x2i = add i32 %i, 2\0A %x2p = getelementptr i8, ptr %s, i32 %x2i\0A %x2b = load i8, ptr %x2p\0A %x2 = zext i8 %x2b to i32\0A\00" @.str4581 = private unnamed_addr constant [98 x i8] c" %x2m = and i32 %x2, 192\0A %x2ok = icmp eq i32 %x2m, 128\0A br i1 %x2ok, label %do4c, label %bad\0A\00" @.str4582 = private unnamed_addr constant [129 x i8] c"do4c:\0A %x3i = add i32 %i, 3\0A %x3p = getelementptr i8, ptr %s, i32 %x3i\0A %x3b = load i8, ptr %x3p\0A %x3 = zext i8 %x3b to i32\0A\00" @.str4583 = private unnamed_addr constant [98 x i8] c" %x3m = and i32 %x3, 192\0A %x3ok = icmp eq i32 %x3m, 128\0A br i1 %x3ok, label %do4d, label %bad\0A\00" @.str4584 = private unnamed_addr constant [180 x i8] c"do4d:\0A %y0 = and i32 %c, 7\0A %y0s = shl i32 %y0, 18\0A %y1m = and i32 %x1, 63\0A %y1s = shl i32 %y1m, 12\0A %y2m = and i32 %x2, 63\0A %y2s = shl i32 %y2m, 6\0A %y3m = and i32 %x3, 63\0A\00" @.str4585 = private unnamed_addr constant [86 x i8] c" %cp4p = or i32 %y0s, %y1s\0A %cp4q = or i32 %cp4p, %y2s\0A %cp4 = or i32 %cp4q, %y3m\0A\00" @.str4586 = private unnamed_addr constant [73 x i8] c" %ov4 = icmp ult i32 %cp4, 65536\0A br i1 %ov4, label %bad, label %do4e\0A\00" @.str4587 = private unnamed_addr constant [81 x i8] c"do4e:\0A %hi4 = icmp ugt i32 %cp4, 1114111\0A br i1 %hi4, label %bad, label %adv4\0A\00" @.str4588 = private unnamed_addr constant [69 x i8] c"adv4:\0A %n4 = add i32 %i, 4\0A store i32 %n4, ptr %ip\0A br label %lp\0A\00" @.str4589 = private unnamed_addr constant [21 x i8] c"good:\0A ret i32 1\0A}\0A\00" @.str4590 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_upcp(i32 %c) {\0A\00" @.str4591 = private unnamed_addr constant [83 x i8] c" %la = icmp uge i32 %c, 97\0A %lb = icmp ule i32 %c, 122\0A %asc = and i1 %la, %lb\0A\00" @.str4592 = private unnamed_addr constant [135 x i8] c" %da = icmp uge i32 %c, 224\0A %db = icmp ule i32 %c, 254\0A %dd = icmp ne i32 %c, 247\0A %d1 = and i1 %da, %db\0A %d2 = and i1 %d1, %dd\0A\00" @.str4593 = private unnamed_addr constant [103 x i8] c" %map = or i1 %asc, %d2\0A %up = sub i32 %c, 32\0A %r = select i1 %map, i32 %up, i32 %c\0A ret i32 %r\0A}\0A\00" @.str4594 = private unnamed_addr constant [35 x i8] c"define i32 @lp_uni_locp(i32 %c) {\0A\00" @.str4595 = private unnamed_addr constant [82 x i8] c" %ua = icmp uge i32 %c, 65\0A %ub = icmp ule i32 %c, 90\0A %asc = and i1 %ua, %ub\0A\00" @.str4596 = private unnamed_addr constant [135 x i8] c" %da = icmp uge i32 %c, 192\0A %db = icmp ule i32 %c, 222\0A %dd = icmp ne i32 %c, 215\0A %d1 = and i1 %da, %db\0A %d2 = and i1 %d1, %dd\0A\00" @.str4597 = private unnamed_addr constant [103 x i8] c" %map = or i1 %asc, %d2\0A %lo = add i32 %c, 32\0A %r = select i1 %map, i32 %lo, i32 %c\0A ret i32 %r\0A}\0A\00" @.str4598 = private unnamed_addr constant [39 x i8] c"define i32 @lp_uni_cpwidth(i32 %cp) {\0A\00" @.str4599 = private unnamed_addr constant [91 x i8] c" %a = icmp ult i32 %cp, 128\0A %b = icmp ult i32 %cp, 2048\0A %c = icmp ult i32 %cp, 65536\0A\00" @.str4600 = private unnamed_addr constant [130 x i8] c" %w34 = select i1 %c, i32 3, i32 4\0A %w234 = select i1 %b, i32 2, i32 %w34\0A %w = select i1 %a, i32 1, i32 %w234\0A ret i32 %w\0A}\0A\00" @.str4601 = private unnamed_addr constant [58 x i8] c"define i32 @lp_uni_encode(ptr %dst, i32 %off, i32 %cp) {\0A\00" @.str4602 = private unnamed_addr constant [111 x i8] c"entry:\0A %w = call i32 @lp_uni_cpwidth(i32 %cp)\0A %is1 = icmp eq i32 %w, 1\0A br i1 %is1, label %e1, label %k2\0A\00" @.str4603 = private unnamed_addr constant [140 x i8] c"e1:\0A %d0 = getelementptr i8, ptr %dst, i32 %off\0A %b0 = trunc i32 %cp to i8\0A store i8 %b0, ptr %d0\0A %o1 = add i32 %off, 1\0A ret i32 %o1\0A\00" @.str4604 = private unnamed_addr constant [67 x i8] c"k2:\0A %is2 = icmp eq i32 %w, 2\0A br i1 %is2, label %e2, label %k3\0A\00" @.str4605 = private unnamed_addr constant [107 x i8] c"e2:\0A %hi2 = lshr i32 %cp, 6\0A %by0 = or i32 %hi2, 192\0A %lo2 = and i32 %cp, 63\0A %by1 = or i32 %lo2, 128\0A\00" @.str4606 = private unnamed_addr constant [103 x i8] c" %p20 = getelementptr i8, ptr %dst, i32 %off\0A %t20 = trunc i32 %by0 to i8\0A store i8 %t20, ptr %p20\0A\00" @.str4607 = private unnamed_addr constant [166 x i8] c" %o21 = add i32 %off, 1\0A %p21 = getelementptr i8, ptr %dst, i32 %o21\0A %t21 = trunc i32 %by1 to i8\0A store i8 %t21, ptr %p21\0A %o2 = add i32 %off, 2\0A ret i32 %o2\0A\00" @.str4608 = private unnamed_addr constant [67 x i8] c"k3:\0A %is3 = icmp eq i32 %w, 3\0A br i1 %is3, label %e3, label %e4\0A\00" @.str4609 = private unnamed_addr constant [190 x i8] c"e3:\0A %hi3 = lshr i32 %cp, 12\0A %by30 = or i32 %hi3, 224\0A %m31 = lshr i32 %cp, 6\0A %m31b = and i32 %m31, 63\0A %by31 = or i32 %m31b, 128\0A %m32 = and i32 %cp, 63\0A %by32 = or i32 %m32, 128\0A\00" @.str4610 = private unnamed_addr constant [104 x i8] c" %p30 = getelementptr i8, ptr %dst, i32 %off\0A %t30 = trunc i32 %by30 to i8\0A store i8 %t30, ptr %p30\0A\00" @.str4611 = private unnamed_addr constant [129 x i8] c" %o31 = add i32 %off, 1\0A %p31 = getelementptr i8, ptr %dst, i32 %o31\0A %t31 = trunc i32 %by31 to i8\0A store i8 %t31, ptr %p31\0A\00" @.str4612 = private unnamed_addr constant [167 x i8] c" %o32 = add i32 %off, 2\0A %p32 = getelementptr i8, ptr %dst, i32 %o32\0A %t32 = trunc i32 %by32 to i8\0A store i8 %t32, ptr %p32\0A %o3 = add i32 %off, 3\0A ret i32 %o3\0A\00" @.str4613 = private unnamed_addr constant [139 x i8] c"e4:\0A %hi4 = lshr i32 %cp, 18\0A %by40 = or i32 %hi4, 240\0A %m41 = lshr i32 %cp, 12\0A %m41b = and i32 %m41, 63\0A %by41 = or i32 %m41b, 128\0A\00" @.str4614 = private unnamed_addr constant [133 x i8] c" %m42 = lshr i32 %cp, 6\0A %m42b = and i32 %m42, 63\0A %by42 = or i32 %m42b, 128\0A %m43 = and i32 %cp, 63\0A %by43 = or i32 %m43, 128\0A\00" @.str4615 = private unnamed_addr constant [104 x i8] c" %p40 = getelementptr i8, ptr %dst, i32 %off\0A %t40 = trunc i32 %by40 to i8\0A store i8 %t40, ptr %p40\0A\00" @.str4616 = private unnamed_addr constant [129 x i8] c" %o41 = add i32 %off, 1\0A %p41 = getelementptr i8, ptr %dst, i32 %o41\0A %t41 = trunc i32 %by41 to i8\0A store i8 %t41, ptr %p41\0A\00" @.str4617 = private unnamed_addr constant [129 x i8] c" %o42 = add i32 %off, 2\0A %p42 = getelementptr i8, ptr %dst, i32 %o42\0A %t42 = trunc i32 %by42 to i8\0A store i8 %t42, ptr %p42\0A\00" @.str4618 = private unnamed_addr constant [169 x i8] c" %o43 = add i32 %off, 3\0A %p43 = getelementptr i8, ptr %dst, i32 %o43\0A %t43 = trunc i32 %by43 to i8\0A store i8 %t43, ptr %p43\0A %o4 = add i32 %off, 4\0A ret i32 %o4\0A}\0A\00" @.str4619 = private unnamed_addr constant [40 x i8] c"define i32 @lp_uni_is_extend(i32 %c) {\0A\00" @.str4620 = private unnamed_addr constant [60 x i8] c" %r1 = call i32 @lp_uni_inrange(i32 %c, i32 768, i32 879)\0A\00" @.str4621 = private unnamed_addr constant [62 x i8] c" %r2 = call i32 @lp_uni_inrange(i32 %c, i32 6832, i32 6911)\0A\00" @.str4622 = private unnamed_addr constant [62 x i8] c" %r3 = call i32 @lp_uni_inrange(i32 %c, i32 7616, i32 7679)\0A\00" @.str4623 = private unnamed_addr constant [62 x i8] c" %r4 = call i32 @lp_uni_inrange(i32 %c, i32 8400, i32 8447)\0A\00" @.str4624 = private unnamed_addr constant [64 x i8] c" %r5 = call i32 @lp_uni_inrange(i32 %c, i32 65056, i32 65071)\0A\00" @.str4625 = private unnamed_addr constant [64 x i8] c" %r6 = call i32 @lp_uni_inrange(i32 %c, i32 65024, i32 65039)\0A\00" @.str4626 = private unnamed_addr constant [66 x i8] c" %r7 = call i32 @lp_uni_inrange(i32 %c, i32 917760, i32 917999)\0A\00" @.str4627 = private unnamed_addr constant [161 x i8] c" %o1 = or i32 %r1, %r2\0A %o2 = or i32 %o1, %r3\0A %o3 = or i32 %o2, %r4\0A %o4 = or i32 %o3, %r5\0A %o5 = or i32 %o4, %r6\0A %o6 = or i32 %o5, %r7\0A ret i32 %o6\0A}\0A\00" @.str4628 = private unnamed_addr constant [56 x i8] c"define i32 @lp_uni_inrange(i32 %c, i32 %lo, i32 %hi) {\0A\00" @.str4629 = private unnamed_addr constant [118 x i8] c" %a = icmp uge i32 %c, %lo\0A %b = icmp ule i32 %c, %hi\0A %x = and i1 %a, %b\0A %r = zext i1 %x to i32\0A ret i32 %r\0A}\0A\00" @.str4630 = private unnamed_addr constant [48 x i8] c"define i32 @lp_uni_char_at(ptr %s, i32 %idx) {\0A\00" @.str4631 = private unnamed_addr constant [126 x i8] c"entry:\0A %ip = alloca i32\0A %kp = alloca i32\0A %cp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %kp\0A br label %lp\0A\00" @.str4632 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" @.str4633 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %none, label %go\0A\00" @.str4634 = private unnamed_addr constant [157 x i8] c"go:\0A %ni = call i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %k = load i32, ptr %kp\0A %hit = icmp eq i32 %k, %idx\0A br i1 %hit, label %found, label %next\0A\00" @.str4635 = private unnamed_addr constant [46 x i8] c"found:\0A %v = load i32, ptr %cp\0A ret i32 %v\0A\00" @.str4636 = private unnamed_addr constant [94 x i8] c"next:\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %kp\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00" @.str4637 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 -1\0A}\0A\00" @.str4638 = private unnamed_addr constant [36 x i8] c"define ptr @lp_uni_chars(ptr %s) {\0A\00" @.str4639 = private unnamed_addr constant [76 x i8] c"entry:\0A %n = call i32 @lp_uni_len(ptr %s)\0A %h = call ptr @malloc(i64 16)\0A\00" @.str4640 = private unnamed_addr constant [93 x i8] c" %nz = zext i32 %n to i64\0A %bytes = mul i64 %nz, 4\0A %data = call ptr @malloc(i64 %bytes)\0A\00" @.str4641 = private unnamed_addr constant [89 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A store ptr %data, ptr %d0\0A\00" @.str4642 = private unnamed_addr constant [86 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A store i32 %n, ptr %d1\0A\00" @.str4643 = private unnamed_addr constant [86 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2\0A store i32 %n, ptr %d2\0A\00" @.str4644 = private unnamed_addr constant [119 x i8] c" %ip = alloca i32\0A %kp = alloca i32\0A %cp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %kp\0A br label %lp\0A\00" @.str4645 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" @.str4646 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4647 = private unnamed_addr constant [112 x i8] c"go:\0A %ni = call i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A %k = load i32, ptr %kp\0A\00" @.str4648 = private unnamed_addr constant [161 x i8] c" %slot = getelementptr i32, ptr %data, i32 %k\0A store i32 %v, ptr %slot\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %kp\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00" @.str4649 = private unnamed_addr constant [22 x i8] c"done:\0A ret ptr %h\0A}\0A\00" @.str4650 = private unnamed_addr constant [44 x i8] c"define ptr @lp_uni_case(ptr %s, i32 %up) {\0A\00" @.str4651 = private unnamed_addr constant [128 x i8] c"entry:\0A %bl = call i64 @strlen(ptr %s)\0A %cap0 = mul i64 %bl, 4\0A %cap = add i64 %cap0, 4\0A %out = call ptr @malloc(i64 %cap)\0A\00" @.str4652 = private unnamed_addr constant [119 x i8] c" %ip = alloca i32\0A %op = alloca i32\0A %cp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %op\0A br label %lp\0A\00" @.str4653 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" @.str4654 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4655 = private unnamed_addr constant [87 x i8] c"go:\0A %ni = call i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A\00" @.str4656 = private unnamed_addr constant [147 x i8] c" %mu = call i32 @lp_uni_upcp(i32 %v)\0A %ml = call i32 @lp_uni_locp(i32 %v)\0A %isup = icmp ne i32 %up, 0\0A %m = select i1 %isup, i32 %mu, i32 %ml\0A\00" @.str4657 = private unnamed_addr constant [149 x i8] c" %o = load i32, ptr %op\0A %no = call i32 @lp_uni_encode(ptr %out, i32 %o, i32 %m)\0A store i32 %no, ptr %op\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00" @.str4658 = private unnamed_addr constant [120 x i8] c"done:\0A %fo = load i32, ptr %op\0A %endp = getelementptr i8, ptr %out, i32 %fo\0A store i8 0, ptr %endp\0A ret ptr %out\0A}\0A\00" @.str4659 = private unnamed_addr constant [47 x i8] c"define ptr @lp_uni_truncate(ptr %s, i32 %n) {\0A\00" @.str4660 = private unnamed_addr constant [126 x i8] c"entry:\0A %ip = alloca i32\0A %kp = alloca i32\0A %cp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %kp\0A br label %lp\0A\00" @.str4661 = private unnamed_addr constant [102 x i8] c"lp:\0A %k = load i32, ptr %kp\0A %enough = icmp sge i32 %k, %n\0A br i1 %enough, label %cut, label %chk\0A\00" @.str4662 = private unnamed_addr constant [119 x i8] c"chk:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" @.str4663 = private unnamed_addr constant [60 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %cut, label %go\0A\00" @.str4664 = private unnamed_addr constant [149 x i8] c"go:\0A %ni = call i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %kp\0A store i32 %ni, ptr %ip\0A br label %lp\0A\00" @.str4665 = private unnamed_addr constant [199 x i8] c"cut:\0A %len = load i32, ptr %ip\0A %lz = zext i32 %len to i64\0A %cap = add i64 %lz, 1\0A %out = call ptr @malloc(i64 %cap)\0A %lz2 = zext i32 %len to i64\0A call ptr @memcpy(ptr %out, ptr %s, i64 %lz2)\0A\00" @.str4666 = private unnamed_addr constant [89 x i8] c" %endp = getelementptr i8, ptr %out, i32 %len\0A store i8 0, ptr %endp\0A ret ptr %out\0A}\0A\00" @.str4667 = private unnamed_addr constant [43 x i8] c"define i32 @lp_uni_grapheme_len(ptr %s) {\0A\00" @.str4668 = private unnamed_addr constant [103 x i8] c"entry:\0A %ip = alloca i32\0A %np = alloca i32\0A %zp = alloca i32\0A %rp = alloca i32\0A %cp = alloca i32\0A\00" @.str4669 = private unnamed_addr constant [108 x i8] c" store i32 0, ptr %ip\0A store i32 0, ptr %np\0A store i32 0, ptr %zp\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str4670 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" @.str4671 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4672 = private unnamed_addr constant [112 x i8] c"go:\0A %ni = call i32 @lp_uni_decode(ptr %s, i32 %i, ptr %cp)\0A %v = load i32, ptr %cp\0A store i32 %ni, ptr %ip\0A\00" @.str4673 = private unnamed_addr constant [75 x i8] c" %iszwj = icmp eq i32 %v, 8205\0A br i1 %iszwj, label %zwj, label %notzwj\0A\00" @.str4674 = private unnamed_addr constant [142 x i8] c"zwj:\0A %n0 = load i32, ptr %np\0A %n0z = icmp eq i32 %n0, 0\0A %n0b = zext i1 %n0z to i32\0A %n0n = add i32 %n0, %n0b\0A store i32 %n0n, ptr %np\0A\00" @.str4675 = private unnamed_addr constant [62 x i8] c" store i32 1, ptr %zp\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str4676 = private unnamed_addr constant [104 x i8] c"notzwj:\0A %n = load i32, ptr %np\0A %first = icmp eq i32 %n, 0\0A br i1 %first, label %open, label %cont\0A\00" @.str4677 = private unnamed_addr constant [160 x i8] c"open:\0A store i32 1, ptr %np\0A store i32 0, ptr %zp\0A %ri0 = call i32 @lp_uni_inrange(i32 %v, i32 127462, i32 127487)\0A store i32 %ri0, ptr %rp\0A br label %lp\0A\00" @.str4678 = private unnamed_addr constant [109 x i8] c"cont:\0A %zj = load i32, ptr %zp\0A %afterz = icmp ne i32 %zj, 0\0A br i1 %afterz, label %joinz, label %chkext\0A\00" @.str4679 = private unnamed_addr constant [69 x i8] c"joinz:\0A store i32 0, ptr %zp\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str4680 = private unnamed_addr constant [129 x i8] c"chkext:\0A %ext = call i32 @lp_uni_is_extend(i32 %v)\0A %isext = icmp ne i32 %ext, 0\0A br i1 %isext, label %joinext, label %chkri\0A\00" @.str4681 = private unnamed_addr constant [48 x i8] c"joinext:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str4682 = private unnamed_addr constant [240 x i8] c"chkri:\0A %ri = call i32 @lp_uni_inrange(i32 %v, i32 127462, i32 127487)\0A %isri = icmp ne i32 %ri, 0\0A %ropen = load i32, ptr %rp\0A %ropenb = icmp ne i32 %ropen, 0\0A %pair = and i1 %isri, %ropenb\0A br i1 %pair, label %joinri, label %newcl\0A\00" @.str4683 = private unnamed_addr constant [47 x i8] c"joinri:\0A store i32 0, ptr %rp\0A br label %lp\0A\00" @.str4684 = private unnamed_addr constant [191 x i8] c"newcl:\0A %nn = load i32, ptr %np\0A %nn1 = add i32 %nn, 1\0A store i32 %nn1, ptr %np\0A store i32 0, ptr %zp\0A %riset = select i1 %isri, i32 1, i32 0\0A store i32 %riset, ptr %rp\0A br label %lp\0A\00" @.str4685 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %np\0A ret i32 %r\0A}\0A\00" @.str4686 = private unnamed_addr constant [7 x i8] c"exists\00" @.str4687 = private unnamed_addr constant [7 x i8] c"is_dir\00" @.str4688 = private unnamed_addr constant [10 x i8] c"read_text\00" @.str4689 = private unnamed_addr constant [11 x i8] c"write_text\00" @.str4690 = private unnamed_addr constant [12 x i8] c"append_text\00" @.str4691 = private unnamed_addr constant [7 x i8] c"remove\00" @.str4692 = private unnamed_addr constant [5 x i8] c"size\00" @.str4693 = private unnamed_addr constant [6 x i8] c"mkdir\00" @.str4694 = private unnamed_addr constant [5 x i8] c"copy\00" @.str4695 = private unnamed_addr constant [5 x i8] c"list\00" @.str4696 = private unnamed_addr constant [5 x i8] c"join\00" @.str4697 = private unnamed_addr constant [4 x i8] c"dir\00" @.str4698 = private unnamed_addr constant [5 x i8] c"base\00" @.str4699 = private unnamed_addr constant [4 x i8] c"ext\00" @.str4700 = private unnamed_addr constant [5 x i8] c"stem\00" @.str4701 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str4702 = private unnamed_addr constant [3 x i8] c"of\00" @.str4703 = private unnamed_addr constant [6 x i8] c"sniff\00" @.str4704 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6809: index out of range: \00" @.str4705 = private unnamed_addr constant [7 x i8] c"exists\00" @.str4706 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_exists(ptr \00" @.str4707 = private unnamed_addr constant [2 x i8] c")\00" @.str4708 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4709 = private unnamed_addr constant [7 x i8] c"is_dir\00" @.str4710 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_is_dir(ptr \00" @.str4711 = private unnamed_addr constant [2 x i8] c")\00" @.str4712 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4713 = private unnamed_addr constant [10 x i8] c"read_text\00" @.str4714 = private unnamed_addr constant [31 x i8] c"call ptr @lp_fs_read_text(ptr \00" @.str4715 = private unnamed_addr constant [2 x i8] c")\00" @.str4716 = private unnamed_addr constant [7 x i8] c"string\00" @.str4717 = private unnamed_addr constant [7 x i8] c"remove\00" @.str4718 = private unnamed_addr constant [28 x i8] c"call i32 @lp_fs_remove(ptr \00" @.str4719 = private unnamed_addr constant [2 x i8] c")\00" @.str4720 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4721 = private unnamed_addr constant [5 x i8] c"size\00" @.str4722 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_size(ptr \00" @.str4723 = private unnamed_addr constant [2 x i8] c")\00" @.str4724 = private unnamed_addr constant [4 x i8] c"int\00" @.str4725 = private unnamed_addr constant [6 x i8] c"mkdir\00" @.str4726 = private unnamed_addr constant [27 x i8] c"call i32 @lp_fs_mkdir(ptr \00" @.str4727 = private unnamed_addr constant [2 x i8] c")\00" @.str4728 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4729 = private unnamed_addr constant [5 x i8] c"list\00" @.str4730 = private unnamed_addr constant [26 x i8] c"call ptr @lp_fs_list(ptr \00" @.str4731 = private unnamed_addr constant [2 x i8] c")\00" @.str4732 = private unnamed_addr constant [9 x i8] c"[]string\00" @.str4733 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6817: index out of range: \00" @.str4734 = private unnamed_addr constant [11 x i8] c"write_text\00" @.str4735 = private unnamed_addr constant [32 x i8] c"call i32 @lp_fs_write_text(ptr \00" @.str4736 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4737 = private unnamed_addr constant [2 x i8] c")\00" @.str4738 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4739 = private unnamed_addr constant [12 x i8] c"append_text\00" @.str4740 = private unnamed_addr constant [33 x i8] c"call i32 @lp_fs_append_text(ptr \00" @.str4741 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4742 = private unnamed_addr constant [2 x i8] c")\00" @.str4743 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4744 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fs_copy(ptr \00" @.str4745 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4746 = private unnamed_addr constant [2 x i8] c")\00" @.str4747 = private unnamed_addr constant [5 x i8] c"bool\00" @.str4748 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6826: index out of range: \00" @.str4749 = private unnamed_addr constant [4 x i8] c"dir\00" @.str4750 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_dir(ptr \00" @.str4751 = private unnamed_addr constant [2 x i8] c")\00" @.str4752 = private unnamed_addr constant [7 x i8] c"string\00" @.str4753 = private unnamed_addr constant [5 x i8] c"base\00" @.str4754 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_base(ptr \00" @.str4755 = private unnamed_addr constant [2 x i8] c")\00" @.str4756 = private unnamed_addr constant [7 x i8] c"string\00" @.str4757 = private unnamed_addr constant [4 x i8] c"ext\00" @.str4758 = private unnamed_addr constant [27 x i8] c"call ptr @lp_path_ext(ptr \00" @.str4759 = private unnamed_addr constant [2 x i8] c")\00" @.str4760 = private unnamed_addr constant [7 x i8] c"string\00" @.str4761 = private unnamed_addr constant [5 x i8] c"stem\00" @.str4762 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_stem(ptr \00" @.str4763 = private unnamed_addr constant [2 x i8] c")\00" @.str4764 = private unnamed_addr constant [7 x i8] c"string\00" @.str4765 = private unnamed_addr constant [10 x i8] c"normalize\00" @.str4766 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_norm(ptr \00" @.str4767 = private unnamed_addr constant [2 x i8] c")\00" @.str4768 = private unnamed_addr constant [7 x i8] c"string\00" @.str4769 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6833: index out of range: \00" @.str4770 = private unnamed_addr constant [28 x i8] c"call ptr @lp_path_join(ptr \00" @.str4771 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str4772 = private unnamed_addr constant [2 x i8] c")\00" @.str4773 = private unnamed_addr constant [7 x i8] c"string\00" @.str4774 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:6839: index out of range: \00" @.str4775 = private unnamed_addr constant [6 x i8] c"sniff\00" @.str4776 = private unnamed_addr constant [29 x i8] c"call ptr @lp_mime_sniff(ptr \00" @.str4777 = private unnamed_addr constant [2 x i8] c")\00" @.str4778 = private unnamed_addr constant [7 x i8] c"string\00" @.str4779 = private unnamed_addr constant [26 x i8] c"call ptr @lp_mime_of(ptr \00" @.str4780 = private unnamed_addr constant [2 x i8] c")\00" @.str4781 = private unnamed_addr constant [7 x i8] c"string\00" @.str4782 = private unnamed_addr constant [26 x i8] c"declare i32 @remove(ptr)\0A\00" @.str4783 = private unnamed_addr constant [31 x i8] c"declare i32 @access(ptr, i32)\0A\00" @.str4784 = private unnamed_addr constant [30 x i8] c"declare i32 @mkdir(ptr, i32)\0A\00" @.str4785 = private unnamed_addr constant [31 x i8] c"declare i32 @rename(ptr, ptr)\0A\00" @.str4786 = private unnamed_addr constant [27 x i8] c"declare ptr @opendir(ptr)\0A\00" @.str4787 = private unnamed_addr constant [27 x i8] c"declare ptr @readdir(ptr)\0A\00" @.str4788 = private unnamed_addr constant [28 x i8] c"declare i32 @closedir(ptr)\0A\00" @.str4789 = private unnamed_addr constant [41 x i8] c"define ptr @lp_fs_dup(ptr %s, i32 %n) {\0A\00" @.str4790 = private unnamed_addr constant [133 x i8] c"entry:\0A %nz = zext i32 %n to i64\0A %t = add i64 %nz, 1\0A %m = call ptr @malloc(i64 %t)\0A call ptr @memcpy(ptr %m, ptr %s, i64 %nz)\0A\00" @.str4791 = private unnamed_addr constant [81 x i8] c" %end = getelementptr i8, ptr %m, i32 %n\0A store i8 0, ptr %end\0A ret ptr %m\0A}\0A\00" @.str4792 = private unnamed_addr constant [36 x i8] c"define ptr @lp_fs_strdup(ptr %s) {\0A\00" @.str4793 = private unnamed_addr constant [127 x i8] c"entry:\0A %l = call i64 @strlen(ptr %s)\0A %li = trunc i64 %l to i32\0A %r = call ptr @lp_fs_dup(ptr %s, i32 %li)\0A ret ptr %r\0A}\0A\00" @.str4794 = private unnamed_addr constant [39 x i8] c"define i32 @lp_fs_lastslash(ptr %s) {\0A\00" @.str4795 = private unnamed_addr constant [108 x i8] c"entry:\0A %ip = alloca i32\0A %rp = alloca i32\0A store i32 0, ptr %ip\0A store i32 -1, ptr %rp\0A br label %lp\0A\00" @.str4796 = private unnamed_addr constant [118 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A\00" @.str4797 = private unnamed_addr constant [61 x i8] c" %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4798 = private unnamed_addr constant [67 x i8] c"go:\0A %sl = icmp eq i32 %c, 47\0A br i1 %sl, label %set, label %nx\0A\00" @.str4799 = private unnamed_addr constant [45 x i8] c"set:\0A store i32 %i, ptr %rp\0A br label %nx\0A\00" @.str4800 = private unnamed_addr constant [67 x i8] c"nx:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" @.str4801 = private unnamed_addr constant [47 x i8] c"done:\0A %r = load i32, ptr %rp\0A ret i32 %r\0A}\0A\00" @.str4802 = private unnamed_addr constant [44 x i8] c"define ptr @lp_path_join(ptr %a, ptr %b) {\0A\00" @.str4803 = private unnamed_addr constant [140 x i8] c"entry:\0A %la64 = call i64 @strlen(ptr %a)\0A %la = trunc i64 %la64 to i32\0A %lb64 = call i64 @strlen(ptr %b)\0A %lb = trunc i64 %lb64 to i32\0A\00" @.str4804 = private unnamed_addr constant [122 x i8] c" %b0 = load i8, ptr %b\0A %b0i = zext i8 %b0 to i32\0A %babs = icmp eq i32 %b0i, 47\0A br i1 %babs, label %retb, label %ka\0A\00" @.str4805 = private unnamed_addr constant [60 x i8] c"retb:\0A %rb = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb\0A\00" @.str4806 = private unnamed_addr constant [73 x i8] c"ka:\0A %aemp = icmp eq i32 %la, 0\0A br i1 %aemp, label %retb2, label %kb\0A\00" @.str4807 = private unnamed_addr constant [63 x i8] c"retb2:\0A %rb2 = call ptr @lp_fs_strdup(ptr %b)\0A ret ptr %rb2\0A\00" @.str4808 = private unnamed_addr constant [73 x i8] c"kb:\0A %bemp = icmp eq i32 %lb, 0\0A br i1 %bemp, label %reta, label %chk\0A\00" @.str4809 = private unnamed_addr constant [60 x i8] c"reta:\0A %ra = call ptr @lp_fs_strdup(ptr %a)\0A ret ptr %ra\0A\00" @.str4810 = private unnamed_addr constant [159 x i8] c"chk:\0A %lam1 = sub i32 %la, 1\0A %pe = getelementptr i8, ptr %a, i32 %lam1\0A %ae = load i8, ptr %pe\0A %aei = zext i8 %ae to i32\0A %ends = icmp eq i32 %aei, 47\0A\00" @.str4811 = private unnamed_addr constant [189 x i8] c" %sep = select i1 %ends, i32 0, i32 1\0A %tot = add i32 %la, %lb\0A %tot2 = add i32 %tot, %sep\0A %tot3 = add i32 %tot2, 1\0A %totz = zext i32 %tot3 to i64\0A %m = call ptr @malloc(i64 %totz)\0A\00" @.str4812 = private unnamed_addr constant [75 x i8] c" %laz = zext i32 %la to i64\0A call ptr @memcpy(ptr %m, ptr %a, i64 %laz)\0A\00" @.str4813 = private unnamed_addr constant [42 x i8] c" br i1 %ends, label %nosep, label %wsep\0A\00" @.str4814 = private unnamed_addr constant [90 x i8] c"wsep:\0A %sp = getelementptr i8, ptr %m, i32 %la\0A store i8 47, ptr %sp\0A br label %after\0A\00" @.str4815 = private unnamed_addr constant [26 x i8] c"nosep:\0A br label %after\0A\00" @.str4816 = private unnamed_addr constant [155 x i8] c"after:\0A %boff = add i32 %la, %sep\0A %dp = getelementptr i8, ptr %m, i32 %boff\0A %lbz = zext i32 %lb to i64\0A call ptr @memcpy(ptr %dp, ptr %b, i64 %lbz)\0A\00" @.str4817 = private unnamed_addr constant [115 x i8] c" %endoff = add i32 %boff, %lb\0A %ep = getelementptr i8, ptr %m, i32 %endoff\0A store i8 0, ptr %ep\0A ret ptr %m\0A}\0A\00" @.str4818 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_base(ptr %s) {\0A\00" @.str4819 = private unnamed_addr constant [121 x i8] c"entry:\0A %ls = call i32 @lp_fs_lastslash(ptr %s)\0A %none = icmp eq i32 %ls, -1\0A br i1 %none, label %whole, label %tail\0A\00" @.str4820 = private unnamed_addr constant [59 x i8] c"whole:\0A %r = call ptr @lp_fs_strdup(ptr %s)\0A ret ptr %r\0A\00" @.str4821 = private unnamed_addr constant [126 x i8] c"tail:\0A %st = add i32 %ls, 1\0A %p = getelementptr i8, ptr %s, i32 %st\0A %r2 = call ptr @lp_fs_strdup(ptr %p)\0A ret ptr %r2\0A}\0A\00" @.str4822 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_dir(ptr %s) {\0A\00" @.str4823 = private unnamed_addr constant [119 x i8] c"entry:\0A %ls = call i32 @lp_fs_lastslash(ptr %s)\0A %none = icmp eq i32 %ls, -1\0A br i1 %none, label %dot, label %chk0\0A\00" @.str4824 = private unnamed_addr constant [66 x i8] c"dot:\0A %d = call ptr @lp_fs_strdup(ptr @fn_str_dot)\0A ret ptr %d\0A\00" @.str4825 = private unnamed_addr constant [79 x i8] c"chk0:\0A %isroot = icmp eq i32 %ls, 0\0A br i1 %isroot, label %root, label %cut\0A\00" @.str4826 = private unnamed_addr constant [69 x i8] c"root:\0A %r = call ptr @lp_fs_strdup(ptr @fn_str_slash)\0A ret ptr %r\0A\00" @.str4827 = private unnamed_addr constant [67 x i8] c"cut:\0A %r2 = call ptr @lp_fs_dup(ptr %s, i32 %ls)\0A ret ptr %r2\0A}\0A\00" @.str4828 = private unnamed_addr constant [35 x i8] c"define ptr @lp_path_ext(ptr %s) {\0A\00" @.str4829 = private unnamed_addr constant [77 x i8] c"entry:\0A %ls = call i32 @lp_fs_lastslash(ptr %s)\0A %bstart = add i32 %ls, 1\0A\00" @.str4830 = private unnamed_addr constant [107 x i8] c" %dp = alloca i32\0A %ip = alloca i32\0A store i32 -1, ptr %dp\0A store i32 %bstart, ptr %ip\0A br label %lp\0A\00" @.str4831 = private unnamed_addr constant [178 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %p = getelementptr i8, ptr %s, i32 %i\0A %b = load i8, ptr %p\0A %c = zext i8 %b to i32\0A %z = icmp eq i32 %c, 0\0A br i1 %z, label %done, label %go\0A\00" @.str4832 = private unnamed_addr constant [68 x i8] c"go:\0A %dot = icmp eq i32 %c, 46\0A br i1 %dot, label %sd, label %nx\0A\00" @.str4833 = private unnamed_addr constant [44 x i8] c"sd:\0A store i32 %i, ptr %dp\0A br label %nx\0A\00" @.str4834 = private unnamed_addr constant [67 x i8] c"nx:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" @.str4835 = private unnamed_addr constant [102 x i8] c"done:\0A %d = load i32, ptr %dp\0A %nod = icmp eq i32 %d, -1\0A br i1 %nod, label %empty, label %chkpos\0A\00" @.str4836 = private unnamed_addr constant [70 x i8] c"empty:\0A %e = call ptr @lp_fs_strdup(ptr @fn_str_empty)\0A ret ptr %e\0A\00" @.str4837 = private unnamed_addr constant [91 x i8] c"chkpos:\0A %atstart = icmp eq i32 %d, %bstart\0A br i1 %atstart, label %empty2, label %take\0A\00" @.str4838 = private unnamed_addr constant [73 x i8] c"empty2:\0A %e2 = call ptr @lp_fs_strdup(ptr @fn_str_empty)\0A ret ptr %e2\0A\00" @.str4839 = private unnamed_addr constant [102 x i8] c"take:\0A %pp = getelementptr i8, ptr %s, i32 %d\0A %r = call ptr @lp_fs_strdup(ptr %pp)\0A ret ptr %r\0A}\0A\00" @.str4840 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_stem(ptr %s) {\0A\00" @.str4841 = private unnamed_addr constant [88 x i8] c"entry:\0A %base = call ptr @lp_path_base(ptr %s)\0A %ext = call ptr @lp_path_ext(ptr %s)\0A\00" @.str4842 = private unnamed_addr constant [138 x i8] c" %bl64 = call i64 @strlen(ptr %base)\0A %bl = trunc i64 %bl64 to i32\0A %el64 = call i64 @strlen(ptr %ext)\0A %el = trunc i64 %el64 to i32\0A\00" @.str4843 = private unnamed_addr constant [92 x i8] c" %keep = sub i32 %bl, %el\0A %r = call ptr @lp_fs_dup(ptr %base, i32 %keep)\0A ret ptr %r\0A}\0A\00" @.str4844 = private unnamed_addr constant [36 x i8] c"define ptr @lp_path_norm(ptr %s) {\0A\00" @.str4845 = private unnamed_addr constant [133 x i8] c"entry:\0A %len64 = call i64 @strlen(ptr %s)\0A %len = trunc i64 %len64 to i32\0A %cap = add i32 %len, 2\0A %capz = zext i32 %cap to i64\0A\00" @.str4846 = private unnamed_addr constant [38 x i8] c" %out = call ptr @malloc(i64 %capz)\0A\00" @.str4847 = private unnamed_addr constant [96 x i8] c" %stz = mul i32 %cap, 4\0A %stzz = zext i32 %stz to i64\0A %segst = call ptr @malloc(i64 %stzz)\0A\00" @.str4848 = private unnamed_addr constant [83 x i8] c" %b0 = load i8, ptr %s\0A %b0i = zext i8 %b0 to i32\0A %abs = icmp eq i32 %b0i, 47\0A\00" @.str4849 = private unnamed_addr constant [106 x i8] c" %ip = alloca i32\0A %op = alloca i32\0A %scp = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %scp\0A\00" @.str4850 = private unnamed_addr constant [40 x i8] c" br i1 %abs, label %ldr, label %noldr\0A\00" @.str4851 = private unnamed_addr constant [69 x i8] c"ldr:\0A store i8 47, ptr %out\0A store i32 1, ptr %op\0A br label %seg\0A\00" @.str4852 = private unnamed_addr constant [47 x i8] c"noldr:\0A store i32 0, ptr %op\0A br label %seg\0A\00" @.str4853 = private unnamed_addr constant [23 x i8] c"seg:\0A br label %sksl\0A\00" @.str4854 = private unnamed_addr constant [200 x i8] c"sksl:\0A %i = load i32, ptr %ip\0A %pp = getelementptr i8, ptr %s, i32 %i\0A %cc = load i8, ptr %pp\0A %cci = zext i8 %cc to i32\0A %issl = icmp eq i32 %cci, 47\0A br i1 %issl, label %adv, label %segstart\0A\00" @.str4855 = private unnamed_addr constant [70 x i8] c"adv:\0A %i2 = add i32 %i, 1\0A store i32 %i2, ptr %ip\0A br label %sksl\0A\00" @.str4856 = private unnamed_addr constant [54 x i8] c"segstart:\0A %ss = load i32, ptr %ip\0A br label %scan\0A\00" @.str4857 = private unnamed_addr constant [260 x i8] c"scan:\0A %j = load i32, ptr %ip\0A %pj = getelementptr i8, ptr %s, i32 %j\0A %cj = load i8, ptr %pj\0A %cji = zext i8 %cj to i32\0A %endc = icmp eq i32 %cji, 0\0A %slc = icmp eq i32 %cji, 47\0A %stop = or i1 %endc, %slc\0A br i1 %stop, label %seghave, label %scanadv\0A\00" @.str4858 = private unnamed_addr constant [74 x i8] c"scanadv:\0A %j1 = add i32 %j, 1\0A store i32 %j1, ptr %ip\0A br label %scan\0A\00" @.str4859 = private unnamed_addr constant [147 x i8] c"seghave:\0A %se = load i32, ptr %ip\0A %slen = sub i32 %se, %ss\0A %emptyseg = icmp eq i32 %slen, 0\0A br i1 %emptyseg, label %atend, label %classify\0A\00" @.str4860 = private unnamed_addr constant [11 x i8] c"classify:\0A\00" @.str4861 = private unnamed_addr constant [244 x i8] c" %is1 = icmp eq i32 %slen, 1\0A %c0p = getelementptr i8, ptr %s, i32 %ss\0A %c0 = load i8, ptr %c0p\0A %c0i = zext i8 %c0 to i32\0A %isdotchar = icmp eq i32 %c0i, 46\0A %isdot = and i1 %is1, %isdotchar\0A br i1 %isdot, label %contseg, label %chkdd\0A\00" @.str4862 = private unnamed_addr constant [257 x i8] c"chkdd:\0A %is2 = icmp eq i32 %slen, 2\0A %d0p = getelementptr i8, ptr %s, i32 %ss\0A %d0 = load i8, ptr %d0p\0A %d0i = zext i8 %d0 to i32\0A %d1o = add i32 %ss, 1\0A %d1p = getelementptr i8, ptr %s, i32 %d1o\0A %d1 = load i8, ptr %d1p\0A %d1i = zext i8 %d1 to i32\0A\00" @.str4863 = private unnamed_addr constant [161 x i8] c" %dd0 = icmp eq i32 %d0i, 46\0A %dd1 = icmp eq i32 %d1i, 46\0A %ddx = and i1 %dd0, %dd1\0A %isdd = and i1 %is2, %ddx\0A br i1 %isdd, label %dotdot, label %keepseg\0A\00" @.str4864 = private unnamed_addr constant [105 x i8] c"dotdot:\0A %sc = load i32, ptr %scp\0A %has = icmp sgt i32 %sc, 0\0A br i1 %has, label %pop, label %chkrel\0A\00" @.str4865 = private unnamed_addr constant [184 x i8] c"pop:\0A %sc1 = sub i32 %sc, 1\0A %stp = getelementptr i32, ptr %segst, i32 %sc1\0A %newop = load i32, ptr %stp\0A store i32 %newop, ptr %op\0A store i32 %sc1, ptr %scp\0A br label %contseg\0A\00" @.str4866 = private unnamed_addr constant [54 x i8] c"chkrel:\0A br i1 %abs, label %contseg, label %keepseg\0A\00" @.str4867 = private unnamed_addr constant [195 x i8] c"keepseg:\0A %sc2 = load i32, ptr %scp\0A %o0 = load i32, ptr %op\0A %stp2 = getelementptr i32, ptr %segst, i32 %sc2\0A store i32 %o0, ptr %stp2\0A %sc2n = add i32 %sc2, 1\0A store i32 %sc2n, ptr %scp\0A\00" @.str4868 = private unnamed_addr constant [63 x i8] c" %cpp = alloca i32\0A store i32 %ss, ptr %cpp\0A br label %cpy\0A\00" @.str4869 = private unnamed_addr constant [102 x i8] c"cpy:\0A %k = load i32, ptr %cpp\0A %klt = icmp slt i32 %k, %se\0A br i1 %klt, label %cpyb, label %cpysl\0A\00" @.str4870 = private unnamed_addr constant [285 x i8] c"cpyb:\0A %skp = getelementptr i8, ptr %s, i32 %k\0A %sk = load i8, ptr %skp\0A %oo = load i32, ptr %op\0A %dkp = getelementptr i8, ptr %out, i32 %oo\0A store i8 %sk, ptr %dkp\0A %oo1 = add i32 %oo, 1\0A store i32 %oo1, ptr %op\0A %k1 = add i32 %k, 1\0A store i32 %k1, ptr %cpp\0A br label %cpy\0A\00" @.str4871 = private unnamed_addr constant [175 x i8] c"cpysl:\0A %oc = load i32, ptr %op\0A %scp3 = getelementptr i8, ptr %out, i32 %oc\0A store i8 47, ptr %scp3\0A %oc1 = add i32 %oc, 1\0A store i32 %oc1, ptr %op\0A br label %contseg\0A\00" @.str4872 = private unnamed_addr constant [206 x i8] c"contseg:\0A %ci = load i32, ptr %ip\0A %cip = getelementptr i8, ptr %s, i32 %ci\0A %cic = load i8, ptr %cip\0A %cici = zext i8 %cic to i32\0A %atz = icmp eq i32 %cici, 0\0A br i1 %atz, label %finish, label %seg\0A\00" @.str4873 = private unnamed_addr constant [27 x i8] c"atend:\0A br label %finish\0A\00" @.str4874 = private unnamed_addr constant [110 x i8] c"finish:\0A %fo = load i32, ptr %op\0A %gt1 = icmp sgt i32 %fo, 1\0A br i1 %gt1, label %trimchk, label %fdefault\0A\00" @.str4875 = private unnamed_addr constant [211 x i8] c"trimchk:\0A %lasto = sub i32 %fo, 1\0A %lop = getelementptr i8, ptr %out, i32 %lasto\0A %lc = load i8, ptr %lop\0A %lci = zext i8 %lc to i32\0A %istsl = icmp eq i32 %lci, 47\0A br i1 %istsl, label %trim, label %term\0A\00" @.str4876 = private unnamed_addr constant [52 x i8] c"trim:\0A store i32 %lasto, ptr %op\0A br label %term\0A\00" @.str4877 = private unnamed_addr constant [28 x i8] c"fdefault:\0A br label %term\0A\00" @.str4878 = private unnamed_addr constant [104 x i8] c"term:\0A %eo = load i32, ptr %op\0A %ez = icmp eq i32 %eo, 0\0A br i1 %ez, label %emptyout, label %putnul\0A\00" @.str4879 = private unnamed_addr constant [114 x i8] c"emptyout:\0A store i8 46, ptr %out\0A %e1 = getelementptr i8, ptr %out, i32 1\0A store i8 0, ptr %e1\0A ret ptr %out\0A\00" @.str4880 = private unnamed_addr constant [92 x i8] c"putnul:\0A %ep = getelementptr i8, ptr %out, i32 %eo\0A store i8 0, ptr %ep\0A ret ptr %out\0A}\0A\00" @.str4881 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_exists(ptr %p) {\0A\00" @.str4882 = private unnamed_addr constant [115 x i8] c"entry:\0A %ip = call i32 @lp_pak_has(ptr %p)\0A %inpak = icmp ne i32 %ip, 0\0A br i1 %inpak, label %yes, label %disk\0A\00" @.str4883 = private unnamed_addr constant [18 x i8] c"yes:\0A ret i32 1\0A\00" @.str4884 = private unnamed_addr constant [113 x i8] c"disk:\0A %r = call i32 @access(ptr %p, i32 0)\0A %ok = icmp eq i32 %r, 0\0A %z = zext i1 %ok to i32\0A ret i32 %z\0A}\0A\00" @.str4885 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_is_dir(ptr %p) {\0A\00" @.str4886 = private unnamed_addr constant [105 x i8] c"entry:\0A %d = call ptr @opendir(ptr %p)\0A %nz = icmp ne ptr %d, null\0A br i1 %nz, label %yes, label %no\0A\00" @.str4887 = private unnamed_addr constant [47 x i8] c"yes:\0A call i32 @closedir(ptr %d)\0A ret i32 1\0A\00" @.str4888 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str4889 = private unnamed_addr constant [34 x i8] c"define i32 @lp_fs_size(ptr %p) {\0A\00" @.str4890 = private unnamed_addr constant [121 x i8] c"entry:\0A %pn = call i32 @lp_pak_bytes(ptr %p)\0A %inpak = icmp sge i32 %pn, 0\0A br i1 %inpak, label %packed, label %disk\0A\00" @.str4891 = private unnamed_addr constant [23 x i8] c"packed:\0A ret i32 %pn\0A\00" @.str4892 = private unnamed_addr constant [118 x i8] c"disk:\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" @.str4893 = private unnamed_addr constant [19 x i8] c"bad:\0A ret i32 -1\0A\00" @.str4894 = private unnamed_addr constant [147 x i8] c"ok:\0A call i32 @fseek(ptr %f, i64 0, i32 2)\0A %n = call i64 @ftell(ptr %f)\0A call i32 @fclose(ptr %f)\0A %ni = trunc i64 %n to i32\0A ret i32 %ni\0A}\0A\00" @.str4895 = private unnamed_addr constant [50 x i8] c"define ptr @lp_fs_readall(ptr %p, ptr %lenout) {\0A\00" @.str4896 = private unnamed_addr constant [152 x i8] c"entry:\0A store i32 0, ptr %lenout\0A %f = call ptr @lp_pak_open(ptr %p, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" @.str4897 = private unnamed_addr constant [21 x i8] c"bad:\0A ret ptr null\0A\00" @.str4898 = private unnamed_addr constant [147 x i8] c"ok:\0A call i32 @fseek(ptr %f, i64 0, i32 2)\0A %n64 = call i64 @ftell(ptr %f)\0A call i32 @fseek(ptr %f, i64 0, i32 0)\0A %n = trunc i64 %n64 to i32\0A\00" @.str4899 = private unnamed_addr constant [144 x i8] c" %cap = add i64 %n64, 1\0A %m = call ptr @malloc(i64 %cap)\0A %rd = call i64 @fread(ptr %m, i64 1, i64 %n64, ptr %f)\0A call i32 @fclose(ptr %f)\0A\00" @.str4900 = private unnamed_addr constant [145 x i8] c" %rdi = trunc i64 %rd to i32\0A %endp = getelementptr i8, ptr %m, i32 %rdi\0A store i8 0, ptr %endp\0A store i32 %rdi, ptr %lenout\0A ret ptr %m\0A}\0A\00" @.str4901 = private unnamed_addr constant [39 x i8] c"define ptr @lp_fs_read_text(ptr %p) {\0A\00" @.str4902 = private unnamed_addr constant [90 x i8] c"entry:\0A %lp = alloca i32\0A %r = call ptr @lp_fs_readall(ptr %p, ptr %lp)\0A ret ptr %r\0A}\0A\00" @.str4903 = private unnamed_addr constant [48 x i8] c"define i32 @lp_fs_write_text(ptr %p, ptr %s) {\0A\00" @.str4904 = private unnamed_addr constant [185 x i8] c"entry:\0A %tmp = call ptr @lp_path_join_ext(ptr %p, ptr @fn_str_dottmp)\0A %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" @.str4905 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str4906 = private unnamed_addr constant [119 x i8] c"ok:\0A %n = call i64 @strlen(ptr %s)\0A %w = call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f)\0A call i32 @fclose(ptr %f)\0A\00" @.str4907 = private unnamed_addr constant [114 x i8] c" %rr = call i32 @rename(ptr %tmp, ptr %p)\0A %ok2 = icmp eq i32 %rr, 0\0A %z = zext i1 %ok2 to i32\0A ret i32 %z\0A}\0A\00" @.str4908 = private unnamed_addr constant [48 x i8] c"define ptr @lp_path_join_ext(ptr %a, ptr %b) {\0A\00" @.str4909 = private unnamed_addr constant [159 x i8] c"entry:\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A %sum = add i64 %la, %lb\0A %tot = add i64 %sum, 1\0A %m = call ptr @malloc(i64 %tot)\0A\00" @.str4910 = private unnamed_addr constant [212 x i8] c" call ptr @memcpy(ptr %m, ptr %a, i64 %la)\0A %m2 = getelementptr i8, ptr %m, i64 %la\0A call ptr @memcpy(ptr %m2, ptr %b, i64 %lb)\0A %ep = getelementptr i8, ptr %m, i64 %sum\0A store i8 0, ptr %ep\0A ret ptr %m\0A}\0A\00" @.str4911 = private unnamed_addr constant [49 x i8] c"define i32 @lp_fs_append_text(ptr %p, ptr %s) {\0A\00" @.str4912 = private unnamed_addr constant [119 x i8] c"entry:\0A %f = call ptr @fopen(ptr %p, ptr @fn_str_ab)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %bad\0A\00" @.str4913 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str4914 = private unnamed_addr constant [128 x i8] c"ok:\0A %n = call i64 @strlen(ptr %s)\0A call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f)\0A call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\00" @.str4915 = private unnamed_addr constant [36 x i8] c"define i32 @lp_fs_remove(ptr %p) {\0A\00" @.str4916 = private unnamed_addr constant [107 x i8] c"entry:\0A %r = call i32 @remove(ptr %p)\0A %ok = icmp eq i32 %r, 0\0A %z = zext i1 %ok to i32\0A ret i32 %z\0A}\0A\00" @.str4917 = private unnamed_addr constant [46 x i8] c"define i32 @lp_fs_copy(ptr %src, ptr %dst) {\0A\00" @.str4918 = private unnamed_addr constant [145 x i8] c"entry:\0A %lp = alloca i32\0A %buf = call ptr @lp_fs_readall(ptr %src, ptr %lp)\0A %nz = icmp ne ptr %buf, null\0A br i1 %nz, label %ok, label %bad\0A\00" @.str4919 = private unnamed_addr constant [18 x i8] c"bad:\0A ret i32 0\0A\00" @.str4920 = private unnamed_addr constant [185 x i8] c"ok:\0A %tmp = call ptr @lp_path_join_ext(ptr %dst, ptr @fn_str_dottmp)\0A %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb)\0A %fnz = icmp ne ptr %f, null\0A br i1 %fnz, label %w, label %bad\0A\00" @.str4921 = private unnamed_addr constant [255 x i8] c"w:\0A %n = load i32, ptr %lp\0A %nz64 = zext i32 %n to i64\0A call i64 @fwrite(ptr %buf, i64 1, i64 %nz64, ptr %f)\0A call i32 @fclose(ptr %f)\0A %rr = call i32 @rename(ptr %tmp, ptr %dst)\0A %ok2 = icmp eq i32 %rr, 0\0A %z = zext i1 %ok2 to i32\0A ret i32 %z\0A}\0A\00" @.str4922 = private unnamed_addr constant [35 x i8] c"define i32 @lp_fs_mkdir(ptr %p) {\0A\00" @.str4923 = private unnamed_addr constant [105 x i8] c"entry:\0A %dup = call ptr @lp_fs_strdup(ptr %p)\0A %ip = alloca i32\0A store i32 1, ptr %ip\0A br label %lp\0A\00" @.str4924 = private unnamed_addr constant [183 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %pp = getelementptr i8, ptr %dup, i32 %i\0A %c = load i8, ptr %pp\0A %ci = zext i8 %c to i32\0A %z = icmp eq i32 %ci, 0\0A br i1 %z, label %fin, label %go\0A\00" @.str4925 = private unnamed_addr constant [68 x i8] c"go:\0A %sl = icmp eq i32 %ci, 47\0A br i1 %sl, label %cut, label %nx\0A\00" @.str4926 = private unnamed_addr constant [103 x i8] c"cut:\0A store i8 0, ptr %pp\0A call i32 @mkdir(ptr %dup, i32 493)\0A store i8 47, ptr %pp\0A br label %nx\0A\00" @.str4927 = private unnamed_addr constant [67 x i8] c"nx:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" @.str4928 = private unnamed_addr constant [96 x i8] c"fin:\0A call i32 @mkdir(ptr %dup, i32 493)\0A %r = call i32 @lp_fs_is_dir(ptr %p)\0A ret i32 %r\0A}\0A\00" @.str4929 = private unnamed_addr constant [37 x i8] c"define ptr @lp_fs_list(ptr %path) {\0A\00" @.str4930 = private unnamed_addr constant [223 x i8] c"entry:\0A %h = call ptr @malloc(i64 16)\0A %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2\0A\00" @.str4931 = private unnamed_addr constant [182 x i8] c" %datap = alloca ptr\0A %cntp = alloca i32\0A %capp = alloca i32\0A %init = call ptr @malloc(i64 128)\0A store ptr %init, ptr %datap\0A store i32 0, ptr %cntp\0A store i32 16, ptr %capp\0A\00" @.str4932 = private unnamed_addr constant [109 x i8] c" %dir = call ptr @opendir(ptr %path)\0A %dnz = icmp ne ptr %dir, null\0A br i1 %dnz, label %rd, label %empty\0A\00" @.str4933 = private unnamed_addr constant [114 x i8] c"rd:\0A %de = call ptr @readdir(ptr %dir)\0A %denz = icmp ne ptr %de, null\0A br i1 %denz, label %ent, label %closed\0A\00" @.str4934 = private unnamed_addr constant [51 x i8] c"ent:\0A %namep = getelementptr i8, ptr %de, i32 21\0A\00" @.str4935 = private unnamed_addr constant [135 x i8] c" %n0 = load i8, ptr %namep\0A %n0i = zext i8 %n0 to i32\0A %isdot0 = icmp eq i32 %n0i, 46\0A br i1 %isdot0, label %chkdots, label %keep\0A\00" @.str4936 = private unnamed_addr constant [176 x i8] c"chkdots:\0A %n1p = getelementptr i8, ptr %namep, i32 1\0A %n1 = load i8, ptr %n1p\0A %n1i = zext i8 %n1 to i32\0A %n1z = icmp eq i32 %n1i, 0\0A br i1 %n1z, label %rd, label %chkdd\0A\00" @.str4937 = private unnamed_addr constant [85 x i8] c"chkdd:\0A %isdot1 = icmp eq i32 %n1i, 46\0A br i1 %isdot1, label %chkdd2, label %keep\0A\00" @.str4938 = private unnamed_addr constant [174 x i8] c"chkdd2:\0A %n2p = getelementptr i8, ptr %namep, i32 2\0A %n2 = load i8, ptr %n2p\0A %n2i = zext i8 %n2 to i32\0A %n2z = icmp eq i32 %n2i, 0\0A br i1 %n2z, label %rd, label %keep\0A\00" @.str4939 = private unnamed_addr constant [50 x i8] c"keep:\0A %nm = call ptr @lp_fs_strdup(ptr %namep)\0A\00" @.str4940 = private unnamed_addr constant [132 x i8] c" %cnt = load i32, ptr %cntp\0A %cap = load i32, ptr %capp\0A %full = icmp sge i32 %cnt, %cap\0A br i1 %full, label %grow, label %put\0A\00" @.str4941 = private unnamed_addr constant [232 x i8] c"grow:\0A %nc = mul i32 %cap, 2\0A store i32 %nc, ptr %capp\0A %ncz = zext i32 %nc to i64\0A %nb = mul i64 %ncz, 8\0A %old = load ptr, ptr %datap\0A %new = call ptr @realloc(ptr %old, i64 %nb)\0A store ptr %new, ptr %datap\0A br label %put\0A\00" @.str4942 = private unnamed_addr constant [215 x i8] c"put:\0A %data = load ptr, ptr %datap\0A %cnt2 = load i32, ptr %cntp\0A %slot = getelementptr ptr, ptr %data, i32 %cnt2\0A store ptr %nm, ptr %slot\0A %cnt3 = add i32 %cnt2, 1\0A store i32 %cnt3, ptr %cntp\0A br label %rd\0A\00" @.str4943 = private unnamed_addr constant [59 x i8] c"closed:\0A call i32 @closedir(ptr %dir)\0A br label %sortit\0A\00" @.str4944 = private unnamed_addr constant [27 x i8] c"empty:\0A br label %sortit\0A\00" @.str4945 = private unnamed_addr constant [130 x i8] c"sortit:\0A %fdata = load ptr, ptr %datap\0A %fcnt = load i32, ptr %cntp\0A %aip = alloca i32\0A store i32 1, ptr %aip\0A br label %so\0A\00" @.str4946 = private unnamed_addr constant [104 x i8] c"so:\0A %ai = load i32, ptr %aip\0A %ailt = icmp slt i32 %ai, %fcnt\0A br i1 %ailt, label %sob, label %sod\0A\00" @.str4947 = private unnamed_addr constant [166 x i8] c"sob:\0A %kp = getelementptr ptr, ptr %fdata, i32 %ai\0A %key = load ptr, ptr %kp\0A %jp = alloca i32\0A %aim1 = sub i32 %ai, 1\0A store i32 %aim1, ptr %jp\0A br label %si\0A\00" @.str4948 = private unnamed_addr constant [98 x i8] c"si:\0A %jj = load i32, ptr %jp\0A %jge = icmp sge i32 %jj, 0\0A br i1 %jge, label %sic, label %sins\0A\00" @.str4949 = private unnamed_addr constant [194 x i8] c"sic:\0A %ejp = getelementptr ptr, ptr %fdata, i32 %jj\0A %ej = load ptr, ptr %ejp\0A %cmp = call i32 @strcmp(ptr %ej, ptr %key)\0A %gt = icmp sgt i32 %cmp, 0\0A br i1 %gt, label %shift, label %sins\0A\00" @.str4950 = private unnamed_addr constant [168 x i8] c"shift:\0A %j1 = add i32 %jj, 1\0A %dp1 = getelementptr ptr, ptr %fdata, i32 %j1\0A store ptr %ej, ptr %dp1\0A %jm = sub i32 %jj, 1\0A store i32 %jm, ptr %jp\0A br label %si\0A\00" @.str4951 = private unnamed_addr constant [201 x i8] c"sins:\0A %jf = load i32, ptr %jp\0A %jf1 = add i32 %jf, 1\0A %insp = getelementptr ptr, ptr %fdata, i32 %jf1\0A store ptr %key, ptr %insp\0A %ai1 = add i32 %ai, 1\0A store i32 %ai1, ptr %aip\0A br label %so\0A\00" @.str4952 = private unnamed_addr constant [103 x i8] c"sod:\0A store ptr %fdata, ptr %d0\0A store i32 %fcnt, ptr %d1\0A store i32 %fcnt, ptr %d2\0A ret ptr %h\0A}\0A\00" @.str4953 = private unnamed_addr constant [4 x i8] c"png\00" @.str4954 = private unnamed_addr constant [10 x i8] c"image/png\00" @.str4955 = private unnamed_addr constant [4 x i8] c"jpg\00" @.str4956 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str4957 = private unnamed_addr constant [5 x i8] c"jpeg\00" @.str4958 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str4959 = private unnamed_addr constant [4 x i8] c"gif\00" @.str4960 = private unnamed_addr constant [10 x i8] c"image/gif\00" @.str4961 = private unnamed_addr constant [4 x i8] c"bmp\00" @.str4962 = private unnamed_addr constant [10 x i8] c"image/bmp\00" @.str4963 = private unnamed_addr constant [5 x i8] c"webp\00" @.str4964 = private unnamed_addr constant [11 x i8] c"image/webp\00" @.str4965 = private unnamed_addr constant [4 x i8] c"svg\00" @.str4966 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" @.str4967 = private unnamed_addr constant [4 x i8] c"txt\00" @.str4968 = private unnamed_addr constant [11 x i8] c"text/plain\00" @.str4969 = private unnamed_addr constant [3 x i8] c"md\00" @.str4970 = private unnamed_addr constant [14 x i8] c"text/markdown\00" @.str4971 = private unnamed_addr constant [4 x i8] c"csv\00" @.str4972 = private unnamed_addr constant [9 x i8] c"text/csv\00" @.str4973 = private unnamed_addr constant [5 x i8] c"html\00" @.str4974 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str4975 = private unnamed_addr constant [4 x i8] c"htm\00" @.str4976 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str4977 = private unnamed_addr constant [4 x i8] c"css\00" @.str4978 = private unnamed_addr constant [9 x i8] c"text/css\00" @.str4979 = private unnamed_addr constant [3 x i8] c"js\00" @.str4980 = private unnamed_addr constant [16 x i8] c"text/javascript\00" @.str4981 = private unnamed_addr constant [5 x i8] c"json\00" @.str4982 = private unnamed_addr constant [17 x i8] c"application/json\00" @.str4983 = private unnamed_addr constant [4 x i8] c"xml\00" @.str4984 = private unnamed_addr constant [16 x i8] c"application/xml\00" @.str4985 = private unnamed_addr constant [4 x i8] c"zip\00" @.str4986 = private unnamed_addr constant [16 x i8] c"application/zip\00" @.str4987 = private unnamed_addr constant [4 x i8] c"pdf\00" @.str4988 = private unnamed_addr constant [16 x i8] c"application/pdf\00" @.str4989 = private unnamed_addr constant [4 x i8] c"wav\00" @.str4990 = private unnamed_addr constant [10 x i8] c"audio/wav\00" @.str4991 = private unnamed_addr constant [4 x i8] c"ogg\00" @.str4992 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" @.str4993 = private unnamed_addr constant [4 x i8] c"mp3\00" @.str4994 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" @.str4995 = private unnamed_addr constant [4 x i8] c"ttf\00" @.str4996 = private unnamed_addr constant [9 x i8] c"font/ttf\00" @.str4997 = private unnamed_addr constant [4 x i8] c"otf\00" @.str4998 = private unnamed_addr constant [9 x i8] c"font/otf\00" @.str4999 = private unnamed_addr constant [6 x i8] c"ludic\00" @.str5000 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" @.str5001 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:7141: index out of range: \00" @.str5002 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:7141: index out of range: \00" @.str5003 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" @.str5004 = private unnamed_addr constant [44 x i8] c"@mime_tbl = private unnamed_addr constant [\00" @.str5005 = private unnamed_addr constant [19 x i8] c" x { ptr, ptr }] [\00" @.str5006 = private unnamed_addr constant [3 x i8] c", \00" @.str5007 = private unnamed_addr constant [20 x i8] c"{ ptr, ptr } { ptr \00" @.str5008 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:7150: index out of range: \00" @.str5009 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5010 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:7150: index out of range: \00" @.str5011 = private unnamed_addr constant [3 x i8] c" }\00" @.str5012 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str5013 = private unnamed_addr constant [37 x i8] c"define ptr @lp_mime_of(ptr %path) {\0A\00" @.str5014 = private unnamed_addr constant [146 x i8] c"entry:\0A %ext = call ptr @lp_path_ext(ptr %path)\0A %lc = call ptr @lp_mime_lc(ptr %ext)\0A %ip = alloca i32\0A store i32 0, ptr %ip\0A br label %lp\0A\00" @.str5015 = private unnamed_addr constant [55 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %lt = icmp slt i32 %i, \00" @.str5016 = private unnamed_addr constant [39 x i8] c"\0A br i1 %lt, label %body, label %def\0A\00" @.str5017 = private unnamed_addr constant [30 x i8] c"body:\0A %kp = getelementptr [\00" @.str5018 = private unnamed_addr constant [182 x i8] c" x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 0\0A %k = load ptr, ptr %kp\0A %c = call i32 @strcmp(ptr %lc, ptr %k)\0A %eq = icmp eq i32 %c, 0\0A br i1 %eq, label %hit, label %nx\0A\00" @.str5019 = private unnamed_addr constant [29 x i8] c"hit:\0A %vp = getelementptr [\00" @.str5020 = private unnamed_addr constant [131 x i8] c" x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 1\0A %v = load ptr, ptr %vp\0A %r = call ptr @lp_fs_strdup(ptr %v)\0A ret ptr %r\0A\00" @.str5021 = private unnamed_addr constant [67 x i8] c"nx:\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" @.str5022 = private unnamed_addr constant [40 x i8] c"def:\0A %d = call ptr @lp_fs_strdup(ptr \00" @.str5023 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %d\0A}\0A\00" @.str5024 = private unnamed_addr constant [34 x i8] c"define ptr @lp_mime_lc(ptr %s) {\0A\00" @.str5025 = private unnamed_addr constant [132 x i8] c"entry:\0A %l64 = call i64 @strlen(ptr %s)\0A %l = trunc i64 %l64 to i32\0A %cap = add i64 %l64, 1\0A %out = call ptr @malloc(i64 %cap)\0A\00" @.str5026 = private unnamed_addr constant [127 x i8] c" %b0 = load i8, ptr %s\0A %b0i = zext i8 %b0 to i32\0A %isdot = icmp eq i32 %b0i, 46\0A %start = select i1 %isdot, i32 1, i32 0\0A\00" @.str5027 = private unnamed_addr constant [105 x i8] c" %ip = alloca i32\0A %op = alloca i32\0A store i32 %start, ptr %ip\0A store i32 0, ptr %op\0A br label %lp\0A\00" @.str5028 = private unnamed_addr constant [182 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %pp = getelementptr i8, ptr %s, i32 %i\0A %c = load i8, ptr %pp\0A %ci = zext i8 %c to i32\0A %z = icmp eq i32 %ci, 0\0A br i1 %z, label %done, label %go\0A\00" @.str5029 = private unnamed_addr constant [378 x i8] c"go:\0A %ua = icmp uge i32 %ci, 65\0A %ub = icmp ule i32 %ci, 90\0A %up = and i1 %ua, %ub\0A %lo = add i32 %ci, 32\0A %m = select i1 %up, i32 %lo, i32 %ci\0A %mt = trunc i32 %m to i8\0A %o = load i32, ptr %op\0A %dp = getelementptr i8, ptr %out, i32 %o\0A store i8 %mt, ptr %dp\0A %o1 = add i32 %o, 1\0A store i32 %o1, ptr %op\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" @.str5030 = private unnamed_addr constant [116 x i8] c"done:\0A %fo = load i32, ptr %op\0A %ep = getelementptr i8, ptr %out, i32 %fo\0A store i8 0, ptr %ep\0A ret ptr %out\0A}\0A\00" @.str5031 = private unnamed_addr constant [40 x i8] c"define ptr @lp_mime_sniff(ptr %path) {\0A\00" @.str5032 = private unnamed_addr constant [127 x i8] c"entry:\0A %f = call ptr @fopen(ptr %path, ptr @fn_str_rb)\0A %nz = icmp ne ptr %f, null\0A br i1 %nz, label %ok, label %fallback\0A\00" @.str5033 = private unnamed_addr constant [226 x i8] c"ok:\0A %buf = call ptr @malloc(i64 16)\0A %rd = call i64 @fread(ptr %buf, i64 1, i64 8, ptr %f)\0A call i32 @fclose(ptr %f)\0A %rdi = trunc i64 %rd to i32\0A %has4 = icmp sge i32 %rdi, 4\0A br i1 %has4, label %chk, label %fallback\0A\00" @.str5034 = private unnamed_addr constant [394 x i8] c"chk:\0A %b0p = getelementptr i8, ptr %buf, i32 0\0A %b0 = load i8, ptr %b0p\0A %b0i = zext i8 %b0 to i32\0A %b1p = getelementptr i8, ptr %buf, i32 1\0A %b1 = load i8, ptr %b1p\0A %b1i = zext i8 %b1 to i32\0A %b2p = getelementptr i8, ptr %buf, i32 2\0A %b2 = load i8, ptr %b2p\0A %b2i = zext i8 %b2 to i32\0A %b3p = getelementptr i8, ptr %buf, i32 3\0A %b3 = load i8, ptr %b3p\0A %b3i = zext i8 %b3 to i32\0A\00" @.str5035 = private unnamed_addr constant [225 x i8] c" %p0 = icmp eq i32 %b0i, 137\0A %p1 = icmp eq i32 %b1i, 80\0A %p2 = icmp eq i32 %b2i, 78\0A %p3 = icmp eq i32 %b3i, 71\0A %pa = and i1 %p0, %p1\0A %pb = and i1 %pa, %p2\0A %pc = and i1 %pb, %p3\0A br i1 %pc, label %png, label %cj\0A\00" @.str5036 = private unnamed_addr constant [72 x i8] c"png:\0A %rpng = call ptr @lp_fs_strdup(ptr @fn_sig_png)\0A ret ptr %rpng\0A\00" @.str5037 = private unnamed_addr constant [178 x i8] c"cj:\0A %j0 = icmp eq i32 %b0i, 255\0A %j1 = icmp eq i32 %b1i, 216\0A %j2 = icmp eq i32 %b2i, 255\0A %ja = and i1 %j0, %j1\0A %jb = and i1 %ja, %j2\0A br i1 %jb, label %jpg, label %cg\0A\00" @.str5038 = private unnamed_addr constant [72 x i8] c"jpg:\0A %rjpg = call ptr @lp_fs_strdup(ptr @fn_sig_jpg)\0A ret ptr %rjpg\0A\00" @.str5039 = private unnamed_addr constant [175 x i8] c"cg:\0A %g0 = icmp eq i32 %b0i, 71\0A %g1 = icmp eq i32 %b1i, 73\0A %g2 = icmp eq i32 %b2i, 70\0A %ga = and i1 %g0, %g1\0A %gb = and i1 %ga, %g2\0A br i1 %gb, label %gif, label %cp\0A\00" @.str5040 = private unnamed_addr constant [72 x i8] c"gif:\0A %rgif = call ptr @lp_fs_strdup(ptr @fn_sig_gif)\0A ret ptr %rgif\0A\00" @.str5041 = private unnamed_addr constant [234 x i8] c"cp:\0A %q0 = icmp eq i32 %b0i, 37\0A %q1 = icmp eq i32 %b1i, 80\0A %q2 = icmp eq i32 %b2i, 68\0A %q3 = icmp eq i32 %b3i, 70\0A %qa = and i1 %q0, %q1\0A %qb = and i1 %qa, %q2\0A %qc = and i1 %qb, %q3\0A br i1 %qc, label %pdf, label %fallback\0A\00" @.str5042 = private unnamed_addr constant [72 x i8] c"pdf:\0A %rpdf = call ptr @lp_fs_strdup(ptr @fn_sig_pdf)\0A ret ptr %rpdf\0A\00" @.str5043 = private unnamed_addr constant [65 x i8] c"fallback:\0A %r = call ptr @lp_mime_of(ptr %path)\0A ret ptr %r\0A}\0A\00" @.str5044 = private unnamed_addr constant [62 x i8] c"@fn_str_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str5045 = private unnamed_addr constant [62 x i8] c"@fn_str_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" @.str5046 = private unnamed_addr constant [62 x i8] c"@fn_str_ab = private unnamed_addr constant [3 x i8] c\22ab\5C00\22\0A\00" @.str5047 = private unnamed_addr constant [62 x i8] c"@fn_str_dot = private unnamed_addr constant [2 x i8] c\22.\5C00\22\0A\00" @.str5048 = private unnamed_addr constant [64 x i8] c"@fn_str_slash = private unnamed_addr constant [2 x i8] c\22/\5C00\22\0A\00" @.str5049 = private unnamed_addr constant [63 x i8] c"@fn_str_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" @.str5050 = private unnamed_addr constant [68 x i8] c"@fn_str_dottmp = private unnamed_addr constant [5 x i8] c\22.tmp\5C00\22\0A\00" @.str5051 = private unnamed_addr constant [71 x i8] c"@fn_sig_png = private unnamed_addr constant [10 x i8] c\22image/png\5C00\22\0A\00" @.str5052 = private unnamed_addr constant [72 x i8] c"@fn_sig_jpg = private unnamed_addr constant [11 x i8] c\22image/jpeg\5C00\22\0A\00" @.str5053 = private unnamed_addr constant [71 x i8] c"@fn_sig_gif = private unnamed_addr constant [10 x i8] c\22image/gif\5C00\22\0A\00" @.str5054 = private unnamed_addr constant [77 x i8] c"@fn_sig_pdf = private unnamed_addr constant [16 x i8] c\22application/pdf\5C00\22\0A\00" @.str5055 = private unnamed_addr constant [34 x i8] c"declare i32 @open(ptr, i32, ...)\0A\00" @.str5056 = private unnamed_addr constant [25 x i8] c"declare i32 @close(i32)\0A\00" @.str5057 = private unnamed_addr constant [35 x i8] c"declare i64 @lseek(i32, i64, i32)\0A\00" @.str5058 = private unnamed_addr constant [49 x i8] c"declare ptr @mmap(ptr, i64, i32, i32, i32, i64)\0A\00" @.str5059 = private unnamed_addr constant [38 x i8] c"declare ptr @fmemopen(ptr, i64, ptr)\0A\00" @.str5060 = private unnamed_addr constant [25 x i8] c"declare i32 @chdir(ptr)\0A\00" @.str5061 = private unnamed_addr constant [45 x i8] c"declare i32 @_NSGetExecutablePath(ptr, ptr)\0A\00" @.str5062 = private unnamed_addr constant [63 x i8] c"@.pak_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str5063 = private unnamed_addr constant [73 x i8] c"@.pak_idx = private unnamed_addr constant [12 x i8] c\22packs.index\5C00\22\0A\00" @.str5064 = private unnamed_addr constant [74 x i8] c"@.pak_res = private unnamed_addr constant [13 x i8] c\22../Resources\5C00\22\0A\00" @.str5065 = private unnamed_addr constant [89 x i8] c"@.pak_appsup= private unnamed_addr constant [28 x i8] c\22Library/Application Support\5C00\22\0A\00" @.str5066 = private unnamed_addr constant [65 x i8] c"@.pak_home = private unnamed_addr constant [5 x i8] c\22HOME\5C00\22\0A\00" @.str5067 = private unnamed_addr constant [57 x i8] c"@L_pak_base = internal global [8 x ptr] zeroinitializer\0A\00" @.str5068 = private unnamed_addr constant [37 x i8] c"@L_pak_n = internal global i32 0\0A\00" @.str5069 = private unnamed_addr constant [44 x i8] c"@L_pak_splash = internal global ptr null\0A\00" @.str5070 = private unnamed_addr constant [41 x i8] c"@L_pak_splashbg = internal global i32 0\0A\00" @.str5071 = private unnamed_addr constant [42 x i8] c"declare void @splash_show(ptr, i32, i32)\0A\00" @.str5072 = private unnamed_addr constant [29 x i8] c"declare void @splash_hide()\0A\00" @.str5073 = private unnamed_addr constant [38 x i8] c"declare void @app_set_icon(ptr, i32)\0A\00" @.str5074 = private unnamed_addr constant [37 x i8] c"declare void @app_window_fixed(i32)\0A\00" @.str5075 = private unnamed_addr constant [34 x i8] c"declare i32 @win_monitor_count()\0A\00" @.str5076 = private unnamed_addr constant [42 x i8] c"declare void @app_window_to_monitor(i32)\0A\00" @.str5077 = private unnamed_addr constant [33 x i8] c"declare void @app_window_hide()\0A\00" @.str5078 = private unnamed_addr constant [33 x i8] c"declare void @app_window_show()\0A\00" @.str5079 = private unnamed_addr constant [63 x i8] c"@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] \00" @.str5080 = private unnamed_addr constant [61 x i8] c"[{ i32, ptr, ptr } { i32 101, ptr @lp_pak_boot, ptr null }]\0A\00" @.str5081 = private unnamed_addr constant [39 x i8] c"define i32 @lp_pak_mount(ptr %path) {\0A\00" @.str5082 = private unnamed_addr constant [103 x i8] c"entry:\0A %n = load i32, ptr @L_pak_n\0A %full = icmp sge i32 %n, 8\0A br i1 %full, label %no, label %op\0A\00" @.str5083 = private unnamed_addr constant [126 x i8] c"op:\0A %fd = call i32 (ptr, i32, ...) @open(ptr %path, i32 0)\0A %bad = icmp slt i32 %fd, 0\0A br i1 %bad, label %no, label %sz\0A\00" @.str5084 = private unnamed_addr constant [124 x i8] c"sz:\0A %end = call i64 @lseek(i32 %fd, i64 0, i32 2)\0A %small = icmp slt i64 %end, 32\0A br i1 %small, label %clo, label %mp\0A\00" @.str5085 = private unnamed_addr constant [80 x i8] c"mp:\0A %base = call ptr @mmap(ptr null, i64 %end, i32 1, i32 2, i32 %fd, i64 0)\0A\00" @.str5086 = private unnamed_addr constant [93 x i8] c" %mbad = icmp eq ptr %base, inttoptr (i64 -1 to ptr)\0A br i1 %mbad, label %clo, label %chk\0A\00" @.str5087 = private unnamed_addr constant [107 x i8] c"chk:\0A %m = load i32, ptr %base\0A %okm = icmp eq i32 %m, 1262571596\0A br i1 %okm, label %keep, label %clo\0A\00" @.str5088 = private unnamed_addr constant [102 x i8] c"keep:\0A %slot = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %n\0A store ptr %base, ptr %slot\0A\00" @.str5089 = private unnamed_addr constant [98 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @L_pak_n\0A %c1 = call i32 @close(i32 %fd)\0A ret i32 1\0A\00" @.str5090 = private unnamed_addr constant [51 x i8] c"clo:\0A %c2 = call i32 @close(i32 %fd)\0A ret i32 0\0A\00" @.str5091 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str5092 = private unnamed_addr constant [35 x i8] c"define ptr @lp_pak_norm(ptr %p) {\0A\00" @.str5093 = private unnamed_addr constant [133 x i8] c"entry:\0A %c0 = load i8, ptr %p\0A %c0i = zext i8 %c0 to i32\0A %isdot = icmp eq i32 %c0i, 46\0A br i1 %isdot, label %chk2, label %same\0A\00" @.str5094 = private unnamed_addr constant [171 x i8] c"chk2:\0A %p1 = getelementptr i8, ptr %p, i32 1\0A %c1 = load i8, ptr %p1\0A %c1i = zext i8 %c1 to i32\0A %issl = icmp eq i32 %c1i, 47\0A br i1 %issl, label %skip, label %same\0A\00" @.str5095 = private unnamed_addr constant [98 x i8] c"skip:\0A %p2 = getelementptr i8, ptr %p, i32 2\0A %r = call ptr @lp_pak_norm(ptr %p2)\0A ret ptr %r\0A\00" @.str5096 = private unnamed_addr constant [22 x i8] c"same:\0A ret ptr %p\0A}\0A\00" @.str5097 = private unnamed_addr constant [63 x i8] c"define ptr @lp_pak_find1(ptr %base, ptr %name, ptr %outlen) {\0A\00" @.str5098 = private unnamed_addr constant [82 x i8] c"entry:\0A %cntp = getelementptr i8, ptr %base, i32 8\0A %cnt = load i32, ptr %cntp\0A\00" @.str5099 = private unnamed_addr constant [132 x i8] c" %lop = alloca i32\0A %hip = alloca i32\0A store i32 0, ptr %lop\0A %h0 = sub i32 %cnt, 1\0A store i32 %h0, ptr %hip\0A br label %loop\0A\00" @.str5100 = private unnamed_addr constant [130 x i8] c"loop:\0A %lo = load i32, ptr %lop\0A %hi = load i32, ptr %hip\0A %fin = icmp sgt i32 %lo, %hi\0A br i1 %fin, label %miss, label %mid\0A\00" @.str5101 = private unnamed_addr constant [150 x i8] c"mid:\0A %sum = add i32 %lo, %hi\0A %m = sdiv i32 %sum, 2\0A %eo = mul i32 %m, 16\0A %eo2 = add i32 %eo, 32\0A %ep = getelementptr i8, ptr %base, i32 %eo2\0A\00" @.str5102 = private unnamed_addr constant [124 x i8] c" %noff = load i32, ptr %ep\0A %nptr = getelementptr i8, ptr %base, i32 %noff\0A %c = call i32 @strcmp(ptr %nptr, ptr %name)\0A\00" @.str5103 = private unnamed_addr constant [67 x i8] c" %iseq = icmp eq i32 %c, 0\0A br i1 %iseq, label %hit, label %cmp\0A\00" @.str5104 = private unnamed_addr constant [71 x i8] c"cmp:\0A %lt = icmp slt i32 %c, 0\0A br i1 %lt, label %goup, label %godn\0A\00" @.str5105 = private unnamed_addr constant [72 x i8] c"goup:\0A %m1 = add i32 %m, 1\0A store i32 %m1, ptr %lop\0A br label %loop\0A\00" @.str5106 = private unnamed_addr constant [72 x i8] c"godn:\0A %m2 = sub i32 %m, 1\0A store i32 %m2, ptr %hip\0A br label %loop\0A\00" @.str5107 = private unnamed_addr constant [148 x i8] c"hit:\0A %dop = getelementptr i8, ptr %ep, i32 4\0A %doff = load i32, ptr %dop\0A %dlp = getelementptr i8, ptr %ep, i32 8\0A %dlen = load i32, ptr %dlp\0A\00" @.str5108 = private unnamed_addr constant [93 x i8] c" store i32 %dlen, ptr %outlen\0A %dp = getelementptr i8, ptr %base, i32 %doff\0A ret ptr %dp\0A\00" @.str5109 = private unnamed_addr constant [24 x i8] c"miss:\0A ret ptr null\0A}\0A\00" @.str5110 = private unnamed_addr constant [51 x i8] c"define ptr @lp_pak_find(ptr %path, ptr %outlen) {\0A\00" @.str5111 = private unnamed_addr constant [79 x i8] c"entry:\0A %p = call ptr @lp_pak_norm(ptr %path)\0A %np = load i32, ptr @L_pak_n\0A\00" @.str5112 = private unnamed_addr constant [85 x i8] c" %ip = alloca i32\0A %i0 = sub i32 %np, 1\0A store i32 %i0, ptr %ip\0A br label %loop\0A\00" @.str5113 = private unnamed_addr constant [101 x i8] c"loop:\0A %i = load i32, ptr %ip\0A %done = icmp slt i32 %i, 0\0A br i1 %done, label %miss, label %body\0A\00" @.str5114 = private unnamed_addr constant [103 x i8] c"body:\0A %slot = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %i\0A %base = load ptr, ptr %slot\0A\00" @.str5115 = private unnamed_addr constant [131 x i8] c" %r = call ptr @lp_pak_find1(ptr %base, ptr %p, ptr %outlen)\0A %hit = icmp ne ptr %r, null\0A br i1 %hit, label %got, label %next\0A\00" @.str5116 = private unnamed_addr constant [19 x i8] c"got:\0A ret ptr %r\0A\00" @.str5117 = private unnamed_addr constant [71 x i8] c"next:\0A %i1 = sub i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %loop\0A\00" @.str5118 = private unnamed_addr constant [24 x i8] c"miss:\0A ret ptr null\0A}\0A\00" @.str5119 = private unnamed_addr constant [37 x i8] c"define i32 @lp_pak_has(ptr %path) {\0A\00" @.str5120 = private unnamed_addr constant [99 x i8] c"entry:\0A %lp = alloca i32\0A store i32 0, ptr %lp\0A %b = call ptr @lp_pak_find(ptr %path, ptr %lp)\0A\00" @.str5121 = private unnamed_addr constant [82 x i8] c" %hit = icmp ne ptr %b, null\0A %r = select i1 %hit, i32 1, i32 0\0A ret i32 %r\0A}\0A\00" @.str5122 = private unnamed_addr constant [39 x i8] c"define i32 @lp_pak_bytes(ptr %path) {\0A\00" @.str5123 = private unnamed_addr constant [99 x i8] c"entry:\0A %lp = alloca i32\0A store i32 0, ptr %lp\0A %b = call ptr @lp_pak_find(ptr %path, ptr %lp)\0A\00" @.str5124 = private unnamed_addr constant [67 x i8] c" %hit = icmp ne ptr %b, null\0A br i1 %hit, label %yes, label %no\0A\00" @.str5125 = private unnamed_addr constant [44 x i8] c"yes:\0A %l = load i32, ptr %lp\0A ret i32 %l\0A\00" @.str5126 = private unnamed_addr constant [20 x i8] c"no:\0A ret i32 -1\0A}\0A\00" @.str5127 = private unnamed_addr constant [49 x i8] c"define ptr @lp_pak_open(ptr %path, ptr %mode) {\0A\00" @.str5128 = private unnamed_addr constant [132 x i8] c"entry:\0A %m0 = load i8, ptr %mode\0A %m0i = zext i8 %m0 to i32\0A %isr = icmp eq i32 %m0i, 114\0A br i1 %isr, label %try, label %real\0A\00" @.str5129 = private unnamed_addr constant [100 x i8] c"try:\0A %lp = alloca i32\0A store i32 0, ptr %lp\0A %blob = call ptr @lp_pak_find(ptr %path, ptr %lp)\0A\00" @.str5130 = private unnamed_addr constant [72 x i8] c" %hit = icmp ne ptr %blob, null\0A br i1 %hit, label %mem, label %real\0A\00" @.str5131 = private unnamed_addr constant [135 x i8] c"mem:\0A %len = load i32, ptr %lp\0A %lz = zext i32 %len to i64\0A %f = call ptr @fmemopen(ptr %blob, i64 %lz, ptr @.pak_rb)\0A ret ptr %f\0A\00" @.str5132 = private unnamed_addr constant [69 x i8] c"real:\0A %rf = call ptr @fopen(ptr %path, ptr %mode)\0A ret ptr %rf\0A}\0A\00" @.str5133 = private unnamed_addr constant [39 x i8] c"define ptr @lp_pak_slurp(ptr %path) {\0A\00" @.str5134 = private unnamed_addr constant [121 x i8] c"entry:\0A %f = call ptr @fopen(ptr %path, ptr @.pak_rb)\0A %bad = icmp eq ptr %f, null\0A br i1 %bad, label %no, label %go\0A\00" @.str5135 = private unnamed_addr constant [130 x i8] c"go:\0A %s1 = call i32 @fseek(ptr %f, i64 0, i32 2)\0A %n64 = call i64 @ftell(ptr %f)\0A %s2 = call i32 @fseek(ptr %f, i64 0, i32 0)\0A\00" @.str5136 = private unnamed_addr constant [121 x i8] c" %cap = add i64 %n64, 1\0A %buf = call ptr @malloc(i64 %cap)\0A %rd = call i64 @fread(ptr %buf, i64 1, i64 %n64, ptr %f)\0A\00" @.str5137 = private unnamed_addr constant [112 x i8] c" %e = getelementptr i8, ptr %buf, i64 %rd\0A store i8 0, ptr %e\0A %c = call i32 @fclose(ptr %f)\0A ret ptr %buf\0A\00" @.str5138 = private unnamed_addr constant [22 x i8] c"no:\0A ret ptr null\0A}\0A\00" @.str5139 = private unnamed_addr constant [41 x i8] c"define i32 @lp_pak_boot_dir(ptr %dir) {\0A\00" @.str5140 = private unnamed_addr constant [105 x i8] c"entry:\0A %ix = call ptr @lp_path_join(ptr %dir, ptr @.pak_idx)\0A %txt = call ptr @lp_pak_slurp(ptr %ix)\0A\00" @.str5141 = private unnamed_addr constant [72 x i8] c" %none = icmp eq ptr %txt, null\0A br i1 %none, label %no, label %scan\0A\00" @.str5142 = private unnamed_addr constant [129 x i8] c"scan:\0A %ip = alloca i32\0A %got = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %got\0A %jp = alloca i32\0A br label %line\0A\00" @.str5143 = private unnamed_addr constant [128 x i8] c"line:\0A %i = load i32, ptr %ip\0A %lp = getelementptr i8, ptr %txt, i32 %i\0A %c0 = load i8, ptr %lp\0A %c0i = zext i8 %c0 to i32\0A\00" @.str5144 = private unnamed_addr constant [71 x i8] c" %atend = icmp eq i32 %c0i, 0\0A br i1 %atend, label %fin, label %eol\0A\00" @.str5145 = private unnamed_addr constant [48 x i8] c"eol:\0A store i32 %i, ptr %jp\0A br label %escan\0A\00" @.str5146 = private unnamed_addr constant [129 x i8] c"escan:\0A %j = load i32, ptr %jp\0A %jq = getelementptr i8, ptr %txt, i32 %j\0A %cj = load i8, ptr %jq\0A %cji = zext i8 %cj to i32\0A\00" @.str5147 = private unnamed_addr constant [130 x i8] c" %isnl = icmp eq i32 %cji, 10\0A %isz = icmp eq i32 %cji, 0\0A %stop = or i1 %isnl, %isz\0A br i1 %stop, label %ehave, label %eadv\0A\00" @.str5148 = private unnamed_addr constant [72 x i8] c"eadv:\0A %j1 = add i32 %j, 1\0A store i32 %j1, ptr %jp\0A br label %escan\0A\00" @.str5149 = private unnamed_addr constant [156 x i8] c"ehave:\0A %je = load i32, ptr %jp\0A %jep = getelementptr i8, ptr %txt, i32 %je\0A store i8 0, ptr %jep\0A %nexti = add i32 %je, 1\0A store i32 %nexti, ptr %ip\0A\00" @.str5150 = private unnamed_addr constant [177 x i8] c" %ln = getelementptr i8, ptr %txt, i32 %i\0A %isp = call i32 @strncmp(ptr %ln, ptr @.pak_kw_pack, i64 5)\0A %pk = icmp eq i32 %isp, 0\0A br i1 %pk, label %dopack, label %chkhome\0A\00" @.str5151 = private unnamed_addr constant [144 x i8] c"dopack:\0A %pv = getelementptr i8, ptr %ln, i32 5\0A %full = call ptr @lp_path_join(ptr %dir, ptr %pv)\0A %ok = call i32 @lp_pak_mount(ptr %full)\0A\00" @.str5152 = private unnamed_addr constant [94 x i8] c" %g = load i32, ptr %got\0A %g1 = add i32 %g, %ok\0A store i32 %g1, ptr %got\0A br label %line\0A\00" @.str5153 = private unnamed_addr constant [143 x i8] c"chkhome:\0A %ish = call i32 @strncmp(ptr %ln, ptr @.pak_kw_home, i64 5)\0A %hm = icmp eq i32 %ish, 0\0A br i1 %hm, label %dohome, label %chkspbg\0A\00" @.str5154 = private unnamed_addr constant [104 x i8] c"dohome:\0A %hv = getelementptr i8, ptr %ln, i32 5\0A call void @lp_pak_sethome(ptr %hv)\0A br label %line\0A\00" @.str5155 = private unnamed_addr constant [141 x i8] c"chkspbg:\0A %isb = call i32 @strncmp(ptr %ln, ptr @.pak_kw_spbg, i64 9)\0A %bg = icmp eq i32 %isb, 0\0A br i1 %bg, label %dospbg, label %chksp\0A\00" @.str5156 = private unnamed_addr constant [136 x i8] c"dospbg:\0A %bv = getelementptr i8, ptr %ln, i32 9\0A %bi = call i32 @atoi(ptr %bv)\0A store i32 %bi, ptr @L_pak_splashbg\0A br label %line\0A\00" @.str5157 = private unnamed_addr constant [138 x i8] c"chksp:\0A %isS = call i32 @strncmp(ptr %ln, ptr @.pak_kw_splash, i64 7)\0A %sp = icmp eq i32 %isS, 0\0A br i1 %sp, label %dosp, label %line\0A\00" @.str5158 = private unnamed_addr constant [100 x i8] c"dosp:\0A %sv = getelementptr i8, ptr %ln, i32 7\0A store ptr %sv, ptr @L_pak_splash\0A br label %line\0A\00" @.str5159 = private unnamed_addr constant [47 x i8] c"fin:\0A %gf = load i32, ptr %got\0A ret i32 %gf\0A\00" @.str5160 = private unnamed_addr constant [19 x i8] c"no:\0A ret i32 0\0A}\0A\00" @.str5161 = private unnamed_addr constant [71 x i8] c"@.pak_kw_pack = private unnamed_addr constant [6 x i8] c\22pack \5C00\22\0A\00" @.str5162 = private unnamed_addr constant [71 x i8] c"@.pak_kw_home = private unnamed_addr constant [6 x i8] c\22home \5C00\22\0A\00" @.str5163 = private unnamed_addr constant [73 x i8] c"@.pak_kw_splash = private unnamed_addr constant [8 x i8] c\22splash \5C00\22\0A\00" @.str5164 = private unnamed_addr constant [75 x i8] c"@.pak_kw_spbg = private unnamed_addr constant [10 x i8] c\22splashbg \5C00\22\0A\00" @.str5165 = private unnamed_addr constant [42 x i8] c"define void @lp_pak_sethome(ptr %name) {\0A\00" @.str5166 = private unnamed_addr constant [115 x i8] c"entry:\0A %h = call ptr @getenv(ptr @.pak_appdata)\0A %nh = icmp eq ptr %h, null\0A br i1 %nh, label %out, label %go\0A\00" @.str5167 = private unnamed_addr constant [90 x i8] c"go:\0A %b = call ptr @lp_path_join(ptr %h, ptr %name)\0A call void @lp_win_slashes(ptr %b)\0A\00" @.str5168 = private unnamed_addr constant [112 x i8] c"entry:\0A %h = call ptr @getenv(ptr @.pak_home)\0A %nh = icmp eq ptr %h, null\0A br i1 %nh, label %out, label %go\0A\00" @.str5169 = private unnamed_addr constant [110 x i8] c"go:\0A %a = call ptr @lp_path_join(ptr %h, ptr @.pak_appsup)\0A %b = call ptr @lp_path_join(ptr %a, ptr %name)\0A\00" @.str5170 = private unnamed_addr constant [90 x i8] c" %mk = call i32 @mkdir(ptr %b, i32 493)\0A %cd = call i32 @chdir(ptr %b)\0A br label %out\0A\00" @.str5171 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str5172 = private unnamed_addr constant [70 x i8] c"@.pak_appdata = private unnamed_addr constant [8 x i8] c\22APPDATA\5C00\22\0A\00" @.str5173 = private unnamed_addr constant [30 x i8] c"define void @lp_pak_boot() {\0A\00" @.str5174 = private unnamed_addr constant [83 x i8] c"entry:\0A %buf = alloca [1024 x i8]\0A %szp = alloca i32\0A store i32 1024, ptr %szp\0A\00" @.str5175 = private unnamed_addr constant [124 x i8] c" %rc = call i32 @_NSGetExecutablePath(ptr %buf, ptr %szp)\0A %bad = icmp ne i32 %rc, 0\0A br i1 %bad, label %out, label %go\0A\00" @.str5176 = private unnamed_addr constant [103 x i8] c"go:\0A %dir = call ptr @lp_path_dir(ptr %buf)\0A %res = call ptr @lp_path_join(ptr %dir, ptr @.pak_res)\0A\00" @.str5177 = private unnamed_addr constant [115 x i8] c" %n1 = call i32 @lp_pak_boot_dir(ptr %res)\0A %any = icmp sgt i32 %n1, 0\0A br i1 %any, label %splash, label %try2\0A\00" @.str5178 = private unnamed_addr constant [70 x i8] c"try2:\0A %n2 = call i32 @lp_pak_boot_dir(ptr %dir)\0A br label %splash\0A\00" @.str5179 = private unnamed_addr constant [9 x i8] c"splash:\0A\00" @.str5180 = private unnamed_addr constant [33 x i8] c" call void @lp_pak_splash_go()\0A\00" @.str5181 = private unnamed_addr constant [17 x i8] c" br label %out\0A\00" @.str5182 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str5183 = private unnamed_addr constant [35 x i8] c"define void @lp_pak_splash_go() {\0A\00" @.str5184 = private unnamed_addr constant [115 x i8] c"entry:\0A %sp = load ptr, ptr @L_pak_splash\0A %none = icmp eq ptr %sp, null\0A br i1 %none, label %out, label %find\0A\00" @.str5185 = private unnamed_addr constant [99 x i8] c"find:\0A %lp = alloca i32\0A store i32 0, ptr %lp\0A %blob = call ptr @lp_pak_find(ptr %sp, ptr %lp)\0A\00" @.str5186 = private unnamed_addr constant [74 x i8] c" %miss = icmp eq ptr %blob, null\0A br i1 %miss, label %out, label %show\0A\00" @.str5187 = private unnamed_addr constant [72 x i8] c"show:\0A %len = load i32, ptr %lp\0A %bg = load i32, ptr @L_pak_splashbg\0A\00" @.str5188 = private unnamed_addr constant [72 x i8] c" call void @splash_show(ptr %blob, i32 %len, i32 %bg)\0A br label %out\0A\00" @.str5189 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str5190 = private unnamed_addr constant [39 x i8] c"define void @lp_app_icon(ptr %path) {\0A\00" @.str5191 = private unnamed_addr constant [128 x i8] c"entry:\0A %f = call ptr @lp_pak_open(ptr %path, ptr @.pak_rb)\0A %bad = icmp eq ptr %f, null\0A br i1 %bad, label %out, label %go\0A\00" @.str5192 = private unnamed_addr constant [130 x i8] c"go:\0A %s1 = call i32 @fseek(ptr %f, i64 0, i32 2)\0A %n64 = call i64 @ftell(ptr %f)\0A %s2 = call i32 @fseek(ptr %f, i64 0, i32 0)\0A\00" @.str5193 = private unnamed_addr constant [72 x i8] c" %tiny = icmp sle i64 %n64, 0\0A br i1 %tiny, label %shut, label %read\0A\00" @.str5194 = private unnamed_addr constant [102 x i8] c"read:\0A %buf = call ptr @malloc(i64 %n64)\0A %rd = call i64 @fread(ptr %buf, i64 1, i64 %n64, ptr %f)\0A\00" @.str5195 = private unnamed_addr constant [64 x i8] c" %c1 = call i32 @fclose(ptr %f)\0A %n32 = trunc i64 %rd to i32\0A\00" @.str5196 = private unnamed_addr constant [86 x i8] c" call void @app_set_icon(ptr %buf, i32 %n32)\0A call void @free(ptr %buf)\0A ret void\0A\00" @.str5197 = private unnamed_addr constant [51 x i8] c"shut:\0A %c2 = call i32 @fclose(ptr %f)\0A ret void\0A\00" @.str5198 = private unnamed_addr constant [19 x i8] c"out:\0A ret void\0A}\0A\00" @.str5199 = private unnamed_addr constant [35 x i8] c"declare ptr @__acrt_iob_func(i32)\0A\00" @.str5200 = private unnamed_addr constant [33 x i8] c"declare i32 @_setmode(i32, i32)\0A\00" @.str5201 = private unnamed_addr constant [37 x i8] c"declare ptr @_fsopen(ptr, ptr, i32)\0A\00" @.str5202 = private unnamed_addr constant [29 x i8] c"declare i64 @_ftelli64(ptr)\0A\00" @.str5203 = private unnamed_addr constant [39 x i8] c"declare i32 @_fseeki64(ptr, i64, i32)\0A\00" @.str5204 = private unnamed_addr constant [27 x i8] c"declare i64 @_time64(ptr)\0A\00" @.str5205 = private unnamed_addr constant [32 x i8] c"declare i32 @_access(ptr, i32)\0A\00" @.str5206 = private unnamed_addr constant [26 x i8] c"declare i32 @_mkdir(ptr)\0A\00" @.str5207 = private unnamed_addr constant [26 x i8] c"declare i32 @_chdir(ptr)\0A\00" @.str5208 = private unnamed_addr constant [24 x i8] c"declare i32 @_getpid()\0A\00" @.str5209 = private unnamed_addr constant [35 x i8] c"declare i32 @_open(ptr, i32, ...)\0A\00" @.str5210 = private unnamed_addr constant [26 x i8] c"declare i32 @_close(i32)\0A\00" @.str5211 = private unnamed_addr constant [39 x i8] c"declare i64 @_lseeki64(i32, i64, i32)\0A\00" @.str5212 = private unnamed_addr constant [34 x i8] c"declare i32 @_putenv_s(ptr, ptr)\0A\00" @.str5213 = private unnamed_addr constant [34 x i8] c"declare i64 @_get_osfhandle(i32)\0A\00" @.str5214 = private unnamed_addr constant [40 x i8] c"declare i32 @_open_osfhandle(i64, i32)\0A\00" @.str5215 = private unnamed_addr constant [32 x i8] c"declare ptr @_fdopen(i32, ptr)\0A\00" @.str5216 = private unnamed_addr constant [41 x i8] c"declare i32 @MoveFileExA(ptr, ptr, i32)\0A\00" @.str5217 = private unnamed_addr constant [31 x i8] c"declare i32 @DeleteFileA(ptr)\0A\00" @.str5218 = private unnamed_addr constant [36 x i8] c"declare i32 @RemoveDirectoryA(ptr)\0A\00" @.str5219 = private unnamed_addr constant [39 x i8] c"declare ptr @FindFirstFileA(ptr, ptr)\0A\00" @.str5220 = private unnamed_addr constant [38 x i8] c"declare i32 @FindNextFileA(ptr, ptr)\0A\00" @.str5221 = private unnamed_addr constant [29 x i8] c"declare i32 @FindClose(ptr)\0A\00" @.str5222 = private unnamed_addr constant [63 x i8] c"declare ptr @CreateFileMappingA(ptr, ptr, i32, i32, i32, ptr)\0A\00" @.str5223 = private unnamed_addr constant [53 x i8] c"declare ptr @MapViewOfFile(ptr, i32, i32, i32, i64)\0A\00" @.str5224 = private unnamed_addr constant [31 x i8] c"declare i32 @CloseHandle(ptr)\0A\00" @.str5225 = private unnamed_addr constant [48 x i8] c"declare i32 @GetModuleFileNameA(ptr, ptr, i32)\0A\00" @.str5226 = private unnamed_addr constant [37 x i8] c"declare i32 @GetTempPathA(i32, ptr)\0A\00" @.str5227 = private unnamed_addr constant [51 x i8] c"declare i32 @GetTempFileNameA(ptr, ptr, i32, ptr)\0A\00" @.str5228 = private unnamed_addr constant [61 x i8] c"declare ptr @CreateFileA(ptr, i32, i32, ptr, i32, i32, ptr)\0A\00" @.str5229 = private unnamed_addr constant [49 x i8] c"declare i32 @WriteFile(ptr, ptr, i32, ptr, ptr)\0A\00" @.str5230 = private unnamed_addr constant [49 x i8] c"declare i32 @SetFilePointer(ptr, i32, ptr, i32)\0A\00" @.str5231 = private unnamed_addr constant [65 x i8] c"@.win_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str5232 = private unnamed_addr constant [66 x i8] c"@.win_lpk = private unnamed_addr constant [4 x i8] c\22lpk\5C00\22\0A\00" @.str5233 = private unnamed_addr constant [63 x i8] c"@.win_empty = private unnamed_addr constant [1 x i8] c\22\5C00\22\0A\00" @.str5234 = private unnamed_addr constant [70 x i8] c"@.win_windows = private unnamed_addr constant [8 x i8] c\22Windows\5C00\22\0A\00" @.str5235 = private unnamed_addr constant [69 x i8] c"@.win_x64 = private unnamed_addr constant [7 x i8] c\22x86_64\5C00\22\0A\00" @.str5236 = private unnamed_addr constant [48 x i8] c"define internal void @lp_win_slashes(ptr %s) {\0A\00" @.str5237 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %lp\0A\00" @.str5238 = private unnamed_addr constant [132 x i8] c"lp:\0A %p = phi ptr [ %s, %entry ], [ %p1, %nx ]\0A %c = load i8, ptr %p\0A %z = icmp eq i8 %c, 0\0A br i1 %z, label %done, label %chk\0A\00" @.str5239 = private unnamed_addr constant [67 x i8] c"chk:\0A %bs = icmp eq i8 %c, 92\0A br i1 %bs, label %fix, label %nx\0A\00" @.str5240 = private unnamed_addr constant [43 x i8] c"fix:\0A store i8 47, ptr %p\0A br label %nx\0A\00" @.str5241 = private unnamed_addr constant [60 x i8] c"nx:\0A %p1 = getelementptr i8, ptr %p, i64 1\0A br label %lp\0A\00" @.str5242 = private unnamed_addr constant [20 x i8] c"done:\0A ret void\0A}\0A\00" @.str5243 = private unnamed_addr constant [42 x i8] c"@L_win_stdio_bin = internal global i32 0\0A\00" @.str5244 = private unnamed_addr constant [46 x i8] c"define internal ptr @lp_win_stdio(i32 %fd) {\0A\00" @.str5245 = private unnamed_addr constant [112 x i8] c"entry:\0A %b = load i32, ptr @L_win_stdio_bin\0A %done = icmp ne i32 %b, 0\0A br i1 %done, label %get, label %set\0A\00" @.str5246 = private unnamed_addr constant [148 x i8] c"set:\0A store i32 1, ptr @L_win_stdio_bin\0A %s1 = call i32 @_setmode(i32 1, i32 32768)\0A %s2 = call i32 @_setmode(i32 2, i32 32768)\0A br label %get\0A\00" @.str5247 = private unnamed_addr constant [63 x i8] c"get:\0A %f = call ptr @__acrt_iob_func(i32 %fd)\0A ret ptr %f\0A}\0A\00" @.str5248 = private unnamed_addr constant [46 x i8] c"define internal ptr @fopen(ptr %p, ptr %m) {\0A\00" @.str5249 = private unnamed_addr constant [132 x i8] c"entry:\0A %buf = alloca [8 x i8]\0A %ip = alloca i32\0A %hb = alloca i32\0A store i32 0, ptr %ip\0A store i32 0, ptr %hb\0A br label %lp\0A\00" @.str5250 = private unnamed_addr constant [213 x i8] c"lp:\0A %i = load i32, ptr %ip\0A %src = getelementptr i8, ptr %m, i32 %i\0A %c = load i8, ptr %src\0A %z = icmp eq i8 %c, 0\0A %full = icmp sge i32 %i, 6\0A %stop = or i1 %z, %full\0A br i1 %stop, label %fin, label %cp\0A\00" @.str5251 = private unnamed_addr constant [256 x i8] c"cp:\0A %dst = getelementptr i8, ptr %buf, i32 %i\0A store i8 %c, ptr %dst\0A %isb = icmp eq i8 %c, 98\0A %hbv = load i32, ptr %hb\0A %hbn = select i1 %isb, i32 1, i32 %hbv\0A store i32 %hbn, ptr %hb\0A %i1 = add i32 %i, 1\0A store i32 %i1, ptr %ip\0A br label %lp\0A\00" @.str5252 = private unnamed_addr constant [103 x i8] c"fin:\0A %hbf = load i32, ptr %hb\0A %need = icmp eq i32 %hbf, 0\0A br i1 %need, label %addb, label %term\0A\00" @.str5253 = private unnamed_addr constant [137 x i8] c"addb:\0A %bp = getelementptr i8, ptr %buf, i32 %i\0A store i8 98, ptr %bp\0A %i2 = add i32 %i, 1\0A store i32 %i2, ptr %ip\0A br label %term\0A\00" @.str5254 = private unnamed_addr constant [165 x i8] c"term:\0A %ie = load i32, ptr %ip\0A %ep = getelementptr i8, ptr %buf, i32 %ie\0A store i8 0, ptr %ep\0A %f = call ptr @_fsopen(ptr %p, ptr %buf, i32 64)\0A ret ptr %f\0A}\0A\00" @.str5255 = private unnamed_addr constant [95 x i8] c"define internal i64 @ftell(ptr %f) {\0Aentry:\0A %r = call i64 @_ftelli64(ptr %f)\0A ret i64 %r\0A}\0A\00" @.str5256 = private unnamed_addr constant [127 x i8] c"define internal i32 @fseek(ptr %f, i64 %o, i32 %w) {\0Aentry:\0A %r = call i32 @_fseeki64(ptr %f, i64 %o, i32 %w)\0A ret i32 %r\0A}\0A\00" @.str5257 = private unnamed_addr constant [184 x i8] c"define internal i32 @rename(ptr %a, ptr %b) {\0Aentry:\0A %r = call i32 @MoveFileExA(ptr %a, ptr %b, i32 11)\0A %ok = icmp ne i32 %r, 0\0A %v = select i1 %ok, i32 0, i32 -1\0A ret i32 %v\0A}\0A\00" @.str5258 = private unnamed_addr constant [39 x i8] c"define internal i32 @remove(ptr %p) {\0A\00" @.str5259 = private unnamed_addr constant [107 x i8] c"entry:\0A %d = call i32 @DeleteFileA(ptr %p)\0A %ok = icmp ne i32 %d, 0\0A br i1 %ok, label %yes, label %dir\0A\00" @.str5260 = private unnamed_addr constant [111 x i8] c"dir:\0A %r = call i32 @RemoveDirectoryA(ptr %p)\0A %ok2 = icmp ne i32 %r, 0\0A br i1 %ok2, label %yes, label %no\0A\00" @.str5261 = private unnamed_addr constant [18 x i8] c"yes:\0A ret i32 0\0A\00" @.str5262 = private unnamed_addr constant [20 x i8] c"no:\0A ret i32 -1\0A}\0A\00" @.str5263 = private unnamed_addr constant [110 x i8] c"define internal i32 @access(ptr %p, i32 %m) {\0Aentry:\0A %r = call i32 @_access(ptr %p, i32 %m)\0A ret i32 %r\0A}\0A\00" @.str5264 = private unnamed_addr constant [103 x i8] c"define internal i32 @mkdir(ptr %p, i32 %mode) {\0Aentry:\0A %r = call i32 @_mkdir(ptr %p)\0A ret i32 %r\0A}\0A\00" @.str5265 = private unnamed_addr constant [155 x i8] c"define internal i32 @open(ptr %p, i32 %fl, ...) {\0Aentry:\0A %f2 = or i32 %fl, 32768\0A %r = call i32 (ptr, i32, ...) @_open(ptr %p, i32 %f2)\0A ret i32 %r\0A}\0A\00" @.str5266 = private unnamed_addr constant [94 x i8] c"define internal i32 @close(i32 %fd) {\0Aentry:\0A %r = call i32 @_close(i32 %fd)\0A ret i32 %r\0A}\0A\00" @.str5267 = private unnamed_addr constant [129 x i8] c"define internal i64 @lseek(i32 %fd, i64 %o, i32 %w) {\0Aentry:\0A %r = call i64 @_lseeki64(i32 %fd, i64 %o, i32 %w)\0A ret i64 %r\0A}\0A\00" @.str5268 = private unnamed_addr constant [43 x i8] c"define internal ptr @opendir(ptr %path) {\0A\00" @.str5269 = private unnamed_addr constant [150 x i8] c"entry:\0A %l = call i64 @strlen(ptr %path)\0A %cap = add i64 %l, 3\0A %pat = call ptr @malloc(i64 %cap)\0A call ptr @memcpy(ptr %pat, ptr %path, i64 %l)\0A\00" @.str5270 = private unnamed_addr constant [194 x i8] c" %e0 = getelementptr i8, ptr %pat, i64 %l\0A store i8 47, ptr %e0\0A %e1 = getelementptr i8, ptr %e0, i64 1\0A store i8 42, ptr %e1\0A %e2 = getelementptr i8, ptr %e0, i64 2\0A store i8 0, ptr %e2\0A\00" @.str5271 = private unnamed_addr constant [154 x i8] c" %d = call ptr @malloc(i64 368)\0A %fd = getelementptr i8, ptr %d, i64 16\0A %h = call ptr @FindFirstFileA(ptr %pat, ptr %fd)\0A call void @free(ptr %pat)\0A\00" @.str5272 = private unnamed_addr constant [86 x i8] c" %bad = icmp eq ptr %h, inttoptr (i64 -1 to ptr)\0A br i1 %bad, label %no, label %ok\0A\00" @.str5273 = private unnamed_addr constant [46 x i8] c"no:\0A call void @free(ptr %d)\0A ret ptr null\0A\00" @.str5274 = private unnamed_addr constant [106 x i8] c"ok:\0A store ptr %h, ptr %d\0A %fl = getelementptr i8, ptr %d, i64 8\0A store i32 1, ptr %fl\0A ret ptr %d\0A}\0A\00" @.str5275 = private unnamed_addr constant [40 x i8] c"define internal ptr @readdir(ptr %d) {\0A\00" @.str5276 = private unnamed_addr constant [143 x i8] c"entry:\0A %fl = getelementptr i8, ptr %d, i64 8\0A %f = load i32, ptr %fl\0A %first = icmp ne i32 %f, 0\0A br i1 %first, label %take, label %next\0A\00" @.str5277 = private unnamed_addr constant [47 x i8] c"take:\0A store i32 0, ptr %fl\0A br label %give\0A\00" @.str5278 = private unnamed_addr constant [189 x i8] c"next:\0A %h = load ptr, ptr %d\0A %fd = getelementptr i8, ptr %d, i64 16\0A %ok = call i32 @FindNextFileA(ptr %h, ptr %fd)\0A %more = icmp ne i32 %ok, 0\0A br i1 %more, label %give, label %end\0A\00" @.str5279 = private unnamed_addr constant [62 x i8] c"give:\0A %de = getelementptr i8, ptr %d, i64 39\0A ret ptr %de\0A\00" @.str5280 = private unnamed_addr constant [23 x i8] c"end:\0A ret ptr null\0A}\0A\00" @.str5281 = private unnamed_addr constant [147 x i8] c"define internal i32 @closedir(ptr %d) {\0Aentry:\0A %h = load ptr, ptr %d\0A %r = call i32 @FindClose(ptr %h)\0A call void @free(ptr %d)\0A ret i32 0\0A}\0A\00" @.str5282 = private unnamed_addr constant [89 x i8] c"define internal ptr @mmap(ptr %a, i64 %len, i32 %prot, i32 %flags, i32 %fd, i64 %off) {\0A\00" @.str5283 = private unnamed_addr constant [166 x i8] c"entry:\0A %oh = call i64 @_get_osfhandle(i32 %fd)\0A %h = inttoptr i64 %oh to ptr\0A %m = call ptr @CreateFileMappingA(ptr %h, ptr null, i32 2, i32 0, i32 0, ptr null)\0A\00" @.str5284 = private unnamed_addr constant [66 x i8] c" %nm = icmp eq ptr %m, null\0A br i1 %nm, label %bad, label %map\0A\00" @.str5285 = private unnamed_addr constant [174 x i8] c"map:\0A %v = call ptr @MapViewOfFile(ptr %m, i32 4, i32 0, i32 0, i64 0)\0A %c = call i32 @CloseHandle(ptr %m)\0A %nv = icmp eq ptr %v, null\0A br i1 %nv, label %bad, label %ok\0A\00" @.str5286 = private unnamed_addr constant [18 x i8] c"ok:\0A ret ptr %v\0A\00" @.str5287 = private unnamed_addr constant [43 x i8] c"bad:\0A ret ptr inttoptr (i64 -1 to ptr)\0A}\0A\00" @.str5288 = private unnamed_addr constant [64 x i8] c"define internal ptr @fmemopen(ptr %buf, i64 %len, ptr %mode) {\0A\00" @.str5289 = private unnamed_addr constant [190 x i8] c"entry:\0A %dir = alloca [270 x i8]\0A %name = alloca [270 x i8]\0A %wr = alloca i32\0A %n = call i32 @GetTempPathA(i32 260, ptr %dir)\0A %z = icmp eq i32 %n, 0\0A br i1 %z, label %bad, label %mk\0A\00" @.str5290 = private unnamed_addr constant [143 x i8] c"mk:\0A %u = call i32 @GetTempFileNameA(ptr %dir, ptr @.win_lpk, i32 0, ptr %name)\0A %uz = icmp eq i32 %u, 0\0A br i1 %uz, label %bad, label %cr\0A\00" @.str5291 = private unnamed_addr constant [195 x i8] c"cr:\0A %h = call ptr @CreateFileA(ptr %name, i32 -1073741824, i32 7, ptr null, i32 2, i32 67109120, ptr null)\0A %hb = icmp eq ptr %h, inttoptr (i64 -1 to ptr)\0A br i1 %hb, label %bad, label %wrt\0A\00" @.str5292 = private unnamed_addr constant [176 x i8] c"wrt:\0A %l32 = trunc i64 %len to i32\0A %w = call i32 @WriteFile(ptr %h, ptr %buf, i32 %l32, ptr %wr, ptr null)\0A %sp = call i32 @SetFilePointer(ptr %h, i32 0, ptr null, i32 0)\0A\00" @.str5293 = private unnamed_addr constant [153 x i8] c" %hi = ptrtoint ptr %h to i64\0A %fd = call i32 @_open_osfhandle(i64 %hi, i32 32768)\0A %fdb = icmp slt i32 %fd, 0\0A br i1 %fdb, label %shut, label %fdo\0A\00" @.str5294 = private unnamed_addr constant [67 x i8] c"fdo:\0A %f = call ptr @_fdopen(i32 %fd, ptr @.win_rb)\0A ret ptr %f\0A\00" @.str5295 = private unnamed_addr constant [60 x i8] c"shut:\0A %c = call i32 @CloseHandle(ptr %h)\0A br label %bad\0A\00" @.str5296 = private unnamed_addr constant [23 x i8] c"bad:\0A ret ptr null\0A}\0A\00" @.str5297 = private unnamed_addr constant [65 x i8] c"define internal i32 @_NSGetExecutablePath(ptr %buf, ptr %szp) {\0A\00" @.str5298 = private unnamed_addr constant [221 x i8] c"entry:\0A %sz = load i32, ptr %szp\0A %n = call i32 @GetModuleFileNameA(ptr null, ptr %buf, i32 %sz)\0A %bad = icmp eq i32 %n, 0\0A %full = icmp sge i32 %n, %sz\0A %no = or i1 %bad, %full\0A br i1 %no, label %fail, label %fix\0A\00" @.str5299 = private unnamed_addr constant [56 x i8] c"fix:\0A call void @lp_win_slashes(ptr %buf)\0A ret i32 0\0A\00" @.str5300 = private unnamed_addr constant [22 x i8] c"fail:\0A ret i32 -1\0A}\0A\00" @.str5301 = private unnamed_addr constant [92 x i8] c"define internal i32 @chdir(ptr %p) {\0Aentry:\0A %r = call i32 @_chdir(ptr %p)\0A ret i32 %r\0A}\0A\00" @.str5302 = private unnamed_addr constant [82 x i8] c"define internal i32 @getpid() {\0Aentry:\0A %r = call i32 @_getpid()\0A ret i32 %r\0A}\0A\00" @.str5303 = private unnamed_addr constant [92 x i8] c"define internal i64 @time(ptr %t) {\0Aentry:\0A %r = call i64 @_time64(ptr %t)\0A ret i64 %r\0A}\0A\00" @.str5304 = private unnamed_addr constant [120 x i8] c"define internal i32 @setenv(ptr %n, ptr %v, i32 %o) {\0Aentry:\0A %r = call i32 @_putenv_s(ptr %n, ptr %v)\0A ret i32 %r\0A}\0A\00" @.str5305 = private unnamed_addr constant [115 x i8] c"define internal i32 @unsetenv(ptr %n) {\0Aentry:\0A %r = call i32 @_putenv_s(ptr %n, ptr @.win_empty)\0A ret i32 %r\0A}\0A\00" @.str5306 = private unnamed_addr constant [40 x i8] c"define internal i32 @uname(ptr %buf) {\0A\00" @.str5307 = private unnamed_addr constant [170 x i8] c"entry:\0A call ptr @memcpy(ptr %buf, ptr @.win_windows, i64 8)\0A %m = getelementptr i8, ptr %buf, i64 1024\0A call ptr @memcpy(ptr %m, ptr @.win_x64, i64 7)\0A ret i32 0\0A}\0A\00" @.str5308 = private unnamed_addr constant [12 x i8] c"USERPROFILE\00" @.str5309 = private unnamed_addr constant [8 x i8] c"APPDATA\00" @.str5310 = private unnamed_addr constant [13 x i8] c"LOCALAPPDATA\00" @.str5311 = private unnamed_addr constant [5 x i8] c"TEMP\00" @.str5312 = private unnamed_addr constant [1 x i8] c"\00" @.str5313 = private unnamed_addr constant [8 x i8] c"windows\00" @.str5314 = private unnamed_addr constant [7 x i8] c"x86_64\00" @.str5315 = private unnamed_addr constant [65 x i8] c"define ptr @lp_os_home() {\0A %r = call ptr @lp_os_getenv_or(ptr \00" @.str5316 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5317 = private unnamed_addr constant [18 x i8] c")\0A ret ptr %r\0A}\0A\00" @.str5318 = private unnamed_addr constant [50 x i8] c"define ptr @lp_os_winknown(ptr %var, ptr %app) {\0A\00" @.str5319 = private unnamed_addr constant [106 x i8] c"entry:\0A %v = call ptr @getenv(ptr %var)\0A %z = icmp eq ptr %v, null\0A br i1 %z, label %home, label %use\0A\00" @.str5320 = private unnamed_addr constant [54 x i8] c"home:\0A %h = call ptr @lp_os_home()\0A br label %join\0A\00" @.str5321 = private unnamed_addr constant [23 x i8] c"use:\0A br label %join\0A\00" @.str5322 = private unnamed_addr constant [91 x i8] c"join:\0A %b = phi ptr [ %h, %home ], [ %v, %use ]\0A %r = call ptr @lp_os_join3(ptr %b, ptr \00" @.str5323 = private unnamed_addr constant [64 x i8] c", ptr %app)\0A call void @lp_win_slashes(ptr %r)\0A ret ptr %r\0A}\0A\00" @.str5324 = private unnamed_addr constant [76 x i8] c"define ptr @lp_os_save_dir(ptr %app) {\0A %r = call ptr @lp_os_winknown(ptr \00" @.str5325 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str5326 = private unnamed_addr constant [78 x i8] c"define ptr @lp_os_config_dir(ptr %app) {\0A %r = call ptr @lp_os_winknown(ptr \00" @.str5327 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str5328 = private unnamed_addr constant [77 x i8] c"define ptr @lp_os_cache_dir(ptr %app) {\0A %r = call ptr @lp_os_winknown(ptr \00" @.str5329 = private unnamed_addr constant [28 x i8] c", ptr %app)\0A ret ptr %r\0A}\0A\00" @.str5330 = private unnamed_addr constant [69 x i8] c"define ptr @lp_os_temp_dir() {\0A %t = call ptr @lp_os_getenv_or(ptr \00" @.str5331 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5332 = private unnamed_addr constant [44 x i8] c")\0A %r = call ptr @lp_os_join2(ptr %t, ptr \00" @.str5333 = private unnamed_addr constant [54 x i8] c")\0A call void @lp_win_slashes(ptr %r)\0A ret ptr %r\0A}\0A\00" @.str5334 = private unnamed_addr constant [42 x i8] c"define ptr @lp_os_platform() {\0A ret ptr \00" @.str5335 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str5336 = private unnamed_addr constant [38 x i8] c"define ptr @lp_os_arch() {\0A ret ptr \00" @.str5337 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str5338 = private unnamed_addr constant [28 x i8] c"define ptr @lp_os_args() {\0A\00" @.str5339 = private unnamed_addr constant [66 x i8] c"entry:\0A %c = load i32, ptr @L_argc\0A %v = load ptr, ptr @L_argv\0A\00" @.str5340 = private unnamed_addr constant [33 x i8] c" %h = call ptr @malloc(i64 16)\0A\00" @.str5341 = private unnamed_addr constant [86 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A store ptr %v, ptr %d0\0A\00" @.str5342 = private unnamed_addr constant [86 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A store i32 %c, ptr %d1\0A\00" @.str5343 = private unnamed_addr constant [86 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2\0A store i32 %c, ptr %d2\0A\00" @.str5344 = private unnamed_addr constant [16 x i8] c" ret ptr %h\0A}\0A\00" @.str5345 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str5346 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str5347 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5348 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5349 = private unnamed_addr constant [4 x i8] c"len\00" @.str5350 = private unnamed_addr constant [5 x i8] c"push\00" @.str5351 = private unnamed_addr constant [6 x i8] c"clear\00" @.str5352 = private unnamed_addr constant [7 x i8] c"sample\00" @.str5353 = private unnamed_addr constant [6 x i8] c"first\00" @.str5354 = private unnamed_addr constant [5 x i8] c"last\00" @.str5355 = private unnamed_addr constant [4 x i8] c"pop\00" @.str5356 = private unnamed_addr constant [5 x i8] c"swap\00" @.str5357 = private unnamed_addr constant [9 x i8] c"contains\00" @.str5358 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str5359 = private unnamed_addr constant [8 x i8] c"reverse\00" @.str5360 = private unnamed_addr constant [7 x i8] c"insert\00" @.str5361 = private unnamed_addr constant [10 x i8] c"remove_at\00" @.str5362 = private unnamed_addr constant [7 x i8] c"remove\00" @.str5363 = private unnamed_addr constant [5 x i8] c"sort\00" @.str5364 = private unnamed_addr constant [8 x i8] c"sort_by\00" @.str5365 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str5366 = private unnamed_addr constant [10 x i8] c"sort_with\00" @.str5367 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5368 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5369 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5370 = private unnamed_addr constant [3 x i8] c", \00" @.str5371 = private unnamed_addr constant [3 x i8] c"ig\00" @.str5372 = private unnamed_addr constant [4 x i8] c"igd\00" @.str5373 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5374 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5375 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5376 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5377 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5378 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5379 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5380 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str5381 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5382 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5383 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" @.str5384 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5385 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5386 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5387 = private unnamed_addr constant [3 x i8] c", \00" @.str5388 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str5389 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str5390 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str5391 = private unnamed_addr constant [2 x i8] c")\00" @.str5392 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str5393 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5394 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5395 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5396 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5397 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5398 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5399 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5400 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5401 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00" @.str5402 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5403 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5404 = private unnamed_addr constant [10 x i8] c"icmp slt \00" @.str5405 = private unnamed_addr constant [2 x i8] c" \00" @.str5406 = private unnamed_addr constant [3 x i8] c", \00" @.str5407 = private unnamed_addr constant [14 x i8] c"call i32 @fn_\00" @.str5408 = private unnamed_addr constant [2 x i8] c"(\00" @.str5409 = private unnamed_addr constant [2 x i8] c" \00" @.str5410 = private unnamed_addr constant [3 x i8] c", \00" @.str5411 = private unnamed_addr constant [2 x i8] c" \00" @.str5412 = private unnamed_addr constant [2 x i8] c")\00" @.str5413 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5414 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5415 = private unnamed_addr constant [6 x i8] c"call \00" @.str5416 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str5417 = private unnamed_addr constant [2 x i8] c"(\00" @.str5418 = private unnamed_addr constant [2 x i8] c" \00" @.str5419 = private unnamed_addr constant [2 x i8] c")\00" @.str5420 = private unnamed_addr constant [6 x i8] c"call \00" @.str5421 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str5422 = private unnamed_addr constant [2 x i8] c"(\00" @.str5423 = private unnamed_addr constant [2 x i8] c" \00" @.str5424 = private unnamed_addr constant [2 x i8] c")\00" @.str5425 = private unnamed_addr constant [10 x i8] c"icmp slt \00" @.str5426 = private unnamed_addr constant [2 x i8] c" \00" @.str5427 = private unnamed_addr constant [3 x i8] c", \00" @.str5428 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" @.str5429 = private unnamed_addr constant [2 x i8] c" \00" @.str5430 = private unnamed_addr constant [3 x i8] c", \00" @.str5431 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str5432 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5433 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str5434 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str5435 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str5436 = private unnamed_addr constant [3 x i8] c", \00" @.str5437 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str5438 = private unnamed_addr constant [2 x i8] c")\00" @.str5439 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5440 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5441 = private unnamed_addr constant [2 x i8] c"1\00" @.str5442 = private unnamed_addr constant [6 x i8] c"ms_wc\00" @.str5443 = private unnamed_addr constant [6 x i8] c"ms_wb\00" @.str5444 = private unnamed_addr constant [6 x i8] c"ms_we\00" @.str5445 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5446 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5447 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5448 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5449 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5450 = private unnamed_addr constant [3 x i8] c", \00" @.str5451 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5452 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5453 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5454 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5455 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5456 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str5457 = private unnamed_addr constant [4 x i8] c", 2\00" @.str5458 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5459 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5460 = private unnamed_addr constant [2 x i8] c"0\00" @.str5461 = private unnamed_addr constant [6 x i8] c"ms_ic\00" @.str5462 = private unnamed_addr constant [6 x i8] c"ms_ib\00" @.str5463 = private unnamed_addr constant [6 x i8] c"ms_ie\00" @.str5464 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5465 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5466 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5467 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5468 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5469 = private unnamed_addr constant [3 x i8] c", \00" @.str5470 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5471 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5472 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5473 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5474 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5475 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5476 = private unnamed_addr constant [3 x i8] c", \00" @.str5477 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5478 = private unnamed_addr constant [3 x i8] c", \00" @.str5479 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5480 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5481 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5482 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5483 = private unnamed_addr constant [3 x i8] c", \00" @.str5484 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5485 = private unnamed_addr constant [3 x i8] c", \00" @.str5486 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str5487 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5488 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5489 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5490 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5491 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5492 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5493 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5494 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5495 = private unnamed_addr constant [6 x i8] c"ms_mc\00" @.str5496 = private unnamed_addr constant [6 x i8] c"ms_mb\00" @.str5497 = private unnamed_addr constant [8 x i8] c"ms_mend\00" @.str5498 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5499 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5500 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5501 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5502 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5503 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5504 = private unnamed_addr constant [3 x i8] c", \00" @.str5505 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5506 = private unnamed_addr constant [3 x i8] c", \00" @.str5507 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5508 = private unnamed_addr constant [3 x i8] c", \00" @.str5509 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5510 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5511 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5512 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5513 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5514 = private unnamed_addr constant [6 x i8] c"load \00" @.str5515 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5516 = private unnamed_addr constant [6 x i8] c"load \00" @.str5517 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5518 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5519 = private unnamed_addr constant [9 x i8] c"ms_takeR\00" @.str5520 = private unnamed_addr constant [9 x i8] c"ms_takeL\00" @.str5521 = private unnamed_addr constant [9 x i8] c"ms_takeD\00" @.str5522 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5523 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5524 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5525 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5526 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5527 = private unnamed_addr constant [9 x i8] c" store \00" @.str5528 = private unnamed_addr constant [2 x i8] c" \00" @.str5529 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5530 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5531 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5532 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5533 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5534 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5535 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5536 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5537 = private unnamed_addr constant [9 x i8] c" store \00" @.str5538 = private unnamed_addr constant [2 x i8] c" \00" @.str5539 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5540 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5541 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5542 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5543 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5544 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5545 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5546 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5547 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5548 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5549 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5550 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5551 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5552 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5553 = private unnamed_addr constant [7 x i8] c"ms_dac\00" @.str5554 = private unnamed_addr constant [7 x i8] c"ms_dab\00" @.str5555 = private unnamed_addr constant [7 x i8] c"ms_dae\00" @.str5556 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5557 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5558 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5559 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5560 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5561 = private unnamed_addr constant [3 x i8] c", \00" @.str5562 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5563 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5564 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5565 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5566 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5567 = private unnamed_addr constant [6 x i8] c"load \00" @.str5568 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5569 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5570 = private unnamed_addr constant [9 x i8] c" store \00" @.str5571 = private unnamed_addr constant [2 x i8] c" \00" @.str5572 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5573 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5574 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5575 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5576 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5577 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5578 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5579 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5580 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5581 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5582 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5583 = private unnamed_addr constant [7 x i8] c"ms_dbc\00" @.str5584 = private unnamed_addr constant [7 x i8] c"ms_dbb\00" @.str5585 = private unnamed_addr constant [7 x i8] c"ms_dbe\00" @.str5586 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5587 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5588 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5589 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5590 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5591 = private unnamed_addr constant [3 x i8] c", \00" @.str5592 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5593 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5594 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5595 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5596 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5597 = private unnamed_addr constant [6 x i8] c"load \00" @.str5598 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5599 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5600 = private unnamed_addr constant [9 x i8] c" store \00" @.str5601 = private unnamed_addr constant [2 x i8] c" \00" @.str5602 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5603 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5604 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5605 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5606 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5607 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5608 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5609 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5610 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5611 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5612 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5613 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5614 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5615 = private unnamed_addr constant [7 x i8] c"ms_cbc\00" @.str5616 = private unnamed_addr constant [7 x i8] c"ms_cbb\00" @.str5617 = private unnamed_addr constant [7 x i8] c"ms_cbe\00" @.str5618 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5619 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5620 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5621 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5622 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5623 = private unnamed_addr constant [3 x i8] c", \00" @.str5624 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5625 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5626 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5627 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5628 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5629 = private unnamed_addr constant [6 x i8] c"load \00" @.str5630 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5631 = private unnamed_addr constant [9 x i8] c" store \00" @.str5632 = private unnamed_addr constant [2 x i8] c" \00" @.str5633 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5634 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5635 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5636 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5637 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5638 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5639 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5640 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5641 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5642 = private unnamed_addr constant [3 x i8] c", \00" @.str5643 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5644 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5645 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5646 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5647 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5648 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5649 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5650 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5651 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00" @.str5652 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str5653 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5654 = private unnamed_addr constant [25 x i8] c" needs (slice, function)\00" @.str5655 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8022: index out of range: \00" @.str5656 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5657 = private unnamed_addr constant [46 x i8] c": the second argument must be a function name\00" @.str5658 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8023: index out of range: \00" @.str5659 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5660 = private unnamed_addr constant [22 x i8] c": no function named '\00" @.str5661 = private unnamed_addr constant [2 x i8] c"'\00" @.str5662 = private unnamed_addr constant [4 x i8] c"len\00" @.str5663 = private unnamed_addr constant [5 x i8] c"push\00" @.str5664 = private unnamed_addr constant [7 x i8] c"sample\00" @.str5665 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8032: index out of range: \00" @.str5666 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8033: index out of range: \00" @.str5667 = private unnamed_addr constant [15 x i8] c"rt_list_sample\00" @.str5668 = private unnamed_addr constant [68 x i8] c"List.sample needs the engine runtime (a game, or import ludic.core)\00" @.str5669 = private unnamed_addr constant [33 x i8] c"call ptr @fn_rt_list_sample(ptr \00" @.str5670 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str5671 = private unnamed_addr constant [2 x i8] c")\00" @.str5672 = private unnamed_addr constant [6 x i8] c"[]int\00" @.str5673 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8037: index out of range: \00" @.str5674 = private unnamed_addr constant [6 x i8] c"List.\00" @.str5675 = private unnamed_addr constant [15 x i8] c" needs a slice\00" @.str5676 = private unnamed_addr constant [6 x i8] c"clear\00" @.str5677 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str5678 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5679 = private unnamed_addr constant [2 x i8] c"0\00" @.str5680 = private unnamed_addr constant [5 x i8] c"void\00" @.str5681 = private unnamed_addr constant [6 x i8] c"first\00" @.str5682 = private unnamed_addr constant [2 x i8] c"0\00" @.str5683 = private unnamed_addr constant [6 x i8] c"load \00" @.str5684 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5685 = private unnamed_addr constant [5 x i8] c"last\00" @.str5686 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5687 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5688 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5689 = private unnamed_addr constant [6 x i8] c"load \00" @.str5690 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5691 = private unnamed_addr constant [4 x i8] c"pop\00" @.str5692 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5693 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5694 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5695 = private unnamed_addr constant [6 x i8] c"load \00" @.str5696 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5697 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5698 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5699 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5700 = private unnamed_addr constant [5 x i8] c"swap\00" @.str5701 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8067: index out of range: \00" @.str5702 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8067: index out of range: \00" @.str5703 = private unnamed_addr constant [6 x i8] c"load \00" @.str5704 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5705 = private unnamed_addr constant [6 x i8] c"load \00" @.str5706 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5707 = private unnamed_addr constant [9 x i8] c" store \00" @.str5708 = private unnamed_addr constant [2 x i8] c" \00" @.str5709 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5710 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5711 = private unnamed_addr constant [9 x i8] c" store \00" @.str5712 = private unnamed_addr constant [2 x i8] c" \00" @.str5713 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5714 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5715 = private unnamed_addr constant [2 x i8] c"0\00" @.str5716 = private unnamed_addr constant [5 x i8] c"void\00" @.str5717 = private unnamed_addr constant [9 x i8] c"contains\00" @.str5718 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str5719 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8077: index out of range: \00" @.str5720 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5721 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5722 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5723 = private unnamed_addr constant [3 x i8] c"-1\00" @.str5724 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5725 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5726 = private unnamed_addr constant [2 x i8] c"0\00" @.str5727 = private unnamed_addr constant [8 x i8] c"lc_cond\00" @.str5728 = private unnamed_addr constant [8 x i8] c"lc_body\00" @.str5729 = private unnamed_addr constant [7 x i8] c"lc_hit\00" @.str5730 = private unnamed_addr constant [8 x i8] c"lc_next\00" @.str5731 = private unnamed_addr constant [7 x i8] c"lc_end\00" @.str5732 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5733 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5734 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5735 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5736 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5737 = private unnamed_addr constant [3 x i8] c", \00" @.str5738 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5739 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5740 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5741 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5742 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5743 = private unnamed_addr constant [6 x i8] c"load \00" @.str5744 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5745 = private unnamed_addr constant [9 x i8] c"icmp eq \00" @.str5746 = private unnamed_addr constant [2 x i8] c" \00" @.str5747 = private unnamed_addr constant [3 x i8] c", \00" @.str5748 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5749 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5750 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5751 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5752 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5753 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5754 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5755 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5756 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5757 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5758 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5759 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5760 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5761 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5762 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5763 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5764 = private unnamed_addr constant [9 x i8] c"index_of\00" @.str5765 = private unnamed_addr constant [4 x i8] c"int\00" @.str5766 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5767 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5768 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str5769 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str5770 = private unnamed_addr constant [5 x i8] c"bool\00" @.str5771 = private unnamed_addr constant [7 x i8] c"insert\00" @.str5772 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8109: index out of range: \00" @.str5773 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8109: index out of range: \00" @.str5774 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5775 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5776 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5777 = private unnamed_addr constant [5 x i8] c"li_c\00" @.str5778 = private unnamed_addr constant [5 x i8] c"li_b\00" @.str5779 = private unnamed_addr constant [5 x i8] c"li_e\00" @.str5780 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5781 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5782 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5783 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5784 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str5785 = private unnamed_addr constant [3 x i8] c", \00" @.str5786 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5787 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5788 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5789 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5790 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5791 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5792 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5793 = private unnamed_addr constant [6 x i8] c"load \00" @.str5794 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5795 = private unnamed_addr constant [9 x i8] c" store \00" @.str5796 = private unnamed_addr constant [2 x i8] c" \00" @.str5797 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5798 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5799 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5800 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5801 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5802 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5803 = private unnamed_addr constant [9 x i8] c" store \00" @.str5804 = private unnamed_addr constant [2 x i8] c" \00" @.str5805 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5806 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5807 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5808 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5809 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5810 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5811 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5812 = private unnamed_addr constant [2 x i8] c"0\00" @.str5813 = private unnamed_addr constant [5 x i8] c"void\00" @.str5814 = private unnamed_addr constant [10 x i8] c"remove_at\00" @.str5815 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8135: index out of range: \00" @.str5816 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5817 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5818 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5819 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5820 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5821 = private unnamed_addr constant [5 x i8] c"lr_c\00" @.str5822 = private unnamed_addr constant [5 x i8] c"lr_b\00" @.str5823 = private unnamed_addr constant [5 x i8] c"lr_e\00" @.str5824 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5825 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5826 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5827 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5828 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5829 = private unnamed_addr constant [3 x i8] c", \00" @.str5830 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5831 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5832 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5833 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5834 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5835 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5836 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5837 = private unnamed_addr constant [6 x i8] c"load \00" @.str5838 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5839 = private unnamed_addr constant [9 x i8] c" store \00" @.str5840 = private unnamed_addr constant [2 x i8] c" \00" @.str5841 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5842 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5843 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5844 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5845 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5846 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5847 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5848 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5849 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5850 = private unnamed_addr constant [2 x i8] c"0\00" @.str5851 = private unnamed_addr constant [5 x i8] c"void\00" @.str5852 = private unnamed_addr constant [7 x i8] c"remove\00" @.str5853 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8158: index out of range: \00" @.str5854 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5855 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5856 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5857 = private unnamed_addr constant [3 x i8] c"-1\00" @.str5858 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5859 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5860 = private unnamed_addr constant [2 x i8] c"0\00" @.str5861 = private unnamed_addr constant [5 x i8] c"lv_c\00" @.str5862 = private unnamed_addr constant [5 x i8] c"lv_b\00" @.str5863 = private unnamed_addr constant [5 x i8] c"lv_h\00" @.str5864 = private unnamed_addr constant [5 x i8] c"lv_n\00" @.str5865 = private unnamed_addr constant [5 x i8] c"lv_e\00" @.str5866 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5867 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5868 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5869 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5870 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5871 = private unnamed_addr constant [3 x i8] c", \00" @.str5872 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5873 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5874 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5875 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str5876 = private unnamed_addr constant [3 x i8] c", \00" @.str5877 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5878 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5879 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5880 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5881 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5882 = private unnamed_addr constant [6 x i8] c"load \00" @.str5883 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5884 = private unnamed_addr constant [9 x i8] c"icmp eq \00" @.str5885 = private unnamed_addr constant [2 x i8] c" \00" @.str5886 = private unnamed_addr constant [3 x i8] c", \00" @.str5887 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5888 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5889 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5890 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5891 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5892 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5893 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5894 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5895 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5896 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5897 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5898 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5899 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5900 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5901 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5902 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5903 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5904 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5905 = private unnamed_addr constant [6 x i8] c"lv_do\00" @.str5906 = private unnamed_addr constant [7 x i8] c"lv_end\00" @.str5907 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5908 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5909 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5910 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5911 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5912 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5913 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5914 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5915 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5916 = private unnamed_addr constant [6 x i8] c"lv_dc\00" @.str5917 = private unnamed_addr constant [6 x i8] c"lv_db\00" @.str5918 = private unnamed_addr constant [6 x i8] c"lv_de\00" @.str5919 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5920 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5921 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5922 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5923 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5924 = private unnamed_addr constant [3 x i8] c", \00" @.str5925 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5926 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5927 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5928 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5929 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5930 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str5931 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5932 = private unnamed_addr constant [6 x i8] c"load \00" @.str5933 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5934 = private unnamed_addr constant [9 x i8] c" store \00" @.str5935 = private unnamed_addr constant [2 x i8] c" \00" @.str5936 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5937 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5938 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5939 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5940 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5941 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5942 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str5943 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5944 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5945 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5946 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5947 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5948 = private unnamed_addr constant [2 x i8] c"0\00" @.str5949 = private unnamed_addr constant [5 x i8] c"void\00" @.str5950 = private unnamed_addr constant [5 x i8] c"sort\00" @.str5951 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5952 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5953 = private unnamed_addr constant [5 x i8] c", 32\00" @.str5954 = private unnamed_addr constant [9 x i8] c"sort_ins\00" @.str5955 = private unnamed_addr constant [9 x i8] c"sort_mrg\00" @.str5956 = private unnamed_addr constant [9 x i8] c"sort_end\00" @.str5957 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5958 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5959 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5960 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5961 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5962 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5963 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5964 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5965 = private unnamed_addr constant [2 x i8] c"1\00" @.str5966 = private unnamed_addr constant [6 x i8] c"ls_oc\00" @.str5967 = private unnamed_addr constant [6 x i8] c"ls_ob\00" @.str5968 = private unnamed_addr constant [6 x i8] c"ls_oe\00" @.str5969 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5970 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5971 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5972 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5973 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str5974 = private unnamed_addr constant [3 x i8] c", \00" @.str5975 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str5976 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5977 = private unnamed_addr constant [10 x i8] c", label %\00" @.str5978 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5979 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5980 = private unnamed_addr constant [6 x i8] c"load \00" @.str5981 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5982 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5983 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str5984 = private unnamed_addr constant [4 x i8] c", 1\00" @.str5985 = private unnamed_addr constant [4 x i8] c"i32\00" @.str5986 = private unnamed_addr constant [6 x i8] c"ls_ic\00" @.str5987 = private unnamed_addr constant [6 x i8] c"ls_ib\00" @.str5988 = private unnamed_addr constant [6 x i8] c"ls_ie\00" @.str5989 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str5990 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str5991 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str5992 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str5993 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str5994 = private unnamed_addr constant [4 x i8] c", 0\00" @.str5995 = private unnamed_addr constant [6 x i8] c"load \00" @.str5996 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str5997 = private unnamed_addr constant [10 x i8] c"icmp sgt \00" @.str5998 = private unnamed_addr constant [2 x i8] c" \00" @.str5999 = private unnamed_addr constant [3 x i8] c", \00" @.str6000 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str6001 = private unnamed_addr constant [3 x i8] c", \00" @.str6002 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6003 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6004 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6005 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6006 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6007 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6008 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6009 = private unnamed_addr constant [9 x i8] c" store \00" @.str6010 = private unnamed_addr constant [2 x i8] c" \00" @.str6011 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6012 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6013 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6014 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6015 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6016 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6017 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6018 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6019 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6020 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6021 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6022 = private unnamed_addr constant [9 x i8] c" store \00" @.str6023 = private unnamed_addr constant [2 x i8] c" \00" @.str6024 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6025 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6026 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6027 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6028 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6029 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6030 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6031 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6032 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6033 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6034 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6035 = private unnamed_addr constant [1 x i8] c"\00" @.str6036 = private unnamed_addr constant [1 x i8] c"\00" @.str6037 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6038 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6039 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6040 = private unnamed_addr constant [2 x i8] c"0\00" @.str6041 = private unnamed_addr constant [5 x i8] c"void\00" @.str6042 = private unnamed_addr constant [10 x i8] c"sort_with\00" @.str6043 = private unnamed_addr constant [18 x i8] c"List.sort_with: '\00" @.str6044 = private unnamed_addr constant [26 x i8] c"' must take two arguments\00" @.str6045 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6046 = private unnamed_addr constant [2 x i8] c"0\00" @.str6047 = private unnamed_addr constant [5 x i8] c"void\00" @.str6048 = private unnamed_addr constant [8 x i8] c"sort_by\00" @.str6049 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str6050 = private unnamed_addr constant [6 x i8] c"List.\00" @.str6051 = private unnamed_addr constant [8 x i8] c": key '\00" @.str6052 = private unnamed_addr constant [25 x i8] c"' must take one argument\00" @.str6053 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str6054 = private unnamed_addr constant [5 x i8] c"void\00" @.str6055 = private unnamed_addr constant [6 x i8] c"List.\00" @.str6056 = private unnamed_addr constant [8 x i8] c": key '\00" @.str6057 = private unnamed_addr constant [23 x i8] c"' must return a number\00" @.str6058 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00" @.str6059 = private unnamed_addr constant [2 x i8] c"0\00" @.str6060 = private unnamed_addr constant [5 x i8] c"void\00" @.str6061 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6062 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6063 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6064 = private unnamed_addr constant [2 x i8] c"0\00" @.str6065 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6066 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6067 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6068 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6069 = private unnamed_addr constant [8 x i8] c"lr_cond\00" @.str6070 = private unnamed_addr constant [8 x i8] c"lr_body\00" @.str6071 = private unnamed_addr constant [7 x i8] c"lr_end\00" @.str6072 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6073 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6074 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6075 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6076 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6077 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6078 = private unnamed_addr constant [3 x i8] c", \00" @.str6079 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str6080 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6081 = private unnamed_addr constant [10 x i8] c", label %\00" @.str6082 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6083 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6084 = private unnamed_addr constant [6 x i8] c"load \00" @.str6085 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6086 = private unnamed_addr constant [6 x i8] c"load \00" @.str6087 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6088 = private unnamed_addr constant [9 x i8] c" store \00" @.str6089 = private unnamed_addr constant [2 x i8] c" \00" @.str6090 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6091 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6092 = private unnamed_addr constant [9 x i8] c" store \00" @.str6093 = private unnamed_addr constant [2 x i8] c" \00" @.str6094 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6095 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6096 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6097 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6098 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6099 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6100 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6101 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6102 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str6103 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6104 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str6105 = private unnamed_addr constant [2 x i8] c"0\00" @.str6106 = private unnamed_addr constant [5 x i8] c"void\00" @.str6107 = private unnamed_addr constant [3 x i8] c"in\00" @.str6108 = private unnamed_addr constant [4 x i8] c"out\00" @.str6109 = private unnamed_addr constant [7 x i8] c"in_out\00" @.str6110 = private unnamed_addr constant [5 x i8] c"back\00" @.str6111 = private unnamed_addr constant [7 x i8] c"bounce\00" @.str6112 = private unnamed_addr constant [8 x i8] c"elastic\00" @.str6113 = private unnamed_addr constant [7 x i8] c"495616\00" @.str6114 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6115 = private unnamed_addr constant [8 x i8] c", 35747\00" @.str6116 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6117 = private unnamed_addr constant [8 x i8] c", 49152\00" @.str6118 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6119 = private unnamed_addr constant [8 x i8] c", 53620\00" @.str6120 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6121 = private unnamed_addr constant [8 x i8] c", 61440\00" @.str6122 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6123 = private unnamed_addr constant [8 x i8] c", 62557\00" @.str6124 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6125 = private unnamed_addr constant [8 x i8] c", 64512\00" @.str6126 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6127 = private unnamed_addr constant [8 x i8] c", 59578\00" @.str6128 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6129 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6130 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6131 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6132 = private unnamed_addr constant [8 x i8] c", 47663\00" @.str6133 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6134 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6135 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6136 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6137 = private unnamed_addr constant [8 x i8] c", 23831\00" @.str6138 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6139 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6140 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6141 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" @.str6142 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6143 = private unnamed_addr constant [4 x i8] c", 3\00" @.str6144 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6145 = private unnamed_addr constant [4 x i8] c", 2\00" @.str6146 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6147 = private unnamed_addr constant [3 x i8] c", \00" @.str6148 = private unnamed_addr constant [7 x i8] c"177051\00" @.str6149 = private unnamed_addr constant [7 x i8] c"111515\00" @.str6150 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6151 = private unnamed_addr constant [3 x i8] c", \00" @.str6152 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6153 = private unnamed_addr constant [5 x i8] c", 10\00" @.str6154 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str6155 = private unnamed_addr constant [26 x i8] c"call i32 @lp_fx_exp2(i32 \00" @.str6156 = private unnamed_addr constant [2 x i8] c")\00" @.str6157 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6158 = private unnamed_addr constant [8 x i8] c", 49152\00" @.str6159 = private unnamed_addr constant [7 x i8] c"137258\00" @.str6160 = private unnamed_addr constant [25 x i8] c"call i32 @lp_fx_sin(i32 \00" @.str6161 = private unnamed_addr constant [2 x i8] c")\00" @.str6162 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6163 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str6164 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8393: index out of range: \00" @.str6165 = private unnamed_addr constant [3 x i8] c"in\00" @.str6166 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6167 = private unnamed_addr constant [4 x i8] c"out\00" @.str6168 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6169 = private unnamed_addr constant [7 x i8] c"in_out\00" @.str6170 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6171 = private unnamed_addr constant [5 x i8] c"back\00" @.str6172 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6173 = private unnamed_addr constant [8 x i8] c"elastic\00" @.str6174 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6175 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6176 = private unnamed_addr constant [6 x i8] c"frame\00" @.str6177 = private unnamed_addr constant [5 x i8] c"once\00" @.str6178 = private unnamed_addr constant [9 x i8] c"pingpong\00" @.str6179 = private unnamed_addr constant [9 x i8] c"finished\00" @.str6180 = private unnamed_addr constant [9 x i8] c"duration\00" @.str6181 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str6182 = private unnamed_addr constant [7 x i8] c"cell_y\00" @.str6183 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6184 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6185 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6186 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6187 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str6188 = private unnamed_addr constant [3 x i8] c", \00" @.str6189 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str6190 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6191 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6192 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6193 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6194 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6195 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6196 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str6197 = private unnamed_addr constant [6 x i8] c"frame\00" @.str6198 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8442: index out of range: \00" @.str6199 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8442: index out of range: \00" @.str6200 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8442: index out of range: \00" @.str6201 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6202 = private unnamed_addr constant [3 x i8] c", \00" @.str6203 = private unnamed_addr constant [4 x i8] c"int\00" @.str6204 = private unnamed_addr constant [5 x i8] c"once\00" @.str6205 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8448: index out of range: \00" @.str6206 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8448: index out of range: \00" @.str6207 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8448: index out of range: \00" @.str6208 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6209 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6210 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6211 = private unnamed_addr constant [3 x i8] c", \00" @.str6212 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6213 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6214 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6215 = private unnamed_addr constant [4 x i8] c"int\00" @.str6216 = private unnamed_addr constant [9 x i8] c"pingpong\00" @.str6217 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8455: index out of range: \00" @.str6218 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8455: index out of range: \00" @.str6219 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8455: index out of range: \00" @.str6220 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6221 = private unnamed_addr constant [4 x i8] c", 2\00" @.str6222 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6223 = private unnamed_addr constant [4 x i8] c", 2\00" @.str6224 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6225 = private unnamed_addr constant [3 x i8] c", \00" @.str6226 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6227 = private unnamed_addr constant [3 x i8] c", \00" @.str6228 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6229 = private unnamed_addr constant [3 x i8] c", \00" @.str6230 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6231 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6232 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6233 = private unnamed_addr constant [4 x i8] c"int\00" @.str6234 = private unnamed_addr constant [9 x i8] c"finished\00" @.str6235 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8466: index out of range: \00" @.str6236 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8466: index out of range: \00" @.str6237 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8466: index out of range: \00" @.str6238 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str6239 = private unnamed_addr constant [3 x i8] c", \00" @.str6240 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6241 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6242 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6243 = private unnamed_addr constant [9 x i8] c"duration\00" @.str6244 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8472: index out of range: \00" @.str6245 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8472: index out of range: \00" @.str6246 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str6247 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6248 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6249 = private unnamed_addr constant [3 x i8] c", \00" @.str6250 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6251 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str6252 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8478: index out of range: \00" @.str6253 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8478: index out of range: \00" @.str6254 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8478: index out of range: \00" @.str6255 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6256 = private unnamed_addr constant [3 x i8] c", \00" @.str6257 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6258 = private unnamed_addr constant [3 x i8] c", \00" @.str6259 = private unnamed_addr constant [4 x i8] c"int\00" @.str6260 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8484: index out of range: \00" @.str6261 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8484: index out of range: \00" @.str6262 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8484: index out of range: \00" @.str6263 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6264 = private unnamed_addr constant [3 x i8] c", \00" @.str6265 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6266 = private unnamed_addr constant [3 x i8] c", \00" @.str6267 = private unnamed_addr constant [4 x i8] c"int\00" @.str6268 = private unnamed_addr constant [9 x i8] c"progress\00" @.str6269 = private unnamed_addr constant [5 x i8] c"loop\00" @.str6270 = private unnamed_addr constant [5 x i8] c"yoyo\00" @.str6271 = private unnamed_addr constant [5 x i8] c"done\00" @.str6272 = private unnamed_addr constant [5 x i8] c"ease\00" @.str6273 = private unnamed_addr constant [7 x i8] c"number\00" @.str6274 = private unnamed_addr constant [6 x i8] c"round\00" @.str6275 = private unnamed_addr constant [6 x i8] c"point\00" @.str6276 = private unnamed_addr constant [5 x i8] c"tint\00" @.str6277 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str6278 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6279 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6280 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6281 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str6282 = private unnamed_addr constant [9 x i8] c"progress\00" @.str6283 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8511: index out of range: \00" @.str6284 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8511: index out of range: \00" @.str6285 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str6286 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6287 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6288 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6289 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str6290 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6291 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6292 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6293 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str6294 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str6295 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str6296 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6297 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00" @.str6298 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6299 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6300 = private unnamed_addr constant [12 x i8] c", i32 65536\00" @.str6301 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6302 = private unnamed_addr constant [5 x i8] c"loop\00" @.str6303 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8522: index out of range: \00" @.str6304 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8522: index out of range: \00" @.str6305 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str6306 = private unnamed_addr constant [8 x i8] c", 65535\00" @.str6307 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6308 = private unnamed_addr constant [5 x i8] c"yoyo\00" @.str6309 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8528: index out of range: \00" @.str6310 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8528: index out of range: \00" @.str6311 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6312 = private unnamed_addr constant [9 x i8] c", 131072\00" @.str6313 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00" @.str6314 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str6315 = private unnamed_addr constant [8 x i8] c", 65536\00" @.str6316 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6317 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6318 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6319 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6320 = private unnamed_addr constant [5 x i8] c"done\00" @.str6321 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8540: index out of range: \00" @.str6322 = private unnamed_addr constant [29 x i8] c"call i32 @fn_tween_done(i32 \00" @.str6323 = private unnamed_addr constant [2 x i8] c")\00" @.str6324 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6325 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8543: index out of range: \00" @.str6326 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8543: index out of range: \00" @.str6327 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str6328 = private unnamed_addr constant [3 x i8] c", \00" @.str6329 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6330 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6331 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6332 = private unnamed_addr constant [5 x i8] c"ease\00" @.str6333 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8548: index out of range: \00" @.str6334 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8549: index out of range: \00" @.str6335 = private unnamed_addr constant [55 x i8] c"Tween.ease: the easing mode must be a literal int 0..6\00" @.str6336 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6337 = private unnamed_addr constant [7 x i8] c"number\00" @.str6338 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8554: index out of range: \00" @.str6339 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8554: index out of range: \00" @.str6340 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8554: index out of range: \00" @.str6341 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6342 = private unnamed_addr constant [6 x i8] c"round\00" @.str6343 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8558: index out of range: \00" @.str6344 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8558: index out of range: \00" @.str6345 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8558: index out of range: \00" @.str6346 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6347 = private unnamed_addr constant [3 x i8] c", \00" @.str6348 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6349 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6350 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6351 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6352 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str6353 = private unnamed_addr constant [3 x i8] c", \00" @.str6354 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str6355 = private unnamed_addr constant [8 x i8] c", 32768\00" @.str6356 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str6357 = private unnamed_addr constant [5 x i8] c", 16\00" @.str6358 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6359 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6360 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6361 = private unnamed_addr constant [3 x i8] c", \00" @.str6362 = private unnamed_addr constant [4 x i8] c"int\00" @.str6363 = private unnamed_addr constant [6 x i8] c"point\00" @.str6364 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8569: index out of range: \00" @.str6365 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8569: index out of range: \00" @.str6366 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8569: index out of range: \00" @.str6367 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str6368 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8576: index out of range: \00" @.str6369 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8576: index out of range: \00" @.str6370 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8576: index out of range: \00" @.str6371 = private unnamed_addr constant [3 x i8] c"16\00" @.str6372 = private unnamed_addr constant [3 x i8] c"16\00" @.str6373 = private unnamed_addr constant [2 x i8] c"8\00" @.str6374 = private unnamed_addr constant [2 x i8] c"8\00" @.str6375 = private unnamed_addr constant [2 x i8] c"0\00" @.str6376 = private unnamed_addr constant [2 x i8] c"0\00" @.str6377 = private unnamed_addr constant [4 x i8] c"int\00" @.str6378 = private unnamed_addr constant [6 x i8] c"rects\00" @.str6379 = private unnamed_addr constant [11 x i8] c"point_rect\00" @.str6380 = private unnamed_addr constant [8 x i8] c"circles\00" @.str6381 = private unnamed_addr constant [12 x i8] c"rect_circle\00" @.str6382 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6383 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6384 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6385 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6386 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str6387 = private unnamed_addr constant [3 x i8] c", \00" @.str6388 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str6389 = private unnamed_addr constant [3 x i8] c", \00" @.str6390 = private unnamed_addr constant [9 x i8] c"add i64 \00" @.str6391 = private unnamed_addr constant [3 x i8] c", \00" @.str6392 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6393 = private unnamed_addr constant [3 x i8] c", \00" @.str6394 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6395 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6396 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6397 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00" @.str6398 = private unnamed_addr constant [3 x i8] c", \00" @.str6399 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6400 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6401 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6402 = private unnamed_addr constant [6 x i8] c"rects\00" @.str6403 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8613: index out of range: \00" @.str6404 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8613: index out of range: \00" @.str6405 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8613: index out of range: \00" @.str6406 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8613: index out of range: \00" @.str6407 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8614: index out of range: \00" @.str6408 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8614: index out of range: \00" @.str6409 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8614: index out of range: \00" @.str6410 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8614: index out of range: \00" @.str6411 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6412 = private unnamed_addr constant [3 x i8] c", \00" @.str6413 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6414 = private unnamed_addr constant [3 x i8] c", \00" @.str6415 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6416 = private unnamed_addr constant [3 x i8] c", \00" @.str6417 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6418 = private unnamed_addr constant [3 x i8] c", \00" @.str6419 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6420 = private unnamed_addr constant [3 x i8] c", \00" @.str6421 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6422 = private unnamed_addr constant [3 x i8] c", \00" @.str6423 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6424 = private unnamed_addr constant [3 x i8] c", \00" @.str6425 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6426 = private unnamed_addr constant [3 x i8] c", \00" @.str6427 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str6428 = private unnamed_addr constant [3 x i8] c", \00" @.str6429 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str6430 = private unnamed_addr constant [3 x i8] c", \00" @.str6431 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str6432 = private unnamed_addr constant [3 x i8] c", \00" @.str6433 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6434 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6435 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6436 = private unnamed_addr constant [11 x i8] c"point_rect\00" @.str6437 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8629: index out of range: \00" @.str6438 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8629: index out of range: \00" @.str6439 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8630: index out of range: \00" @.str6440 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8630: index out of range: \00" @.str6441 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8630: index out of range: \00" @.str6442 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8630: index out of range: \00" @.str6443 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6444 = private unnamed_addr constant [3 x i8] c", \00" @.str6445 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6446 = private unnamed_addr constant [3 x i8] c", \00" @.str6447 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str6448 = private unnamed_addr constant [3 x i8] c", \00" @.str6449 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6450 = private unnamed_addr constant [3 x i8] c", \00" @.str6451 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str6452 = private unnamed_addr constant [3 x i8] c", \00" @.str6453 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str6454 = private unnamed_addr constant [3 x i8] c", \00" @.str6455 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str6456 = private unnamed_addr constant [3 x i8] c", \00" @.str6457 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str6458 = private unnamed_addr constant [3 x i8] c", \00" @.str6459 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str6460 = private unnamed_addr constant [3 x i8] c", \00" @.str6461 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6462 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6463 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6464 = private unnamed_addr constant [8 x i8] c"circles\00" @.str6465 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8643: index out of range: \00" @.str6466 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8643: index out of range: \00" @.str6467 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8643: index out of range: \00" @.str6468 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8644: index out of range: \00" @.str6469 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8644: index out of range: \00" @.str6470 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8644: index out of range: \00" @.str6471 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6472 = private unnamed_addr constant [3 x i8] c", \00" @.str6473 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6474 = private unnamed_addr constant [3 x i8] c", \00" @.str6475 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6476 = private unnamed_addr constant [3 x i8] c", \00" @.str6477 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6478 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6479 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str6480 = private unnamed_addr constant [3 x i8] c", \00" @.str6481 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" @.str6482 = private unnamed_addr constant [3 x i8] c", \00" @.str6483 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6484 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6485 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6486 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8655: index out of range: \00" @.str6487 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8655: index out of range: \00" @.str6488 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8655: index out of range: \00" @.str6489 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8655: index out of range: \00" @.str6490 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8656: index out of range: \00" @.str6491 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8656: index out of range: \00" @.str6492 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8656: index out of range: \00" @.str6493 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6494 = private unnamed_addr constant [3 x i8] c", \00" @.str6495 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6496 = private unnamed_addr constant [3 x i8] c", \00" @.str6497 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6498 = private unnamed_addr constant [3 x i8] c", \00" @.str6499 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6500 = private unnamed_addr constant [3 x i8] c", \00" @.str6501 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str6502 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6503 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str6504 = private unnamed_addr constant [3 x i8] c", \00" @.str6505 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00" @.str6506 = private unnamed_addr constant [3 x i8] c", \00" @.str6507 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6508 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6509 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6510 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str6511 = private unnamed_addr constant [6 x i8] c"words\00" @.str6512 = private unnamed_addr constant [5 x i8] c"copy\00" @.str6513 = private unnamed_addr constant [5 x i8] c"fill\00" @.str6514 = private unnamed_addr constant [5 x i8] c"peek\00" @.str6515 = private unnamed_addr constant [5 x i8] c"poke\00" @.str6516 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str6517 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8683: index out of range: \00" @.str6518 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str6519 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6520 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str6521 = private unnamed_addr constant [2 x i8] c")\00" @.str6522 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str6523 = private unnamed_addr constant [6 x i8] c"words\00" @.str6524 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8688: index out of range: \00" @.str6525 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6526 = private unnamed_addr constant [4 x i8] c", 4\00" @.str6527 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str6528 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6529 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str6530 = private unnamed_addr constant [2 x i8] c")\00" @.str6531 = private unnamed_addr constant [6 x i8] c"words\00" @.str6532 = private unnamed_addr constant [5 x i8] c"copy\00" @.str6533 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8694: index out of range: \00" @.str6534 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8694: index out of range: \00" @.str6535 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8694: index out of range: \00" @.str6536 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str6537 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6538 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str6539 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6540 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str6541 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6542 = private unnamed_addr constant [2 x i8] c"0\00" @.str6543 = private unnamed_addr constant [5 x i8] c"void\00" @.str6544 = private unnamed_addr constant [5 x i8] c"fill\00" @.str6545 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8700: index out of range: \00" @.str6546 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8700: index out of range: \00" @.str6547 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8700: index out of range: \00" @.str6548 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str6549 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str6550 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00" @.str6551 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6552 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str6553 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6554 = private unnamed_addr constant [2 x i8] c"0\00" @.str6555 = private unnamed_addr constant [5 x i8] c"void\00" @.str6556 = private unnamed_addr constant [5 x i8] c"peek\00" @.str6557 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8706: index out of range: \00" @.str6558 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8706: index out of range: \00" @.str6559 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str6560 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6561 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str6562 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str6563 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6564 = private unnamed_addr constant [4 x i8] c"int\00" @.str6565 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8712: index out of range: \00" @.str6566 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8712: index out of range: \00" @.str6567 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8712: index out of range: \00" @.str6568 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00" @.str6569 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6570 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" @.str6571 = private unnamed_addr constant [7 x i8] c" to i8\00" @.str6572 = private unnamed_addr constant [12 x i8] c" store i8 \00" @.str6573 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6574 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str6575 = private unnamed_addr constant [2 x i8] c"0\00" @.str6576 = private unnamed_addr constant [5 x i8] c"void\00" @.str6577 = private unnamed_addr constant [6 x i8] c"frame\00" @.str6578 = private unnamed_addr constant [6 x i8] c"delta\00" @.str6579 = private unnamed_addr constant [8 x i8] c"elapsed\00" @.str6580 = private unnamed_addr constant [4 x i8] c"now\00" @.str6581 = private unnamed_addr constant [6 x i8] c"since\00" @.str6582 = private unnamed_addr constant [6 x i8] c"frame\00" @.str6583 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str6584 = private unnamed_addr constant [4 x i8] c"int\00" @.str6585 = private unnamed_addr constant [6 x i8] c"delta\00" @.str6586 = private unnamed_addr constant [5 x i8] c"1092\00" @.str6587 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6588 = private unnamed_addr constant [8 x i8] c"elapsed\00" @.str6589 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str6590 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6591 = private unnamed_addr constant [7 x i8] c", 1092\00" @.str6592 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str6593 = private unnamed_addr constant [6 x i8] c"since\00" @.str6594 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8742: index out of range: \00" @.str6595 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" @.str6596 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6597 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6598 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6599 = private unnamed_addr constant [3 x i8] c", \00" @.str6600 = private unnamed_addr constant [4 x i8] c"int\00" @.str6601 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00" @.str6602 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str6603 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6604 = private unnamed_addr constant [4 x i8] c"int\00" @.str6605 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str6606 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str6607 = private unnamed_addr constant [6 x i8] c"hours\00" @.str6608 = private unnamed_addr constant [5 x i8] c"days\00" @.str6609 = private unnamed_addr constant [11 x i8] c"as_seconds\00" @.str6610 = private unnamed_addr constant [11 x i8] c"as_minutes\00" @.str6611 = private unnamed_addr constant [9 x i8] c"as_hours\00" @.str6612 = private unnamed_addr constant [8 x i8] c"as_days\00" @.str6613 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8777: index out of range: \00" @.str6614 = private unnamed_addr constant [8 x i8] c"seconds\00" @.str6615 = private unnamed_addr constant [4 x i8] c"int\00" @.str6616 = private unnamed_addr constant [8 x i8] c"minutes\00" @.str6617 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6618 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6619 = private unnamed_addr constant [4 x i8] c"int\00" @.str6620 = private unnamed_addr constant [6 x i8] c"hours\00" @.str6621 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6622 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6623 = private unnamed_addr constant [4 x i8] c"int\00" @.str6624 = private unnamed_addr constant [5 x i8] c"days\00" @.str6625 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6626 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6627 = private unnamed_addr constant [4 x i8] c"int\00" @.str6628 = private unnamed_addr constant [11 x i8] c"as_seconds\00" @.str6629 = private unnamed_addr constant [4 x i8] c"int\00" @.str6630 = private unnamed_addr constant [11 x i8] c"as_minutes\00" @.str6631 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6632 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6633 = private unnamed_addr constant [4 x i8] c"int\00" @.str6634 = private unnamed_addr constant [9 x i8] c"as_hours\00" @.str6635 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6636 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6637 = private unnamed_addr constant [4 x i8] c"int\00" @.str6638 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6639 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6640 = private unnamed_addr constant [4 x i8] c"int\00" @.str6641 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6642 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6643 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6644 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" @.str6645 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6646 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6647 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6648 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6649 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6650 = private unnamed_addr constant [4 x i8] c"new\00" @.str6651 = private unnamed_addr constant [5 x i8] c"year\00" @.str6652 = private unnamed_addr constant [6 x i8] c"month\00" @.str6653 = private unnamed_addr constant [4 x i8] c"day\00" @.str6654 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str6655 = private unnamed_addr constant [8 x i8] c"is_leap\00" @.str6656 = private unnamed_addr constant [14 x i8] c"days_in_month\00" @.str6657 = private unnamed_addr constant [9 x i8] c"to_epoch\00" @.str6658 = private unnamed_addr constant [9 x i8] c"add_days\00" @.str6659 = private unnamed_addr constant [10 x i8] c"diff_days\00" @.str6660 = private unnamed_addr constant [4 x i8] c"new\00" @.str6661 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8814: index out of range: \00" @.str6662 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8814: index out of range: \00" @.str6663 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8814: index out of range: \00" @.str6664 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6665 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6666 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6667 = private unnamed_addr constant [2 x i8] c")\00" @.str6668 = private unnamed_addr constant [4 x i8] c"int\00" @.str6669 = private unnamed_addr constant [5 x i8] c"year\00" @.str6670 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8817: index out of range: \00" @.str6671 = private unnamed_addr constant [4 x i8] c"int\00" @.str6672 = private unnamed_addr constant [6 x i8] c"month\00" @.str6673 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8818: index out of range: \00" @.str6674 = private unnamed_addr constant [4 x i8] c"int\00" @.str6675 = private unnamed_addr constant [4 x i8] c"day\00" @.str6676 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8819: index out of range: \00" @.str6677 = private unnamed_addr constant [4 x i8] c"int\00" @.str6678 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str6679 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8821: index out of range: \00" @.str6680 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6681 = private unnamed_addr constant [4 x i8] c", 4\00" @.str6682 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6683 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6684 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6685 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6686 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6687 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6688 = private unnamed_addr constant [4 x i8] c"int\00" @.str6689 = private unnamed_addr constant [8 x i8] c"is_leap\00" @.str6690 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8828: index out of range: \00" @.str6691 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6692 = private unnamed_addr constant [4 x i8] c", 4\00" @.str6693 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6694 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6695 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6696 = private unnamed_addr constant [6 x i8] c", 100\00" @.str6697 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6698 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6699 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6700 = private unnamed_addr constant [6 x i8] c", 400\00" @.str6701 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6702 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6703 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str6704 = private unnamed_addr constant [3 x i8] c", \00" @.str6705 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str6706 = private unnamed_addr constant [3 x i8] c", \00" @.str6707 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str6708 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str6709 = private unnamed_addr constant [5 x i8] c"bool\00" @.str6710 = private unnamed_addr constant [14 x i8] c"days_in_month\00" @.str6711 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8838: index out of range: \00" @.str6712 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8838: index out of range: \00" @.str6713 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6714 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6715 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str6716 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str6717 = private unnamed_addr constant [5 x i8] c", 12\00" @.str6718 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6719 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6720 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6721 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6722 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6723 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6724 = private unnamed_addr constant [4 x i8] c", 1\00" @.str6725 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6726 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00" @.str6727 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6728 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6729 = private unnamed_addr constant [9 x i8] c", i32 1)\00" @.str6730 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6731 = private unnamed_addr constant [3 x i8] c", \00" @.str6732 = private unnamed_addr constant [4 x i8] c"int\00" @.str6733 = private unnamed_addr constant [9 x i8] c"to_epoch\00" @.str6734 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8849: index out of range: \00" @.str6735 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6736 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6737 = private unnamed_addr constant [4 x i8] c"int\00" @.str6738 = private unnamed_addr constant [9 x i8] c"add_days\00" @.str6739 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8853: index out of range: \00" @.str6740 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8853: index out of range: \00" @.str6741 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6742 = private unnamed_addr constant [3 x i8] c", \00" @.str6743 = private unnamed_addr constant [4 x i8] c"int\00" @.str6744 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8857: index out of range: \00" @.str6745 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8857: index out of range: \00" @.str6746 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6747 = private unnamed_addr constant [3 x i8] c", \00" @.str6748 = private unnamed_addr constant [4 x i8] c"int\00" @.str6749 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6750 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6751 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6752 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6753 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6754 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6755 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str6756 = private unnamed_addr constant [3 x i8] c", \00" @.str6757 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6758 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6759 = private unnamed_addr constant [5 x i8] c"from\00" @.str6760 = private unnamed_addr constant [5 x i8] c"date\00" @.str6761 = private unnamed_addr constant [4 x i8] c"add\00" @.str6762 = private unnamed_addr constant [5 x i8] c"year\00" @.str6763 = private unnamed_addr constant [6 x i8] c"month\00" @.str6764 = private unnamed_addr constant [4 x i8] c"day\00" @.str6765 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str6766 = private unnamed_addr constant [5 x i8] c"hour\00" @.str6767 = private unnamed_addr constant [7 x i8] c"minute\00" @.str6768 = private unnamed_addr constant [7 x i8] c"second\00" @.str6769 = private unnamed_addr constant [7 x i8] c"format\00" @.str6770 = private unnamed_addr constant [6 x i8] c"parse\00" @.str6771 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str6772 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6773 = private unnamed_addr constant [2 x i8] c")\00" @.str6774 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8905: index out of range: \00" @.str6775 = private unnamed_addr constant [47 x i8] c"DateTime.format needs a string-literal pattern\00" @.str6776 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8906: index out of range: \00" @.str6777 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8907: index out of range: \00" @.str6778 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6779 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6780 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6781 = private unnamed_addr constant [37 x i8] c" call void @lp_civil_from_days(i32 \00" @.str6782 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6783 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6784 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6785 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str6786 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6787 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6788 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6789 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6790 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6791 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6792 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6793 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6794 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6795 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6796 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6797 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6798 = private unnamed_addr constant [6 x i8] c", 100\00" @.str6799 = private unnamed_addr constant [1 x i8] c"\00" @.str6800 = private unnamed_addr constant [5 x i8] c"YYYY\00" @.str6801 = private unnamed_addr constant [3 x i8] c"YY\00" @.str6802 = private unnamed_addr constant [3 x i8] c"MM\00" @.str6803 = private unnamed_addr constant [3 x i8] c"DD\00" @.str6804 = private unnamed_addr constant [3 x i8] c"HH\00" @.str6805 = private unnamed_addr constant [3 x i8] c"mm\00" @.str6806 = private unnamed_addr constant [3 x i8] c"ss\00" @.str6807 = private unnamed_addr constant [26 x i8] c"call ptr @lp_dt_pad0(i32 \00" @.str6808 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6809 = private unnamed_addr constant [2 x i8] c")\00" @.str6810 = private unnamed_addr constant [7 x i8] c"string\00" @.str6811 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8955: index out of range: \00" @.str6812 = private unnamed_addr constant [46 x i8] c"DateTime.parse needs a string-literal pattern\00" @.str6813 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8956: index out of range: \00" @.str6814 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:8957: index out of range: \00" @.str6815 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6816 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6817 = private unnamed_addr constant [2 x i8] c"0\00" @.str6818 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6819 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6820 = private unnamed_addr constant [5 x i8] c"1970\00" @.str6821 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6822 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6823 = private unnamed_addr constant [2 x i8] c"1\00" @.str6824 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6825 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6826 = private unnamed_addr constant [2 x i8] c"1\00" @.str6827 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6828 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6829 = private unnamed_addr constant [2 x i8] c"0\00" @.str6830 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6831 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6832 = private unnamed_addr constant [2 x i8] c"0\00" @.str6833 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6834 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6835 = private unnamed_addr constant [2 x i8] c"0\00" @.str6836 = private unnamed_addr constant [5 x i8] c"YYYY\00" @.str6837 = private unnamed_addr constant [3 x i8] c"MM\00" @.str6838 = private unnamed_addr constant [3 x i8] c"DD\00" @.str6839 = private unnamed_addr constant [3 x i8] c"HH\00" @.str6840 = private unnamed_addr constant [3 x i8] c"mm\00" @.str6841 = private unnamed_addr constant [3 x i8] c"ss\00" @.str6842 = private unnamed_addr constant [24 x i8] c"call i32 @lp_dt_rd(ptr \00" @.str6843 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6844 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6845 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str6846 = private unnamed_addr constant [2 x i8] c")\00" @.str6847 = private unnamed_addr constant [4 x i8] c"i32\00" @.str6848 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6849 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6850 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6851 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6852 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6853 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6854 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6855 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6856 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6857 = private unnamed_addr constant [2 x i8] c")\00" @.str6858 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6859 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6860 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6861 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6862 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6863 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6864 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6865 = private unnamed_addr constant [3 x i8] c", \00" @.str6866 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6867 = private unnamed_addr constant [3 x i8] c", \00" @.str6868 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6869 = private unnamed_addr constant [3 x i8] c", \00" @.str6870 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str6871 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str6872 = private unnamed_addr constant [4 x i8] c", 0\00" @.str6873 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str6874 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00" @.str6875 = private unnamed_addr constant [4 x i8] c"int\00" @.str6876 = private unnamed_addr constant [7 x i8] c"format\00" @.str6877 = private unnamed_addr constant [6 x i8] c"parse\00" @.str6878 = private unnamed_addr constant [5 x i8] c"from\00" @.str6879 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9009: index out of range: \00" @.str6880 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9009: index out of range: \00" @.str6881 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9009: index out of range: \00" @.str6882 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9010: index out of range: \00" @.str6883 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9010: index out of range: \00" @.str6884 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9010: index out of range: \00" @.str6885 = private unnamed_addr constant [34 x i8] c"call i32 @lp_days_from_civil(i32 \00" @.str6886 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6887 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str6888 = private unnamed_addr constant [2 x i8] c")\00" @.str6889 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6890 = private unnamed_addr constant [8 x i8] c", 86400\00" @.str6891 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6892 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6893 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str6894 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6895 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6896 = private unnamed_addr constant [3 x i8] c", \00" @.str6897 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6898 = private unnamed_addr constant [3 x i8] c", \00" @.str6899 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6900 = private unnamed_addr constant [3 x i8] c", \00" @.str6901 = private unnamed_addr constant [4 x i8] c"int\00" @.str6902 = private unnamed_addr constant [5 x i8] c"date\00" @.str6903 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9020: index out of range: \00" @.str6904 = private unnamed_addr constant [4 x i8] c"int\00" @.str6905 = private unnamed_addr constant [4 x i8] c"add\00" @.str6906 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9024: index out of range: \00" @.str6907 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9024: index out of range: \00" @.str6908 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6909 = private unnamed_addr constant [3 x i8] c", \00" @.str6910 = private unnamed_addr constant [4 x i8] c"int\00" @.str6911 = private unnamed_addr constant [5 x i8] c"year\00" @.str6912 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9027: index out of range: \00" @.str6913 = private unnamed_addr constant [4 x i8] c"int\00" @.str6914 = private unnamed_addr constant [6 x i8] c"month\00" @.str6915 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9028: index out of range: \00" @.str6916 = private unnamed_addr constant [4 x i8] c"int\00" @.str6917 = private unnamed_addr constant [4 x i8] c"day\00" @.str6918 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9029: index out of range: \00" @.str6919 = private unnamed_addr constant [4 x i8] c"int\00" @.str6920 = private unnamed_addr constant [8 x i8] c"weekday\00" @.str6921 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9031: index out of range: \00" @.str6922 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6923 = private unnamed_addr constant [4 x i8] c", 4\00" @.str6924 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6925 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6926 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str6927 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6928 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6929 = private unnamed_addr constant [4 x i8] c", 7\00" @.str6930 = private unnamed_addr constant [4 x i8] c"int\00" @.str6931 = private unnamed_addr constant [5 x i8] c"hour\00" @.str6932 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9039: index out of range: \00" @.str6933 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6934 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6935 = private unnamed_addr constant [4 x i8] c"int\00" @.str6936 = private unnamed_addr constant [7 x i8] c"minute\00" @.str6937 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9044: index out of range: \00" @.str6938 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6939 = private unnamed_addr constant [7 x i8] c", 3600\00" @.str6940 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00" @.str6941 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6942 = private unnamed_addr constant [4 x i8] c"int\00" @.str6943 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9050: index out of range: \00" @.str6944 = private unnamed_addr constant [10 x i8] c"srem i32 \00" @.str6945 = private unnamed_addr constant [5 x i8] c", 60\00" @.str6946 = private unnamed_addr constant [4 x i8] c"int\00" @.str6947 = private unnamed_addr constant [59 x i8] c"define i32 @lp_days_from_civil(i32 %y0, i32 %m, i32 %d) {\0A\00" @.str6948 = private unnamed_addr constant [30 x i8] c" %mle2 = icmp sle i32 %m, 2\0A\00" @.str6949 = private unnamed_addr constant [41 x i8] c" %ysub = select i1 %mle2, i32 1, i32 0\0A\00" @.str6950 = private unnamed_addr constant [27 x i8] c" %y = sub i32 %y0, %ysub\0A\00" @.str6951 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00" @.str6952 = private unnamed_addr constant [28 x i8] c" %ym399 = sub i32 %y, 399\0A\00" @.str6953 = private unnamed_addr constant [47 x i8] c" %enum = select i1 %yneg, i32 %ym399, i32 %y\0A\00" @.str6954 = private unnamed_addr constant [30 x i8] c" %era = sdiv i32 %enum, 400\0A\00" @.str6955 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" @.str6956 = private unnamed_addr constant [30 x i8] c" %yoe = sub i32 %y, %era400\0A\00" @.str6957 = private unnamed_addr constant [30 x i8] c" %mgt2 = icmp sgt i32 %m, 2\0A\00" @.str6958 = private unnamed_addr constant [44 x i8] c" %mshift = select i1 %mgt2, i32 -3, i32 9\0A\00" @.str6959 = private unnamed_addr constant [29 x i8] c" %mm = add i32 %m, %mshift\0A\00" @.str6960 = private unnamed_addr constant [28 x i8] c" %t153 = mul i32 153, %mm\0A\00" @.str6961 = private unnamed_addr constant [29 x i8] c" %t153b = add i32 %t153, 2\0A\00" @.str6962 = private unnamed_addr constant [30 x i8] c" %doy0 = sdiv i32 %t153b, 5\0A\00" @.str6963 = private unnamed_addr constant [29 x i8] c" %doy1 = add i32 %doy0, %d\0A\00" @.str6964 = private unnamed_addr constant [27 x i8] c" %doy = sub i32 %doy1, 1\0A\00" @.str6965 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" @.str6966 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" @.str6967 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" @.str6968 = private unnamed_addr constant [34 x i8] c" %doe0 = add i32 %yoe365, %yoe4\0A\00" @.str6969 = private unnamed_addr constant [34 x i8] c" %doe1 = sub i32 %doe0, %yoe100\0A\00" @.str6970 = private unnamed_addr constant [30 x i8] c" %doe = add i32 %doe1, %doy\0A\00" @.str6971 = private unnamed_addr constant [35 x i8] c" %e146097 = mul i32 %era, 146097\0A\00" @.str6972 = private unnamed_addr constant [32 x i8] c" %r0 = add i32 %e146097, %doe\0A\00" @.str6973 = private unnamed_addr constant [28 x i8] c" %r = sub i32 %r0, 719468\0A\00" @.str6974 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00" @.str6975 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str6976 = private unnamed_addr constant [71 x i8] c"define void @lp_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\0A\00" @.str6977 = private unnamed_addr constant [28 x i8] c" %z = add i32 %z0, 719468\0A\00" @.str6978 = private unnamed_addr constant [30 x i8] c" %zneg = icmp slt i32 %z, 0\0A\00" @.str6979 = private unnamed_addr constant [28 x i8] c" %zm = sub i32 %z, 146096\0A\00" @.str6980 = private unnamed_addr constant [44 x i8] c" %enum = select i1 %zneg, i32 %zm, i32 %z\0A\00" @.str6981 = private unnamed_addr constant [33 x i8] c" %era = sdiv i32 %enum, 146097\0A\00" @.str6982 = private unnamed_addr constant [37 x i8] c" %era146097 = mul i32 %era, 146097\0A\00" @.str6983 = private unnamed_addr constant [33 x i8] c" %doe = sub i32 %z, %era146097\0A\00" @.str6984 = private unnamed_addr constant [32 x i8] c" %d1460 = sdiv i32 %doe, 1460\0A\00" @.str6985 = private unnamed_addr constant [34 x i8] c" %d36524 = sdiv i32 %doe, 36524\0A\00" @.str6986 = private unnamed_addr constant [36 x i8] c" %d146096 = sdiv i32 %doe, 146096\0A\00" @.str6987 = private unnamed_addr constant [30 x i8] c" %ya = sub i32 %doe, %d1460\0A\00" @.str6988 = private unnamed_addr constant [30 x i8] c" %yb = add i32 %ya, %d36524\0A\00" @.str6989 = private unnamed_addr constant [31 x i8] c" %yc = sub i32 %yb, %d146096\0A\00" @.str6990 = private unnamed_addr constant [28 x i8] c" %yoe = sdiv i32 %yc, 365\0A\00" @.str6991 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00" @.str6992 = private unnamed_addr constant [31 x i8] c" %yy = add i32 %yoe, %era400\0A\00" @.str6993 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00" @.str6994 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00" @.str6995 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00" @.str6996 = private unnamed_addr constant [34 x i8] c" %sub0 = add i32 %yoe365, %yoe4\0A\00" @.str6997 = private unnamed_addr constant [34 x i8] c" %sub1 = sub i32 %sub0, %yoe100\0A\00" @.str6998 = private unnamed_addr constant [30 x i8] c" %doy = sub i32 %doe, %sub1\0A\00" @.str6999 = private unnamed_addr constant [30 x i8] c" %fivedoy = mul i32 5, %doy\0A\00" @.str7000 = private unnamed_addr constant [35 x i8] c" %fivedoy2 = add i32 %fivedoy, 2\0A\00" @.str7001 = private unnamed_addr constant [34 x i8] c" %mpv = sdiv i32 %fivedoy2, 153\0A\00" @.str7002 = private unnamed_addr constant [29 x i8] c" %m153 = mul i32 153, %mpv\0A\00" @.str7003 = private unnamed_addr constant [29 x i8] c" %m153b = add i32 %m153, 2\0A\00" @.str7004 = private unnamed_addr constant [31 x i8] c" %m153c = sdiv i32 %m153b, 5\0A\00" @.str7005 = private unnamed_addr constant [31 x i8] c" %dd0 = sub i32 %doy, %m153c\0A\00" @.str7006 = private unnamed_addr constant [25 x i8] c" %dd = add i32 %dd0, 1\0A\00" @.str7007 = private unnamed_addr constant [35 x i8] c" %mplt10 = icmp slt i32 %mpv, 10\0A\00" @.str7008 = private unnamed_addr constant [29 x i8] c" %mplus3 = add i32 %mpv, 3\0A\00" @.str7009 = private unnamed_addr constant [30 x i8] c" %mminus9 = sub i32 %mpv, 9\0A\00" @.str7010 = private unnamed_addr constant [56 x i8] c" %mfin = select i1 %mplt10, i32 %mplus3, i32 %mminus9\0A\00" @.str7011 = private unnamed_addr constant [34 x i8] c" %mmle2 = icmp sle i32 %mfin, 2\0A\00" @.str7012 = private unnamed_addr constant [42 x i8] c" %yinc = select i1 %mmle2, i32 1, i32 0\0A\00" @.str7013 = private unnamed_addr constant [30 x i8] c" %yfin = add i32 %yy, %yinc\0A\00" @.str7014 = private unnamed_addr constant [28 x i8] c" store i32 %yfin, ptr %yp\0A\00" @.str7015 = private unnamed_addr constant [28 x i8] c" store i32 %mfin, ptr %mp\0A\00" @.str7016 = private unnamed_addr constant [26 x i8] c" store i32 %dd, ptr %dp\0A\00" @.str7017 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str7018 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str7019 = private unnamed_addr constant [42 x i8] c"define ptr @lp_dt_pad0(i32 %v, i32 %w) {\0A\00" @.str7020 = private unnamed_addr constant [28 x i8] c" %we = zext i32 %w to i64\0A\00" @.str7021 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %we, 1\0A\00" @.str7022 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %sz)\0A\00" @.str7023 = private unnamed_addr constant [46 x i8] c" %endp = getelementptr i8, ptr %buf, i32 %w\0A\00" @.str7024 = private unnamed_addr constant [25 x i8] c" store i8 0, ptr %endp\0A\00" @.str7025 = private unnamed_addr constant [39 x i8] c" %kp = alloca i32\0A %vp = alloca i32\0A\00" @.str7026 = private unnamed_addr constant [74 x i8] c" %km1 = sub i32 %w, 1\0A store i32 %km1, ptr %kp\0A store i32 %v, ptr %vp\0A\00" @.str7027 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str7028 = private unnamed_addr constant [99 x i8] c"loop:\0A %k = load i32, ptr %kp\0A %kok = icmp sge i32 %k, 0\0A br i1 %kok, label %body, label %done\0A\00" @.str7029 = private unnamed_addr constant [109 x i8] c"body:\0A %vv = load i32, ptr %vp\0A %d = srem i32 %vv, 10\0A %ch = add i32 %d, 48\0A %ch8 = trunc i32 %ch to i8\0A\00" @.str7030 = private unnamed_addr constant [69 x i8] c" %cp = getelementptr i8, ptr %buf, i32 %k\0A store i8 %ch8, ptr %cp\0A\00" @.str7031 = private unnamed_addr constant [115 x i8] c" %vn = sdiv i32 %vv, 10\0A store i32 %vn, ptr %vp\0A %kn = sub i32 %k, 1\0A store i32 %kn, ptr %kp\0A br label %loop\0A\00" @.str7032 = private unnamed_addr constant [24 x i8] c"done:\0A ret ptr %buf\0A}\0A\00" @.str7033 = private unnamed_addr constant [62 x i8] c"define i32 @lp_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\0A\00" @.str7034 = private unnamed_addr constant [89 x i8] c" %accp = alloca i32\0A store i32 0, ptr %accp\0A %kp = alloca i32\0A store i32 0, ptr %kp\0A\00" @.str7035 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str7036 = private unnamed_addr constant [100 x i8] c"loop:\0A %k = load i32, ptr %kp\0A %kok = icmp slt i32 %k, %w\0A br i1 %kok, label %body, label %done\0A\00" @.str7037 = private unnamed_addr constant [127 x i8] c"body:\0A %idx = add i32 %off, %k\0A %cp = getelementptr i8, ptr %s, i32 %idx\0A %c8 = load i8, ptr %cp\0A %c = sext i8 %c8 to i32\0A\00" @.str7038 = private unnamed_addr constant [70 x i8] c" %zero = icmp eq i32 %c, 0\0A br i1 %zero, label %stop, label %digit\0A\00" @.str7039 = private unnamed_addr constant [50 x i8] c"stop:\0A store i32 1, ptr %failp\0A br label %done\0A\00" @.str7040 = private unnamed_addr constant [129 x i8] c"digit:\0A %lt = icmp slt i32 %c, 48\0A %gt = icmp sgt i32 %c, 57\0A %isbad = or i1 %lt, %gt\0A br i1 %isbad, label %fail, label %ok\0A\00" @.str7041 = private unnamed_addr constant [50 x i8] c"fail:\0A store i32 1, ptr %failp\0A br label %next\0A\00" @.str7042 = private unnamed_addr constant [159 x i8] c"ok:\0A %acc0 = load i32, ptr %accp\0A %m10 = mul i32 %acc0, 10\0A %dg = sub i32 %c, 48\0A %acc1 = add i32 %m10, %dg\0A store i32 %acc1, ptr %accp\0A br label %next\0A\00" @.str7043 = private unnamed_addr constant [71 x i8] c"next:\0A %kn = add i32 %k, 1\0A store i32 %kn, ptr %kp\0A br label %loop\0A\00" @.str7044 = private unnamed_addr constant [49 x i8] c"done:\0A %r = load i32, ptr %accp\0A ret i32 %r\0A}\0A\00" @.str7045 = private unnamed_addr constant [4 x i8] c"now\00" @.str7046 = private unnamed_addr constant [4 x i8] c"set\00" @.str7047 = private unnamed_addr constant [8 x i8] c"advance\00" @.str7048 = private unnamed_addr constant [6 x i8] c"reset\00" @.str7049 = private unnamed_addr constant [4 x i8] c"now\00" @.str7050 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" @.str7051 = private unnamed_addr constant [4 x i8] c"int\00" @.str7052 = private unnamed_addr constant [6 x i8] c"reset\00" @.str7053 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @L_clock\0A\00" @.str7054 = private unnamed_addr constant [2 x i8] c"0\00" @.str7055 = private unnamed_addr constant [5 x i8] c"void\00" @.str7056 = private unnamed_addr constant [4 x i8] c"set\00" @.str7057 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9187: index out of range: \00" @.str7058 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7059 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" @.str7060 = private unnamed_addr constant [2 x i8] c"0\00" @.str7061 = private unnamed_addr constant [5 x i8] c"void\00" @.str7062 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9192: index out of range: \00" @.str7063 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00" @.str7064 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str7065 = private unnamed_addr constant [3 x i8] c", \00" @.str7066 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7067 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00" @.str7068 = private unnamed_addr constant [2 x i8] c"0\00" @.str7069 = private unnamed_addr constant [5 x i8] c"void\00" @.str7070 = private unnamed_addr constant [4 x i8] c"rgb\00" @.str7071 = private unnamed_addr constant [5 x i8] c"rgba\00" @.str7072 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str7073 = private unnamed_addr constant [7 x i8] c"darken\00" @.str7074 = private unnamed_addr constant [8 x i8] c"lighten\00" @.str7075 = private unnamed_addr constant [11 x i8] c"with_alpha\00" @.str7076 = private unnamed_addr constant [10 x i8] c"lshr i32 \00" @.str7077 = private unnamed_addr constant [3 x i8] c", \00" @.str7078 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str7079 = private unnamed_addr constant [6 x i8] c", 255\00" @.str7080 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str7081 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7082 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str7083 = private unnamed_addr constant [4 x i8] c", 8\00" @.str7084 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str7085 = private unnamed_addr constant [3 x i8] c", \00" @.str7086 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str7087 = private unnamed_addr constant [3 x i8] c", \00" @.str7088 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str7089 = private unnamed_addr constant [3 x i8] c", \00" @.str7090 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str7091 = private unnamed_addr constant [3 x i8] c", \00" @.str7092 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str7093 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7094 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str7095 = private unnamed_addr constant [3 x i8] c", \00" @.str7096 = private unnamed_addr constant [4 x i8] c"rgb\00" @.str7097 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9234: index out of range: \00" @.str7098 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9234: index out of range: \00" @.str7099 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9234: index out of range: \00" @.str7100 = private unnamed_addr constant [4 x i8] c"int\00" @.str7101 = private unnamed_addr constant [5 x i8] c"rgba\00" @.str7102 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9238: index out of range: \00" @.str7103 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9238: index out of range: \00" @.str7104 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9238: index out of range: \00" @.str7105 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9238: index out of range: \00" @.str7106 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str7107 = private unnamed_addr constant [5 x i8] c", 24\00" @.str7108 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str7109 = private unnamed_addr constant [3 x i8] c", \00" @.str7110 = private unnamed_addr constant [4 x i8] c"int\00" @.str7111 = private unnamed_addr constant [11 x i8] c"with_alpha\00" @.str7112 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9244: index out of range: \00" @.str7113 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9244: index out of range: \00" @.str7114 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str7115 = private unnamed_addr constant [11 x i8] c", 16777215\00" @.str7116 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str7117 = private unnamed_addr constant [5 x i8] c", 24\00" @.str7118 = private unnamed_addr constant [8 x i8] c"or i32 \00" @.str7119 = private unnamed_addr constant [3 x i8] c", \00" @.str7120 = private unnamed_addr constant [4 x i8] c"int\00" @.str7121 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str7122 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9250: index out of range: \00" @.str7123 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9250: index out of range: \00" @.str7124 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9250: index out of range: \00" @.str7125 = private unnamed_addr constant [3 x i8] c"16\00" @.str7126 = private unnamed_addr constant [3 x i8] c"16\00" @.str7127 = private unnamed_addr constant [2 x i8] c"8\00" @.str7128 = private unnamed_addr constant [2 x i8] c"8\00" @.str7129 = private unnamed_addr constant [2 x i8] c"0\00" @.str7130 = private unnamed_addr constant [2 x i8] c"0\00" @.str7131 = private unnamed_addr constant [4 x i8] c"int\00" @.str7132 = private unnamed_addr constant [7 x i8] c"darken\00" @.str7133 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9257: index out of range: \00" @.str7134 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9257: index out of range: \00" @.str7135 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00" @.str7136 = private unnamed_addr constant [3 x i8] c"16\00" @.str7137 = private unnamed_addr constant [2 x i8] c"8\00" @.str7138 = private unnamed_addr constant [2 x i8] c"0\00" @.str7139 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str7140 = private unnamed_addr constant [3 x i8] c", \00" @.str7141 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str7142 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7143 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str7144 = private unnamed_addr constant [3 x i8] c", \00" @.str7145 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str7146 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7147 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str7148 = private unnamed_addr constant [3 x i8] c", \00" @.str7149 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str7150 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7151 = private unnamed_addr constant [4 x i8] c"int\00" @.str7152 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9266: index out of range: \00" @.str7153 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9266: index out of range: \00" @.str7154 = private unnamed_addr constant [3 x i8] c"16\00" @.str7155 = private unnamed_addr constant [2 x i8] c"8\00" @.str7156 = private unnamed_addr constant [2 x i8] c"0\00" @.str7157 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str7158 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str7159 = private unnamed_addr constant [3 x i8] c", \00" @.str7160 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str7161 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7162 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str7163 = private unnamed_addr constant [3 x i8] c", \00" @.str7164 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str7165 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str7166 = private unnamed_addr constant [3 x i8] c", \00" @.str7167 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str7168 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7169 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str7170 = private unnamed_addr constant [3 x i8] c", \00" @.str7171 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00" @.str7172 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str7173 = private unnamed_addr constant [3 x i8] c", \00" @.str7174 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str7175 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7176 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str7177 = private unnamed_addr constant [3 x i8] c", \00" @.str7178 = private unnamed_addr constant [4 x i8] c"int\00" @.str7179 = private unnamed_addr constant [6 x i8] c"White\00" @.str7180 = private unnamed_addr constant [5 x i8] c"Snow\00" @.str7181 = private unnamed_addr constant [6 x i8] c"Ivory\00" @.str7182 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00" @.str7183 = private unnamed_addr constant [12 x i8] c"FloralWhite\00" @.str7184 = private unnamed_addr constant [9 x i8] c"SeaShell\00" @.str7185 = private unnamed_addr constant [6 x i8] c"Linen\00" @.str7186 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00" @.str7187 = private unnamed_addr constant [8 x i8] c"OldLace\00" @.str7188 = private unnamed_addr constant [6 x i8] c"Beige\00" @.str7189 = private unnamed_addr constant [6 x i8] c"Cream\00" @.str7190 = private unnamed_addr constant [9 x i8] c"Honeydew\00" @.str7191 = private unnamed_addr constant [10 x i8] c"MintCream\00" @.str7192 = private unnamed_addr constant [6 x i8] c"Azure\00" @.str7193 = private unnamed_addr constant [10 x i8] c"AliceBlue\00" @.str7194 = private unnamed_addr constant [11 x i8] c"GhostWhite\00" @.str7195 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00" @.str7196 = private unnamed_addr constant [9 x i8] c"Lavender\00" @.str7197 = private unnamed_addr constant [5 x i8] c"Bone\00" @.str7198 = private unnamed_addr constant [10 x i8] c"Parchment\00" @.str7199 = private unnamed_addr constant [10 x i8] c"Gainsboro\00" @.str7200 = private unnamed_addr constant [10 x i8] c"LightGray\00" @.str7201 = private unnamed_addr constant [7 x i8] c"Silver\00" @.str7202 = private unnamed_addr constant [4 x i8] c"Ash\00" @.str7203 = private unnamed_addr constant [9 x i8] c"DarkGray\00" @.str7204 = private unnamed_addr constant [5 x i8] c"Gray\00" @.str7205 = private unnamed_addr constant [8 x i8] c"DimGray\00" @.str7206 = private unnamed_addr constant [7 x i8] c"Nickel\00" @.str7207 = private unnamed_addr constant [6 x i8] c"Slate\00" @.str7208 = private unnamed_addr constant [10 x i8] c"SlateGray\00" @.str7209 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00" @.str7210 = private unnamed_addr constant [9 x i8] c"Gunmetal\00" @.str7211 = private unnamed_addr constant [9 x i8] c"Charcoal\00" @.str7212 = private unnamed_addr constant [9 x i8] c"Graphite\00" @.str7213 = private unnamed_addr constant [5 x i8] c"Onyx\00" @.str7214 = private unnamed_addr constant [4 x i8] c"Jet\00" @.str7215 = private unnamed_addr constant [6 x i8] c"Black\00" @.str7216 = private unnamed_addr constant [11 x i8] c"EerieBlack\00" @.str7217 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00" @.str7218 = private unnamed_addr constant [6 x i8] c"Ebony\00" @.str7219 = private unnamed_addr constant [4 x i8] c"Red\00" @.str7220 = private unnamed_addr constant [8 x i8] c"Crimson\00" @.str7221 = private unnamed_addr constant [8 x i8] c"Scarlet\00" @.str7222 = private unnamed_addr constant [10 x i8] c"Vermilion\00" @.str7223 = private unnamed_addr constant [10 x i8] c"FireBrick\00" @.str7224 = private unnamed_addr constant [9 x i8] c"Cinnabar\00" @.str7225 = private unnamed_addr constant [8 x i8] c"DarkRed\00" @.str7226 = private unnamed_addr constant [7 x i8] c"Maroon\00" @.str7227 = private unnamed_addr constant [5 x i8] c"Ruby\00" @.str7228 = private unnamed_addr constant [9 x i8] c"Cardinal\00" @.str7229 = private unnamed_addr constant [10 x i8] c"IndianRed\00" @.str7230 = private unnamed_addr constant [5 x i8] c"Rust\00" @.str7231 = private unnamed_addr constant [8 x i8] c"Sangria\00" @.str7232 = private unnamed_addr constant [8 x i8] c"Redwood\00" @.str7233 = private unnamed_addr constant [7 x i8] c"Cerise\00" @.str7234 = private unnamed_addr constant [9 x i8] c"Amaranth\00" @.str7235 = private unnamed_addr constant [8 x i8] c"Carmine\00" @.str7236 = private unnamed_addr constant [9 x i8] c"Chestnut\00" @.str7237 = private unnamed_addr constant [6 x i8] c"Brick\00" @.str7238 = private unnamed_addr constant [11 x i8] c"TerraCotta\00" @.str7239 = private unnamed_addr constant [5 x i8] c"Pink\00" @.str7240 = private unnamed_addr constant [10 x i8] c"LightPink\00" @.str7241 = private unnamed_addr constant [8 x i8] c"HotPink\00" @.str7242 = private unnamed_addr constant [9 x i8] c"DeepPink\00" @.str7243 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00" @.str7244 = private unnamed_addr constant [5 x i8] c"Rose\00" @.str7245 = private unnamed_addr constant [6 x i8] c"Blush\00" @.str7246 = private unnamed_addr constant [7 x i8] c"Salmon\00" @.str7247 = private unnamed_addr constant [12 x i8] c"LightSalmon\00" @.str7248 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00" @.str7249 = private unnamed_addr constant [6 x i8] c"Coral\00" @.str7250 = private unnamed_addr constant [11 x i8] c"Watermelon\00" @.str7251 = private unnamed_addr constant [9 x i8] c"Flamingo\00" @.str7252 = private unnamed_addr constant [10 x i8] c"Bubblegum\00" @.str7253 = private unnamed_addr constant [8 x i8] c"Fuchsia\00" @.str7254 = private unnamed_addr constant [8 x i8] c"Magenta\00" @.str7255 = private unnamed_addr constant [6 x i8] c"Mauve\00" @.str7256 = private unnamed_addr constant [5 x i8] c"Puce\00" @.str7257 = private unnamed_addr constant [8 x i8] c"Thistle\00" @.str7258 = private unnamed_addr constant [7 x i8] c"Orchid\00" @.str7259 = private unnamed_addr constant [7 x i8] c"Orange\00" @.str7260 = private unnamed_addr constant [11 x i8] c"DarkOrange\00" @.str7261 = private unnamed_addr constant [10 x i8] c"Tangerine\00" @.str7262 = private unnamed_addr constant [8 x i8] c"Pumpkin\00" @.str7263 = private unnamed_addr constant [8 x i8] c"Apricot\00" @.str7264 = private unnamed_addr constant [6 x i8] c"Peach\00" @.str7265 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00" @.str7266 = private unnamed_addr constant [6 x i8] c"Amber\00" @.str7267 = private unnamed_addr constant [7 x i8] c"Bronze\00" @.str7268 = private unnamed_addr constant [7 x i8] c"Copper\00" @.str7269 = private unnamed_addr constant [9 x i8] c"Marigold\00" @.str7270 = private unnamed_addr constant [7 x i8] c"Carrot\00" @.str7271 = private unnamed_addr constant [10 x i8] c"Persimmon\00" @.str7272 = private unnamed_addr constant [7 x i8] c"Papaya\00" @.str7273 = private unnamed_addr constant [7 x i8] c"Sunset\00" @.str7274 = private unnamed_addr constant [7 x i8] c"Yellow\00" @.str7275 = private unnamed_addr constant [12 x i8] c"LightYellow\00" @.str7276 = private unnamed_addr constant [5 x i8] c"Gold\00" @.str7277 = private unnamed_addr constant [10 x i8] c"Goldenrod\00" @.str7278 = private unnamed_addr constant [6 x i8] c"Lemon\00" @.str7279 = private unnamed_addr constant [7 x i8] c"Canary\00" @.str7280 = private unnamed_addr constant [8 x i8] c"Mustard\00" @.str7281 = private unnamed_addr constant [5 x i8] c"Flax\00" @.str7282 = private unnamed_addr constant [6 x i8] c"Wheat\00" @.str7283 = private unnamed_addr constant [5 x i8] c"Corn\00" @.str7284 = private unnamed_addr constant [10 x i8] c"Dandelion\00" @.str7285 = private unnamed_addr constant [8 x i8] c"Saffron\00" @.str7286 = private unnamed_addr constant [6 x i8] c"Khaki\00" @.str7287 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00" @.str7288 = private unnamed_addr constant [6 x i8] c"Straw\00" @.str7289 = private unnamed_addr constant [6 x i8] c"Brown\00" @.str7290 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00" @.str7291 = private unnamed_addr constant [7 x i8] c"Sienna\00" @.str7292 = private unnamed_addr constant [10 x i8] c"Chocolate\00" @.str7293 = private unnamed_addr constant [5 x i8] c"Peru\00" @.str7294 = private unnamed_addr constant [4 x i8] c"Tan\00" @.str7295 = private unnamed_addr constant [10 x i8] c"BurlyWood\00" @.str7296 = private unnamed_addr constant [5 x i8] c"Sand\00" @.str7297 = private unnamed_addr constant [7 x i8] c"Coffee\00" @.str7298 = private unnamed_addr constant [9 x i8] c"Espresso\00" @.str7299 = private unnamed_addr constant [9 x i8] c"Mahogany\00" @.str7300 = private unnamed_addr constant [7 x i8] c"Walnut\00" @.str7301 = private unnamed_addr constant [6 x i8] c"Umber\00" @.str7302 = private unnamed_addr constant [6 x i8] c"Sepia\00" @.str7303 = private unnamed_addr constant [6 x i8] c"Taupe\00" @.str7304 = private unnamed_addr constant [5 x i8] c"Fawn\00" @.str7305 = private unnamed_addr constant [8 x i8] c"Caramel\00" @.str7306 = private unnamed_addr constant [6 x i8] c"Cocoa\00" @.str7307 = private unnamed_addr constant [6 x i8] c"Hazel\00" @.str7308 = private unnamed_addr constant [6 x i8] c"Wenge\00" @.str7309 = private unnamed_addr constant [6 x i8] c"Green\00" @.str7310 = private unnamed_addr constant [5 x i8] c"Lime\00" @.str7311 = private unnamed_addr constant [10 x i8] c"LimeGreen\00" @.str7312 = private unnamed_addr constant [10 x i8] c"LawnGreen\00" @.str7313 = private unnamed_addr constant [11 x i8] c"Chartreuse\00" @.str7314 = private unnamed_addr constant [12 x i8] c"GreenYellow\00" @.str7315 = private unnamed_addr constant [12 x i8] c"SpringGreen\00" @.str7316 = private unnamed_addr constant [10 x i8] c"MintGreen\00" @.str7317 = private unnamed_addr constant [9 x i8] c"SeaGreen\00" @.str7318 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00" @.str7319 = private unnamed_addr constant [12 x i8] c"ForestGreen\00" @.str7320 = private unnamed_addr constant [10 x i8] c"DarkGreen\00" @.str7321 = private unnamed_addr constant [10 x i8] c"OliveDrab\00" @.str7322 = private unnamed_addr constant [6 x i8] c"Olive\00" @.str7323 = private unnamed_addr constant [5 x i8] c"Moss\00" @.str7324 = private unnamed_addr constant [5 x i8] c"Fern\00" @.str7325 = private unnamed_addr constant [8 x i8] c"Emerald\00" @.str7326 = private unnamed_addr constant [5 x i8] c"Jade\00" @.str7327 = private unnamed_addr constant [10 x i8] c"Malachite\00" @.str7328 = private unnamed_addr constant [9 x i8] c"Shamrock\00" @.str7329 = private unnamed_addr constant [10 x i8] c"Pistachio\00" @.str7330 = private unnamed_addr constant [8 x i8] c"Avocado\00" @.str7331 = private unnamed_addr constant [5 x i8] c"Pine\00" @.str7332 = private unnamed_addr constant [5 x i8] c"Sage\00" @.str7333 = private unnamed_addr constant [6 x i8] c"Kelly\00" @.str7334 = private unnamed_addr constant [7 x i8] c"Hunter\00" @.str7335 = private unnamed_addr constant [6 x i8] c"Basil\00" @.str7336 = private unnamed_addr constant [7 x i8] c"Clover\00" @.str7337 = private unnamed_addr constant [8 x i8] c"Juniper\00" @.str7338 = private unnamed_addr constant [5 x i8] c"Neon\00" @.str7339 = private unnamed_addr constant [5 x i8] c"Cyan\00" @.str7340 = private unnamed_addr constant [5 x i8] c"Aqua\00" @.str7341 = private unnamed_addr constant [10 x i8] c"LightCyan\00" @.str7342 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00" @.str7343 = private unnamed_addr constant [11 x i8] c"Aquamarine\00" @.str7344 = private unnamed_addr constant [10 x i8] c"Turquoise\00" @.str7345 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00" @.str7346 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00" @.str7347 = private unnamed_addr constant [5 x i8] c"Teal\00" @.str7348 = private unnamed_addr constant [9 x i8] c"DarkCyan\00" @.str7349 = private unnamed_addr constant [10 x i8] c"CadetBlue\00" @.str7350 = private unnamed_addr constant [7 x i8] c"Lagoon\00" @.str7351 = private unnamed_addr constant [8 x i8] c"Seafoam\00" @.str7352 = private unnamed_addr constant [9 x i8] c"Cerulean\00" @.str7353 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00" @.str7354 = private unnamed_addr constant [6 x i8] c"Robin\00" @.str7355 = private unnamed_addr constant [10 x i8] c"Verdigris\00" @.str7356 = private unnamed_addr constant [8 x i8] c"Celadon\00" @.str7357 = private unnamed_addr constant [5 x i8] c"Blue\00" @.str7358 = private unnamed_addr constant [10 x i8] c"LightBlue\00" @.str7359 = private unnamed_addr constant [11 x i8] c"PowderBlue\00" @.str7360 = private unnamed_addr constant [8 x i8] c"SkyBlue\00" @.str7361 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00" @.str7362 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00" @.str7363 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00" @.str7364 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00" @.str7365 = private unnamed_addr constant [10 x i8] c"SteelBlue\00" @.str7366 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00" @.str7367 = private unnamed_addr constant [11 x i8] c"MediumBlue\00" @.str7368 = private unnamed_addr constant [9 x i8] c"DarkBlue\00" @.str7369 = private unnamed_addr constant [5 x i8] c"Navy\00" @.str7370 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00" @.str7371 = private unnamed_addr constant [7 x i8] c"Cobalt\00" @.str7372 = private unnamed_addr constant [9 x i8] c"Sapphire\00" @.str7373 = private unnamed_addr constant [6 x i8] c"Denim\00" @.str7374 = private unnamed_addr constant [7 x i8] c"Indigo\00" @.str7375 = private unnamed_addr constant [9 x i8] c"Prussian\00" @.str7376 = private unnamed_addr constant [12 x i8] c"Ultramarine\00" @.str7377 = private unnamed_addr constant [11 x i8] c"Periwinkle\00" @.str7378 = private unnamed_addr constant [5 x i8] c"Iris\00" @.str7379 = private unnamed_addr constant [9 x i8] c"Glaucous\00" @.str7380 = private unnamed_addr constant [7 x i8] c"Zaffre\00" @.str7381 = private unnamed_addr constant [6 x i8] c"Berry\00" @.str7382 = private unnamed_addr constant [7 x i8] c"Purple\00" @.str7383 = private unnamed_addr constant [7 x i8] c"Violet\00" @.str7384 = private unnamed_addr constant [11 x i8] c"DarkViolet\00" @.str7385 = private unnamed_addr constant [11 x i8] c"BlueViolet\00" @.str7386 = private unnamed_addr constant [13 x i8] c"MediumPurple\00" @.str7387 = private unnamed_addr constant [9 x i8] c"Amethyst\00" @.str7388 = private unnamed_addr constant [5 x i8] c"Plum\00" @.str7389 = private unnamed_addr constant [9 x i8] c"Eggplant\00" @.str7390 = private unnamed_addr constant [6 x i8] c"Grape\00" @.str7391 = private unnamed_addr constant [5 x i8] c"Wine\00" @.str7392 = private unnamed_addr constant [9 x i8] c"Mulberry\00" @.str7393 = private unnamed_addr constant [6 x i8] c"Lilac\00" @.str7394 = private unnamed_addr constant [9 x i8] c"Wisteria\00" @.str7395 = private unnamed_addr constant [11 x i8] c"Heliotrope\00" @.str7396 = private unnamed_addr constant [10 x i8] c"Byzantium\00" @.str7397 = private unnamed_addr constant [7 x i8] c"Tyrian\00" @.str7398 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00" @.str7399 = private unnamed_addr constant [8 x i8] c"Orchid2\00" @.str7400 = private unnamed_addr constant [6 x i8] c"Space\00" @.str7401 = private unnamed_addr constant [6 x i8] c"Enter\00" @.str7402 = private unnamed_addr constant [7 x i8] c"Return\00" @.str7403 = private unnamed_addr constant [7 x i8] c"Escape\00" @.str7404 = private unnamed_addr constant [4 x i8] c"Esc\00" @.str7405 = private unnamed_addr constant [6 x i8] c"Shift\00" @.str7406 = private unnamed_addr constant [4 x i8] c"Tab\00" @.str7407 = private unnamed_addr constant [10 x i8] c"Backspace\00" @.str7408 = private unnamed_addr constant [3 x i8] c"Up\00" @.str7409 = private unnamed_addr constant [5 x i8] c"Down\00" @.str7410 = private unnamed_addr constant [5 x i8] c"Left\00" @.str7411 = private unnamed_addr constant [6 x i8] c"Right\00" @.str7412 = private unnamed_addr constant [3 x i8] c"F1\00" @.str7413 = private unnamed_addr constant [3 x i8] c"F2\00" @.str7414 = private unnamed_addr constant [3 x i8] c"F3\00" @.str7415 = private unnamed_addr constant [3 x i8] c"F4\00" @.str7416 = private unnamed_addr constant [3 x i8] c"F5\00" @.str7417 = private unnamed_addr constant [3 x i8] c"F6\00" @.str7418 = private unnamed_addr constant [3 x i8] c"F7\00" @.str7419 = private unnamed_addr constant [3 x i8] c"F8\00" @.str7420 = private unnamed_addr constant [3 x i8] c"F9\00" @.str7421 = private unnamed_addr constant [4 x i8] c"F10\00" @.str7422 = private unnamed_addr constant [4 x i8] c"F11\00" @.str7423 = private unnamed_addr constant [4 x i8] c"F12\00" @.str7424 = private unnamed_addr constant [5 x i8] c"Home\00" @.str7425 = private unnamed_addr constant [4 x i8] c"End\00" @.str7426 = private unnamed_addr constant [7 x i8] c"PageUp\00" @.str7427 = private unnamed_addr constant [9 x i8] c"PageDown\00" @.str7428 = private unnamed_addr constant [7 x i8] c"Insert\00" @.str7429 = private unnamed_addr constant [7 x i8] c"Delete\00" @.str7430 = private unnamed_addr constant [9 x i8] c"CapsLock\00" @.str7431 = private unnamed_addr constant [8 x i8] c"Numpad0\00" @.str7432 = private unnamed_addr constant [8 x i8] c"Numpad1\00" @.str7433 = private unnamed_addr constant [8 x i8] c"Numpad2\00" @.str7434 = private unnamed_addr constant [8 x i8] c"Numpad3\00" @.str7435 = private unnamed_addr constant [8 x i8] c"Numpad4\00" @.str7436 = private unnamed_addr constant [8 x i8] c"Numpad5\00" @.str7437 = private unnamed_addr constant [8 x i8] c"Numpad6\00" @.str7438 = private unnamed_addr constant [8 x i8] c"Numpad7\00" @.str7439 = private unnamed_addr constant [8 x i8] c"Numpad8\00" @.str7440 = private unnamed_addr constant [8 x i8] c"Numpad9\00" @.str7441 = private unnamed_addr constant [15 x i8] c"NumpadMultiply\00" @.str7442 = private unnamed_addr constant [10 x i8] c"NumpadAdd\00" @.str7443 = private unnamed_addr constant [15 x i8] c"NumpadSubtract\00" @.str7444 = private unnamed_addr constant [14 x i8] c"NumpadDecimal\00" @.str7445 = private unnamed_addr constant [13 x i8] c"NumpadDivide\00" @.str7446 = private unnamed_addr constant [7 x i8] c"Digit0\00" @.str7447 = private unnamed_addr constant [7 x i8] c"Digit1\00" @.str7448 = private unnamed_addr constant [7 x i8] c"Digit2\00" @.str7449 = private unnamed_addr constant [7 x i8] c"Digit3\00" @.str7450 = private unnamed_addr constant [7 x i8] c"Digit4\00" @.str7451 = private unnamed_addr constant [7 x i8] c"Digit5\00" @.str7452 = private unnamed_addr constant [7 x i8] c"Digit6\00" @.str7453 = private unnamed_addr constant [7 x i8] c"Digit7\00" @.str7454 = private unnamed_addr constant [7 x i8] c"Digit8\00" @.str7455 = private unnamed_addr constant [7 x i8] c"Digit9\00" @.str7456 = private unnamed_addr constant [15 x i8] c"getelementptr \00" @.str7457 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00" @.str7458 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00" @.str7459 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7460 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9601: index out of range: \00" @.str7461 = private unnamed_addr constant [27 x i8] c"unknown record type in new\00" @.str7462 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str7463 = private unnamed_addr constant [2 x i8] c")\00" @.str7464 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9619: index out of range: \00" @.str7465 = private unnamed_addr constant [3 x i8] c" \00" @.str7466 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str7467 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7468 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7469 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7470 = private unnamed_addr constant [9 x i8] c" store \00" @.str7471 = private unnamed_addr constant [2 x i8] c" \00" @.str7472 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7473 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7474 = private unnamed_addr constant [8 x i8] c"%LSlice\00" @.str7475 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str7476 = private unnamed_addr constant [2 x i8] c")\00" @.str7477 = private unnamed_addr constant [3 x i8] c" \00" @.str7478 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str7479 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00" @.str7480 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" @.str7481 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7482 = private unnamed_addr constant [3 x i8] c" \00" @.str7483 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str7484 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00" @.str7485 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str7486 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7487 = private unnamed_addr constant [3 x i8] c" \00" @.str7488 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str7489 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00" @.str7490 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str7491 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7492 = private unnamed_addr constant [3 x i8] c" \00" @.str7493 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00" @.str7494 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7495 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7496 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9654: index out of range: \00" @.str7497 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7498 = private unnamed_addr constant [4 x i8] c"int\00" @.str7499 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00" @.str7500 = private unnamed_addr constant [2 x i8] c")\00" @.str7501 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str7502 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7503 = private unnamed_addr constant [4 x i8] c"int\00" @.str7504 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9664: index out of range: \00" @.str7505 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9665: index out of range: \00" @.str7506 = private unnamed_addr constant [2 x i8] c"0\00" @.str7507 = private unnamed_addr constant [5 x i8] c"void\00" @.str7508 = private unnamed_addr constant [67 x i8] c"an empty list literal has no element type: write `new []T` instead\00" @.str7509 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9673: index out of range: \00" @.str7510 = private unnamed_addr constant [3 x i8] c"[]\00" @.str7511 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9680: index out of range: \00" @.str7512 = private unnamed_addr constant [34 x i8] c"list literal mixes element types \00" @.str7513 = private unnamed_addr constant [6 x i8] c" and \00" @.str7514 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7515 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7516 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00" @.str7517 = private unnamed_addr constant [3 x i8] c", \00" @.str7518 = private unnamed_addr constant [5 x i8] c"grow\00" @.str7519 = private unnamed_addr constant [4 x i8] c"put\00" @.str7520 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str7521 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7522 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7523 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7524 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7525 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str7526 = private unnamed_addr constant [4 x i8] c", 2\00" @.str7527 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str7528 = private unnamed_addr constant [4 x i8] c", 0\00" @.str7529 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str7530 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00" @.str7531 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str7532 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7533 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str7534 = private unnamed_addr constant [3 x i8] c", \00" @.str7535 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str7536 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00" @.str7537 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str7538 = private unnamed_addr constant [2 x i8] c")\00" @.str7539 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str7540 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7541 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7542 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7543 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7544 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7545 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7546 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7547 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7548 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str7549 = private unnamed_addr constant [3 x i8] c" \00" @.str7550 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00" @.str7551 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7552 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7553 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7554 = private unnamed_addr constant [9 x i8] c" store \00" @.str7555 = private unnamed_addr constant [2 x i8] c" \00" @.str7556 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7557 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7558 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str7559 = private unnamed_addr constant [4 x i8] c", 1\00" @.str7560 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7561 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7562 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7563 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9728: index out of range: \00" @.str7564 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7565 = private unnamed_addr constant [4 x i8] c"int\00" @.str7566 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7567 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7568 = private unnamed_addr constant [7 x i8] c"result\00" @.str7569 = private unnamed_addr constant [33 x i8] c"try expects a result value (got \00" @.str7570 = private unnamed_addr constant [12 x i8] c") \E2\80\94 line \00" @.str7571 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7572 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str7573 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7574 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str7575 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str7576 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7577 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str7578 = private unnamed_addr constant [4 x i8] c", 0\00" @.str7579 = private unnamed_addr constant [6 x i8] c"tryok\00" @.str7580 = private unnamed_addr constant [8 x i8] c"tryelse\00" @.str7581 = private unnamed_addr constant [7 x i8] c"tryend\00" @.str7582 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str7583 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7584 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7585 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7586 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7587 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str7588 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str7589 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7590 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7591 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7592 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7593 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7594 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7595 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7596 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str7597 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str7598 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str7599 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7600 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str7601 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7602 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7603 = private unnamed_addr constant [6 x i8] c"error\00" @.str7604 = private unnamed_addr constant [7 x i8] c"string\00" @.str7605 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7606 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7607 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7608 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7609 = private unnamed_addr constant [4 x i8] c"int\00" @.str7610 = private unnamed_addr constant [6 x i8] c"load \00" @.str7611 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7612 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7613 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str7614 = private unnamed_addr constant [4 x i8] c", 0\00" @.str7615 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str7616 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7617 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7618 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7619 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7620 = private unnamed_addr constant [3 x i8] c"sc\00" @.str7621 = private unnamed_addr constant [6 x i8] c"scend\00" @.str7622 = private unnamed_addr constant [4 x i8] c"and\00" @.str7623 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str7624 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7625 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7626 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7627 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str7628 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7629 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7630 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7631 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7632 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str7633 = private unnamed_addr constant [4 x i8] c", 0\00" @.str7634 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str7635 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7636 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str7637 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7638 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7639 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7640 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7641 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7642 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7643 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7644 = private unnamed_addr constant [2 x i8] c"<\00" @.str7645 = private unnamed_addr constant [4 x i8] c"slt\00" @.str7646 = private unnamed_addr constant [3 x i8] c"<=\00" @.str7647 = private unnamed_addr constant [4 x i8] c"sle\00" @.str7648 = private unnamed_addr constant [2 x i8] c">\00" @.str7649 = private unnamed_addr constant [4 x i8] c"sgt\00" @.str7650 = private unnamed_addr constant [3 x i8] c">=\00" @.str7651 = private unnamed_addr constant [4 x i8] c"sge\00" @.str7652 = private unnamed_addr constant [3 x i8] c"==\00" @.str7653 = private unnamed_addr constant [3 x i8] c"eq\00" @.str7654 = private unnamed_addr constant [3 x i8] c"ne\00" @.str7655 = private unnamed_addr constant [2 x i8] c"<\00" @.str7656 = private unnamed_addr constant [3 x i8] c"<=\00" @.str7657 = private unnamed_addr constant [2 x i8] c">\00" @.str7658 = private unnamed_addr constant [3 x i8] c">=\00" @.str7659 = private unnamed_addr constant [3 x i8] c"==\00" @.str7660 = private unnamed_addr constant [3 x i8] c"!=\00" @.str7661 = private unnamed_addr constant [2 x i8] c"+\00" @.str7662 = private unnamed_addr constant [4 x i8] c"add\00" @.str7663 = private unnamed_addr constant [2 x i8] c"-\00" @.str7664 = private unnamed_addr constant [4 x i8] c"sub\00" @.str7665 = private unnamed_addr constant [2 x i8] c"*\00" @.str7666 = private unnamed_addr constant [4 x i8] c"mul\00" @.str7667 = private unnamed_addr constant [2 x i8] c"/\00" @.str7668 = private unnamed_addr constant [5 x i8] c"sdiv\00" @.str7669 = private unnamed_addr constant [2 x i8] c"&\00" @.str7670 = private unnamed_addr constant [4 x i8] c"and\00" @.str7671 = private unnamed_addr constant [2 x i8] c"|\00" @.str7672 = private unnamed_addr constant [3 x i8] c"or\00" @.str7673 = private unnamed_addr constant [2 x i8] c"^\00" @.str7674 = private unnamed_addr constant [4 x i8] c"xor\00" @.str7675 = private unnamed_addr constant [3 x i8] c"<<\00" @.str7676 = private unnamed_addr constant [4 x i8] c"shl\00" @.str7677 = private unnamed_addr constant [3 x i8] c">>\00" @.str7678 = private unnamed_addr constant [5 x i8] c"lshr\00" @.str7679 = private unnamed_addr constant [5 x i8] c"srem\00" @.str7680 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7681 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str7682 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7683 = private unnamed_addr constant [3 x i8] c"a \00" @.str7684 = private unnamed_addr constant [6 x i8] c" slot\00" @.str7685 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7686 = private unnamed_addr constant [1 x i8] c"\00" @.str7687 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7688 = private unnamed_addr constant [3 x i8] c"a \00" @.str7689 = private unnamed_addr constant [22 x i8] c" does not convert to \00" @.str7690 = private unnamed_addr constant [41 x i8] c" implicitly \E2\80\94 write int(x) or fixed(x)\00" @.str7691 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7692 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7693 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7694 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7695 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7696 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7697 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str7698 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7699 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7700 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7701 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7702 = private unnamed_addr constant [2 x i8] c"+\00" @.str7703 = private unnamed_addr constant [29 x i8] c"call ptr @lp_str_concat(ptr \00" @.str7704 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7705 = private unnamed_addr constant [2 x i8] c")\00" @.str7706 = private unnamed_addr constant [7 x i8] c"string\00" @.str7707 = private unnamed_addr constant [25 x i8] c"call i32 @lp_str_eq(ptr \00" @.str7708 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str7709 = private unnamed_addr constant [2 x i8] c")\00" @.str7710 = private unnamed_addr constant [3 x i8] c"!=\00" @.str7711 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str7712 = private unnamed_addr constant [4 x i8] c", 0\00" @.str7713 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str7714 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7715 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7716 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7717 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7718 = private unnamed_addr constant [5 x i8] c"long\00" @.str7719 = private unnamed_addr constant [4 x i8] c"int\00" @.str7720 = private unnamed_addr constant [4 x i8] c"and\00" @.str7721 = private unnamed_addr constant [3 x i8] c"or\00" @.str7722 = private unnamed_addr constant [7 x i8] c"string\00" @.str7723 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str7724 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7725 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7726 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7727 = private unnamed_addr constant [2 x i8] c"+\00" @.str7728 = private unnamed_addr constant [2 x i8] c"+\00" @.str7729 = private unnamed_addr constant [3 x i8] c"==\00" @.str7730 = private unnamed_addr constant [3 x i8] c"!=\00" @.str7731 = private unnamed_addr constant [7 x i8] c"string\00" @.str7732 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7733 = private unnamed_addr constant [7 x i8] c"string\00" @.str7734 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7735 = private unnamed_addr constant [16 x i8] c"cannot compare \00" @.str7736 = private unnamed_addr constant [7 x i8] c" with \00" @.str7737 = private unnamed_addr constant [8 x i8] c" using \00" @.str7738 = private unnamed_addr constant [59 x i8] c": strings compare by content, other references by identity\00" @.str7739 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7740 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7741 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7742 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7743 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7744 = private unnamed_addr constant [4 x i8] c"i64\00" @.str7745 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7746 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7747 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str7748 = private unnamed_addr constant [6 x i8] c"icmp \00" @.str7749 = private unnamed_addr constant [2 x i8] c" \00" @.str7750 = private unnamed_addr constant [2 x i8] c" \00" @.str7751 = private unnamed_addr constant [3 x i8] c", \00" @.str7752 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str7753 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7754 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7755 = private unnamed_addr constant [6 x i8] c" i64 \00" @.str7756 = private unnamed_addr constant [3 x i8] c", \00" @.str7757 = private unnamed_addr constant [5 x i8] c"long\00" @.str7758 = private unnamed_addr constant [2 x i8] c"*\00" @.str7759 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7760 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7761 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7762 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7763 = private unnamed_addr constant [9 x i8] c"mul i64 \00" @.str7764 = private unnamed_addr constant [3 x i8] c", \00" @.str7765 = private unnamed_addr constant [10 x i8] c"ashr i64 \00" @.str7766 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7767 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str7768 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7769 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7770 = private unnamed_addr constant [2 x i8] c"/\00" @.str7771 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7772 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7773 = private unnamed_addr constant [9 x i8] c"shl i64 \00" @.str7774 = private unnamed_addr constant [5 x i8] c", 16\00" @.str7775 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str7776 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str7777 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00" @.str7778 = private unnamed_addr constant [3 x i8] c", \00" @.str7779 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str7780 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7781 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7782 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str7783 = private unnamed_addr constant [3 x i8] c", \00" @.str7784 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str7785 = private unnamed_addr constant [6 x i8] c" i32 \00" @.str7786 = private unnamed_addr constant [3 x i8] c", \00" @.str7787 = private unnamed_addr constant [4 x i8] c"int\00" @.str7788 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9956: index out of range: \00" @.str7789 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9963: index out of range: \00" @.str7790 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00" @.str7791 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00" @.str7792 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9972: index out of range: \00" @.str7793 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9972: index out of range: \00" @.str7794 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9972: index out of range: \00" @.str7795 = private unnamed_addr constant [19 x i8] c"no argument named \00" @.str7796 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9973: index out of range: \00" @.str7797 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9983: index out of range: \00" @.str7798 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9983: index out of range: \00" @.str7799 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9990: index out of range: \00" @.str7800 = private unnamed_addr constant [42 x i8] c"selfhost.ludic:9990: index out of range: \00" @.str7801 = private unnamed_addr constant [5 x i8] c"exok\00" @.str7802 = private unnamed_addr constant [6 x i8] c"exbad\00" @.str7803 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str7804 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7805 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7806 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7807 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7808 = private unnamed_addr constant [33 x i8] c" store i32 1, ptr @L_test_fail\0A\00" @.str7809 = private unnamed_addr constant [1 x i8] c"\00" @.str7810 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str7811 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7812 = private unnamed_addr constant [53 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_expect, ptr \00" @.str7813 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7814 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7815 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7816 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7817 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7818 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7819 = private unnamed_addr constant [12 x i8] c"despawn_all\00" @.str7820 = private unnamed_addr constant [32 x i8] c".despawn_all takes no arguments\00" @.str7821 = private unnamed_addr constant [7 x i8] c"__each\00" @.str7822 = private unnamed_addr constant [5 x i8] c"self\00" @.str7823 = private unnamed_addr constant [2 x i8] c"0\00" @.str7824 = private unnamed_addr constant [5 x i8] c"void\00" @.str7825 = private unnamed_addr constant [6 x i8] c"count\00" @.str7826 = private unnamed_addr constant [26 x i8] c".count takes no arguments\00" @.str7827 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7828 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7829 = private unnamed_addr constant [2 x i8] c"0\00" @.str7830 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7831 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7832 = private unnamed_addr constant [2 x i8] c"0\00" @.str7833 = private unnamed_addr constant [3 x i8] c"cc\00" @.str7834 = private unnamed_addr constant [3 x i8] c"cb\00" @.str7835 = private unnamed_addr constant [3 x i8] c"cn\00" @.str7836 = private unnamed_addr constant [3 x i8] c"ce\00" @.str7837 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7838 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7839 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7840 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7841 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str7842 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str7843 = private unnamed_addr constant [3 x i8] c", \00" @.str7844 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str7845 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7846 = private unnamed_addr constant [10 x i8] c", label %\00" @.str7847 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7848 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7849 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7850 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str7851 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7852 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7853 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str7854 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7855 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str7856 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str7857 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7858 = private unnamed_addr constant [9 x i8] c"and i32 \00" @.str7859 = private unnamed_addr constant [3 x i8] c", \00" @.str7860 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7861 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str7862 = private unnamed_addr constant [3 x i8] c", \00" @.str7863 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7864 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7865 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7866 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7867 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str7868 = private unnamed_addr constant [4 x i8] c", 1\00" @.str7869 = private unnamed_addr constant [4 x i8] c"i32\00" @.str7870 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str7871 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str7872 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str7873 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7874 = private unnamed_addr constant [4 x i8] c"int\00" @.str7875 = private unnamed_addr constant [2 x i8] c".\00" @.str7876 = private unnamed_addr constant [32 x i8] c" takes one argument: the entity\00" @.str7877 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:10073: index out of range: \00" @.str7878 = private unnamed_addr constant [3 x i8] c"of\00" @.str7879 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7880 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str7881 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str7882 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7883 = private unnamed_addr constant [14 x i8] c"icmp ult i32 \00" @.str7884 = private unnamed_addr constant [3 x i8] c", \00" @.str7885 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str7886 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str7887 = private unnamed_addr constant [8 x i8] c", i32 0\00" @.str7888 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7889 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str7890 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str7891 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str7892 = private unnamed_addr constant [4 x i8] c", 0\00" @.str7893 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str7894 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str7895 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str7896 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str7897 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str7898 = private unnamed_addr constant [4 x i8] c", 0\00" @.str7899 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str7900 = private unnamed_addr constant [3 x i8] c", \00" @.str7901 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str7902 = private unnamed_addr constant [3 x i8] c", \00" @.str7903 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str7904 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str7905 = private unnamed_addr constant [5 x i8] c"bool\00" @.str7906 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:10095: index out of range: \00" @.str7907 = private unnamed_addr constant [5 x i8] c"name\00" @.str7908 = private unnamed_addr constant [7 x i8] c"string\00" @.str7909 = private unnamed_addr constant [3 x i8] c"of\00" @.str7910 = private unnamed_addr constant [4 x i8] c"has\00" @.str7911 = private unnamed_addr constant [6 x i8] c"count\00" @.str7912 = private unnamed_addr constant [12 x i8] c"despawn_all\00" @.str7913 = private unnamed_addr constant [2 x i8] c"_\00" @.str7914 = private unnamed_addr constant [5 x i8] c"Math\00" @.str7915 = private unnamed_addr constant [22 x i8] c"unknown builtin Math.\00" @.str7916 = private unnamed_addr constant [5 x i8] c"Text\00" @.str7917 = private unnamed_addr constant [22 x i8] c"unknown builtin Text.\00" @.str7918 = private unnamed_addr constant [5 x i8] c"List\00" @.str7919 = private unnamed_addr constant [22 x i8] c"unknown builtin List.\00" @.str7920 = private unnamed_addr constant [5 x i8] c"Ease\00" @.str7921 = private unnamed_addr constant [22 x i8] c"unknown builtin Ease.\00" @.str7922 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str7923 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str7924 = private unnamed_addr constant [10 x i8] c"Collision\00" @.str7925 = private unnamed_addr constant [27 x i8] c"unknown builtin Collision.\00" @.str7926 = private unnamed_addr constant [7 x i8] c"Memory\00" @.str7927 = private unnamed_addr constant [24 x i8] c"unknown builtin Memory.\00" @.str7928 = private unnamed_addr constant [6 x i8] c"Color\00" @.str7929 = private unnamed_addr constant [23 x i8] c"unknown builtin Color.\00" @.str7930 = private unnamed_addr constant [5 x i8] c"Time\00" @.str7931 = private unnamed_addr constant [22 x i8] c"unknown builtin Time.\00" @.str7932 = private unnamed_addr constant [5 x i8] c"Hash\00" @.str7933 = private unnamed_addr constant [22 x i8] c"unknown builtin Hash.\00" @.str7934 = private unnamed_addr constant [7 x i8] c"Crypto\00" @.str7935 = private unnamed_addr constant [24 x i8] c"unknown builtin Crypto.\00" @.str7936 = private unnamed_addr constant [5 x i8] c"Uuid\00" @.str7937 = private unnamed_addr constant [22 x i8] c"unknown builtin Uuid.\00" @.str7938 = private unnamed_addr constant [6 x i8] c"Noise\00" @.str7939 = private unnamed_addr constant [23 x i8] c"unknown builtin Noise.\00" @.str7940 = private unnamed_addr constant [4 x i8] c"Log\00" @.str7941 = private unnamed_addr constant [21 x i8] c"unknown builtin Log.\00" @.str7942 = private unnamed_addr constant [3 x i8] c"Os\00" @.str7943 = private unnamed_addr constant [20 x i8] c"unknown builtin Os.\00" @.str7944 = private unnamed_addr constant [8 x i8] c"Unicode\00" @.str7945 = private unnamed_addr constant [25 x i8] c"unknown builtin Unicode.\00" @.str7946 = private unnamed_addr constant [3 x i8] c"Fs\00" @.str7947 = private unnamed_addr constant [20 x i8] c"unknown builtin Fs.\00" @.str7948 = private unnamed_addr constant [5 x i8] c"Path\00" @.str7949 = private unnamed_addr constant [22 x i8] c"unknown builtin Path.\00" @.str7950 = private unnamed_addr constant [5 x i8] c"Mime\00" @.str7951 = private unnamed_addr constant [22 x i8] c"unknown builtin Mime.\00" @.str7952 = private unnamed_addr constant [7 x i8] c"Vector\00" @.str7953 = private unnamed_addr constant [24 x i8] c"unknown builtin Vector.\00" @.str7954 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str7955 = private unnamed_addr constant [23 x i8] c"unknown builtin IVec2.\00" @.str7956 = private unnamed_addr constant [5 x i8] c"Rect\00" @.str7957 = private unnamed_addr constant [22 x i8] c"unknown builtin Rect.\00" @.str7958 = private unnamed_addr constant [9 x i8] c"Duration\00" @.str7959 = private unnamed_addr constant [26 x i8] c"unknown builtin Duration.\00" @.str7960 = private unnamed_addr constant [5 x i8] c"Date\00" @.str7961 = private unnamed_addr constant [22 x i8] c"unknown builtin Date.\00" @.str7962 = private unnamed_addr constant [9 x i8] c"DateTime\00" @.str7963 = private unnamed_addr constant [26 x i8] c"unknown builtin DateTime.\00" @.str7964 = private unnamed_addr constant [6 x i8] c"Clock\00" @.str7965 = private unnamed_addr constant [23 x i8] c"unknown builtin Clock.\00" @.str7966 = private unnamed_addr constant [4 x i8] c"App\00" @.str7967 = private unnamed_addr constant [12 x i8] c"splash_hide\00" @.str7968 = private unnamed_addr constant [28 x i8] c" call void @splash_hide()\0A\00" @.str7969 = private unnamed_addr constant [2 x i8] c"0\00" @.str7970 = private unnamed_addr constant [5 x i8] c"void\00" @.str7971 = private unnamed_addr constant [9 x i8] c"set_icon\00" @.str7972 = private unnamed_addr constant [30 x i8] c" call void @lp_app_icon(ptr \00" @.str7973 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7974 = private unnamed_addr constant [2 x i8] c"0\00" @.str7975 = private unnamed_addr constant [5 x i8] c"void\00" @.str7976 = private unnamed_addr constant [14 x i8] c"monitor_count\00" @.str7977 = private unnamed_addr constant [30 x i8] c"call i32 @win_monitor_count()\00" @.str7978 = private unnamed_addr constant [4 x i8] c"int\00" @.str7979 = private unnamed_addr constant [2 x i8] c"1\00" @.str7980 = private unnamed_addr constant [4 x i8] c"int\00" @.str7981 = private unnamed_addr constant [18 x i8] c"window_to_monitor\00" @.str7982 = private unnamed_addr constant [40 x i8] c" call void @app_window_to_monitor(i32 \00" @.str7983 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7984 = private unnamed_addr constant [2 x i8] c"0\00" @.str7985 = private unnamed_addr constant [5 x i8] c"void\00" @.str7986 = private unnamed_addr constant [13 x i8] c"window_fixed\00" @.str7987 = private unnamed_addr constant [35 x i8] c" call void @app_window_fixed(i32 \00" @.str7988 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str7989 = private unnamed_addr constant [2 x i8] c"0\00" @.str7990 = private unnamed_addr constant [5 x i8] c"void\00" @.str7991 = private unnamed_addr constant [12 x i8] c"window_hide\00" @.str7992 = private unnamed_addr constant [12 x i8] c"window_show\00" @.str7993 = private unnamed_addr constant [18 x i8] c" call void @app_\00" @.str7994 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str7995 = private unnamed_addr constant [2 x i8] c"0\00" @.str7996 = private unnamed_addr constant [5 x i8] c"void\00" @.str7997 = private unnamed_addr constant [21 x i8] c"unknown builtin App.\00" @.str7998 = private unnamed_addr constant [5 x i8] c"Pool\00" @.str7999 = private unnamed_addr constant [9 x i8] c"capacity\00" @.str8000 = private unnamed_addr constant [4 x i8] c"int\00" @.str8001 = private unnamed_addr constant [9 x i8] c"reserved\00" @.str8002 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str8003 = private unnamed_addr constant [4 x i8] c"int\00" @.str8004 = private unnamed_addr constant [5 x i8] c"free\00" @.str8005 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" @.str8006 = private unnamed_addr constant [4 x i8] c"int\00" @.str8007 = private unnamed_addr constant [5 x i8] c"live\00" @.str8008 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str8009 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_freen\00" @.str8010 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str8011 = private unnamed_addr constant [3 x i8] c", \00" @.str8012 = private unnamed_addr constant [4 x i8] c"int\00" @.str8013 = private unnamed_addr constant [22 x i8] c"unknown builtin Pool.\00" @.str8014 = private unnamed_addr constant [7 x i8] c"Screen\00" @.str8015 = private unnamed_addr constant [6 x i8] c"clear\00" @.str8016 = private unnamed_addr constant [6 x i8] c"clear\00" @.str8017 = private unnamed_addr constant [6 x i8] c"color\00" @.str8018 = private unnamed_addr constant [15 x i8] c"fill_rectangle\00" @.str8019 = private unnamed_addr constant [10 x i8] c"fill_rect\00" @.str8020 = private unnamed_addr constant [2 x i8] c"x\00" @.str8021 = private unnamed_addr constant [2 x i8] c"y\00" @.str8022 = private unnamed_addr constant [6 x i8] c"width\00" @.str8023 = private unnamed_addr constant [7 x i8] c"height\00" @.str8024 = private unnamed_addr constant [6 x i8] c"color\00" @.str8025 = private unnamed_addr constant [4 x i8] c"bar\00" @.str8026 = private unnamed_addr constant [4 x i8] c"bar\00" @.str8027 = private unnamed_addr constant [2 x i8] c"x\00" @.str8028 = private unnamed_addr constant [2 x i8] c"y\00" @.str8029 = private unnamed_addr constant [6 x i8] c"width\00" @.str8030 = private unnamed_addr constant [7 x i8] c"height\00" @.str8031 = private unnamed_addr constant [6 x i8] c"value\00" @.str8032 = private unnamed_addr constant [4 x i8] c"max\00" @.str8033 = private unnamed_addr constant [6 x i8] c"color\00" @.str8034 = private unnamed_addr constant [5 x i8] c"back\00" @.str8035 = private unnamed_addr constant [15 x i8] c"draw_rectangle\00" @.str8036 = private unnamed_addr constant [11 x i8] c"frame_rect\00" @.str8037 = private unnamed_addr constant [2 x i8] c"x\00" @.str8038 = private unnamed_addr constant [2 x i8] c"y\00" @.str8039 = private unnamed_addr constant [6 x i8] c"width\00" @.str8040 = private unnamed_addr constant [7 x i8] c"height\00" @.str8041 = private unnamed_addr constant [6 x i8] c"color\00" @.str8042 = private unnamed_addr constant [10 x i8] c"put_pixel\00" @.str8043 = private unnamed_addr constant [7 x i8] c"put_px\00" @.str8044 = private unnamed_addr constant [2 x i8] c"x\00" @.str8045 = private unnamed_addr constant [2 x i8] c"y\00" @.str8046 = private unnamed_addr constant [6 x i8] c"color\00" @.str8047 = private unnamed_addr constant [10 x i8] c"draw_text\00" @.str8048 = private unnamed_addr constant [5 x i8] c"text\00" @.str8049 = private unnamed_addr constant [2 x i8] c"x\00" @.str8050 = private unnamed_addr constant [2 x i8] c"y\00" @.str8051 = private unnamed_addr constant [5 x i8] c"text\00" @.str8052 = private unnamed_addr constant [6 x i8] c"color\00" @.str8053 = private unnamed_addr constant [6 x i8] c"scale\00" @.str8054 = private unnamed_addr constant [12 x i8] c"draw_number\00" @.str8055 = private unnamed_addr constant [9 x i8] c"text_int\00" @.str8056 = private unnamed_addr constant [2 x i8] c"x\00" @.str8057 = private unnamed_addr constant [2 x i8] c"y\00" @.str8058 = private unnamed_addr constant [6 x i8] c"value\00" @.str8059 = private unnamed_addr constant [6 x i8] c"color\00" @.str8060 = private unnamed_addr constant [6 x i8] c"scale\00" @.str8061 = private unnamed_addr constant [5 x i8] c"show\00" @.str8062 = private unnamed_addr constant [8 x i8] c"present\00" @.str8063 = private unnamed_addr constant [6 x i8] c"width\00" @.str8064 = private unnamed_addr constant [9 x i8] c"screen_w\00" @.str8065 = private unnamed_addr constant [7 x i8] c"height\00" @.str8066 = private unnamed_addr constant [9 x i8] c"screen_h\00" @.str8067 = private unnamed_addr constant [7 x i8] c"status\00" @.str8068 = private unnamed_addr constant [7 x i8] c"status\00" @.str8069 = private unnamed_addr constant [5 x i8] c"text\00" @.str8070 = private unnamed_addr constant [5 x i8] c"line\00" @.str8071 = private unnamed_addr constant [5 x i8] c"line\00" @.str8072 = private unnamed_addr constant [3 x i8] c"x1\00" @.str8073 = private unnamed_addr constant [3 x i8] c"y1\00" @.str8074 = private unnamed_addr constant [3 x i8] c"x2\00" @.str8075 = private unnamed_addr constant [3 x i8] c"y2\00" @.str8076 = private unnamed_addr constant [6 x i8] c"color\00" @.str8077 = private unnamed_addr constant [7 x i8] c"circle\00" @.str8078 = private unnamed_addr constant [7 x i8] c"circle\00" @.str8079 = private unnamed_addr constant [2 x i8] c"x\00" @.str8080 = private unnamed_addr constant [2 x i8] c"y\00" @.str8081 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8082 = private unnamed_addr constant [6 x i8] c"color\00" @.str8083 = private unnamed_addr constant [12 x i8] c"fill_circle\00" @.str8084 = private unnamed_addr constant [12 x i8] c"fill_circle\00" @.str8085 = private unnamed_addr constant [2 x i8] c"x\00" @.str8086 = private unnamed_addr constant [2 x i8] c"y\00" @.str8087 = private unnamed_addr constant [7 x i8] c"radius\00" @.str8088 = private unnamed_addr constant [6 x i8] c"color\00" @.str8089 = private unnamed_addr constant [9 x i8] c"triangle\00" @.str8090 = private unnamed_addr constant [9 x i8] c"triangle\00" @.str8091 = private unnamed_addr constant [3 x i8] c"x1\00" @.str8092 = private unnamed_addr constant [3 x i8] c"y1\00" @.str8093 = private unnamed_addr constant [3 x i8] c"x2\00" @.str8094 = private unnamed_addr constant [3 x i8] c"y2\00" @.str8095 = private unnamed_addr constant [3 x i8] c"x3\00" @.str8096 = private unnamed_addr constant [3 x i8] c"y3\00" @.str8097 = private unnamed_addr constant [6 x i8] c"color\00" @.str8098 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" @.str8099 = private unnamed_addr constant [14 x i8] c"fill_triangle\00" @.str8100 = private unnamed_addr constant [3 x i8] c"x1\00" @.str8101 = private unnamed_addr constant [3 x i8] c"y1\00" @.str8102 = private unnamed_addr constant [3 x i8] c"x2\00" @.str8103 = private unnamed_addr constant [3 x i8] c"y2\00" @.str8104 = private unnamed_addr constant [3 x i8] c"x3\00" @.str8105 = private unnamed_addr constant [3 x i8] c"y3\00" @.str8106 = private unnamed_addr constant [6 x i8] c"color\00" @.str8107 = private unnamed_addr constant [7 x i8] c"sprite\00" @.str8108 = private unnamed_addr constant [12 x i8] c"draw_sprite\00" @.str8109 = private unnamed_addr constant [3 x i8] c"id\00" @.str8110 = private unnamed_addr constant [2 x i8] c"x\00" @.str8111 = private unnamed_addr constant [2 x i8] c"y\00" @.str8112 = private unnamed_addr constant [14 x i8] c"sprite_scaled\00" @.str8113 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00" @.str8114 = private unnamed_addr constant [3 x i8] c"id\00" @.str8115 = private unnamed_addr constant [2 x i8] c"x\00" @.str8116 = private unnamed_addr constant [2 x i8] c"y\00" @.str8117 = private unnamed_addr constant [6 x i8] c"scale\00" @.str8118 = private unnamed_addr constant [5 x i8] c"oval\00" @.str8119 = private unnamed_addr constant [5 x i8] c"oval\00" @.str8120 = private unnamed_addr constant [2 x i8] c"x\00" @.str8121 = private unnamed_addr constant [2 x i8] c"y\00" @.str8122 = private unnamed_addr constant [3 x i8] c"rx\00" @.str8123 = private unnamed_addr constant [3 x i8] c"ry\00" @.str8124 = private unnamed_addr constant [6 x i8] c"color\00" @.str8125 = private unnamed_addr constant [7 x i8] c"camera\00" @.str8126 = private unnamed_addr constant [7 x i8] c"camera\00" @.str8127 = private unnamed_addr constant [2 x i8] c"x\00" @.str8128 = private unnamed_addr constant [2 x i8] c"y\00" @.str8129 = private unnamed_addr constant [5 x i8] c"clip\00" @.str8130 = private unnamed_addr constant [5 x i8] c"clip\00" @.str8131 = private unnamed_addr constant [2 x i8] c"x\00" @.str8132 = private unnamed_addr constant [2 x i8] c"y\00" @.str8133 = private unnamed_addr constant [6 x i8] c"width\00" @.str8134 = private unnamed_addr constant [7 x i8] c"height\00" @.str8135 = private unnamed_addr constant [11 x i8] c"clip_reset\00" @.str8136 = private unnamed_addr constant [11 x i8] c"clip_reset\00" @.str8137 = private unnamed_addr constant [11 x i8] c"blend_mode\00" @.str8138 = private unnamed_addr constant [11 x i8] c"blend_mode\00" @.str8139 = private unnamed_addr constant [5 x i8] c"mode\00" @.str8140 = private unnamed_addr constant [13 x i8] c"measure_text\00" @.str8141 = private unnamed_addr constant [13 x i8] c"measure_text\00" @.str8142 = private unnamed_addr constant [5 x i8] c"text\00" @.str8143 = private unnamed_addr constant [6 x i8] c"pixel\00" @.str8144 = private unnamed_addr constant [7 x i8] c"get_px\00" @.str8145 = private unnamed_addr constant [2 x i8] c"x\00" @.str8146 = private unnamed_addr constant [2 x i8] c"y\00" @.str8147 = private unnamed_addr constant [7 x i8] c"Sprite\00" @.str8148 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str8149 = private unnamed_addr constant [12 x i8] c"atlas_sheet\00" @.str8150 = private unnamed_addr constant [5 x i8] c"path\00" @.str8151 = private unnamed_addr constant [6 x i8] c"cellw\00" @.str8152 = private unnamed_addr constant [6 x i8] c"cellh\00" @.str8153 = private unnamed_addr constant [5 x i8] c"cell\00" @.str8154 = private unnamed_addr constant [11 x i8] c"atlas_cell\00" @.str8155 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str8156 = private unnamed_addr constant [4 x i8] c"col\00" @.str8157 = private unnamed_addr constant [4 x i8] c"row\00" @.str8158 = private unnamed_addr constant [10 x i8] c"cell_span\00" @.str8159 = private unnamed_addr constant [16 x i8] c"atlas_cell_span\00" @.str8160 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str8161 = private unnamed_addr constant [4 x i8] c"col\00" @.str8162 = private unnamed_addr constant [4 x i8] c"row\00" @.str8163 = private unnamed_addr constant [5 x i8] c"cols\00" @.str8164 = private unnamed_addr constant [5 x i8] c"rows\00" @.str8165 = private unnamed_addr constant [6 x i8] c"strip\00" @.str8166 = private unnamed_addr constant [12 x i8] c"atlas_strip\00" @.str8167 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str8168 = private unnamed_addr constant [4 x i8] c"col\00" @.str8169 = private unnamed_addr constant [4 x i8] c"row\00" @.str8170 = private unnamed_addr constant [6 x i8] c"count\00" @.str8171 = private unnamed_addr constant [5 x i8] c"rows\00" @.str8172 = private unnamed_addr constant [7 x i8] c"define\00" @.str8173 = private unnamed_addr constant [13 x i8] c"atlas_define\00" @.str8174 = private unnamed_addr constant [5 x i8] c"name\00" @.str8175 = private unnamed_addr constant [6 x i8] c"sheet\00" @.str8176 = private unnamed_addr constant [4 x i8] c"col\00" @.str8177 = private unnamed_addr constant [4 x i8] c"row\00" @.str8178 = private unnamed_addr constant [6 x i8] c"named\00" @.str8179 = private unnamed_addr constant [12 x i8] c"atlas_named\00" @.str8180 = private unnamed_addr constant [5 x i8] c"name\00" @.str8181 = private unnamed_addr constant [5 x i8] c"draw\00" @.str8182 = private unnamed_addr constant [11 x i8] c"atlas_draw\00" @.str8183 = private unnamed_addr constant [3 x i8] c"id\00" @.str8184 = private unnamed_addr constant [2 x i8] c"x\00" @.str8185 = private unnamed_addr constant [2 x i8] c"y\00" @.str8186 = private unnamed_addr constant [12 x i8] c"draw_scaled\00" @.str8187 = private unnamed_addr constant [18 x i8] c"atlas_draw_scaled\00" @.str8188 = private unnamed_addr constant [3 x i8] c"id\00" @.str8189 = private unnamed_addr constant [2 x i8] c"x\00" @.str8190 = private unnamed_addr constant [2 x i8] c"y\00" @.str8191 = private unnamed_addr constant [6 x i8] c"scale\00" @.str8192 = private unnamed_addr constant [11 x i8] c"draw_meter\00" @.str8193 = private unnamed_addr constant [17 x i8] c"atlas_draw_meter\00" @.str8194 = private unnamed_addr constant [2 x i8] c"x\00" @.str8195 = private unnamed_addr constant [2 x i8] c"y\00" @.str8196 = private unnamed_addr constant [6 x i8] c"value\00" @.str8197 = private unnamed_addr constant [4 x i8] c"max\00" @.str8198 = private unnamed_addr constant [9 x i8] c"per_icon\00" @.str8199 = private unnamed_addr constant [8 x i8] c"spacing\00" @.str8200 = private unnamed_addr constant [5 x i8] c"full\00" @.str8201 = private unnamed_addr constant [5 x i8] c"half\00" @.str8202 = private unnamed_addr constant [6 x i8] c"empty\00" @.str8203 = private unnamed_addr constant [6 x i8] c"width\00" @.str8204 = private unnamed_addr constant [12 x i8] c"atlas_width\00" @.str8205 = private unnamed_addr constant [3 x i8] c"id\00" @.str8206 = private unnamed_addr constant [7 x i8] c"height\00" @.str8207 = private unnamed_addr constant [13 x i8] c"atlas_height\00" @.str8208 = private unnamed_addr constant [3 x i8] c"id\00" @.str8209 = private unnamed_addr constant [5 x i8] c"Font\00" @.str8210 = private unnamed_addr constant [5 x i8] c"load\00" @.str8211 = private unnamed_addr constant [10 x i8] c"font_load\00" @.str8212 = private unnamed_addr constant [5 x i8] c"path\00" @.str8213 = private unnamed_addr constant [3 x i8] c"Ui\00" @.str8214 = private unnamed_addr constant [6 x i8] c"build\00" @.str8215 = private unnamed_addr constant [9 x i8] c"ui_build\00" @.str8216 = private unnamed_addr constant [5 x i8] c"open\00" @.str8217 = private unnamed_addr constant [8 x i8] c"ui_open\00" @.str8218 = private unnamed_addr constant [3 x i8] c"id\00" @.str8219 = private unnamed_addr constant [6 x i8] c"close\00" @.str8220 = private unnamed_addr constant [9 x i8] c"ui_close\00" @.str8221 = private unnamed_addr constant [5 x i8] c"tick\00" @.str8222 = private unnamed_addr constant [8 x i8] c"ui_tick\00" @.str8223 = private unnamed_addr constant [4 x i8] c"key\00" @.str8224 = private unnamed_addr constant [8 x i8] c"clicked\00" @.str8225 = private unnamed_addr constant [11 x i8] c"ui_clicked\00" @.str8226 = private unnamed_addr constant [3 x i8] c"id\00" @.str8227 = private unnamed_addr constant [9 x i8] c"set_text\00" @.str8228 = private unnamed_addr constant [12 x i8] c"ui_set_text\00" @.str8229 = private unnamed_addr constant [3 x i8] c"id\00" @.str8230 = private unnamed_addr constant [5 x i8] c"text\00" @.str8231 = private unnamed_addr constant [7 x i8] c"render\00" @.str8232 = private unnamed_addr constant [10 x i8] c"ui_render\00" @.str8233 = private unnamed_addr constant [5 x i8] c"File\00" @.str8234 = private unnamed_addr constant [5 x i8] c"open\00" @.str8235 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str8236 = private unnamed_addr constant [5 x i8] c"path\00" @.str8237 = private unnamed_addr constant [5 x i8] c"mode\00" @.str8238 = private unnamed_addr constant [5 x i8] c"read\00" @.str8239 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str8240 = private unnamed_addr constant [5 x i8] c"file\00" @.str8241 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str8242 = private unnamed_addr constant [6 x i8] c"count\00" @.str8243 = private unnamed_addr constant [6 x i8] c"write\00" @.str8244 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str8245 = private unnamed_addr constant [5 x i8] c"file\00" @.str8246 = private unnamed_addr constant [7 x i8] c"buffer\00" @.str8247 = private unnamed_addr constant [6 x i8] c"count\00" @.str8248 = private unnamed_addr constant [5 x i8] c"seek\00" @.str8249 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str8250 = private unnamed_addr constant [5 x i8] c"file\00" @.str8251 = private unnamed_addr constant [7 x i8] c"offset\00" @.str8252 = private unnamed_addr constant [7 x i8] c"whence\00" @.str8253 = private unnamed_addr constant [5 x i8] c"tell\00" @.str8254 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str8255 = private unnamed_addr constant [5 x i8] c"file\00" @.str8256 = private unnamed_addr constant [6 x i8] c"close\00" @.str8257 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str8258 = private unnamed_addr constant [5 x i8] c"file\00" @.str8259 = private unnamed_addr constant [3 x i8] c"Fx\00" @.str8260 = private unnamed_addr constant [7 x i8] c"sparks\00" @.str8261 = private unnamed_addr constant [10 x i8] c"fx_sparks\00" @.str8262 = private unnamed_addr constant [2 x i8] c"x\00" @.str8263 = private unnamed_addr constant [2 x i8] c"y\00" @.str8264 = private unnamed_addr constant [6 x i8] c"color\00" @.str8265 = private unnamed_addr constant [6 x i8] c"count\00" @.str8266 = private unnamed_addr constant [7 x i8] c"number\00" @.str8267 = private unnamed_addr constant [10 x i8] c"fx_number\00" @.str8268 = private unnamed_addr constant [2 x i8] c"x\00" @.str8269 = private unnamed_addr constant [2 x i8] c"y\00" @.str8270 = private unnamed_addr constant [6 x i8] c"value\00" @.str8271 = private unnamed_addr constant [6 x i8] c"color\00" @.str8272 = private unnamed_addr constant [6 x i8] c"clear\00" @.str8273 = private unnamed_addr constant [9 x i8] c"fx_clear\00" @.str8274 = private unnamed_addr constant [7 x i8] c"Prefab\00" @.str8275 = private unnamed_addr constant [9 x i8] c"spawn_at\00" @.str8276 = private unnamed_addr constant [48 x i8] c"Prefab.spawn_at: the program declares no prefab\00" @.str8277 = private unnamed_addr constant [9 x i8] c"Position\00" @.str8278 = private unnamed_addr constant [42 x i8] c"Prefab.spawn_at needs a Position property\00" @.str8279 = private unnamed_addr constant [5 x i8] c"name\00" @.str8280 = private unnamed_addr constant [3 x i8] c"at\00" @.str8281 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:10377: index out of range: \00" @.str8282 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:10378: index out of range: \00" @.str8283 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" @.str8284 = private unnamed_addr constant [2 x i8] c")\00" @.str8285 = private unnamed_addr constant [25 x i8] c"getelementptr inbounds [\00" @.str8286 = private unnamed_addr constant [48 x i8] c" x %Cmp_Position], ptr @S_Position, i32 0, i32 \00" @.str8287 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str8288 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str8289 = private unnamed_addr constant [2 x i8] c"x\00" @.str8290 = private unnamed_addr constant [43 x i8] c"getelementptr inbounds %Cmp_Position, ptr \00" @.str8291 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str8292 = private unnamed_addr constant [2 x i8] c"y\00" @.str8293 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8294 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8295 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8296 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str8297 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str8298 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str8299 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8300 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str8301 = private unnamed_addr constant [45 x i8] c"Prefab.spawn: the program declares no prefab\00" @.str8302 = private unnamed_addr constant [5 x i8] c"name\00" @.str8303 = private unnamed_addr constant [51 x i8] c"Prefab.spawn takes one argument: the prefab's name\00" @.str8304 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:10395: index out of range: \00" @.str8305 = private unnamed_addr constant [30 x i8] c"call i32 @L_spawn_prefab(ptr \00" @.str8306 = private unnamed_addr constant [2 x i8] c")\00" @.str8307 = private unnamed_addr constant [7 x i8] c"entity\00" @.str8308 = private unnamed_addr constant [24 x i8] c"unknown builtin Prefab.\00" @.str8309 = private unnamed_addr constant [7 x i8] c"Assets\00" @.str8310 = private unnamed_addr constant [5 x i8] c"font\00" @.str8311 = private unnamed_addr constant [12 x i8] c"assets_font\00" @.str8312 = private unnamed_addr constant [5 x i8] c"name\00" @.str8313 = private unnamed_addr constant [12 x i8] c"enqueue_dir\00" @.str8314 = private unnamed_addr constant [19 x i8] c"assets_enqueue_dir\00" @.str8315 = private unnamed_addr constant [5 x i8] c"path\00" @.str8316 = private unnamed_addr constant [6 x i8] c"image\00" @.str8317 = private unnamed_addr constant [12 x i8] c"atlas_image\00" @.str8318 = private unnamed_addr constant [5 x i8] c"path\00" @.str8319 = private unnamed_addr constant [5 x i8] c"load\00" @.str8320 = private unnamed_addr constant [12 x i8] c"atlas_image\00" @.str8321 = private unnamed_addr constant [5 x i8] c"path\00" @.str8322 = private unnamed_addr constant [4 x i8] c"get\00" @.str8323 = private unnamed_addr constant [12 x i8] c"atlas_named\00" @.str8324 = private unnamed_addr constant [5 x i8] c"name\00" @.str8325 = private unnamed_addr constant [8 x i8] c"enqueue\00" @.str8326 = private unnamed_addr constant [15 x i8] c"assets_enqueue\00" @.str8327 = private unnamed_addr constant [5 x i8] c"name\00" @.str8328 = private unnamed_addr constant [5 x i8] c"path\00" @.str8329 = private unnamed_addr constant [5 x i8] c"pump\00" @.str8330 = private unnamed_addr constant [12 x i8] c"assets_pump\00" @.str8331 = private unnamed_addr constant [4 x i8] c"max\00" @.str8332 = private unnamed_addr constant [6 x i8] c"total\00" @.str8333 = private unnamed_addr constant [13 x i8] c"assets_total\00" @.str8334 = private unnamed_addr constant [7 x i8] c"loaded\00" @.str8335 = private unnamed_addr constant [14 x i8] c"assets_loaded\00" @.str8336 = private unnamed_addr constant [6 x i8] c"ready\00" @.str8337 = private unnamed_addr constant [13 x i8] c"assets_ready\00" @.str8338 = private unnamed_addr constant [9 x i8] c"progress\00" @.str8339 = private unnamed_addr constant [16 x i8] c"assets_progress\00" @.str8340 = private unnamed_addr constant [7 x i8] c"Camera\00" @.str8341 = private unnamed_addr constant [4 x i8] c"set\00" @.str8342 = private unnamed_addr constant [7 x i8] c"camera\00" @.str8343 = private unnamed_addr constant [2 x i8] c"x\00" @.str8344 = private unnamed_addr constant [2 x i8] c"y\00" @.str8345 = private unnamed_addr constant [7 x i8] c"follow\00" @.str8346 = private unnamed_addr constant [14 x i8] c"camera_follow\00" @.str8347 = private unnamed_addr constant [2 x i8] c"x\00" @.str8348 = private unnamed_addr constant [2 x i8] c"y\00" @.str8349 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str8350 = private unnamed_addr constant [6 x i8] c"shake\00" @.str8351 = private unnamed_addr constant [13 x i8] c"camera_shake\00" @.str8352 = private unnamed_addr constant [7 x i8] c"amount\00" @.str8353 = private unnamed_addr constant [10 x i8] c"shake_for\00" @.str8354 = private unnamed_addr constant [17 x i8] c"camera_shake_for\00" @.str8355 = private unnamed_addr constant [7 x i8] c"amount\00" @.str8356 = private unnamed_addr constant [7 x i8] c"frames\00" @.str8357 = private unnamed_addr constant [5 x i8] c"zoom\00" @.str8358 = private unnamed_addr constant [12 x i8] c"camera_zoom\00" @.str8359 = private unnamed_addr constant [6 x i8] c"scale\00" @.str8360 = private unnamed_addr constant [4 x i8] c"Map\00" @.str8361 = private unnamed_addr constant [5 x i8] c"size\00" @.str8362 = private unnamed_addr constant [9 x i8] c"map_size\00" @.str8363 = private unnamed_addr constant [6 x i8] c"width\00" @.str8364 = private unnamed_addr constant [7 x i8] c"height\00" @.str8365 = private unnamed_addr constant [4 x i8] c"row\00" @.str8366 = private unnamed_addr constant [8 x i8] c"map_row\00" @.str8367 = private unnamed_addr constant [2 x i8] c"y\00" @.str8368 = private unnamed_addr constant [6 x i8] c"cells\00" @.str8369 = private unnamed_addr constant [5 x i8] c"tile\00" @.str8370 = private unnamed_addr constant [5 x i8] c"tile\00" @.str8371 = private unnamed_addr constant [2 x i8] c"x\00" @.str8372 = private unnamed_addr constant [2 x i8] c"y\00" @.str8373 = private unnamed_addr constant [4 x i8] c"get\00" @.str8374 = private unnamed_addr constant [5 x i8] c"tile\00" @.str8375 = private unnamed_addr constant [2 x i8] c"x\00" @.str8376 = private unnamed_addr constant [2 x i8] c"y\00" @.str8377 = private unnamed_addr constant [4 x i8] c"set\00" @.str8378 = private unnamed_addr constant [8 x i8] c"map_set\00" @.str8379 = private unnamed_addr constant [2 x i8] c"x\00" @.str8380 = private unnamed_addr constant [2 x i8] c"y\00" @.str8381 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str8382 = private unnamed_addr constant [5 x i8] c"fill\00" @.str8383 = private unnamed_addr constant [9 x i8] c"map_fill\00" @.str8384 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str8385 = private unnamed_addr constant [5 x i8] c"rect\00" @.str8386 = private unnamed_addr constant [9 x i8] c"map_rect\00" @.str8387 = private unnamed_addr constant [2 x i8] c"x\00" @.str8388 = private unnamed_addr constant [2 x i8] c"y\00" @.str8389 = private unnamed_addr constant [6 x i8] c"width\00" @.str8390 = private unnamed_addr constant [7 x i8] c"height\00" @.str8391 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str8392 = private unnamed_addr constant [7 x i8] c"border\00" @.str8393 = private unnamed_addr constant [11 x i8] c"map_border\00" @.str8394 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str8395 = private unnamed_addr constant [12 x i8] c"random_cell\00" @.str8396 = private unnamed_addr constant [16 x i8] c"map_random_cell\00" @.str8397 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str8398 = private unnamed_addr constant [16 x i8] c"random_cell_far\00" @.str8399 = private unnamed_addr constant [20 x i8] c"map_random_cell_far\00" @.str8400 = private unnamed_addr constant [6 x i8] c"glyph\00" @.str8401 = private unnamed_addr constant [5 x i8] c"from\00" @.str8402 = private unnamed_addr constant [10 x i8] c"min_tiles\00" @.str8403 = private unnamed_addr constant [9 x i8] c"is_solid\00" @.str8404 = private unnamed_addr constant [13 x i8] c"map_is_solid\00" @.str8405 = private unnamed_addr constant [2 x i8] c"x\00" @.str8406 = private unnamed_addr constant [2 x i8] c"y\00" @.str8407 = private unnamed_addr constant [12 x i8] c"is_solid_at\00" @.str8408 = private unnamed_addr constant [16 x i8] c"map_is_solid_at\00" @.str8409 = private unnamed_addr constant [2 x i8] c"x\00" @.str8410 = private unnamed_addr constant [2 x i8] c"y\00" @.str8411 = private unnamed_addr constant [8 x i8] c"to_tile\00" @.str8412 = private unnamed_addr constant [12 x i8] c"map_to_tile\00" @.str8413 = private unnamed_addr constant [6 x i8] c"pixel\00" @.str8414 = private unnamed_addr constant [6 x i8] c"width\00" @.str8415 = private unnamed_addr constant [10 x i8] c"map_width\00" @.str8416 = private unnamed_addr constant [7 x i8] c"height\00" @.str8417 = private unnamed_addr constant [11 x i8] c"map_height\00" @.str8418 = private unnamed_addr constant [7 x i8] c"Random\00" @.str8419 = private unnamed_addr constant [6 x i8] c"range\00" @.str8420 = private unnamed_addr constant [10 x i8] c"rng_range\00" @.str8421 = private unnamed_addr constant [4 x i8] c"low\00" @.str8422 = private unnamed_addr constant [5 x i8] c"high\00" @.str8423 = private unnamed_addr constant [9 x i8] c"weighted\00" @.str8424 = private unnamed_addr constant [13 x i8] c"rng_weighted\00" @.str8425 = private unnamed_addr constant [8 x i8] c"weights\00" @.str8426 = private unnamed_addr constant [7 x i8] c"chance\00" @.str8427 = private unnamed_addr constant [11 x i8] c"rng_chance\00" @.str8428 = private unnamed_addr constant [8 x i8] c"percent\00" @.str8429 = private unnamed_addr constant [5 x i8] c"seed\00" @.str8430 = private unnamed_addr constant [5 x i8] c"seed\00" @.str8431 = private unnamed_addr constant [6 x i8] c"value\00" @.str8432 = private unnamed_addr constant [6 x i8] c"value\00" @.str8433 = private unnamed_addr constant [10 x i8] c"rng_value\00" @.str8434 = private unnamed_addr constant [4 x i8] c"int\00" @.str8435 = private unnamed_addr constant [8 x i8] c"rng_int\00" @.str8436 = private unnamed_addr constant [4 x i8] c"max\00" @.str8437 = private unnamed_addr constant [5 x i8] c"sign\00" @.str8438 = private unnamed_addr constant [9 x i8] c"rng_sign\00" @.str8439 = private unnamed_addr constant [6 x i8] c"Input\00" @.str8440 = private unnamed_addr constant [4 x i8] c"key\00" @.str8441 = private unnamed_addr constant [4 x i8] c"key\00" @.str8442 = private unnamed_addr constant [5 x i8] c"bind\00" @.str8443 = private unnamed_addr constant [11 x i8] c"input_bind\00" @.str8444 = private unnamed_addr constant [7 x i8] c"action\00" @.str8445 = private unnamed_addr constant [4 x i8] c"key\00" @.str8446 = private unnamed_addr constant [7 x i8] c"rebind\00" @.str8447 = private unnamed_addr constant [13 x i8] c"input_rebind\00" @.str8448 = private unnamed_addr constant [7 x i8] c"action\00" @.str8449 = private unnamed_addr constant [4 x i8] c"old\00" @.str8450 = private unnamed_addr constant [4 x i8] c"new\00" @.str8451 = private unnamed_addr constant [5 x i8] c"poll\00" @.str8452 = private unnamed_addr constant [11 x i8] c"input_poll\00" @.str8453 = private unnamed_addr constant [5 x i8] c"down\00" @.str8454 = private unnamed_addr constant [11 x i8] c"input_down\00" @.str8455 = private unnamed_addr constant [8 x i8] c"pressed\00" @.str8456 = private unnamed_addr constant [14 x i8] c"input_pressed\00" @.str8457 = private unnamed_addr constant [7 x i8] c"record\00" @.str8458 = private unnamed_addr constant [13 x i8] c"input_record\00" @.str8459 = private unnamed_addr constant [7 x i8] c"replay\00" @.str8460 = private unnamed_addr constant [13 x i8] c"input_replay\00" @.str8461 = private unnamed_addr constant [7 x i8] c"action\00" @.str8462 = private unnamed_addr constant [14 x i8] c"input_default\00" @.str8463 = private unnamed_addr constant [7 x i8] c"action\00" @.str8464 = private unnamed_addr constant [4 x i8] c"key\00" @.str8465 = private unnamed_addr constant [9 x i8] c"bind_pad\00" @.str8466 = private unnamed_addr constant [15 x i8] c"input_bind_pad\00" @.str8467 = private unnamed_addr constant [7 x i8] c"action\00" @.str8468 = private unnamed_addr constant [7 x i8] c"button\00" @.str8469 = private unnamed_addr constant [7 x i8] c"active\00" @.str8470 = private unnamed_addr constant [13 x i8] c"input_active\00" @.str8471 = private unnamed_addr constant [7 x i8] c"action\00" @.str8472 = private unnamed_addr constant [13 x i8] c"just_pressed\00" @.str8473 = private unnamed_addr constant [19 x i8] c"input_just_pressed\00" @.str8474 = private unnamed_addr constant [7 x i8] c"action\00" @.str8475 = private unnamed_addr constant [14 x i8] c"just_released\00" @.str8476 = private unnamed_addr constant [20 x i8] c"input_just_released\00" @.str8477 = private unnamed_addr constant [7 x i8] c"action\00" @.str8478 = private unnamed_addr constant [9 x i8] c"key_down\00" @.str8479 = private unnamed_addr constant [15 x i8] c"input_key_down\00" @.str8480 = private unnamed_addr constant [4 x i8] c"key\00" @.str8481 = private unnamed_addr constant [12 x i8] c"key_pressed\00" @.str8482 = private unnamed_addr constant [18 x i8] c"input_key_pressed\00" @.str8483 = private unnamed_addr constant [4 x i8] c"key\00" @.str8484 = private unnamed_addr constant [13 x i8] c"key_released\00" @.str8485 = private unnamed_addr constant [19 x i8] c"input_key_released\00" @.str8486 = private unnamed_addr constant [4 x i8] c"key\00" @.str8487 = private unnamed_addr constant [10 x i8] c"key_label\00" @.str8488 = private unnamed_addr constant [16 x i8] c"input_key_label\00" @.str8489 = private unnamed_addr constant [4 x i8] c"key\00" @.str8490 = private unnamed_addr constant [5 x i8] c"text\00" @.str8491 = private unnamed_addr constant [11 x i8] c"input_text\00" @.str8492 = private unnamed_addr constant [6 x i8] c"press\00" @.str8493 = private unnamed_addr constant [12 x i8] c"input_press\00" @.str8494 = private unnamed_addr constant [4 x i8] c"key\00" @.str8495 = private unnamed_addr constant [8 x i8] c"release\00" @.str8496 = private unnamed_addr constant [14 x i8] c"input_release\00" @.str8497 = private unnamed_addr constant [4 x i8] c"key\00" @.str8498 = private unnamed_addr constant [5 x i8] c"axis\00" @.str8499 = private unnamed_addr constant [11 x i8] c"input_axis\00" @.str8500 = private unnamed_addr constant [4 x i8] c"neg\00" @.str8501 = private unnamed_addr constant [4 x i8] c"pos\00" @.str8502 = private unnamed_addr constant [7 x i8] c"axis_i\00" @.str8503 = private unnamed_addr constant [13 x i8] c"input_axis_i\00" @.str8504 = private unnamed_addr constant [4 x i8] c"neg\00" @.str8505 = private unnamed_addr constant [4 x i8] c"pos\00" @.str8506 = private unnamed_addr constant [7 x i8] c"move_i\00" @.str8507 = private unnamed_addr constant [13 x i8] c"input_move_i\00" @.str8508 = private unnamed_addr constant [7 x i8] c"vector\00" @.str8509 = private unnamed_addr constant [13 x i8] c"input_vector\00" @.str8510 = private unnamed_addr constant [5 x i8] c"left\00" @.str8511 = private unnamed_addr constant [6 x i8] c"right\00" @.str8512 = private unnamed_addr constant [3 x i8] c"up\00" @.str8513 = private unnamed_addr constant [5 x i8] c"down\00" @.str8514 = private unnamed_addr constant [9 x i8] c"strength\00" @.str8515 = private unnamed_addr constant [15 x i8] c"input_strength\00" @.str8516 = private unnamed_addr constant [7 x i8] c"action\00" @.str8517 = private unnamed_addr constant [8 x i8] c"mouse_x\00" @.str8518 = private unnamed_addr constant [14 x i8] c"input_mouse_x\00" @.str8519 = private unnamed_addr constant [8 x i8] c"mouse_y\00" @.str8520 = private unnamed_addr constant [14 x i8] c"input_mouse_y\00" @.str8521 = private unnamed_addr constant [9 x i8] c"mouse_dx\00" @.str8522 = private unnamed_addr constant [15 x i8] c"input_mouse_dx\00" @.str8523 = private unnamed_addr constant [9 x i8] c"mouse_dy\00" @.str8524 = private unnamed_addr constant [15 x i8] c"input_mouse_dy\00" @.str8525 = private unnamed_addr constant [11 x i8] c"mouse_down\00" @.str8526 = private unnamed_addr constant [17 x i8] c"input_mouse_down\00" @.str8527 = private unnamed_addr constant [7 x i8] c"button\00" @.str8528 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str8529 = private unnamed_addr constant [12 x i8] c"input_wheel\00" @.str8530 = private unnamed_addr constant [10 x i8] c"set_mouse\00" @.str8531 = private unnamed_addr constant [16 x i8] c"input_set_mouse\00" @.str8532 = private unnamed_addr constant [2 x i8] c"x\00" @.str8533 = private unnamed_addr constant [2 x i8] c"y\00" @.str8534 = private unnamed_addr constant [8 x i8] c"buttons\00" @.str8535 = private unnamed_addr constant [6 x i8] c"wheel\00" @.str8536 = private unnamed_addr constant [14 x i8] c"pad_connected\00" @.str8537 = private unnamed_addr constant [20 x i8] c"input_pad_connected\00" @.str8538 = private unnamed_addr constant [4 x i8] c"pad\00" @.str8539 = private unnamed_addr constant [11 x i8] c"pad_button\00" @.str8540 = private unnamed_addr constant [17 x i8] c"input_pad_button\00" @.str8541 = private unnamed_addr constant [4 x i8] c"pad\00" @.str8542 = private unnamed_addr constant [7 x i8] c"button\00" @.str8543 = private unnamed_addr constant [9 x i8] c"pad_axis\00" @.str8544 = private unnamed_addr constant [15 x i8] c"input_pad_axis\00" @.str8545 = private unnamed_addr constant [4 x i8] c"pad\00" @.str8546 = private unnamed_addr constant [5 x i8] c"axis\00" @.str8547 = private unnamed_addr constant [8 x i8] c"set_pad\00" @.str8548 = private unnamed_addr constant [14 x i8] c"input_set_pad\00" @.str8549 = private unnamed_addr constant [4 x i8] c"pad\00" @.str8550 = private unnamed_addr constant [10 x i8] c"connected\00" @.str8551 = private unnamed_addr constant [8 x i8] c"buttons\00" @.str8552 = private unnamed_addr constant [3 x i8] c"lx\00" @.str8553 = private unnamed_addr constant [3 x i8] c"ly\00" @.str8554 = private unnamed_addr constant [3 x i8] c"rx\00" @.str8555 = private unnamed_addr constant [3 x i8] c"ry\00" @.str8556 = private unnamed_addr constant [12 x i8] c"touch_count\00" @.str8557 = private unnamed_addr constant [18 x i8] c"input_touch_count\00" @.str8558 = private unnamed_addr constant [8 x i8] c"touch_x\00" @.str8559 = private unnamed_addr constant [14 x i8] c"input_touch_x\00" @.str8560 = private unnamed_addr constant [6 x i8] c"index\00" @.str8561 = private unnamed_addr constant [8 x i8] c"touch_y\00" @.str8562 = private unnamed_addr constant [14 x i8] c"input_touch_y\00" @.str8563 = private unnamed_addr constant [6 x i8] c"index\00" @.str8564 = private unnamed_addr constant [10 x i8] c"set_touch\00" @.str8565 = private unnamed_addr constant [16 x i8] c"input_set_touch\00" @.str8566 = private unnamed_addr constant [6 x i8] c"index\00" @.str8567 = private unnamed_addr constant [2 x i8] c"x\00" @.str8568 = private unnamed_addr constant [2 x i8] c"y\00" @.str8569 = private unnamed_addr constant [7 x i8] c"active\00" @.str8570 = private unnamed_addr constant [12 x i8] c"cursor_mode\00" @.str8571 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" @.str8572 = private unnamed_addr constant [5 x i8] c"mode\00" @.str8573 = private unnamed_addr constant [6 x i8] c"Audio\00" @.str8574 = private unnamed_addr constant [5 x i8] c"load\00" @.str8575 = private unnamed_addr constant [11 x i8] c"audio_load\00" @.str8576 = private unnamed_addr constant [5 x i8] c"path\00" @.str8577 = private unnamed_addr constant [7 x i8] c"define\00" @.str8578 = private unnamed_addr constant [13 x i8] c"audio_define\00" @.str8579 = private unnamed_addr constant [5 x i8] c"name\00" @.str8580 = private unnamed_addr constant [5 x i8] c"path\00" @.str8581 = private unnamed_addr constant [6 x i8] c"named\00" @.str8582 = private unnamed_addr constant [12 x i8] c"audio_named\00" @.str8583 = private unnamed_addr constant [5 x i8] c"name\00" @.str8584 = private unnamed_addr constant [5 x i8] c"play\00" @.str8585 = private unnamed_addr constant [17 x i8] c"audio_play_named\00" @.str8586 = private unnamed_addr constant [5 x i8] c"name\00" @.str8587 = private unnamed_addr constant [11 x i8] c"audio_play\00" @.str8588 = private unnamed_addr constant [3 x i8] c"id\00" @.str8589 = private unnamed_addr constant [11 x i8] c"play_sound\00" @.str8590 = private unnamed_addr constant [11 x i8] c"audio_play\00" @.str8591 = private unnamed_addr constant [3 x i8] c"id\00" @.str8592 = private unnamed_addr constant [8 x i8] c"play_at\00" @.str8593 = private unnamed_addr constant [14 x i8] c"audio_play_at\00" @.str8594 = private unnamed_addr constant [3 x i8] c"id\00" @.str8595 = private unnamed_addr constant [5 x i8] c"gain\00" @.str8596 = private unnamed_addr constant [6 x i8] c"pitch\00" @.str8597 = private unnamed_addr constant [4 x i8] c"pan\00" @.str8598 = private unnamed_addr constant [11 x i8] c"play_music\00" @.str8599 = private unnamed_addr constant [23 x i8] c"audio_play_music_named\00" @.str8600 = private unnamed_addr constant [5 x i8] c"name\00" @.str8601 = private unnamed_addr constant [17 x i8] c"audio_play_music\00" @.str8602 = private unnamed_addr constant [3 x i8] c"id\00" @.str8603 = private unnamed_addr constant [5 x i8] c"stop\00" @.str8604 = private unnamed_addr constant [11 x i8] c"audio_stop\00" @.str8605 = private unnamed_addr constant [3 x i8] c"id\00" @.str8606 = private unnamed_addr constant [11 x i8] c"stop_music\00" @.str8607 = private unnamed_addr constant [17 x i8] c"audio_stop_music\00" @.str8608 = private unnamed_addr constant [9 x i8] c"stop_all\00" @.str8609 = private unnamed_addr constant [15 x i8] c"audio_stop_all\00" @.str8610 = private unnamed_addr constant [7 x i8] c"volume\00" @.str8611 = private unnamed_addr constant [13 x i8] c"audio_volume\00" @.str8612 = private unnamed_addr constant [2 x i8] c"v\00" @.str8613 = private unnamed_addr constant [6 x i8] c"pitch\00" @.str8614 = private unnamed_addr constant [12 x i8] c"audio_pitch\00" @.str8615 = private unnamed_addr constant [2 x i8] c"v\00" @.str8616 = private unnamed_addr constant [11 x i8] c"is_playing\00" @.str8617 = private unnamed_addr constant [17 x i8] c"audio_is_playing\00" @.str8618 = private unnamed_addr constant [3 x i8] c"id\00" @.str8619 = private unnamed_addr constant [5 x i8] c"Http\00" @.str8620 = private unnamed_addr constant [4 x i8] c"get\00" @.str8621 = private unnamed_addr constant [9 x i8] c"http_get\00" @.str8622 = private unnamed_addr constant [4 x i8] c"url\00" @.str8623 = private unnamed_addr constant [5 x i8] c"post\00" @.str8624 = private unnamed_addr constant [10 x i8] c"http_post\00" @.str8625 = private unnamed_addr constant [4 x i8] c"url\00" @.str8626 = private unnamed_addr constant [5 x i8] c"body\00" @.str8627 = private unnamed_addr constant [8 x i8] c"request\00" @.str8628 = private unnamed_addr constant [13 x i8] c"http_request\00" @.str8629 = private unnamed_addr constant [7 x i8] c"method\00" @.str8630 = private unnamed_addr constant [4 x i8] c"url\00" @.str8631 = private unnamed_addr constant [5 x i8] c"body\00" @.str8632 = private unnamed_addr constant [5 x i8] c"open\00" @.str8633 = private unnamed_addr constant [10 x i8] c"http_open\00" @.str8634 = private unnamed_addr constant [7 x i8] c"method\00" @.str8635 = private unnamed_addr constant [4 x i8] c"url\00" @.str8636 = private unnamed_addr constant [4 x i8] c"set\00" @.str8637 = private unnamed_addr constant [16 x i8] c"http_set_header\00" @.str8638 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8639 = private unnamed_addr constant [5 x i8] c"name\00" @.str8640 = private unnamed_addr constant [6 x i8] c"value\00" @.str8641 = private unnamed_addr constant [5 x i8] c"body\00" @.str8642 = private unnamed_addr constant [10 x i8] c"http_body\00" @.str8643 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8644 = private unnamed_addr constant [5 x i8] c"body\00" @.str8645 = private unnamed_addr constant [11 x i8] c"body_bytes\00" @.str8646 = private unnamed_addr constant [12 x i8] c"http_body_n\00" @.str8647 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8648 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str8649 = private unnamed_addr constant [4 x i8] c"len\00" @.str8650 = private unnamed_addr constant [5 x i8] c"send\00" @.str8651 = private unnamed_addr constant [14 x i8] c"http_send_req\00" @.str8652 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8653 = private unnamed_addr constant [5 x i8] c"poll\00" @.str8654 = private unnamed_addr constant [10 x i8] c"http_poll\00" @.str8655 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8656 = private unnamed_addr constant [7 x i8] c"status\00" @.str8657 = private unnamed_addr constant [15 x i8] c"http_status_of\00" @.str8658 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8659 = private unnamed_addr constant [3 x i8] c"ok\00" @.str8660 = private unnamed_addr constant [8 x i8] c"http_ok\00" @.str8661 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8662 = private unnamed_addr constant [5 x i8] c"text\00" @.str8663 = private unnamed_addr constant [10 x i8] c"http_text\00" @.str8664 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8665 = private unnamed_addr constant [9 x i8] c"body_len\00" @.str8666 = private unnamed_addr constant [14 x i8] c"http_body_len\00" @.str8667 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8668 = private unnamed_addr constant [7 x i8] c"header\00" @.str8669 = private unnamed_addr constant [15 x i8] c"http_header_of\00" @.str8670 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8671 = private unnamed_addr constant [5 x i8] c"name\00" @.str8672 = private unnamed_addr constant [5 x i8] c"free\00" @.str8673 = private unnamed_addr constant [11 x i8] c"http_close\00" @.str8674 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8675 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8676 = private unnamed_addr constant [11 x i8] c"http_parse\00" @.str8677 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str8678 = private unnamed_addr constant [4 x i8] c"len\00" @.str8679 = private unnamed_addr constant [8 x i8] c"save_to\00" @.str8680 = private unnamed_addr constant [13 x i8] c"http_save_to\00" @.str8681 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8682 = private unnamed_addr constant [5 x i8] c"path\00" @.str8683 = private unnamed_addr constant [9 x i8] c"received\00" @.str8684 = private unnamed_addr constant [14 x i8] c"http_received\00" @.str8685 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8686 = private unnamed_addr constant [9 x i8] c"expected\00" @.str8687 = private unnamed_addr constant [14 x i8] c"http_expected\00" @.str8688 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8689 = private unnamed_addr constant [4 x i8] c"Udp\00" @.str8690 = private unnamed_addr constant [5 x i8] c"open\00" @.str8691 = private unnamed_addr constant [9 x i8] c"udp_open\00" @.str8692 = private unnamed_addr constant [5 x i8] c"port\00" @.str8693 = private unnamed_addr constant [5 x i8] c"port\00" @.str8694 = private unnamed_addr constant [9 x i8] c"udp_port\00" @.str8695 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8696 = private unnamed_addr constant [5 x i8] c"send\00" @.str8697 = private unnamed_addr constant [9 x i8] c"udp_send\00" @.str8698 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8699 = private unnamed_addr constant [3 x i8] c"ip\00" @.str8700 = private unnamed_addr constant [5 x i8] c"port\00" @.str8701 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str8702 = private unnamed_addr constant [4 x i8] c"len\00" @.str8703 = private unnamed_addr constant [5 x i8] c"recv\00" @.str8704 = private unnamed_addr constant [9 x i8] c"udp_recv\00" @.str8705 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8706 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str8707 = private unnamed_addr constant [4 x i8] c"cap\00" @.str8708 = private unnamed_addr constant [8 x i8] c"from_ip\00" @.str8709 = private unnamed_addr constant [12 x i8] c"udp_from_ip\00" @.str8710 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8711 = private unnamed_addr constant [10 x i8] c"from_port\00" @.str8712 = private unnamed_addr constant [14 x i8] c"udp_from_port\00" @.str8713 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8714 = private unnamed_addr constant [6 x i8] c"close\00" @.str8715 = private unnamed_addr constant [10 x i8] c"udp_close\00" @.str8716 = private unnamed_addr constant [7 x i8] c"socket\00" @.str8717 = private unnamed_addr constant [8 x i8] c"resolve\00" @.str8718 = private unnamed_addr constant [12 x i8] c"udp_resolve\00" @.str8719 = private unnamed_addr constant [5 x i8] c"name\00" @.str8720 = private unnamed_addr constant [9 x i8] c"local_ip\00" @.str8721 = private unnamed_addr constant [13 x i8] c"udp_local_ip\00" @.str8722 = private unnamed_addr constant [3 x i8] c"ip\00" @.str8723 = private unnamed_addr constant [7 x i8] c"udp_ip\00" @.str8724 = private unnamed_addr constant [5 x i8] c"text\00" @.str8725 = private unnamed_addr constant [8 x i8] c"ip_text\00" @.str8726 = private unnamed_addr constant [12 x i8] c"udp_ip_text\00" @.str8727 = private unnamed_addr constant [3 x i8] c"ip\00" @.str8728 = private unnamed_addr constant [8 x i8] c"Process\00" @.str8729 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str8730 = private unnamed_addr constant [14 x i8] c"process_spawn\00" @.str8731 = private unnamed_addr constant [5 x i8] c"path\00" @.str8732 = private unnamed_addr constant [5 x i8] c"args\00" @.str8733 = private unnamed_addr constant [5 x i8] c"poll\00" @.str8734 = private unnamed_addr constant [13 x i8] c"process_poll\00" @.str8735 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8736 = private unnamed_addr constant [5 x i8] c"kill\00" @.str8737 = private unnamed_addr constant [13 x i8] c"process_kill\00" @.str8738 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8739 = private unnamed_addr constant [5 x i8] c"free\00" @.str8740 = private unnamed_addr constant [13 x i8] c"process_free\00" @.str8741 = private unnamed_addr constant [7 x i8] c"handle\00" @.str8742 = private unnamed_addr constant [6 x i8] c"World\00" @.str8743 = private unnamed_addr constant [4 x i8] c"get\00" @.str8744 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str8745 = private unnamed_addr constant [4 x i8] c"set\00" @.str8746 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str8747 = private unnamed_addr constant [4 x i8] c"has\00" @.str8748 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str8749 = private unnamed_addr constant [6 x i8] c"count\00" @.str8750 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str8751 = private unnamed_addr constant [5 x i8] c"size\00" @.str8752 = private unnamed_addr constant [11 x i8] c"world_size\00" @.str8753 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str8754 = private unnamed_addr constant [12 x i8] c"world_spawn\00" @.str8755 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str8756 = private unnamed_addr constant [14 x i8] c"world_despawn\00" @.str8757 = private unnamed_addr constant [5 x i8] c"save\00" @.str8758 = private unnamed_addr constant [11 x i8] c"world_save\00" @.str8759 = private unnamed_addr constant [5 x i8] c"load\00" @.str8760 = private unnamed_addr constant [11 x i8] c"world_load\00" @.str8761 = private unnamed_addr constant [8 x i8] c"prop_id\00" @.str8762 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str8763 = private unnamed_addr constant [9 x i8] c"field_id\00" @.str8764 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str8765 = private unnamed_addr constant [9 x i8] c"model_id\00" @.str8766 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str8767 = private unnamed_addr constant [5 x i8] c"kind\00" @.str8768 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str8769 = private unnamed_addr constant [14 x i8] c"register_prop\00" @.str8770 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" @.str8771 = private unnamed_addr constant [7 x i8] c"attach\00" @.str8772 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" @.str8773 = private unnamed_addr constant [7 x i8] c"detach\00" @.str8774 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" @.str8775 = private unnamed_addr constant [11 x i8] c"query_next\00" @.str8776 = private unnamed_addr constant [17 x i8] c"world_query_next\00" @.str8777 = private unnamed_addr constant [8 x i8] c"Network\00" @.str8778 = private unnamed_addr constant [5 x i8] c"send\00" @.str8779 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str8780 = private unnamed_addr constant [5 x i8] c"poll\00" @.str8781 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str8782 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str8783 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str8784 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8785 = private unnamed_addr constant [6 x i8] c"apply\00" @.str8786 = private unnamed_addr constant [6 x i8] c"owner\00" @.str8787 = private unnamed_addr constant [6 x i8] c"owner\00" @.str8788 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str8789 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str8790 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str8791 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str8792 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str8793 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str8794 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str8795 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str8796 = private unnamed_addr constant [7 x i8] c"System\00" @.str8797 = private unnamed_addr constant [4 x i8] c"run\00" @.str8798 = private unnamed_addr constant [4 x i8] c"run\00" @.str8799 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str8800 = private unnamed_addr constant [10 x i8] c"read_char\00" @.str8801 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str8802 = private unnamed_addr constant [10 x i8] c"file_open\00" @.str8803 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str8804 = private unnamed_addr constant [10 x i8] c"file_read\00" @.str8805 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str8806 = private unnamed_addr constant [11 x i8] c"file_write\00" @.str8807 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str8808 = private unnamed_addr constant [10 x i8] c"file_seek\00" @.str8809 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str8810 = private unnamed_addr constant [10 x i8] c"file_tell\00" @.str8811 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str8812 = private unnamed_addr constant [11 x i8] c"file_close\00" @.str8813 = private unnamed_addr constant [5 x i8] c"Save\00" @.str8814 = private unnamed_addr constant [6 x i8] c"write\00" @.str8815 = private unnamed_addr constant [5 x i8] c"save\00" @.str8816 = private unnamed_addr constant [5 x i8] c"read\00" @.str8817 = private unnamed_addr constant [5 x i8] c"load\00" @.str8818 = private unnamed_addr constant [6 x i8] c"Regex\00" @.str8819 = private unnamed_addr constant [8 x i8] c"compile\00" @.str8820 = private unnamed_addr constant [14 x i8] c"regex_compile\00" @.str8821 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8822 = private unnamed_addr constant [6 x i8] c"valid\00" @.str8823 = private unnamed_addr constant [12 x i8] c"regex_valid\00" @.str8824 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8825 = private unnamed_addr constant [8 x i8] c"matches\00" @.str8826 = private unnamed_addr constant [14 x i8] c"regex_matches\00" @.str8827 = private unnamed_addr constant [5 x i8] c"text\00" @.str8828 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8829 = private unnamed_addr constant [5 x i8] c"test\00" @.str8830 = private unnamed_addr constant [11 x i8] c"regex_test\00" @.str8831 = private unnamed_addr constant [5 x i8] c"text\00" @.str8832 = private unnamed_addr constant [3 x i8] c"re\00" @.str8833 = private unnamed_addr constant [5 x i8] c"find\00" @.str8834 = private unnamed_addr constant [11 x i8] c"regex_find\00" @.str8835 = private unnamed_addr constant [5 x i8] c"text\00" @.str8836 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8837 = private unnamed_addr constant [5 x i8] c"exec\00" @.str8838 = private unnamed_addr constant [11 x i8] c"regex_exec\00" @.str8839 = private unnamed_addr constant [5 x i8] c"text\00" @.str8840 = private unnamed_addr constant [3 x i8] c"re\00" @.str8841 = private unnamed_addr constant [5 x i8] c"next\00" @.str8842 = private unnamed_addr constant [11 x i8] c"regex_next\00" @.str8843 = private unnamed_addr constant [5 x i8] c"text\00" @.str8844 = private unnamed_addr constant [3 x i8] c"re\00" @.str8845 = private unnamed_addr constant [5 x i8] c"from\00" @.str8846 = private unnamed_addr constant [8 x i8] c"replace\00" @.str8847 = private unnamed_addr constant [14 x i8] c"regex_replace\00" @.str8848 = private unnamed_addr constant [5 x i8] c"text\00" @.str8849 = private unnamed_addr constant [8 x i8] c"pattern\00" @.str8850 = private unnamed_addr constant [12 x i8] c"replacement\00" @.str8851 = private unnamed_addr constant [6 x i8] c"group\00" @.str8852 = private unnamed_addr constant [12 x i8] c"regex_group\00" @.str8853 = private unnamed_addr constant [6 x i8] c"match\00" @.str8854 = private unnamed_addr constant [2 x i8] c"n\00" @.str8855 = private unnamed_addr constant [12 x i8] c"group_count\00" @.str8856 = private unnamed_addr constant [18 x i8] c"regex_group_count\00" @.str8857 = private unnamed_addr constant [6 x i8] c"match\00" @.str8858 = private unnamed_addr constant [6 x i8] c"start\00" @.str8859 = private unnamed_addr constant [12 x i8] c"regex_start\00" @.str8860 = private unnamed_addr constant [6 x i8] c"match\00" @.str8861 = private unnamed_addr constant [2 x i8] c"n\00" @.str8862 = private unnamed_addr constant [4 x i8] c"end\00" @.str8863 = private unnamed_addr constant [10 x i8] c"regex_end\00" @.str8864 = private unnamed_addr constant [6 x i8] c"match\00" @.str8865 = private unnamed_addr constant [2 x i8] c"n\00" @.str8866 = private unnamed_addr constant [3 x i8] c"ok\00" @.str8867 = private unnamed_addr constant [9 x i8] c"regex_ok\00" @.str8868 = private unnamed_addr constant [6 x i8] c"match\00" @.str8869 = private unnamed_addr constant [7 x i8] c"BigInt\00" @.str8870 = private unnamed_addr constant [5 x i8] c"from\00" @.str8871 = private unnamed_addr constant [12 x i8] c"bigint_from\00" @.str8872 = private unnamed_addr constant [6 x i8] c"value\00" @.str8873 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8874 = private unnamed_addr constant [16 x i8] c"bigint_from_str\00" @.str8875 = private unnamed_addr constant [5 x i8] c"text\00" @.str8876 = private unnamed_addr constant [4 x i8] c"add\00" @.str8877 = private unnamed_addr constant [11 x i8] c"bigint_add\00" @.str8878 = private unnamed_addr constant [2 x i8] c"a\00" @.str8879 = private unnamed_addr constant [2 x i8] c"b\00" @.str8880 = private unnamed_addr constant [4 x i8] c"sub\00" @.str8881 = private unnamed_addr constant [11 x i8] c"bigint_sub\00" @.str8882 = private unnamed_addr constant [2 x i8] c"a\00" @.str8883 = private unnamed_addr constant [2 x i8] c"b\00" @.str8884 = private unnamed_addr constant [4 x i8] c"mul\00" @.str8885 = private unnamed_addr constant [11 x i8] c"bigint_mul\00" @.str8886 = private unnamed_addr constant [2 x i8] c"a\00" @.str8887 = private unnamed_addr constant [2 x i8] c"b\00" @.str8888 = private unnamed_addr constant [4 x i8] c"neg\00" @.str8889 = private unnamed_addr constant [11 x i8] c"bigint_neg\00" @.str8890 = private unnamed_addr constant [2 x i8] c"a\00" @.str8891 = private unnamed_addr constant [4 x i8] c"pow\00" @.str8892 = private unnamed_addr constant [11 x i8] c"bigint_pow\00" @.str8893 = private unnamed_addr constant [2 x i8] c"a\00" @.str8894 = private unnamed_addr constant [4 x i8] c"exp\00" @.str8895 = private unnamed_addr constant [4 x i8] c"div\00" @.str8896 = private unnamed_addr constant [15 x i8] c"bigint_div_int\00" @.str8897 = private unnamed_addr constant [2 x i8] c"a\00" @.str8898 = private unnamed_addr constant [2 x i8] c"d\00" @.str8899 = private unnamed_addr constant [4 x i8] c"mod\00" @.str8900 = private unnamed_addr constant [15 x i8] c"bigint_mod_int\00" @.str8901 = private unnamed_addr constant [2 x i8] c"a\00" @.str8902 = private unnamed_addr constant [2 x i8] c"d\00" @.str8903 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str8904 = private unnamed_addr constant [11 x i8] c"bigint_cmp\00" @.str8905 = private unnamed_addr constant [2 x i8] c"a\00" @.str8906 = private unnamed_addr constant [2 x i8] c"b\00" @.str8907 = private unnamed_addr constant [3 x i8] c"eq\00" @.str8908 = private unnamed_addr constant [10 x i8] c"bigint_eq\00" @.str8909 = private unnamed_addr constant [2 x i8] c"a\00" @.str8910 = private unnamed_addr constant [2 x i8] c"b\00" @.str8911 = private unnamed_addr constant [8 x i8] c"is_zero\00" @.str8912 = private unnamed_addr constant [15 x i8] c"bigint_is_zero\00" @.str8913 = private unnamed_addr constant [2 x i8] c"a\00" @.str8914 = private unnamed_addr constant [7 x i8] c"to_int\00" @.str8915 = private unnamed_addr constant [14 x i8] c"bigint_to_int\00" @.str8916 = private unnamed_addr constant [2 x i8] c"a\00" @.str8917 = private unnamed_addr constant [4 x i8] c"str\00" @.str8918 = private unnamed_addr constant [11 x i8] c"bigint_str\00" @.str8919 = private unnamed_addr constant [2 x i8] c"a\00" @.str8920 = private unnamed_addr constant [8 x i8] c"Decimal\00" @.str8921 = private unnamed_addr constant [5 x i8] c"from\00" @.str8922 = private unnamed_addr constant [13 x i8] c"decimal_from\00" @.str8923 = private unnamed_addr constant [6 x i8] c"value\00" @.str8924 = private unnamed_addr constant [6 x i8] c"parse\00" @.str8925 = private unnamed_addr constant [17 x i8] c"decimal_from_str\00" @.str8926 = private unnamed_addr constant [5 x i8] c"text\00" @.str8927 = private unnamed_addr constant [4 x i8] c"add\00" @.str8928 = private unnamed_addr constant [12 x i8] c"decimal_add\00" @.str8929 = private unnamed_addr constant [2 x i8] c"a\00" @.str8930 = private unnamed_addr constant [2 x i8] c"b\00" @.str8931 = private unnamed_addr constant [4 x i8] c"sub\00" @.str8932 = private unnamed_addr constant [12 x i8] c"decimal_sub\00" @.str8933 = private unnamed_addr constant [2 x i8] c"a\00" @.str8934 = private unnamed_addr constant [2 x i8] c"b\00" @.str8935 = private unnamed_addr constant [4 x i8] c"mul\00" @.str8936 = private unnamed_addr constant [12 x i8] c"decimal_mul\00" @.str8937 = private unnamed_addr constant [2 x i8] c"a\00" @.str8938 = private unnamed_addr constant [2 x i8] c"b\00" @.str8939 = private unnamed_addr constant [4 x i8] c"neg\00" @.str8940 = private unnamed_addr constant [12 x i8] c"decimal_neg\00" @.str8941 = private unnamed_addr constant [2 x i8] c"a\00" @.str8942 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str8943 = private unnamed_addr constant [12 x i8] c"decimal_cmp\00" @.str8944 = private unnamed_addr constant [2 x i8] c"a\00" @.str8945 = private unnamed_addr constant [2 x i8] c"b\00" @.str8946 = private unnamed_addr constant [3 x i8] c"eq\00" @.str8947 = private unnamed_addr constant [11 x i8] c"decimal_eq\00" @.str8948 = private unnamed_addr constant [2 x i8] c"a\00" @.str8949 = private unnamed_addr constant [2 x i8] c"b\00" @.str8950 = private unnamed_addr constant [6 x i8] c"scale\00" @.str8951 = private unnamed_addr constant [14 x i8] c"decimal_scale\00" @.str8952 = private unnamed_addr constant [2 x i8] c"d\00" @.str8953 = private unnamed_addr constant [8 x i8] c"rescale\00" @.str8954 = private unnamed_addr constant [16 x i8] c"decimal_rescale\00" @.str8955 = private unnamed_addr constant [2 x i8] c"d\00" @.str8956 = private unnamed_addr constant [7 x i8] c"places\00" @.str8957 = private unnamed_addr constant [4 x i8] c"str\00" @.str8958 = private unnamed_addr constant [12 x i8] c"decimal_str\00" @.str8959 = private unnamed_addr constant [2 x i8] c"d\00" @.str8960 = private unnamed_addr constant [5 x i8] c"Dict\00" @.str8961 = private unnamed_addr constant [4 x i8] c"new\00" @.str8962 = private unnamed_addr constant [9 x i8] c"dict_new\00" @.str8963 = private unnamed_addr constant [4 x i8] c"set\00" @.str8964 = private unnamed_addr constant [9 x i8] c"dict_set\00" @.str8965 = private unnamed_addr constant [2 x i8] c"d\00" @.str8966 = private unnamed_addr constant [4 x i8] c"key\00" @.str8967 = private unnamed_addr constant [6 x i8] c"value\00" @.str8968 = private unnamed_addr constant [4 x i8] c"get\00" @.str8969 = private unnamed_addr constant [9 x i8] c"dict_get\00" @.str8970 = private unnamed_addr constant [2 x i8] c"d\00" @.str8971 = private unnamed_addr constant [4 x i8] c"key\00" @.str8972 = private unnamed_addr constant [7 x i8] c"get_or\00" @.str8973 = private unnamed_addr constant [12 x i8] c"dict_get_or\00" @.str8974 = private unnamed_addr constant [2 x i8] c"d\00" @.str8975 = private unnamed_addr constant [4 x i8] c"key\00" @.str8976 = private unnamed_addr constant [9 x i8] c"fallback\00" @.str8977 = private unnamed_addr constant [4 x i8] c"has\00" @.str8978 = private unnamed_addr constant [9 x i8] c"dict_has\00" @.str8979 = private unnamed_addr constant [2 x i8] c"d\00" @.str8980 = private unnamed_addr constant [4 x i8] c"key\00" @.str8981 = private unnamed_addr constant [7 x i8] c"remove\00" @.str8982 = private unnamed_addr constant [12 x i8] c"dict_remove\00" @.str8983 = private unnamed_addr constant [2 x i8] c"d\00" @.str8984 = private unnamed_addr constant [4 x i8] c"key\00" @.str8985 = private unnamed_addr constant [5 x i8] c"size\00" @.str8986 = private unnamed_addr constant [10 x i8] c"dict_size\00" @.str8987 = private unnamed_addr constant [2 x i8] c"d\00" @.str8988 = private unnamed_addr constant [6 x i8] c"clear\00" @.str8989 = private unnamed_addr constant [11 x i8] c"dict_clear\00" @.str8990 = private unnamed_addr constant [2 x i8] c"d\00" @.str8991 = private unnamed_addr constant [5 x i8] c"keys\00" @.str8992 = private unnamed_addr constant [10 x i8] c"dict_keys\00" @.str8993 = private unnamed_addr constant [2 x i8] c"d\00" @.str8994 = private unnamed_addr constant [4 x i8] c"Set\00" @.str8995 = private unnamed_addr constant [4 x i8] c"new\00" @.str8996 = private unnamed_addr constant [8 x i8] c"set_new\00" @.str8997 = private unnamed_addr constant [4 x i8] c"add\00" @.str8998 = private unnamed_addr constant [8 x i8] c"set_add\00" @.str8999 = private unnamed_addr constant [2 x i8] c"s\00" @.str9000 = private unnamed_addr constant [4 x i8] c"key\00" @.str9001 = private unnamed_addr constant [4 x i8] c"has\00" @.str9002 = private unnamed_addr constant [8 x i8] c"set_has\00" @.str9003 = private unnamed_addr constant [2 x i8] c"s\00" @.str9004 = private unnamed_addr constant [4 x i8] c"key\00" @.str9005 = private unnamed_addr constant [7 x i8] c"remove\00" @.str9006 = private unnamed_addr constant [11 x i8] c"set_remove\00" @.str9007 = private unnamed_addr constant [2 x i8] c"s\00" @.str9008 = private unnamed_addr constant [4 x i8] c"key\00" @.str9009 = private unnamed_addr constant [5 x i8] c"size\00" @.str9010 = private unnamed_addr constant [9 x i8] c"set_size\00" @.str9011 = private unnamed_addr constant [2 x i8] c"s\00" @.str9012 = private unnamed_addr constant [6 x i8] c"clear\00" @.str9013 = private unnamed_addr constant [10 x i8] c"set_clear\00" @.str9014 = private unnamed_addr constant [2 x i8] c"s\00" @.str9015 = private unnamed_addr constant [8 x i8] c"members\00" @.str9016 = private unnamed_addr constant [12 x i8] c"set_members\00" @.str9017 = private unnamed_addr constant [2 x i8] c"s\00" @.str9018 = private unnamed_addr constant [4 x i8] c"Job\00" @.str9019 = private unnamed_addr constant [6 x i8] c"defer\00" @.str9020 = private unnamed_addr constant [10 x i8] c"job_defer\00" @.str9021 = private unnamed_addr constant [4 x i8] c"run\00" @.str9022 = private unnamed_addr constant [8 x i8] c"job_run\00" @.str9023 = private unnamed_addr constant [5 x i8] c"kind\00" @.str9024 = private unnamed_addr constant [4 x i8] c"arg\00" @.str9025 = private unnamed_addr constant [8 x i8] c"fulfill\00" @.str9026 = private unnamed_addr constant [12 x i8] c"job_fulfill\00" @.str9027 = private unnamed_addr constant [7 x i8] c"handle\00" @.str9028 = private unnamed_addr constant [6 x i8] c"value\00" @.str9029 = private unnamed_addr constant [5 x i8] c"fail\00" @.str9030 = private unnamed_addr constant [9 x i8] c"job_fail\00" @.str9031 = private unnamed_addr constant [7 x i8] c"handle\00" @.str9032 = private unnamed_addr constant [6 x i8] c"error\00" @.str9033 = private unnamed_addr constant [7 x i8] c"cancel\00" @.str9034 = private unnamed_addr constant [11 x i8] c"job_cancel\00" @.str9035 = private unnamed_addr constant [7 x i8] c"handle\00" @.str9036 = private unnamed_addr constant [5 x i8] c"pump\00" @.str9037 = private unnamed_addr constant [9 x i8] c"job_pump\00" @.str9038 = private unnamed_addr constant [7 x i8] c"budget\00" @.str9039 = private unnamed_addr constant [5 x i8] c"done\00" @.str9040 = private unnamed_addr constant [9 x i8] c"job_done\00" @.str9041 = private unnamed_addr constant [7 x i8] c"handle\00" @.str9042 = private unnamed_addr constant [3 x i8] c"ok\00" @.str9043 = private unnamed_addr constant [7 x i8] c"job_ok\00" @.str9044 = private unnamed_addr constant [7 x i8] c"handle\00" @.str9045 = private unnamed_addr constant [7 x i8] c"failed\00" @.str9046 = private unnamed_addr constant [11 x i8] c"job_failed\00" @.str9047 = private unnamed_addr constant [7 x i8] c"handle\00" @.str9048 = private unnamed_addr constant [10 x i8] c"cancelled\00" @.str9049 = private unnamed_addr constant [14 x i8] c"job_cancelled\00" @.str9050 = private unnamed_addr constant [7 x i8] c"handle\00" @.str9051 = private unnamed_addr constant [7 x i8] c"result\00" @.str9052 = private unnamed_addr constant [11 x i8] c"job_result\00" @.str9053 = private unnamed_addr constant [7 x i8] c"handle\00" @.str9054 = private unnamed_addr constant [6 x i8] c"error\00" @.str9055 = private unnamed_addr constant [10 x i8] c"job_error\00" @.str9056 = private unnamed_addr constant [7 x i8] c"handle\00" @.str9057 = private unnamed_addr constant [8 x i8] c"pending\00" @.str9058 = private unnamed_addr constant [12 x i8] c"job_pending\00" @.str9059 = private unnamed_addr constant [5 x i8] c"free\00" @.str9060 = private unnamed_addr constant [9 x i8] c"job_free\00" @.str9061 = private unnamed_addr constant [7 x i8] c"handle\00" @.str9062 = private unnamed_addr constant [13 x i8] c"parallel_for\00" @.str9063 = private unnamed_addr constant [17 x i8] c"job_parallel_for\00" @.str9064 = private unnamed_addr constant [6 x i8] c"count\00" @.str9065 = private unnamed_addr constant [5 x i8] c"work\00" @.str9066 = private unnamed_addr constant [4 x i8] c"ctx\00" @.str9067 = private unnamed_addr constant [10 x i8] c"is_worker\00" @.str9068 = private unnamed_addr constant [14 x i8] c"job_is_worker\00" @.str9069 = private unnamed_addr constant [8 x i8] c"Promise\00" @.str9070 = private unnamed_addr constant [4 x i8] c"all\00" @.str9071 = private unnamed_addr constant [9 x i8] c"prom_all\00" @.str9072 = private unnamed_addr constant [8 x i8] c"handles\00" @.str9073 = private unnamed_addr constant [5 x i8] c"race\00" @.str9074 = private unnamed_addr constant [10 x i8] c"prom_race\00" @.str9075 = private unnamed_addr constant [8 x i8] c"handles\00" @.str9076 = private unnamed_addr constant [11 x i8] c"count_done\00" @.str9077 = private unnamed_addr constant [16 x i8] c"prom_count_done\00" @.str9078 = private unnamed_addr constant [8 x i8] c"handles\00" @.str9079 = private unnamed_addr constant [9 x i8] c"all_done\00" @.str9080 = private unnamed_addr constant [14 x i8] c"prom_all_done\00" @.str9081 = private unnamed_addr constant [8 x i8] c"handles\00" @.str9082 = private unnamed_addr constant [5 x i8] c"Sync\00" @.str9083 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str9084 = private unnamed_addr constant [11 x i8] c"sync_mutex\00" @.str9085 = private unnamed_addr constant [5 x i8] c"lock\00" @.str9086 = private unnamed_addr constant [10 x i8] c"sync_lock\00" @.str9087 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str9088 = private unnamed_addr constant [7 x i8] c"unlock\00" @.str9089 = private unnamed_addr constant [12 x i8] c"sync_unlock\00" @.str9090 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str9091 = private unnamed_addr constant [9 x i8] c"try_lock\00" @.str9092 = private unnamed_addr constant [14 x i8] c"sync_try_lock\00" @.str9093 = private unnamed_addr constant [6 x i8] c"mutex\00" @.str9094 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str9095 = private unnamed_addr constant [12 x i8] c"sync_atomic\00" @.str9096 = private unnamed_addr constant [4 x i8] c"get\00" @.str9097 = private unnamed_addr constant [9 x i8] c"sync_get\00" @.str9098 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str9099 = private unnamed_addr constant [4 x i8] c"set\00" @.str9100 = private unnamed_addr constant [9 x i8] c"sync_set\00" @.str9101 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str9102 = private unnamed_addr constant [6 x i8] c"value\00" @.str9103 = private unnamed_addr constant [4 x i8] c"add\00" @.str9104 = private unnamed_addr constant [9 x i8] c"sync_add\00" @.str9105 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str9106 = private unnamed_addr constant [6 x i8] c"delta\00" @.str9107 = private unnamed_addr constant [4 x i8] c"cas\00" @.str9108 = private unnamed_addr constant [9 x i8] c"sync_cas\00" @.str9109 = private unnamed_addr constant [7 x i8] c"atomic\00" @.str9110 = private unnamed_addr constant [7 x i8] c"expect\00" @.str9111 = private unnamed_addr constant [5 x i8] c"next\00" @.str9112 = private unnamed_addr constant [8 x i8] c"channel\00" @.str9113 = private unnamed_addr constant [13 x i8] c"sync_channel\00" @.str9114 = private unnamed_addr constant [5 x i8] c"send\00" @.str9115 = private unnamed_addr constant [10 x i8] c"sync_send\00" @.str9116 = private unnamed_addr constant [8 x i8] c"channel\00" @.str9117 = private unnamed_addr constant [6 x i8] c"value\00" @.str9118 = private unnamed_addr constant [5 x i8] c"recv\00" @.str9119 = private unnamed_addr constant [10 x i8] c"sync_recv\00" @.str9120 = private unnamed_addr constant [8 x i8] c"channel\00" @.str9121 = private unnamed_addr constant [9 x i8] c"can_recv\00" @.str9122 = private unnamed_addr constant [14 x i8] c"sync_can_recv\00" @.str9123 = private unnamed_addr constant [8 x i8] c"channel\00" @.str9124 = private unnamed_addr constant [4 x i8] c"len\00" @.str9125 = private unnamed_addr constant [9 x i8] c"sync_len\00" @.str9126 = private unnamed_addr constant [8 x i8] c"channel\00" @.str9127 = private unnamed_addr constant [10 x i8] c"cpu_count\00" @.str9128 = private unnamed_addr constant [15 x i8] c"sync_cpu_count\00" @.str9129 = private unnamed_addr constant [5 x i8] c"Huge\00" @.str9130 = private unnamed_addr constant [5 x i8] c"from\00" @.str9131 = private unnamed_addr constant [10 x i8] c"huge_from\00" @.str9132 = private unnamed_addr constant [6 x i8] c"value\00" @.str9133 = private unnamed_addr constant [4 x i8] c"add\00" @.str9134 = private unnamed_addr constant [9 x i8] c"huge_add\00" @.str9135 = private unnamed_addr constant [2 x i8] c"a\00" @.str9136 = private unnamed_addr constant [2 x i8] c"b\00" @.str9137 = private unnamed_addr constant [4 x i8] c"sub\00" @.str9138 = private unnamed_addr constant [9 x i8] c"huge_sub\00" @.str9139 = private unnamed_addr constant [2 x i8] c"a\00" @.str9140 = private unnamed_addr constant [2 x i8] c"b\00" @.str9141 = private unnamed_addr constant [4 x i8] c"mul\00" @.str9142 = private unnamed_addr constant [9 x i8] c"huge_mul\00" @.str9143 = private unnamed_addr constant [2 x i8] c"a\00" @.str9144 = private unnamed_addr constant [2 x i8] c"b\00" @.str9145 = private unnamed_addr constant [4 x i8] c"neg\00" @.str9146 = private unnamed_addr constant [9 x i8] c"huge_neg\00" @.str9147 = private unnamed_addr constant [2 x i8] c"a\00" @.str9148 = private unnamed_addr constant [4 x i8] c"cmp\00" @.str9149 = private unnamed_addr constant [9 x i8] c"huge_cmp\00" @.str9150 = private unnamed_addr constant [2 x i8] c"a\00" @.str9151 = private unnamed_addr constant [2 x i8] c"b\00" @.str9152 = private unnamed_addr constant [5 x i8] c"sign\00" @.str9153 = private unnamed_addr constant [10 x i8] c"huge_sign\00" @.str9154 = private unnamed_addr constant [2 x i8] c"a\00" @.str9155 = private unnamed_addr constant [9 x i8] c"mantissa\00" @.str9156 = private unnamed_addr constant [14 x i8] c"huge_mantissa\00" @.str9157 = private unnamed_addr constant [2 x i8] c"a\00" @.str9158 = private unnamed_addr constant [4 x i8] c"exp\00" @.str9159 = private unnamed_addr constant [9 x i8] c"huge_exp\00" @.str9160 = private unnamed_addr constant [2 x i8] c"a\00" @.str9161 = private unnamed_addr constant [4 x i8] c"str\00" @.str9162 = private unnamed_addr constant [9 x i8] c"huge_str\00" @.str9163 = private unnamed_addr constant [2 x i8] c"a\00" @.str9164 = private unnamed_addr constant [6 x i8] c"Angle\00" @.str9165 = private unnamed_addr constant [13 x i8] c"from_degrees\00" @.str9166 = private unnamed_addr constant [19 x i8] c"angle_from_degrees\00" @.str9167 = private unnamed_addr constant [2 x i8] c"d\00" @.str9168 = private unnamed_addr constant [11 x i8] c"to_degrees\00" @.str9169 = private unnamed_addr constant [17 x i8] c"angle_to_degrees\00" @.str9170 = private unnamed_addr constant [2 x i8] c"a\00" @.str9171 = private unnamed_addr constant [5 x i8] c"wrap\00" @.str9172 = private unnamed_addr constant [11 x i8] c"angle_wrap\00" @.str9173 = private unnamed_addr constant [2 x i8] c"a\00" @.str9174 = private unnamed_addr constant [4 x i8] c"sin\00" @.str9175 = private unnamed_addr constant [10 x i8] c"angle_sin\00" @.str9176 = private unnamed_addr constant [2 x i8] c"a\00" @.str9177 = private unnamed_addr constant [4 x i8] c"cos\00" @.str9178 = private unnamed_addr constant [10 x i8] c"angle_cos\00" @.str9179 = private unnamed_addr constant [2 x i8] c"a\00" @.str9180 = private unnamed_addr constant [4 x i8] c"add\00" @.str9181 = private unnamed_addr constant [10 x i8] c"angle_add\00" @.str9182 = private unnamed_addr constant [2 x i8] c"a\00" @.str9183 = private unnamed_addr constant [2 x i8] c"b\00" @.str9184 = private unnamed_addr constant [5 x i8] c"diff\00" @.str9185 = private unnamed_addr constant [11 x i8] c"angle_diff\00" @.str9186 = private unnamed_addr constant [2 x i8] c"a\00" @.str9187 = private unnamed_addr constant [2 x i8] c"b\00" @.str9188 = private unnamed_addr constant [13 x i8] c"diff_degrees\00" @.str9189 = private unnamed_addr constant [19 x i8] c"angle_diff_degrees\00" @.str9190 = private unnamed_addr constant [2 x i8] c"a\00" @.str9191 = private unnamed_addr constant [2 x i8] c"b\00" @.str9192 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str9193 = private unnamed_addr constant [11 x i8] c"angle_lerp\00" @.str9194 = private unnamed_addr constant [2 x i8] c"a\00" @.str9195 = private unnamed_addr constant [2 x i8] c"b\00" @.str9196 = private unnamed_addr constant [2 x i8] c"t\00" @.str9197 = private unnamed_addr constant [8 x i8] c"Percent\00" @.str9198 = private unnamed_addr constant [6 x i8] c"clamp\00" @.str9199 = private unnamed_addr constant [14 x i8] c"percent_clamp\00" @.str9200 = private unnamed_addr constant [2 x i8] c"v\00" @.str9201 = private unnamed_addr constant [3 x i8] c"of\00" @.str9202 = private unnamed_addr constant [11 x i8] c"percent_of\00" @.str9203 = private unnamed_addr constant [4 x i8] c"num\00" @.str9204 = private unnamed_addr constant [4 x i8] c"den\00" @.str9205 = private unnamed_addr constant [5 x i8] c"lerp\00" @.str9206 = private unnamed_addr constant [13 x i8] c"percent_lerp\00" @.str9207 = private unnamed_addr constant [2 x i8] c"a\00" @.str9208 = private unnamed_addr constant [2 x i8] c"b\00" @.str9209 = private unnamed_addr constant [2 x i8] c"t\00" @.str9210 = private unnamed_addr constant [6 x i8] c"apply\00" @.str9211 = private unnamed_addr constant [14 x i8] c"percent_apply\00" @.str9212 = private unnamed_addr constant [6 x i8] c"value\00" @.str9213 = private unnamed_addr constant [2 x i8] c"p\00" @.str9214 = private unnamed_addr constant [5 x i8] c"Grid\00" @.str9215 = private unnamed_addr constant [5 x i8] c"line\00" @.str9216 = private unnamed_addr constant [10 x i8] c"grid_line\00" @.str9217 = private unnamed_addr constant [3 x i8] c"x0\00" @.str9218 = private unnamed_addr constant [3 x i8] c"y0\00" @.str9219 = private unnamed_addr constant [3 x i8] c"x1\00" @.str9220 = private unnamed_addr constant [3 x i8] c"y1\00" @.str9221 = private unnamed_addr constant [8 x i8] c"blocked\00" @.str9222 = private unnamed_addr constant [13 x i8] c"grid_blocked\00" @.str9223 = private unnamed_addr constant [2 x i8] c"x\00" @.str9224 = private unnamed_addr constant [2 x i8] c"y\00" @.str9225 = private unnamed_addr constant [5 x i8] c"wall\00" @.str9226 = private unnamed_addr constant [14 x i8] c"line_of_sight\00" @.str9227 = private unnamed_addr constant [19 x i8] c"grid_line_of_sight\00" @.str9228 = private unnamed_addr constant [3 x i8] c"x0\00" @.str9229 = private unnamed_addr constant [3 x i8] c"y0\00" @.str9230 = private unnamed_addr constant [3 x i8] c"x1\00" @.str9231 = private unnamed_addr constant [3 x i8] c"y1\00" @.str9232 = private unnamed_addr constant [5 x i8] c"wall\00" @.str9233 = private unnamed_addr constant [6 x i8] c"flood\00" @.str9234 = private unnamed_addr constant [11 x i8] c"grid_flood\00" @.str9235 = private unnamed_addr constant [2 x i8] c"x\00" @.str9236 = private unnamed_addr constant [2 x i8] c"y\00" @.str9237 = private unnamed_addr constant [5 x i8] c"wall\00" @.str9238 = private unnamed_addr constant [7 x i8] c"a_star\00" @.str9239 = private unnamed_addr constant [12 x i8] c"path_a_star\00" @.str9240 = private unnamed_addr constant [3 x i8] c"x0\00" @.str9241 = private unnamed_addr constant [3 x i8] c"y0\00" @.str9242 = private unnamed_addr constant [3 x i8] c"x1\00" @.str9243 = private unnamed_addr constant [3 x i8] c"y1\00" @.str9244 = private unnamed_addr constant [5 x i8] c"wall\00" @.str9245 = private unnamed_addr constant [6 x i8] c"Light\00" @.str9246 = private unnamed_addr constant [8 x i8] c"ambient\00" @.str9247 = private unnamed_addr constant [14 x i8] c"light_ambient\00" @.str9248 = private unnamed_addr constant [6 x i8] c"color\00" @.str9249 = private unnamed_addr constant [6 x i8] c"point\00" @.str9250 = private unnamed_addr constant [12 x i8] c"light_point\00" @.str9251 = private unnamed_addr constant [2 x i8] c"x\00" @.str9252 = private unnamed_addr constant [2 x i8] c"y\00" @.str9253 = private unnamed_addr constant [7 x i8] c"radius\00" @.str9254 = private unnamed_addr constant [6 x i8] c"color\00" @.str9255 = private unnamed_addr constant [7 x i8] c"energy\00" @.str9256 = private unnamed_addr constant [5 x i8] c"spot\00" @.str9257 = private unnamed_addr constant [11 x i8] c"light_spot\00" @.str9258 = private unnamed_addr constant [2 x i8] c"x\00" @.str9259 = private unnamed_addr constant [2 x i8] c"y\00" @.str9260 = private unnamed_addr constant [7 x i8] c"radius\00" @.str9261 = private unnamed_addr constant [6 x i8] c"color\00" @.str9262 = private unnamed_addr constant [7 x i8] c"energy\00" @.str9263 = private unnamed_addr constant [10 x i8] c"direction\00" @.str9264 = private unnamed_addr constant [7 x i8] c"spread\00" @.str9265 = private unnamed_addr constant [8 x i8] c"occlude\00" @.str9266 = private unnamed_addr constant [14 x i8] c"light_occlude\00" @.str9267 = private unnamed_addr constant [2 x i8] c"x\00" @.str9268 = private unnamed_addr constant [2 x i8] c"y\00" @.str9269 = private unnamed_addr constant [6 x i8] c"width\00" @.str9270 = private unnamed_addr constant [7 x i8] c"height\00" @.str9271 = private unnamed_addr constant [16 x i8] c"clear_occluders\00" @.str9272 = private unnamed_addr constant [22 x i8] c"light_clear_occluders\00" @.str9273 = private unnamed_addr constant [8 x i8] c"falloff\00" @.str9274 = private unnamed_addr constant [18 x i8] c"light_set_falloff\00" @.str9275 = private unnamed_addr constant [9 x i8] c"exponent\00" @.str9276 = private unnamed_addr constant [5 x i8] c"soft\00" @.str9277 = private unnamed_addr constant [15 x i8] c"light_set_soft\00" @.str9278 = private unnamed_addr constant [7 x i8] c"radius\00" @.str9279 = private unnamed_addr constant [4 x i8] c"gel\00" @.str9280 = private unnamed_addr constant [14 x i8] c"light_set_gel\00" @.str9281 = private unnamed_addr constant [6 x i8] c"color\00" @.str9282 = private unnamed_addr constant [10 x i8] c"clear_gel\00" @.str9283 = private unnamed_addr constant [16 x i8] c"light_clear_gel\00" @.str9284 = private unnamed_addr constant [7 x i8] c"height\00" @.str9285 = private unnamed_addr constant [17 x i8] c"light_set_height\00" @.str9286 = private unnamed_addr constant [7 x i8] c"height\00" @.str9287 = private unnamed_addr constant [7 x i8] c"normal\00" @.str9288 = private unnamed_addr constant [18 x i8] c"light_normal_rect\00" @.str9289 = private unnamed_addr constant [2 x i8] c"x\00" @.str9290 = private unnamed_addr constant [2 x i8] c"y\00" @.str9291 = private unnamed_addr constant [6 x i8] c"width\00" @.str9292 = private unnamed_addr constant [7 x i8] c"height\00" @.str9293 = private unnamed_addr constant [3 x i8] c"nx\00" @.str9294 = private unnamed_addr constant [3 x i8] c"ny\00" @.str9295 = private unnamed_addr constant [14 x i8] c"clear_normals\00" @.str9296 = private unnamed_addr constant [20 x i8] c"light_clear_normals\00" @.str9297 = private unnamed_addr constant [12 x i8] c"time_of_day\00" @.str9298 = private unnamed_addr constant [18 x i8] c"light_time_of_day\00" @.str9299 = private unnamed_addr constant [2 x i8] c"t\00" @.str9300 = private unnamed_addr constant [5 x i8] c"Anim\00" @.str9301 = private unnamed_addr constant [5 x i8] c"clip\00" @.str9302 = private unnamed_addr constant [10 x i8] c"anim_clip\00" @.str9303 = private unnamed_addr constant [5 x i8] c"name\00" @.str9304 = private unnamed_addr constant [7 x i8] c"frames\00" @.str9305 = private unnamed_addr constant [4 x i8] c"fps\00" @.str9306 = private unnamed_addr constant [5 x i8] c"mode\00" @.str9307 = private unnamed_addr constant [9 x i8] c"on_frame\00" @.str9308 = private unnamed_addr constant [14 x i8] c"anim_on_frame\00" @.str9309 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9310 = private unnamed_addr constant [6 x i8] c"frame\00" @.str9311 = private unnamed_addr constant [6 x i8] c"fired\00" @.str9312 = private unnamed_addr constant [11 x i8] c"anim_fired\00" @.str9313 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9314 = private unnamed_addr constant [5 x i8] c"play\00" @.str9315 = private unnamed_addr constant [16 x i8] c"anim_play_named\00" @.str9316 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9317 = private unnamed_addr constant [5 x i8] c"clip\00" @.str9318 = private unnamed_addr constant [10 x i8] c"anim_play\00" @.str9319 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9320 = private unnamed_addr constant [4 x i8] c"fps\00" @.str9321 = private unnamed_addr constant [7 x i8] c"frames\00" @.str9322 = private unnamed_addr constant [5 x i8] c"mode\00" @.str9323 = private unnamed_addr constant [7 x i8] c"Motion\00" @.str9324 = private unnamed_addr constant [3 x i8] c"to\00" @.str9325 = private unnamed_addr constant [10 x i8] c"motion_to\00" @.str9326 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9327 = private unnamed_addr constant [5 x i8] c"from\00" @.str9328 = private unnamed_addr constant [3 x i8] c"to\00" @.str9329 = private unnamed_addr constant [4 x i8] c"dur\00" @.str9330 = private unnamed_addr constant [5 x i8] c"ease\00" @.str9331 = private unnamed_addr constant [6 x i8] c"Tween\00" @.str9332 = private unnamed_addr constant [3 x i8] c"to\00" @.str9333 = private unnamed_addr constant [9 x i8] c"tween_to\00" @.str9334 = private unnamed_addr constant [5 x i8] c"from\00" @.str9335 = private unnamed_addr constant [3 x i8] c"to\00" @.str9336 = private unnamed_addr constant [4 x i8] c"dur\00" @.str9337 = private unnamed_addr constant [5 x i8] c"ease\00" @.str9338 = private unnamed_addr constant [6 x i8] c"chain\00" @.str9339 = private unnamed_addr constant [12 x i8] c"tween_chain\00" @.str9340 = private unnamed_addr constant [7 x i8] c"handle\00" @.str9341 = private unnamed_addr constant [3 x i8] c"to\00" @.str9342 = private unnamed_addr constant [4 x i8] c"dur\00" @.str9343 = private unnamed_addr constant [5 x i8] c"ease\00" @.str9344 = private unnamed_addr constant [6 x i8] c"delay\00" @.str9345 = private unnamed_addr constant [12 x i8] c"tween_delay\00" @.str9346 = private unnamed_addr constant [7 x i8] c"handle\00" @.str9347 = private unnamed_addr constant [6 x i8] c"ticks\00" @.str9348 = private unnamed_addr constant [6 x i8] c"value\00" @.str9349 = private unnamed_addr constant [12 x i8] c"tween_value\00" @.str9350 = private unnamed_addr constant [7 x i8] c"handle\00" @.str9351 = private unnamed_addr constant [5 x i8] c"stop\00" @.str9352 = private unnamed_addr constant [11 x i8] c"tween_stop\00" @.str9353 = private unnamed_addr constant [7 x i8] c"handle\00" @.str9354 = private unnamed_addr constant [9 x i8] c"parallel\00" @.str9355 = private unnamed_addr constant [15 x i8] c"tween_parallel\00" @.str9356 = private unnamed_addr constant [2 x i8] c"a\00" @.str9357 = private unnamed_addr constant [2 x i8] c"b\00" @.str9358 = private unnamed_addr constant [6 x i8] c"Query\00" @.str9359 = private unnamed_addr constant [6 x i8] c"count\00" @.str9360 = private unnamed_addr constant [12 x i8] c"query_count\00" @.str9361 = private unnamed_addr constant [5 x i8] c"prop\00" @.str9362 = private unnamed_addr constant [6 x i8] c"first\00" @.str9363 = private unnamed_addr constant [12 x i8] c"query_first\00" @.str9364 = private unnamed_addr constant [5 x i8] c"prop\00" @.str9365 = private unnamed_addr constant [8 x i8] c"nearest\00" @.str9366 = private unnamed_addr constant [14 x i8] c"query_nearest\00" @.str9367 = private unnamed_addr constant [5 x i8] c"prop\00" @.str9368 = private unnamed_addr constant [4 x i8] c"pos\00" @.str9369 = private unnamed_addr constant [8 x i8] c"x_field\00" @.str9370 = private unnamed_addr constant [8 x i8] c"y_field\00" @.str9371 = private unnamed_addr constant [2 x i8] c"x\00" @.str9372 = private unnamed_addr constant [2 x i8] c"y\00" @.str9373 = private unnamed_addr constant [7 x i8] c"within\00" @.str9374 = private unnamed_addr constant [13 x i8] c"query_within\00" @.str9375 = private unnamed_addr constant [5 x i8] c"prop\00" @.str9376 = private unnamed_addr constant [4 x i8] c"pos\00" @.str9377 = private unnamed_addr constant [2 x i8] c"x\00" @.str9378 = private unnamed_addr constant [2 x i8] c"y\00" @.str9379 = private unnamed_addr constant [7 x i8] c"radius\00" @.str9380 = private unnamed_addr constant [8 x i8] c"x_field\00" @.str9381 = private unnamed_addr constant [8 x i8] c"y_field\00" @.str9382 = private unnamed_addr constant [8 x i8] c"Reflect\00" @.str9383 = private unnamed_addr constant [5 x i8] c"prop\00" @.str9384 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str9385 = private unnamed_addr constant [5 x i8] c"name\00" @.str9386 = private unnamed_addr constant [6 x i8] c"field\00" @.str9387 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str9388 = private unnamed_addr constant [5 x i8] c"prop\00" @.str9389 = private unnamed_addr constant [5 x i8] c"name\00" @.str9390 = private unnamed_addr constant [11 x i8] c"prop_count\00" @.str9391 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" @.str9392 = private unnamed_addr constant [10 x i8] c"prop_name\00" @.str9393 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" @.str9394 = private unnamed_addr constant [6 x i8] c"index\00" @.str9395 = private unnamed_addr constant [12 x i8] c"field_count\00" @.str9396 = private unnamed_addr constant [18 x i8] c"world_field_count\00" @.str9397 = private unnamed_addr constant [5 x i8] c"prop\00" @.str9398 = private unnamed_addr constant [11 x i8] c"field_name\00" @.str9399 = private unnamed_addr constant [17 x i8] c"world_field_name\00" @.str9400 = private unnamed_addr constant [5 x i8] c"prop\00" @.str9401 = private unnamed_addr constant [6 x i8] c"index\00" @.str9402 = private unnamed_addr constant [11 x i8] c"field_type\00" @.str9403 = private unnamed_addr constant [17 x i8] c"world_field_type\00" @.str9404 = private unnamed_addr constant [5 x i8] c"prop\00" @.str9405 = private unnamed_addr constant [6 x i8] c"index\00" @.str9406 = private unnamed_addr constant [4 x i8] c"get\00" @.str9407 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str9408 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9409 = private unnamed_addr constant [5 x i8] c"prop\00" @.str9410 = private unnamed_addr constant [6 x i8] c"field\00" @.str9411 = private unnamed_addr constant [4 x i8] c"set\00" @.str9412 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str9413 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9414 = private unnamed_addr constant [5 x i8] c"prop\00" @.str9415 = private unnamed_addr constant [6 x i8] c"field\00" @.str9416 = private unnamed_addr constant [6 x i8] c"value\00" @.str9417 = private unnamed_addr constant [4 x i8] c"has\00" @.str9418 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str9419 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9420 = private unnamed_addr constant [5 x i8] c"prop\00" @.str9421 = private unnamed_addr constant [5 x i8] c"kind\00" @.str9422 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str9423 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9424 = private unnamed_addr constant [6 x i8] c"model\00" @.str9425 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str9426 = private unnamed_addr constant [5 x i8] c"name\00" @.str9427 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str9428 = private unnamed_addr constant [18 x i8] c"reflect_serialize\00" @.str9429 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9430 = private unnamed_addr constant [6 x i8] c"apply\00" @.str9431 = private unnamed_addr constant [14 x i8] c"reflect_apply\00" @.str9432 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9433 = private unnamed_addr constant [6 x i8] c"value\00" @.str9434 = private unnamed_addr constant [6 x i8] c"Value\00" @.str9435 = private unnamed_addr constant [5 x i8] c"null\00" @.str9436 = private unnamed_addr constant [11 x i8] c"value_null\00" @.str9437 = private unnamed_addr constant [4 x i8] c"int\00" @.str9438 = private unnamed_addr constant [10 x i8] c"value_int\00" @.str9439 = private unnamed_addr constant [2 x i8] c"n\00" @.str9440 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9441 = private unnamed_addr constant [12 x i8] c"value_fixed\00" @.str9442 = private unnamed_addr constant [2 x i8] c"f\00" @.str9443 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9444 = private unnamed_addr constant [11 x i8] c"value_bool\00" @.str9445 = private unnamed_addr constant [2 x i8] c"b\00" @.str9446 = private unnamed_addr constant [4 x i8] c"str\00" @.str9447 = private unnamed_addr constant [10 x i8] c"value_str\00" @.str9448 = private unnamed_addr constant [2 x i8] c"s\00" @.str9449 = private unnamed_addr constant [5 x i8] c"list\00" @.str9450 = private unnamed_addr constant [11 x i8] c"value_list\00" @.str9451 = private unnamed_addr constant [7 x i8] c"object\00" @.str9452 = private unnamed_addr constant [13 x i8] c"value_object\00" @.str9453 = private unnamed_addr constant [4 x i8] c"add\00" @.str9454 = private unnamed_addr constant [10 x i8] c"value_add\00" @.str9455 = private unnamed_addr constant [5 x i8] c"list\00" @.str9456 = private unnamed_addr constant [5 x i8] c"item\00" @.str9457 = private unnamed_addr constant [4 x i8] c"put\00" @.str9458 = private unnamed_addr constant [10 x i8] c"value_put\00" @.str9459 = private unnamed_addr constant [4 x i8] c"obj\00" @.str9460 = private unnamed_addr constant [4 x i8] c"key\00" @.str9461 = private unnamed_addr constant [5 x i8] c"item\00" @.str9462 = private unnamed_addr constant [4 x i8] c"get\00" @.str9463 = private unnamed_addr constant [10 x i8] c"value_get\00" @.str9464 = private unnamed_addr constant [4 x i8] c"obj\00" @.str9465 = private unnamed_addr constant [4 x i8] c"key\00" @.str9466 = private unnamed_addr constant [4 x i8] c"has\00" @.str9467 = private unnamed_addr constant [10 x i8] c"value_has\00" @.str9468 = private unnamed_addr constant [4 x i8] c"obj\00" @.str9469 = private unnamed_addr constant [4 x i8] c"key\00" @.str9470 = private unnamed_addr constant [3 x i8] c"at\00" @.str9471 = private unnamed_addr constant [9 x i8] c"value_at\00" @.str9472 = private unnamed_addr constant [5 x i8] c"list\00" @.str9473 = private unnamed_addr constant [6 x i8] c"index\00" @.str9474 = private unnamed_addr constant [7 x i8] c"key_at\00" @.str9475 = private unnamed_addr constant [13 x i8] c"value_key_at\00" @.str9476 = private unnamed_addr constant [4 x i8] c"obj\00" @.str9477 = private unnamed_addr constant [6 x i8] c"index\00" @.str9478 = private unnamed_addr constant [6 x i8] c"count\00" @.str9479 = private unnamed_addr constant [12 x i8] c"value_count\00" @.str9480 = private unnamed_addr constant [6 x i8] c"value\00" @.str9481 = private unnamed_addr constant [5 x i8] c"kind\00" @.str9482 = private unnamed_addr constant [11 x i8] c"value_kind\00" @.str9483 = private unnamed_addr constant [6 x i8] c"value\00" @.str9484 = private unnamed_addr constant [7 x i8] c"as_int\00" @.str9485 = private unnamed_addr constant [13 x i8] c"value_as_int\00" @.str9486 = private unnamed_addr constant [6 x i8] c"value\00" @.str9487 = private unnamed_addr constant [7 x i8] c"as_str\00" @.str9488 = private unnamed_addr constant [13 x i8] c"value_as_str\00" @.str9489 = private unnamed_addr constant [6 x i8] c"value\00" @.str9490 = private unnamed_addr constant [5 x i8] c"Json\00" @.str9491 = private unnamed_addr constant [7 x i8] c"encode\00" @.str9492 = private unnamed_addr constant [12 x i8] c"json_encode\00" @.str9493 = private unnamed_addr constant [6 x i8] c"value\00" @.str9494 = private unnamed_addr constant [6 x i8] c"parse\00" @.str9495 = private unnamed_addr constant [11 x i8] c"json_parse\00" @.str9496 = private unnamed_addr constant [5 x i8] c"text\00" @.str9497 = private unnamed_addr constant [4 x i8] c"Xml\00" @.str9498 = private unnamed_addr constant [6 x i8] c"parse\00" @.str9499 = private unnamed_addr constant [10 x i8] c"xml_parse\00" @.str9500 = private unnamed_addr constant [5 x i8] c"text\00" @.str9501 = private unnamed_addr constant [4 x i8] c"tag\00" @.str9502 = private unnamed_addr constant [8 x i8] c"xml_tag\00" @.str9503 = private unnamed_addr constant [5 x i8] c"node\00" @.str9504 = private unnamed_addr constant [5 x i8] c"text\00" @.str9505 = private unnamed_addr constant [9 x i8] c"xml_text\00" @.str9506 = private unnamed_addr constant [5 x i8] c"node\00" @.str9507 = private unnamed_addr constant [5 x i8] c"attr\00" @.str9508 = private unnamed_addr constant [9 x i8] c"xml_attr\00" @.str9509 = private unnamed_addr constant [5 x i8] c"node\00" @.str9510 = private unnamed_addr constant [4 x i8] c"key\00" @.str9511 = private unnamed_addr constant [9 x i8] c"attr_int\00" @.str9512 = private unnamed_addr constant [13 x i8] c"xml_attr_int\00" @.str9513 = private unnamed_addr constant [5 x i8] c"node\00" @.str9514 = private unnamed_addr constant [4 x i8] c"key\00" @.str9515 = private unnamed_addr constant [5 x i8] c"dflt\00" @.str9516 = private unnamed_addr constant [4 x i8] c"has\00" @.str9517 = private unnamed_addr constant [8 x i8] c"xml_has\00" @.str9518 = private unnamed_addr constant [5 x i8] c"node\00" @.str9519 = private unnamed_addr constant [4 x i8] c"key\00" @.str9520 = private unnamed_addr constant [11 x i8] c"attr_count\00" @.str9521 = private unnamed_addr constant [15 x i8] c"xml_attr_count\00" @.str9522 = private unnamed_addr constant [5 x i8] c"node\00" @.str9523 = private unnamed_addr constant [12 x i8] c"child_count\00" @.str9524 = private unnamed_addr constant [16 x i8] c"xml_child_count\00" @.str9525 = private unnamed_addr constant [5 x i8] c"node\00" @.str9526 = private unnamed_addr constant [6 x i8] c"child\00" @.str9527 = private unnamed_addr constant [10 x i8] c"xml_child\00" @.str9528 = private unnamed_addr constant [5 x i8] c"node\00" @.str9529 = private unnamed_addr constant [6 x i8] c"index\00" @.str9530 = private unnamed_addr constant [5 x i8] c"find\00" @.str9531 = private unnamed_addr constant [9 x i8] c"xml_find\00" @.str9532 = private unnamed_addr constant [5 x i8] c"node\00" @.str9533 = private unnamed_addr constant [4 x i8] c"tag\00" @.str9534 = private unnamed_addr constant [6 x i8] c"count\00" @.str9535 = private unnamed_addr constant [10 x i8] c"xml_count\00" @.str9536 = private unnamed_addr constant [5 x i8] c"node\00" @.str9537 = private unnamed_addr constant [4 x i8] c"tag\00" @.str9538 = private unnamed_addr constant [7 x i8] c"Base64\00" @.str9539 = private unnamed_addr constant [7 x i8] c"decode\00" @.str9540 = private unnamed_addr constant [14 x i8] c"base64_decode\00" @.str9541 = private unnamed_addr constant [4 x i8] c"src\00" @.str9542 = private unnamed_addr constant [7 x i8] c"encode\00" @.str9543 = private unnamed_addr constant [14 x i8] c"base64_encode\00" @.str9544 = private unnamed_addr constant [4 x i8] c"src\00" @.str9545 = private unnamed_addr constant [6 x i8] c"Tiled\00" @.str9546 = private unnamed_addr constant [5 x i8] c"read\00" @.str9547 = private unnamed_addr constant [11 x i8] c"tiled_read\00" @.str9548 = private unnamed_addr constant [5 x i8] c"path\00" @.str9549 = private unnamed_addr constant [9 x i8] c"read_tsx\00" @.str9550 = private unnamed_addr constant [15 x i8] c"tiled_read_tsx\00" @.str9551 = private unnamed_addr constant [5 x i8] c"path\00" @.str9552 = private unnamed_addr constant [5 x i8] c"load\00" @.str9553 = private unnamed_addr constant [11 x i8] c"tiled_load\00" @.str9554 = private unnamed_addr constant [5 x i8] c"path\00" @.str9555 = private unnamed_addr constant [4 x i8] c"gid\00" @.str9556 = private unnamed_addr constant [9 x i8] c"tmap_gid\00" @.str9557 = private unnamed_addr constant [4 x i8] c"map\00" @.str9558 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9559 = private unnamed_addr constant [2 x i8] c"x\00" @.str9560 = private unnamed_addr constant [2 x i8] c"y\00" @.str9561 = private unnamed_addr constant [8 x i8] c"resolve\00" @.str9562 = private unnamed_addr constant [13 x i8] c"tmap_resolve\00" @.str9563 = private unnamed_addr constant [4 x i8] c"map\00" @.str9564 = private unnamed_addr constant [4 x i8] c"gid\00" @.str9565 = private unnamed_addr constant [6 x i8] c"width\00" @.str9566 = private unnamed_addr constant [11 x i8] c"tmap_width\00" @.str9567 = private unnamed_addr constant [4 x i8] c"map\00" @.str9568 = private unnamed_addr constant [7 x i8] c"height\00" @.str9569 = private unnamed_addr constant [12 x i8] c"tmap_height\00" @.str9570 = private unnamed_addr constant [4 x i8] c"map\00" @.str9571 = private unnamed_addr constant [12 x i8] c"layer_count\00" @.str9572 = private unnamed_addr constant [17 x i8] c"tmap_layer_count\00" @.str9573 = private unnamed_addr constant [4 x i8] c"map\00" @.str9574 = private unnamed_addr constant [11 x i8] c"layer_name\00" @.str9575 = private unnamed_addr constant [16 x i8] c"tmap_layer_name\00" @.str9576 = private unnamed_addr constant [4 x i8] c"map\00" @.str9577 = private unnamed_addr constant [6 x i8] c"index\00" @.str9578 = private unnamed_addr constant [5 x i8] c"draw\00" @.str9579 = private unnamed_addr constant [10 x i8] c"tmap_draw\00" @.str9580 = private unnamed_addr constant [4 x i8] c"map\00" @.str9581 = private unnamed_addr constant [5 x i8] c"camx\00" @.str9582 = private unnamed_addr constant [5 x i8] c"camy\00" @.str9583 = private unnamed_addr constant [10 x i8] c"draw_anim\00" @.str9584 = private unnamed_addr constant [15 x i8] c"tmap_draw_anim\00" @.str9585 = private unnamed_addr constant [4 x i8] c"map\00" @.str9586 = private unnamed_addr constant [5 x i8] c"camx\00" @.str9587 = private unnamed_addr constant [5 x i8] c"camy\00" @.str9588 = private unnamed_addr constant [6 x i8] c"frame\00" @.str9589 = private unnamed_addr constant [10 x i8] c"frame_gid\00" @.str9590 = private unnamed_addr constant [15 x i8] c"tmap_frame_gid\00" @.str9591 = private unnamed_addr constant [4 x i8] c"map\00" @.str9592 = private unnamed_addr constant [4 x i8] c"gid\00" @.str9593 = private unnamed_addr constant [6 x i8] c"frame\00" @.str9594 = private unnamed_addr constant [9 x i8] c"animated\00" @.str9595 = private unnamed_addr constant [17 x i8] c"tmap_is_animated\00" @.str9596 = private unnamed_addr constant [4 x i8] c"map\00" @.str9597 = private unnamed_addr constant [4 x i8] c"gid\00" @.str9598 = private unnamed_addr constant [8 x i8] c"project\00" @.str9599 = private unnamed_addr constant [13 x i8] c"tmap_project\00" @.str9600 = private unnamed_addr constant [4 x i8] c"map\00" @.str9601 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9602 = private unnamed_addr constant [8 x i8] c"collide\00" @.str9603 = private unnamed_addr constant [13 x i8] c"tmap_collide\00" @.str9604 = private unnamed_addr constant [4 x i8] c"map\00" @.str9605 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9606 = private unnamed_addr constant [15 x i8] c"collision_kind\00" @.str9607 = private unnamed_addr constant [20 x i8] c"tmap_collision_kind\00" @.str9608 = private unnamed_addr constant [4 x i8] c"map\00" @.str9609 = private unnamed_addr constant [4 x i8] c"gid\00" @.str9610 = private unnamed_addr constant [5 x i8] c"tree\00" @.str9611 = private unnamed_addr constant [10 x i8] c"tmap_tree\00" @.str9612 = private unnamed_addr constant [4 x i8] c"map\00" @.str9613 = private unnamed_addr constant [10 x i8] c"tile_prop\00" @.str9614 = private unnamed_addr constant [15 x i8] c"tmap_tile_prop\00" @.str9615 = private unnamed_addr constant [4 x i8] c"map\00" @.str9616 = private unnamed_addr constant [4 x i8] c"gid\00" @.str9617 = private unnamed_addr constant [5 x i8] c"name\00" @.str9618 = private unnamed_addr constant [12 x i8] c"tile_shapes\00" @.str9619 = private unnamed_addr constant [21 x i8] c"tmap_tile_has_shapes\00" @.str9620 = private unnamed_addr constant [4 x i8] c"map\00" @.str9621 = private unnamed_addr constant [4 x i8] c"gid\00" @.str9622 = private unnamed_addr constant [13 x i8] c"object_count\00" @.str9623 = private unnamed_addr constant [18 x i8] c"tmap_object_count\00" @.str9624 = private unnamed_addr constant [4 x i8] c"map\00" @.str9625 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9626 = private unnamed_addr constant [7 x i8] c"object\00" @.str9627 = private unnamed_addr constant [12 x i8] c"tmap_object\00" @.str9628 = private unnamed_addr constant [4 x i8] c"map\00" @.str9629 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9630 = private unnamed_addr constant [6 x i8] c"index\00" @.str9631 = private unnamed_addr constant [13 x i8] c"object_shape\00" @.str9632 = private unnamed_addr constant [19 x i8] c"tiled_object_shape\00" @.str9633 = private unnamed_addr constant [7 x i8] c"object\00" @.str9634 = private unnamed_addr constant [5 x i8] c"prop\00" @.str9635 = private unnamed_addr constant [15 x i8] c"tiled_prop_str\00" @.str9636 = private unnamed_addr constant [10 x i8] c"container\00" @.str9637 = private unnamed_addr constant [5 x i8] c"name\00" @.str9638 = private unnamed_addr constant [9 x i8] c"prop_int\00" @.str9639 = private unnamed_addr constant [15 x i8] c"tiled_prop_int\00" @.str9640 = private unnamed_addr constant [10 x i8] c"container\00" @.str9641 = private unnamed_addr constant [5 x i8] c"name\00" @.str9642 = private unnamed_addr constant [10 x i8] c"prop_type\00" @.str9643 = private unnamed_addr constant [16 x i8] c"tiled_prop_type\00" @.str9644 = private unnamed_addr constant [10 x i8] c"container\00" @.str9645 = private unnamed_addr constant [5 x i8] c"name\00" @.str9646 = private unnamed_addr constant [11 x i8] c"load_types\00" @.str9647 = private unnamed_addr constant [17 x i8] c"tiled_load_types\00" @.str9648 = private unnamed_addr constant [5 x i8] c"path\00" @.str9649 = private unnamed_addr constant [9 x i8] c"template\00" @.str9650 = private unnamed_addr constant [20 x i8] c"tiled_read_template\00" @.str9651 = private unnamed_addr constant [5 x i8] c"path\00" @.str9652 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str9653 = private unnamed_addr constant [19 x i8] c"tiled_spawn_object\00" @.str9654 = private unnamed_addr constant [4 x i8] c"map\00" @.str9655 = private unnamed_addr constant [7 x i8] c"object\00" @.str9656 = private unnamed_addr constant [6 x i8] c"model\00" @.str9657 = private unnamed_addr constant [12 x i8] c"spawn_layer\00" @.str9658 = private unnamed_addr constant [18 x i8] c"tiled_spawn_layer\00" @.str9659 = private unnamed_addr constant [4 x i8] c"map\00" @.str9660 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9661 = private unnamed_addr constant [6 x i8] c"model\00" @.str9662 = private unnamed_addr constant [7 x i8] c"cell_x\00" @.str9663 = private unnamed_addr constant [13 x i8] c"tmap_cell_sx\00" @.str9664 = private unnamed_addr constant [4 x i8] c"map\00" @.str9665 = private unnamed_addr constant [2 x i8] c"x\00" @.str9666 = private unnamed_addr constant [2 x i8] c"y\00" @.str9667 = private unnamed_addr constant [7 x i8] c"cell_y\00" @.str9668 = private unnamed_addr constant [13 x i8] c"tmap_cell_sy\00" @.str9669 = private unnamed_addr constant [4 x i8] c"map\00" @.str9670 = private unnamed_addr constant [2 x i8] c"x\00" @.str9671 = private unnamed_addr constant [2 x i8] c"y\00" @.str9672 = private unnamed_addr constant [11 x i8] c"layer_kind\00" @.str9673 = private unnamed_addr constant [16 x i8] c"tmap_layer_kind\00" @.str9674 = private unnamed_addr constant [4 x i8] c"map\00" @.str9675 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9676 = private unnamed_addr constant [14 x i8] c"layer_opacity\00" @.str9677 = private unnamed_addr constant [19 x i8] c"tmap_layer_opacity\00" @.str9678 = private unnamed_addr constant [4 x i8] c"map\00" @.str9679 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9680 = private unnamed_addr constant [11 x i8] c"layer_tint\00" @.str9681 = private unnamed_addr constant [16 x i8] c"tmap_layer_tint\00" @.str9682 = private unnamed_addr constant [4 x i8] c"map\00" @.str9683 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9684 = private unnamed_addr constant [14 x i8] c"layer_offsetx\00" @.str9685 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsetx\00" @.str9686 = private unnamed_addr constant [4 x i8] c"map\00" @.str9687 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9688 = private unnamed_addr constant [14 x i8] c"layer_offsety\00" @.str9689 = private unnamed_addr constant [19 x i8] c"tmap_layer_offsety\00" @.str9690 = private unnamed_addr constant [4 x i8] c"map\00" @.str9691 = private unnamed_addr constant [6 x i8] c"layer\00" @.str9692 = private unnamed_addr constant [6 x i8] c"world\00" @.str9693 = private unnamed_addr constant [17 x i8] c"tiled_read_world\00" @.str9694 = private unnamed_addr constant [5 x i8] c"path\00" @.str9695 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str9696 = private unnamed_addr constant [18 x i8] c"tiled_world_count\00" @.str9697 = private unnamed_addr constant [6 x i8] c"world\00" @.str9698 = private unnamed_addr constant [10 x i8] c"world_map\00" @.str9699 = private unnamed_addr constant [16 x i8] c"tiled_world_map\00" @.str9700 = private unnamed_addr constant [6 x i8] c"world\00" @.str9701 = private unnamed_addr constant [6 x i8] c"index\00" @.str9702 = private unnamed_addr constant [3 x i8] c"Vk\00" @.str9703 = private unnamed_addr constant [4 x i8] c"vk_\00" @.str9704 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:10973: index out of range: \00" @.str9705 = private unnamed_addr constant [3 x i8] c"Gl\00" @.str9706 = private unnamed_addr constant [4 x i8] c"gl_\00" @.str9707 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:10983: index out of range: \00" @.str9708 = private unnamed_addr constant [2 x i8] c"_\00" @.str9709 = private unnamed_addr constant [2 x i8] c".\00" @.str9710 = private unnamed_addr constant [27 x i8] c" is internal to namespace \00" @.str9711 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:10997: index out of range: \00" @.str9712 = private unnamed_addr constant [17 x i8] c"unknown builtin \00" @.str9713 = private unnamed_addr constant [2 x i8] c".\00" @.str9714 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11012: index out of range: \00" @.str9715 = private unnamed_addr constant [14 x i8] c"enum variant \00" @.str9716 = private unnamed_addr constant [8 x i8] c" takes \00" @.str9717 = private unnamed_addr constant [18 x i8] c" payload(s), got \00" @.str9718 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str9719 = private unnamed_addr constant [2 x i8] c")\00" @.str9720 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9721 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9722 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9723 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11019: index out of range: \00" @.str9724 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11020: index out of range: \00" @.str9725 = private unnamed_addr constant [3 x i8] c" \00" @.str9726 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str9727 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9728 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9729 = private unnamed_addr constant [9 x i8] c" store \00" @.str9730 = private unnamed_addr constant [2 x i8] c" \00" @.str9731 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9732 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str9733 = private unnamed_addr constant [30 x i8] c"call target is not a function\00" @.str9734 = private unnamed_addr constant [5 x i8] c"self\00" @.str9735 = private unnamed_addr constant [2 x i8] c"0\00" @.str9736 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9737 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str9738 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11037: index out of range: \00" @.str9739 = private unnamed_addr constant [7 x i8] c"entity\00" @.str9740 = private unnamed_addr constant [4 x i8] c"key\00" @.str9741 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" @.str9742 = private unnamed_addr constant [4 x i8] c"int\00" @.str9743 = private unnamed_addr constant [5 x i8] c"save\00" @.str9744 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00" @.str9745 = private unnamed_addr constant [2 x i8] c"0\00" @.str9746 = private unnamed_addr constant [5 x i8] c"void\00" @.str9747 = private unnamed_addr constant [9 x i8] c"ui_build\00" @.str9748 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00" @.str9749 = private unnamed_addr constant [2 x i8] c"0\00" @.str9750 = private unnamed_addr constant [5 x i8] c"void\00" @.str9751 = private unnamed_addr constant [5 x i8] c"load\00" @.str9752 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00" @.str9753 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9754 = private unnamed_addr constant [11 x i8] c"world_size\00" @.str9755 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00" @.str9756 = private unnamed_addr constant [4 x i8] c"int\00" @.str9757 = private unnamed_addr constant [11 x i8] c"world_save\00" @.str9758 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11044: index out of range: \00" @.str9759 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00" @.str9760 = private unnamed_addr constant [2 x i8] c")\00" @.str9761 = private unnamed_addr constant [4 x i8] c"int\00" @.str9762 = private unnamed_addr constant [11 x i8] c"world_load\00" @.str9763 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11048: index out of range: \00" @.str9764 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11049: index out of range: \00" @.str9765 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00" @.str9766 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9767 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9768 = private unnamed_addr constant [2 x i8] c"0\00" @.str9769 = private unnamed_addr constant [5 x i8] c"void\00" @.str9770 = private unnamed_addr constant [5 x i8] c"quit\00" @.str9771 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00" @.str9772 = private unnamed_addr constant [2 x i8] c"0\00" @.str9773 = private unnamed_addr constant [5 x i8] c"void\00" @.str9774 = private unnamed_addr constant [10 x i8] c"serialize\00" @.str9775 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11060: index out of range: \00" @.str9776 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11060: index out of range: \00" @.str9777 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00" @.str9778 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9779 = private unnamed_addr constant [2 x i8] c")\00" @.str9780 = private unnamed_addr constant [4 x i8] c"int\00" @.str9781 = private unnamed_addr constant [6 x i8] c"apply\00" @.str9782 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11064: index out of range: \00" @.str9783 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11064: index out of range: \00" @.str9784 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11064: index out of range: \00" @.str9785 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00" @.str9786 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9787 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9788 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9789 = private unnamed_addr constant [2 x i8] c"0\00" @.str9790 = private unnamed_addr constant [5 x i8] c"void\00" @.str9791 = private unnamed_addr constant [10 x i8] c"sync_size\00" @.str9792 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11069: index out of range: \00" @.str9793 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00" @.str9794 = private unnamed_addr constant [2 x i8] c")\00" @.str9795 = private unnamed_addr constant [4 x i8] c"int\00" @.str9796 = private unnamed_addr constant [6 x i8] c"owner\00" @.str9797 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11073: index out of range: \00" @.str9798 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00" @.str9799 = private unnamed_addr constant [2 x i8] c")\00" @.str9800 = private unnamed_addr constant [4 x i8] c"int\00" @.str9801 = private unnamed_addr constant [10 x i8] c"set_owner\00" @.str9802 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11077: index out of range: \00" @.str9803 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11077: index out of range: \00" @.str9804 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00" @.str9805 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9806 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9807 = private unnamed_addr constant [2 x i8] c"0\00" @.str9808 = private unnamed_addr constant [5 x i8] c"void\00" @.str9809 = private unnamed_addr constant [9 x i8] c"is_owner\00" @.str9810 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11082: index out of range: \00" @.str9811 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00" @.str9812 = private unnamed_addr constant [2 x i8] c")\00" @.str9813 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9814 = private unnamed_addr constant [10 x i8] c"is_server\00" @.str9815 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" @.str9816 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9817 = private unnamed_addr constant [4 x i8] c", 1\00" @.str9818 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str9819 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9820 = private unnamed_addr constant [5 x i8] c"bool\00" @.str9821 = private unnamed_addr constant [9 x i8] c"local_id\00" @.str9822 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00" @.str9823 = private unnamed_addr constant [4 x i8] c"int\00" @.str9824 = private unnamed_addr constant [9 x i8] c"net_pump\00" @.str9825 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00" @.str9826 = private unnamed_addr constant [2 x i8] c"0\00" @.str9827 = private unnamed_addr constant [5 x i8] c"void\00" @.str9828 = private unnamed_addr constant [11 x i8] c"tick_fixed\00" @.str9829 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00" @.str9830 = private unnamed_addr constant [2 x i8] c"0\00" @.str9831 = private unnamed_addr constant [5 x i8] c"void\00" @.str9832 = private unnamed_addr constant [12 x i8] c"tick_render\00" @.str9833 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00" @.str9834 = private unnamed_addr constant [2 x i8] c"0\00" @.str9835 = private unnamed_addr constant [5 x i8] c"void\00" @.str9836 = private unnamed_addr constant [9 x i8] c"set_role\00" @.str9837 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11095: index out of range: \00" @.str9838 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9839 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00" @.str9840 = private unnamed_addr constant [2 x i8] c"0\00" @.str9841 = private unnamed_addr constant [5 x i8] c"void\00" @.str9842 = private unnamed_addr constant [13 x i8] c"set_local_id\00" @.str9843 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11098: index out of range: \00" @.str9844 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str9845 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00" @.str9846 = private unnamed_addr constant [2 x i8] c"0\00" @.str9847 = private unnamed_addr constant [5 x i8] c"void\00" @.str9848 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str9849 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str9850 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11105: index out of range: \00" @.str9851 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11105: index out of range: \00" @.str9852 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11105: index out of range: \00" @.str9853 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00" @.str9854 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9855 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9856 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9857 = private unnamed_addr constant [2 x i8] c"0\00" @.str9858 = private unnamed_addr constant [5 x i8] c"void\00" @.str9859 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str9860 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str9861 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11111: index out of range: \00" @.str9862 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11111: index out of range: \00" @.str9863 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00" @.str9864 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9865 = private unnamed_addr constant [2 x i8] c")\00" @.str9866 = private unnamed_addr constant [4 x i8] c"int\00" @.str9867 = private unnamed_addr constant [4 x i8] c"len\00" @.str9868 = private unnamed_addr constant [5 x i8] c"push\00" @.str9869 = private unnamed_addr constant [7 x i8] c"string\00" @.str9870 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11117: index out of range: \00" @.str9871 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9872 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9873 = private unnamed_addr constant [27 x i8] c"call ptr @lp_long_str(i64 \00" @.str9874 = private unnamed_addr constant [2 x i8] c")\00" @.str9875 = private unnamed_addr constant [7 x i8] c"string\00" @.str9876 = private unnamed_addr constant [26 x i8] c"call ptr @lp_int_str(i32 \00" @.str9877 = private unnamed_addr constant [2 x i8] c")\00" @.str9878 = private unnamed_addr constant [7 x i8] c"string\00" @.str9879 = private unnamed_addr constant [6 x i8] c"print\00" @.str9880 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11125: index out of range: \00" @.str9881 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str9882 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str9883 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9884 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9885 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_long, i64 \00" @.str9886 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9887 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00" @.str9888 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9889 = private unnamed_addr constant [2 x i8] c"0\00" @.str9890 = private unnamed_addr constant [5 x i8] c"void\00" @.str9891 = private unnamed_addr constant [6 x i8] c"bytes\00" @.str9892 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11133: index out of range: \00" @.str9893 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9894 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9895 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str9896 = private unnamed_addr constant [2 x i8] c")\00" @.str9897 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str9898 = private unnamed_addr constant [6 x i8] c"words\00" @.str9899 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11138: index out of range: \00" @.str9900 = private unnamed_addr constant [9 x i8] c"mul i32 \00" @.str9901 = private unnamed_addr constant [4 x i8] c", 4\00" @.str9902 = private unnamed_addr constant [10 x i8] c"zext i32 \00" @.str9903 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str9904 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00" @.str9905 = private unnamed_addr constant [2 x i8] c")\00" @.str9906 = private unnamed_addr constant [6 x i8] c"words\00" @.str9907 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9908 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11144: index out of range: \00" @.str9909 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9910 = private unnamed_addr constant [9 x i8] c"shl i32 \00" @.str9911 = private unnamed_addr constant [5 x i8] c", 16\00" @.str9912 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9913 = private unnamed_addr constant [6 x i8] c"float\00" @.str9914 = private unnamed_addr constant [7 x i8] c"double\00" @.str9915 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11151: index out of range: \00" @.str9916 = private unnamed_addr constant [4 x i8] c"int\00" @.str9917 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11154: index out of range: \00" @.str9918 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str9919 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str9920 = private unnamed_addr constant [5 x i8] c", 16\00" @.str9921 = private unnamed_addr constant [4 x i8] c"int\00" @.str9922 = private unnamed_addr constant [4 x i8] c"i64\00" @.str9923 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str9924 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str9925 = private unnamed_addr constant [4 x i8] c"int\00" @.str9926 = private unnamed_addr constant [4 x i8] c"int\00" @.str9927 = private unnamed_addr constant [5 x i8] c"long\00" @.str9928 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11161: index out of range: \00" @.str9929 = private unnamed_addr constant [5 x i8] c"long\00" @.str9930 = private unnamed_addr constant [11 x i8] c"float_bits\00" @.str9931 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11165: index out of range: \00" @.str9932 = private unnamed_addr constant [16 x i8] c"float_from_bits\00" @.str9933 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11166: index out of range: \00" @.str9934 = private unnamed_addr constant [12 x i8] c"double_bits\00" @.str9935 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11167: index out of range: \00" @.str9936 = private unnamed_addr constant [17 x i8] c"double_from_bits\00" @.str9937 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11168: index out of range: \00" @.str9938 = private unnamed_addr constant [7 x i8] c"floats\00" @.str9939 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str9940 = private unnamed_addr constant [6 x i8] c"float\00" @.str9941 = private unnamed_addr constant [8 x i8] c"doubles\00" @.str9942 = private unnamed_addr constant [7 x i8] c"double\00" @.str9943 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11172: index out of range: \00" @.str9944 = private unnamed_addr constant [6 x i8] c"floor\00" @.str9945 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11174: index out of range: \00" @.str9946 = private unnamed_addr constant [10 x i8] c"ashr i32 \00" @.str9947 = private unnamed_addr constant [5 x i8] c", 16\00" @.str9948 = private unnamed_addr constant [4 x i8] c"int\00" @.str9949 = private unnamed_addr constant [7 x i8] c"expect\00" @.str9950 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11182: index out of range: \00" @.str9951 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str9952 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9953 = private unnamed_addr constant [2 x i8] c":\00" @.str9954 = private unnamed_addr constant [16 x i8] c": expect failed\00" @.str9955 = private unnamed_addr constant [1 x i8] c"\00" @.str9956 = private unnamed_addr constant [1 x i8] c"\00" @.str9957 = private unnamed_addr constant [2 x i8] c"0\00" @.str9958 = private unnamed_addr constant [5 x i8] c"void\00" @.str9959 = private unnamed_addr constant [10 x i8] c"expect_eq\00" @.str9960 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11190: index out of range: \00" @.str9961 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11190: index out of range: \00" @.str9962 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str9963 = private unnamed_addr constant [3 x i8] c", \00" @.str9964 = private unnamed_addr constant [2 x i8] c":\00" @.str9965 = private unnamed_addr constant [19 x i8] c": expect_eq failed\00" @.str9966 = private unnamed_addr constant [2 x i8] c"0\00" @.str9967 = private unnamed_addr constant [5 x i8] c"void\00" @.str9968 = private unnamed_addr constant [12 x i8] c"expect_near\00" @.str9969 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11198: index out of range: \00" @.str9970 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11198: index out of range: \00" @.str9971 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11198: index out of range: \00" @.str9972 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str9973 = private unnamed_addr constant [3 x i8] c", \00" @.str9974 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str9975 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str9976 = private unnamed_addr constant [4 x i8] c", 0\00" @.str9977 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str9978 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9979 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str9980 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00" @.str9981 = private unnamed_addr constant [3 x i8] c", \00" @.str9982 = private unnamed_addr constant [2 x i8] c":\00" @.str9983 = private unnamed_addr constant [21 x i8] c": expect_near failed\00" @.str9984 = private unnamed_addr constant [2 x i8] c"0\00" @.str9985 = private unnamed_addr constant [5 x i8] c"void\00" @.str9986 = private unnamed_addr constant [6 x i8] c"panic\00" @.str9987 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11216: index out of range: \00" @.str9988 = private unnamed_addr constant [2 x i8] c":\00" @.str9989 = private unnamed_addr constant [10 x i8] c": panic: \00" @.str9990 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str9991 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str9992 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str9993 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str9994 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str9995 = private unnamed_addr constant [2 x i8] c"0\00" @.str9996 = private unnamed_addr constant [5 x i8] c"void\00" @.str9997 = private unnamed_addr constant [7 x i8] c"assert\00" @.str9998 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11226: index out of range: \00" @.str9999 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10000 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10001 = private unnamed_addr constant [5 x i8] c"asok\00" @.str10002 = private unnamed_addr constant [6 x i8] c"asbad\00" @.str10003 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10004 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10005 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10006 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10007 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10008 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11231: index out of range: \00" @.str10009 = private unnamed_addr constant [2 x i8] c":\00" @.str10010 = private unnamed_addr constant [21 x i8] c": assertion failed: \00" @.str10011 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str10012 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str10013 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10014 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10015 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str10016 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10017 = private unnamed_addr constant [2 x i8] c"0\00" @.str10018 = private unnamed_addr constant [5 x i8] c"void\00" @.str10019 = private unnamed_addr constant [3 x i8] c"ok\00" @.str10020 = private unnamed_addr constant [3 x i8] c"ok\00" @.str10021 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11247: index out of range: \00" @.str10022 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" @.str10023 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str10024 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str10025 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str10026 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10027 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str10028 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str10029 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10030 = private unnamed_addr constant [4 x i8] c"int\00" @.str10031 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10032 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10033 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str10034 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str10035 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00" @.str10036 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10037 = private unnamed_addr constant [7 x i8] c"result\00" @.str10038 = private unnamed_addr constant [4 x i8] c"err\00" @.str10039 = private unnamed_addr constant [4 x i8] c"err\00" @.str10040 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11259: index out of range: \00" @.str10041 = private unnamed_addr constant [25 x i8] c"call ptr @malloc(i64 16)\00" @.str10042 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str10043 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str10044 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str10045 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10046 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str10047 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str10048 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str10049 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10050 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str10051 = private unnamed_addr constant [15 x i8] c", i32 0, i32 2\00" @.str10052 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str10053 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10054 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10055 = private unnamed_addr constant [7 x i8] c"result\00" @.str10056 = private unnamed_addr constant [6 x i8] c"is_ok\00" @.str10057 = private unnamed_addr constant [6 x i8] c"is_ok\00" @.str10058 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11270: index out of range: \00" @.str10059 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str10060 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str10061 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10062 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10063 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10064 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str10065 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str10066 = private unnamed_addr constant [5 x i8] c"bool\00" @.str10067 = private unnamed_addr constant [7 x i8] c"is_err\00" @.str10068 = private unnamed_addr constant [7 x i8] c"is_err\00" @.str10069 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11277: index out of range: \00" @.str10070 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Result, ptr \00" @.str10071 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str10072 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10073 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10074 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10075 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str10076 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str10077 = private unnamed_addr constant [5 x i8] c"bool\00" @.str10078 = private unnamed_addr constant [5 x i8] c"some\00" @.str10079 = private unnamed_addr constant [5 x i8] c"some\00" @.str10080 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11291: index out of range: \00" @.str10081 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" @.str10082 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str10083 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str10084 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str10085 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10086 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str10087 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str10088 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10089 = private unnamed_addr constant [4 x i8] c"int\00" @.str10090 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10091 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10092 = private unnamed_addr constant [7 x i8] c"option\00" @.str10093 = private unnamed_addr constant [5 x i8] c"none\00" @.str10094 = private unnamed_addr constant [5 x i8] c"none\00" @.str10095 = private unnamed_addr constant [24 x i8] c"call ptr @malloc(i64 8)\00" @.str10096 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str10097 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str10098 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str10099 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10100 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str10101 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str10102 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str10103 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10104 = private unnamed_addr constant [7 x i8] c"option\00" @.str10105 = private unnamed_addr constant [8 x i8] c"is_some\00" @.str10106 = private unnamed_addr constant [8 x i8] c"is_some\00" @.str10107 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11309: index out of range: \00" @.str10108 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str10109 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str10110 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10111 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10112 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10113 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str10114 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str10115 = private unnamed_addr constant [5 x i8] c"bool\00" @.str10116 = private unnamed_addr constant [8 x i8] c"is_none\00" @.str10117 = private unnamed_addr constant [8 x i8] c"is_none\00" @.str10118 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11316: index out of range: \00" @.str10119 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str10120 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str10121 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10122 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10123 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10124 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str10125 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str10126 = private unnamed_addr constant [5 x i8] c"bool\00" @.str10127 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" @.str10128 = private unnamed_addr constant [10 x i8] c"unwrap_or\00" @.str10129 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11323: index out of range: \00" @.str10130 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11324: index out of range: \00" @.str10131 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str10132 = private unnamed_addr constant [15 x i8] c", i32 0, i32 0\00" @.str10133 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10134 = private unnamed_addr constant [37 x i8] c"getelementptr inbounds %Option, ptr \00" @.str10135 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str10136 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10137 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10138 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10139 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str10140 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10141 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10142 = private unnamed_addr constant [4 x i8] c"int\00" @.str10143 = private unnamed_addr constant [4 x i8] c"int\00" @.str10144 = private unnamed_addr constant [14 x i8] c"world_prop_id\00" @.str10145 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11335: index out of range: \00" @.str10146 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00" @.str10147 = private unnamed_addr constant [2 x i8] c")\00" @.str10148 = private unnamed_addr constant [4 x i8] c"int\00" @.str10149 = private unnamed_addr constant [15 x i8] c"world_field_id\00" @.str10150 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11336: index out of range: \00" @.str10151 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11336: index out of range: \00" @.str10152 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00" @.str10153 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10154 = private unnamed_addr constant [2 x i8] c")\00" @.str10155 = private unnamed_addr constant [4 x i8] c"int\00" @.str10156 = private unnamed_addr constant [10 x i8] c"world_get\00" @.str10157 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11338: index out of range: \00" @.str10158 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11338: index out of range: \00" @.str10159 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11338: index out of range: \00" @.str10160 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00" @.str10161 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10162 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10163 = private unnamed_addr constant [2 x i8] c")\00" @.str10164 = private unnamed_addr constant [11 x i8] c"trunc i64 \00" @.str10165 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str10166 = private unnamed_addr constant [4 x i8] c"int\00" @.str10167 = private unnamed_addr constant [10 x i8] c"world_set\00" @.str10168 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11343: index out of range: \00" @.str10169 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11343: index out of range: \00" @.str10170 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11343: index out of range: \00" @.str10171 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11343: index out of range: \00" @.str10172 = private unnamed_addr constant [10 x i8] c"sext i32 \00" @.str10173 = private unnamed_addr constant [8 x i8] c" to i64\00" @.str10174 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00" @.str10175 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10176 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10177 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str10178 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10179 = private unnamed_addr constant [2 x i8] c"0\00" @.str10180 = private unnamed_addr constant [5 x i8] c"void\00" @.str10181 = private unnamed_addr constant [10 x i8] c"world_has\00" @.str10182 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11348: index out of range: \00" @.str10183 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11348: index out of range: \00" @.str10184 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00" @.str10185 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10186 = private unnamed_addr constant [2 x i8] c")\00" @.str10187 = private unnamed_addr constant [4 x i8] c"int\00" @.str10188 = private unnamed_addr constant [12 x i8] c"world_count\00" @.str10189 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00" @.str10190 = private unnamed_addr constant [4 x i8] c"int\00" @.str10191 = private unnamed_addr constant [11 x i8] c"world_kind\00" @.str10192 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11350: index out of range: \00" @.str10193 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00" @.str10194 = private unnamed_addr constant [2 x i8] c")\00" @.str10195 = private unnamed_addr constant [4 x i8] c"int\00" @.str10196 = private unnamed_addr constant [15 x i8] c"world_model_id\00" @.str10197 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11351: index out of range: \00" @.str10198 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00" @.str10199 = private unnamed_addr constant [2 x i8] c")\00" @.str10200 = private unnamed_addr constant [4 x i8] c"int\00" @.str10201 = private unnamed_addr constant [17 x i8] c"world_query_next\00" @.str10202 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11352: index out of range: \00" @.str10203 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11352: index out of range: \00" @.str10204 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00" @.str10205 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10206 = private unnamed_addr constant [2 x i8] c")\00" @.str10207 = private unnamed_addr constant [4 x i8] c"int\00" @.str10208 = private unnamed_addr constant [20 x i8] c"world_register_prop\00" @.str10209 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11353: index out of range: \00" @.str10210 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11353: index out of range: \00" @.str10211 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00" @.str10212 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10213 = private unnamed_addr constant [2 x i8] c")\00" @.str10214 = private unnamed_addr constant [4 x i8] c"int\00" @.str10215 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00" @.str10216 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11354: index out of range: \00" @.str10217 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11354: index out of range: \00" @.str10218 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00" @.str10219 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10220 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10221 = private unnamed_addr constant [2 x i8] c"0\00" @.str10222 = private unnamed_addr constant [5 x i8] c"void\00" @.str10223 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00" @.str10224 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11355: index out of range: \00" @.str10225 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11355: index out of range: \00" @.str10226 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00" @.str10227 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10228 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10229 = private unnamed_addr constant [2 x i8] c"0\00" @.str10230 = private unnamed_addr constant [5 x i8] c"void\00" @.str10231 = private unnamed_addr constant [12 x i8] c"world_spawn\00" @.str10232 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11356: index out of range: \00" @.str10233 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00" @.str10234 = private unnamed_addr constant [2 x i8] c")\00" @.str10235 = private unnamed_addr constant [4 x i8] c"int\00" @.str10236 = private unnamed_addr constant [17 x i8] c"world_prop_count\00" @.str10237 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_count()\00" @.str10238 = private unnamed_addr constant [4 x i8] c"int\00" @.str10239 = private unnamed_addr constant [16 x i8] c"world_prop_name\00" @.str10240 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11359: index out of range: \00" @.str10241 = private unnamed_addr constant [31 x i8] c"call ptr @ludic_prop_name(i32 \00" @.str10242 = private unnamed_addr constant [2 x i8] c")\00" @.str10243 = private unnamed_addr constant [7 x i8] c"string\00" @.str10244 = private unnamed_addr constant [18 x i8] c"world_field_count\00" @.str10245 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11360: index out of range: \00" @.str10246 = private unnamed_addr constant [33 x i8] c"call i32 @ludic_field_count(i32 \00" @.str10247 = private unnamed_addr constant [2 x i8] c")\00" @.str10248 = private unnamed_addr constant [4 x i8] c"int\00" @.str10249 = private unnamed_addr constant [17 x i8] c"world_field_name\00" @.str10250 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11361: index out of range: \00" @.str10251 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11361: index out of range: \00" @.str10252 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_name(i32 \00" @.str10253 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10254 = private unnamed_addr constant [2 x i8] c")\00" @.str10255 = private unnamed_addr constant [7 x i8] c"string\00" @.str10256 = private unnamed_addr constant [17 x i8] c"world_field_type\00" @.str10257 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11362: index out of range: \00" @.str10258 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11362: index out of range: \00" @.str10259 = private unnamed_addr constant [32 x i8] c"call ptr @ludic_field_type(i32 \00" @.str10260 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10261 = private unnamed_addr constant [2 x i8] c")\00" @.str10262 = private unnamed_addr constant [7 x i8] c"string\00" @.str10263 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11373: index out of range: \00" @.str10264 = private unnamed_addr constant [3 x i8] c" \00" @.str10265 = private unnamed_addr constant [2 x i8] c"0\00" @.str10266 = private unnamed_addr constant [5 x i8] c"void\00" @.str10267 = private unnamed_addr constant [4 x i8] c" = \00" @.str10268 = private unnamed_addr constant [6 x i8] c"call \00" @.str10269 = private unnamed_addr constant [3 x i8] c" @\00" @.str10270 = private unnamed_addr constant [2 x i8] c"(\00" @.str10271 = private unnamed_addr constant [3 x i8] c", \00" @.str10272 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11382: index out of range: \00" @.str10273 = private unnamed_addr constant [2 x i8] c" \00" @.str10274 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11382: index out of range: \00" @.str10275 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10276 = private unnamed_addr constant [4 x i8] c"rt_\00" @.str10277 = private unnamed_addr constant [18 x i8] c"unknown function \00" @.str10278 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11410: index out of range: \00" @.str10279 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11412: index out of range: \00" @.str10280 = private unnamed_addr constant [3 x i8] c" \00" @.str10281 = private unnamed_addr constant [2 x i8] c"0\00" @.str10282 = private unnamed_addr constant [5 x i8] c"void\00" @.str10283 = private unnamed_addr constant [4 x i8] c" = \00" @.str10284 = private unnamed_addr constant [6 x i8] c"call \00" @.str10285 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str10286 = private unnamed_addr constant [2 x i8] c"(\00" @.str10287 = private unnamed_addr constant [3 x i8] c", \00" @.str10288 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11423: index out of range: \00" @.str10289 = private unnamed_addr constant [2 x i8] c" \00" @.str10290 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11423: index out of range: \00" @.str10291 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10292 = private unnamed_addr constant [2 x i8] c"0\00" @.str10293 = private unnamed_addr constant [4 x i8] c"int\00" @.str10294 = private unnamed_addr constant [4 x i8] c"int\00" @.str10295 = private unnamed_addr constant [6 x i8] c"float\00" @.str10296 = private unnamed_addr constant [6 x i8] c"float\00" @.str10297 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10298 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11439: index out of range: \00" @.str10299 = private unnamed_addr constant [5 x i8] c"bool\00" @.str10300 = private unnamed_addr constant [5 x i8] c"null\00" @.str10301 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str10302 = private unnamed_addr constant [7 x i8] c"entity\00" @.str10303 = private unnamed_addr constant [28 x i8] c"call ptr @lp_str_slice(ptr \00" @.str10304 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10305 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10306 = private unnamed_addr constant [2 x i8] c")\00" @.str10307 = private unnamed_addr constant [7 x i8] c"string\00" @.str10308 = private unnamed_addr constant [7 x i8] c"string\00" @.str10309 = private unnamed_addr constant [4 x i8] c"fn \00" @.str10310 = private unnamed_addr constant [22 x i8] c": no function called \00" @.str10311 = private unnamed_addr constant [5 x i8] c"void\00" @.str10312 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11462: index out of range: \00" @.str10313 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10314 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11462: index out of range: \00" @.str10315 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10316 = private unnamed_addr constant [4 x i8] c"fn \00" @.str10317 = private unnamed_addr constant [69 x i8] c": a worker function takes (i: int, ctx: pointer) and returns nothing\00" @.str10318 = private unnamed_addr constant [5 x i8] c"@fn_\00" @.str10319 = private unnamed_addr constant [8 x i8] c"pointer\00" @.str10320 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11468: index out of range: \00" @.str10321 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11468: index out of range: \00" @.str10322 = private unnamed_addr constant [7 x i8] c"const \00" @.str10323 = private unnamed_addr constant [6 x i8] c"load \00" @.str10324 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str10325 = private unnamed_addr constant [4 x i8] c"int\00" @.str10326 = private unnamed_addr constant [20 x i8] c"unknown identifier \00" @.str10327 = private unnamed_addr constant [6 x i8] c"Color\00" @.str10328 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00" @.str10329 = private unnamed_addr constant [4 x i8] c"int\00" @.str10330 = private unnamed_addr constant [4 x i8] c"Key\00" @.str10331 = private unnamed_addr constant [17 x i8] c"unknown key Key.\00" @.str10332 = private unnamed_addr constant [4 x i8] c"int\00" @.str10333 = private unnamed_addr constant [4 x i8] c"int\00" @.str10334 = private unnamed_addr constant [6 x i8] c"IVec2\00" @.str10335 = private unnamed_addr constant [2 x i8] c"x\00" @.str10336 = private unnamed_addr constant [2 x i8] c"y\00" @.str10337 = private unnamed_addr constant [2 x i8] c"x\00" @.str10338 = private unnamed_addr constant [4 x i8] c"int\00" @.str10339 = private unnamed_addr constant [4 x i8] c"int\00" @.str10340 = private unnamed_addr constant [5 x i8] c"byte\00" @.str10341 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str10342 = private unnamed_addr constant [9 x i8] c"zext i8 \00" @.str10343 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str10344 = private unnamed_addr constant [4 x i8] c"int\00" @.str10345 = private unnamed_addr constant [2 x i8] c"-\00" @.str10346 = private unnamed_addr constant [6 x i8] c"fneg \00" @.str10347 = private unnamed_addr constant [2 x i8] c" \00" @.str10348 = private unnamed_addr constant [10 x i8] c"operator \00" @.str10349 = private unnamed_addr constant [20 x i8] c" does not apply to \00" @.str10350 = private unnamed_addr constant [2 x i8] c"-\00" @.str10351 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str10352 = private unnamed_addr constant [6 x i8] c"fixed\00" @.str10353 = private unnamed_addr constant [4 x i8] c"i64\00" @.str10354 = private unnamed_addr constant [2 x i8] c"-\00" @.str10355 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00" @.str10356 = private unnamed_addr constant [5 x i8] c"long\00" @.str10357 = private unnamed_addr constant [2 x i8] c"~\00" @.str10358 = private unnamed_addr constant [9 x i8] c"xor i64 \00" @.str10359 = private unnamed_addr constant [5 x i8] c", -1\00" @.str10360 = private unnamed_addr constant [5 x i8] c"long\00" @.str10361 = private unnamed_addr constant [2 x i8] c"-\00" @.str10362 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00" @.str10363 = private unnamed_addr constant [2 x i8] c"~\00" @.str10364 = private unnamed_addr constant [9 x i8] c"xor i32 \00" @.str10365 = private unnamed_addr constant [5 x i8] c", -1\00" @.str10366 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10367 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10368 = private unnamed_addr constant [9 x i8] c"zext i1 \00" @.str10369 = private unnamed_addr constant [8 x i8] c" to i32\00" @.str10370 = private unnamed_addr constant [5 x i8] c"bool\00" @.str10371 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00" @.str10372 = private unnamed_addr constant [2 x i8] c"0\00" @.str10373 = private unnamed_addr constant [4 x i8] c"int\00" @.str10374 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11571: index out of range: \00" @.str10375 = private unnamed_addr constant [9 x i8] c" store \00" @.str10376 = private unnamed_addr constant [2 x i8] c" \00" @.str10377 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10378 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10379 = private unnamed_addr constant [2 x i8] c"0\00" @.str10380 = private unnamed_addr constant [4 x i8] c"int\00" @.str10381 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11597: index out of range: \00" @.str10382 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00" @.str10383 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00" @.str10384 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11598: index out of range: \00" @.str10385 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11598: index out of range: \00" @.str10386 = private unnamed_addr constant [19 x i8] c"assign to unknown \00" @.str10387 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str10388 = private unnamed_addr constant [22 x i8] c"bad assignment target\00" @.str10389 = private unnamed_addr constant [2 x i8] c"=\00" @.str10390 = private unnamed_addr constant [6 x i8] c"load \00" @.str10391 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10392 = private unnamed_addr constant [3 x i8] c"i8\00" @.str10393 = private unnamed_addr constant [11 x i8] c"trunc i32 \00" @.str10394 = private unnamed_addr constant [7 x i8] c" to i8\00" @.str10395 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10396 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10397 = private unnamed_addr constant [5 x i8] c"then\00" @.str10398 = private unnamed_addr constant [5 x i8] c"else\00" @.str10399 = private unnamed_addr constant [6 x i8] c"ifend\00" @.str10400 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10401 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10402 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10403 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10404 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10405 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10406 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10407 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10408 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10409 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10410 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10411 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10412 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10413 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10414 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10415 = private unnamed_addr constant [6 x i8] c"wcond\00" @.str10416 = private unnamed_addr constant [6 x i8] c"wbody\00" @.str10417 = private unnamed_addr constant [5 x i8] c"wend\00" @.str10418 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10419 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10420 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10421 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10422 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10423 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10424 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10425 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10426 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10427 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10428 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10429 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10430 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10431 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10432 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10433 = private unnamed_addr constant [4 x i8] c"int\00" @.str10434 = private unnamed_addr constant [6 x i8] c"fcond\00" @.str10435 = private unnamed_addr constant [6 x i8] c"fbody\00" @.str10436 = private unnamed_addr constant [6 x i8] c"fcont\00" @.str10437 = private unnamed_addr constant [5 x i8] c"fend\00" @.str10438 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10439 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10440 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10441 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10442 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10443 = private unnamed_addr constant [3 x i8] c", \00" @.str10444 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10445 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10446 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10447 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10448 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10449 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10450 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10451 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10452 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10453 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10454 = private unnamed_addr constant [4 x i8] c", 1\00" @.str10455 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10456 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10457 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10458 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10459 = private unnamed_addr constant [5 x i8] c"void\00" @.str10460 = private unnamed_addr constant [54 x i8] c"a function that returns nothing cannot return a value\00" @.str10461 = private unnamed_addr constant [8 x i8] c"%retval\00" @.str10462 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10463 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10464 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11700: index out of range: \00" @.str10465 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11716: index out of range: \00" @.str10466 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11728: index out of range: \00" @.str10467 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11728: index out of range: \00" @.str10468 = private unnamed_addr constant [2 x i8] c"_\00" @.str10469 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11738: index out of range: \00" @.str10470 = private unnamed_addr constant [8 x i8] c"match: \00" @.str10471 = private unnamed_addr constant [8 x i8] c" binds \00" @.str10472 = private unnamed_addr constant [22 x i8] c" name(s) but carries \00" @.str10473 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11744: index out of range: \00" @.str10474 = private unnamed_addr constant [8 x i8] c"match: \00" @.str10475 = private unnamed_addr constant [10 x i8] c" payload \00" @.str10476 = private unnamed_addr constant [24 x i8] c" must be a binding name\00" @.str10477 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11745: index out of range: \00" @.str10478 = private unnamed_addr constant [3 x i8] c" \00" @.str10479 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00" @.str10480 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str10481 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10482 = private unnamed_addr constant [6 x i8] c"load \00" @.str10483 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10484 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11751: index out of range: \00" @.str10485 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10486 = private unnamed_addr constant [5 x i8] c"mend\00" @.str10487 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11767: index out of range: \00" @.str10488 = private unnamed_addr constant [2 x i8] c"0\00" @.str10489 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11775: index out of range: \00" @.str10490 = private unnamed_addr constant [8 x i8] c"match: \00" @.str10491 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" @.str10492 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10493 = private unnamed_addr constant [3 x i8] c", \00" @.str10494 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str10495 = private unnamed_addr constant [3 x i8] c", \00" @.str10496 = private unnamed_addr constant [6 x i8] c"mbody\00" @.str10497 = private unnamed_addr constant [5 x i8] c"marm\00" @.str10498 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10499 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10500 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10501 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10502 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10503 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10504 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10505 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10506 = private unnamed_addr constant [10 x i8] c"match on \00" @.str10507 = private unnamed_addr constant [29 x i8] c" is not exhaustive: variant \00" @.str10508 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11803: index out of range: \00" @.str10509 = private unnamed_addr constant [34 x i8] c" is unhandled (add it or a _ arm)\00" @.str10510 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10511 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10512 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10513 = private unnamed_addr constant [5 x i8] c"mend\00" @.str10514 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11820: index out of range: \00" @.str10515 = private unnamed_addr constant [2 x i8] c"0\00" @.str10516 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11827: index out of range: \00" @.str10517 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10518 = private unnamed_addr constant [3 x i8] c", \00" @.str10519 = private unnamed_addr constant [7 x i8] c"or i1 \00" @.str10520 = private unnamed_addr constant [3 x i8] c", \00" @.str10521 = private unnamed_addr constant [6 x i8] c"mbody\00" @.str10522 = private unnamed_addr constant [5 x i8] c"marm\00" @.str10523 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10524 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10525 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10526 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10527 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10528 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10529 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10530 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10531 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10532 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10533 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10534 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00" @.str10535 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11858: index out of range: \00" @.str10536 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11861: index out of range: \00" @.str10537 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11861: index out of range: \00" @.str10538 = private unnamed_addr constant [2 x i8] c"0\00" @.str10539 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10540 = private unnamed_addr constant [5 x i8] c"null\00" @.str10541 = private unnamed_addr constant [3 x i8] c" \00" @.str10542 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00" @.str10543 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10544 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10545 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10546 = private unnamed_addr constant [3 x i8] c" \00" @.str10547 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00" @.str10548 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10549 = private unnamed_addr constant [9 x i8] c" store \00" @.str10550 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11880: index out of range: \00" @.str10551 = private unnamed_addr constant [2 x i8] c" \00" @.str10552 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11880: index out of range: \00" @.str10553 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10554 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10555 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11881: index out of range: \00" @.str10556 = private unnamed_addr constant [2 x i8] c"0\00" @.str10557 = private unnamed_addr constant [10 x i8] c"toclients\00" @.str10558 = private unnamed_addr constant [3 x i8] c"-1\00" @.str10559 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str10560 = private unnamed_addr constant [14 x i8] c" call void @\00" @.str10561 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10562 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00" @.str10563 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10564 = private unnamed_addr constant [2 x i8] c"0\00" @.str10565 = private unnamed_addr constant [4 x i8] c"int\00" @.str10566 = private unnamed_addr constant [3 x i8] c", \00" @.str10567 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11896: index out of range: \00" @.str10568 = private unnamed_addr constant [2 x i8] c" \00" @.str10569 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11896: index out of range: \00" @.str10570 = private unnamed_addr constant [3 x i8] c" \00" @.str10571 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00" @.str10572 = private unnamed_addr constant [2 x i8] c"(\00" @.str10573 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10574 = private unnamed_addr constant [4 x i8] c"int\00" @.str10575 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10576 = private unnamed_addr constant [2 x i8] c"(\00" @.str10577 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10578 = private unnamed_addr constant [2 x i8] c"0\00" @.str10579 = private unnamed_addr constant [4 x i8] c"int\00" @.str10580 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10581 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11930: index out of range: \00" @.str10582 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10583 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10584 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11931: index out of range: \00" @.str10585 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10586 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00" @.str10587 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00" @.str10588 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10589 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00" @.str10590 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11951: index out of range: \00" @.str10591 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11951: index out of range: \00" @.str10592 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11966: index out of range: \00" @.str10593 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11975: index out of range: \00" @.str10594 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11989: index out of range: \00" @.str10595 = private unnamed_addr constant [9 x i8] c"Occluder\00" @.str10596 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:11998: index out of range: \00" @.str10597 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00" @.str10598 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00" @.str10599 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00" @.str10600 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00" @.str10601 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00" @.str10602 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00" @.str10603 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str10604 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00" @.str10605 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str10606 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00" @.str10607 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str10608 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00" @.str10609 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00" @.str10610 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00" @.str10611 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00" @.str10612 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str10613 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12030: index out of range: \00" @.str10614 = private unnamed_addr constant [4 x i8] c"@S_\00" @.str10615 = private unnamed_addr constant [21 x i8] c" = internal global [\00" @.str10616 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10617 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00" @.str10618 = private unnamed_addr constant [4 x i8] c"@H_\00" @.str10619 = private unnamed_addr constant [21 x i8] c" = internal global [\00" @.str10620 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00" @.str10621 = private unnamed_addr constant [5 x i8] c"@ME_\00" @.str10622 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str10623 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str10624 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str10625 = private unnamed_addr constant [5 x i8] c"@LE_\00" @.str10626 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12045: index out of range: \00" @.str10627 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00" @.str10628 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00" @.str10629 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12054: index out of range: \00" @.str10630 = private unnamed_addr constant [3 x i8] c"%h\00" @.str10631 = private unnamed_addr constant [3 x i8] c" \00" @.str10632 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10633 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10634 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12056: index out of range: \00" @.str10635 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str10636 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str10637 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10638 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00" @.str10639 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str10640 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00" @.str10641 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00" @.str10642 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00" @.str10643 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00" @.str10644 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10645 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00" @.str10646 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" @.str10647 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00" @.str10648 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00" @.str10649 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00" @.str10650 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00" @.str10651 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" @.str10652 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str10653 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00" @.str10654 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00" @.str10655 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str10656 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00" @.str10657 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00" @.str10658 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00" @.str10659 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00" @.str10660 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str10661 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str10662 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00" @.str10663 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" @.str10664 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str10665 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str10666 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00" @.str10667 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00" @.str10668 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00" @.str10669 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str10670 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str10671 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00" @.str10672 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00" @.str10673 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00" @.str10674 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str10675 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00" @.str10676 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00" @.str10677 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00" @.str10678 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00" @.str10679 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str10680 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12110: index out of range: \00" @.str10681 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12110: index out of range: \00" @.str10682 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10683 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10684 = private unnamed_addr constant [2 x i8] c"0\00" @.str10685 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12118: index out of range: \00" @.str10686 = private unnamed_addr constant [6 x i8] c"qcond\00" @.str10687 = private unnamed_addr constant [6 x i8] c"qbody\00" @.str10688 = private unnamed_addr constant [6 x i8] c"qnext\00" @.str10689 = private unnamed_addr constant [5 x i8] c"qend\00" @.str10690 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10691 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10692 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10693 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10694 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00" @.str10695 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str10696 = private unnamed_addr constant [3 x i8] c", \00" @.str10697 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10698 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10699 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10700 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10701 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10702 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10703 = private unnamed_addr constant [3 x i8] c" \00" @.str10704 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10705 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00" @.str10706 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10707 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10708 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10709 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10710 = private unnamed_addr constant [3 x i8] c"qa\00" @.str10711 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10712 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10713 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10714 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10715 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10716 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12142: index out of range: \00" @.str10717 = private unnamed_addr constant [2 x i8] c"0\00" @.str10718 = private unnamed_addr constant [3 x i8] c" \00" @.str10719 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10720 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str10721 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10722 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10723 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10724 = private unnamed_addr constant [3 x i8] c", \00" @.str10725 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00" @.str10726 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10727 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10728 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str10729 = private unnamed_addr constant [3 x i8] c", \00" @.str10730 = private unnamed_addr constant [3 x i8] c" \00" @.str10731 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10732 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10733 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10734 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10735 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str10736 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str10737 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10738 = private unnamed_addr constant [3 x i8] c"qt\00" @.str10739 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10740 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10741 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10742 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10743 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10744 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12168: index out of range: \00" @.str10745 = private unnamed_addr constant [3 x i8] c" \00" @.str10746 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10747 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10748 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10749 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10750 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10751 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10752 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str10753 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10754 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10755 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12175: index out of range: \00" @.str10756 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10757 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10758 = private unnamed_addr constant [3 x i8] c"qw\00" @.str10759 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10760 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10761 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10762 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10763 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10764 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10765 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10766 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10767 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10768 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str10769 = private unnamed_addr constant [4 x i8] c", 1\00" @.str10770 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10771 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10772 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10773 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10774 = private unnamed_addr constant [4 x i8] c"i32\00" @.str10775 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10776 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10777 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10778 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12213: index out of range: \00" @.str10779 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00" @.str10780 = private unnamed_addr constant [3 x i8] c" \00" @.str10781 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10782 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10783 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10784 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10785 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00" @.str10786 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10787 = private unnamed_addr constant [3 x i8] c" \00" @.str10788 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10789 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10790 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10791 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10792 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10793 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12230: index out of range: \00" @.str10794 = private unnamed_addr constant [3 x i8] c" \00" @.str10795 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10796 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10797 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10798 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10799 = private unnamed_addr constant [9 x i8] c" store \00" @.str10800 = private unnamed_addr constant [2 x i8] c" \00" @.str10801 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10802 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10803 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12243: index out of range: \00" @.str10804 = private unnamed_addr constant [3 x i8] c" \00" @.str10805 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str10806 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10807 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10808 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10809 = private unnamed_addr constant [9 x i8] c" store \00" @.str10810 = private unnamed_addr constant [2 x i8] c" \00" @.str10811 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10812 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10813 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10814 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str10815 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10816 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10817 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str10818 = private unnamed_addr constant [8 x i8] c"_attach\00" @.str10819 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10820 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10821 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10822 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12277: index out of range: \00" @.str10823 = private unnamed_addr constant [3 x i8] c" \00" @.str10824 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10825 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10826 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10827 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10828 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10829 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10830 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str10831 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10832 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10833 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12291: index out of range: \00" @.str10834 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12291: index out of range: \00" @.str10835 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12300: index out of range: \00" @.str10836 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12302: index out of range: \00" @.str10837 = private unnamed_addr constant [8 x i8] c"prefab \00" @.str10838 = private unnamed_addr constant [45 x i8] c": the chain of prefabs never reaches a model\00" @.str10839 = private unnamed_addr constant [26 x i8] c"call i32 @thr_is_worker()\00" @.str10840 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str10841 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10842 = private unnamed_addr constant [5 x i8] c"wgok\00" @.str10843 = private unnamed_addr constant [6 x i8] c"wgbad\00" @.str10844 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10845 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10846 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10847 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10848 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10849 = private unnamed_addr constant [2 x i8] c":\00" @.str10850 = private unnamed_addr constant [10 x i8] c": panic: \00" @.str10851 = private unnamed_addr constant [73 x i8] c" on a Job.parallel_for worker thread (workers must not change the world)\00" @.str10852 = private unnamed_addr constant [41 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr \00" @.str10853 = private unnamed_addr constant [24 x i8] c", ptr @.fmt_panic, ptr \00" @.str10854 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10855 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10856 = private unnamed_addr constant [40 x i8] c" call void @exit(i32 1)\0A unreachable\0A\00" @.str10857 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10858 = private unnamed_addr constant [6 x i8] c"spawn\00" @.str10859 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00" @.str10860 = private unnamed_addr constant [8 x i8] c"prefab \00" @.str10861 = private unnamed_addr constant [17 x i8] c": unknown model \00" @.str10862 = private unnamed_addr constant [3 x i8] c" \00" @.str10863 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10864 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str10865 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10866 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10867 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10868 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10869 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12359: index out of range: \00" @.str10870 = private unnamed_addr constant [7 x i8] c"model_\00" @.str10871 = private unnamed_addr constant [7 x i8] c"_spawn\00" @.str10872 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10873 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10874 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10875 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12376: index out of range: \00" @.str10876 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12376: index out of range: \00" @.str10877 = private unnamed_addr constant [8 x i8] c"despawn\00" @.str10878 = private unnamed_addr constant [3 x i8] c" \00" @.str10879 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10880 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00" @.str10881 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10882 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str10883 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12391: index out of range: \00" @.str10884 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str10885 = private unnamed_addr constant [3 x i8] c", \00" @.str10886 = private unnamed_addr constant [3 x i8] c"dh\00" @.str10887 = private unnamed_addr constant [4 x i8] c"dhn\00" @.str10888 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10889 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10890 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10891 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10892 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str10893 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10894 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" @.str10895 = private unnamed_addr constant [7 x i8] c"model_\00" @.str10896 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str10897 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10898 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10899 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00" @.str10900 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10901 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10902 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10903 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00" @.str10904 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10905 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00" @.str10906 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10907 = private unnamed_addr constant [3 x i8] c" \00" @.str10908 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10909 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10910 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10911 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10912 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str10913 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00" @.str10914 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10915 = private unnamed_addr constant [7 x i8] c"attach\00" @.str10916 = private unnamed_addr constant [8 x i8] c"attdone\00" @.str10917 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10918 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10919 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10920 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10921 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10922 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10923 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10924 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10925 = private unnamed_addr constant [3 x i8] c" \00" @.str10926 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10927 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10928 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10929 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10930 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00" @.str10931 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00" @.str10932 = private unnamed_addr constant [4 x i8] c", 0\00" @.str10933 = private unnamed_addr constant [7 x i8] c"detach\00" @.str10934 = private unnamed_addr constant [8 x i8] c"detdone\00" @.str10935 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str10936 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10937 = private unnamed_addr constant [10 x i8] c", label %\00" @.str10938 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10939 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10940 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00" @.str10941 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10942 = private unnamed_addr constant [3 x i8] c" \00" @.str10943 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10944 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10945 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10946 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10947 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10948 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10949 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str10950 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10951 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10952 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str10953 = private unnamed_addr constant [8 x i8] c"_detach\00" @.str10954 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10955 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10956 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10957 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str10958 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10959 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str10960 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12459: index out of range: \00" @.str10961 = private unnamed_addr constant [2 x i8] c"0\00" @.str10962 = private unnamed_addr constant [2 x i8] c"1\00" @.str10963 = private unnamed_addr constant [7 x i8] c"system\00" @.str10964 = private unnamed_addr constant [6 x i8] c"layer\00" @.str10965 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str10966 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00" @.str10967 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10968 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str10969 = private unnamed_addr constant [6 x i8] c"_hide\00" @.str10970 = private unnamed_addr constant [7 x i8] c"layer_\00" @.str10971 = private unnamed_addr constant [6 x i8] c"_show\00" @.str10972 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10973 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str10974 = private unnamed_addr constant [3 x i8] c" \00" @.str10975 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10976 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str10977 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10978 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10979 = private unnamed_addr constant [12 x i8] c" store i8 \00" @.str10980 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10981 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10982 = private unnamed_addr constant [3 x i8] c" \00" @.str10983 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str10984 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str10985 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str10986 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str10987 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10988 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str10989 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str10990 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str10991 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str10992 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str10993 = private unnamed_addr constant [9 x i8] c"_disable\00" @.str10994 = private unnamed_addr constant [6 x i8] c"prop_\00" @.str10995 = private unnamed_addr constant [8 x i8] c"_enable\00" @.str10996 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str10997 = private unnamed_addr constant [6 x i8] c"(i32 \00" @.str10998 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str10999 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str11000 = private unnamed_addr constant [5 x i8] c"@ME_\00" @.str11001 = private unnamed_addr constant [5 x i8] c"@HE_\00" @.str11002 = private unnamed_addr constant [2 x i8] c"_\00" @.str11003 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11004 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11005 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11006 = private unnamed_addr constant [5 x i8] c"void\00" @.str11007 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str11008 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str11009 = private unnamed_addr constant [18 x i8] c"define void @sys_\00" @.str11010 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str11011 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str11012 = private unnamed_addr constant [1 x i8] c"\00" @.str11013 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00" @.str11014 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str11015 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11016 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00" @.str11017 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str11018 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11019 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str11020 = private unnamed_addr constant [3 x i8] c", \00" @.str11021 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00" @.str11022 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11023 = private unnamed_addr constant [4 x i8] c", 1\00" @.str11024 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str11025 = private unnamed_addr constant [3 x i8] c", \00" @.str11026 = private unnamed_addr constant [5 x i8] c"hrun\00" @.str11027 = private unnamed_addr constant [6 x i8] c"hskip\00" @.str11028 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11029 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11030 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11031 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11032 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00" @.str11033 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11034 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11035 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11036 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11037 = private unnamed_addr constant [17 x i8] c" call void @fn_\00" @.str11038 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11039 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12572: index out of range: \00" @.str11040 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12572: index out of range: \00" @.str11041 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12572: index out of range: \00" @.str11042 = private unnamed_addr constant [7 x i8] c"Update\00" @.str11043 = private unnamed_addr constant [11 x i8] c"esys_tween\00" @.str11044 = private unnamed_addr constant [30 x i8] c" call void @fn_esys_tween()\0A\00" @.str11045 = private unnamed_addr constant [29 x i8] c" call void @L_countdowns()\0A\00" @.str11046 = private unnamed_addr constant [8 x i8] c"fx_tick\00" @.str11047 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_tick()\0A\00" @.str11048 = private unnamed_addr constant [7 x i8] c"Render\00" @.str11049 = private unnamed_addr constant [8 x i8] c"fx_draw\00" @.str11050 = private unnamed_addr constant [27 x i8] c" call void @fn_fx_draw()\0A\00" @.str11051 = private unnamed_addr constant [38 x i8] c"define void @L_countdowns() {\0Aentry:\0A\00" @.str11052 = private unnamed_addr constant [53 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0Aloop:\0A\00" @.str11053 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %entry ], [ %i1, %next ]\0A\00" @.str11054 = private unnamed_addr constant [73 x i8] c" %go = icmp slt i32 %i, %n\0A br i1 %go, label %body, label %done\0Abody:\0A\00" @.str11055 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00" @.str11056 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" @.str11057 = private unnamed_addr constant [96 x i8] c" %al = load i32, ptr %ap\0A %alive = icmp ne i32 %al, 0\0A br i1 %alive, label %c0, label %next\0A\00" @.str11058 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12601: index out of range: \00" @.str11059 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12605: index out of range: \00" @.str11060 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str11061 = private unnamed_addr constant [2 x i8] c"c\00" @.str11062 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11063 = private unnamed_addr constant [5 x i8] c" %h\00" @.str11064 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str11065 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str11066 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" @.str11067 = private unnamed_addr constant [6 x i8] c" %hv\00" @.str11068 = private unnamed_addr constant [19 x i8] c" = load i8, ptr %h\00" @.str11069 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11070 = private unnamed_addr constant [7 x i8] c" %has\00" @.str11071 = private unnamed_addr constant [18 x i8] c" = icmp ne i8 %hv\00" @.str11072 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str11073 = private unnamed_addr constant [13 x i8] c" br i1 %has\00" @.str11074 = private unnamed_addr constant [11 x i8] c", label %t\00" @.str11075 = private unnamed_addr constant [11 x i8] c", label %c\00" @.str11076 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11077 = private unnamed_addr constant [2 x i8] c"t\00" @.str11078 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11079 = private unnamed_addr constant [5 x i8] c" %s\00" @.str11080 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str11081 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str11082 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str11083 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %i\0A\00" @.str11084 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12617: index out of range: \00" @.str11085 = private unnamed_addr constant [10 x i8] c"countdown\00" @.str11086 = private unnamed_addr constant [2 x i8] c"_\00" @.str11087 = private unnamed_addr constant [6 x i8] c" %fa\00" @.str11088 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str11089 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str11090 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11091 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11092 = private unnamed_addr constant [6 x i8] c" %fv\00" @.str11093 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %fa\00" @.str11094 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11095 = private unnamed_addr constant [6 x i8] c" %fp\00" @.str11096 = private unnamed_addr constant [20 x i8] c" = icmp sgt i32 %fv\00" @.str11097 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str11098 = private unnamed_addr constant [6 x i8] c" %fd\00" @.str11099 = private unnamed_addr constant [15 x i8] c" = sub i32 %fv\00" @.str11100 = private unnamed_addr constant [5 x i8] c", 1\0A\00" @.str11101 = private unnamed_addr constant [6 x i8] c" %fn\00" @.str11102 = private unnamed_addr constant [17 x i8] c" = select i1 %fp\00" @.str11103 = private unnamed_addr constant [10 x i8] c", i32 %fd\00" @.str11104 = private unnamed_addr constant [10 x i8] c", i32 %fv\00" @.str11105 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11106 = private unnamed_addr constant [16 x i8] c" store i32 %fn\00" @.str11107 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str11108 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11109 = private unnamed_addr constant [14 x i8] c" br label %c\00" @.str11110 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11111 = private unnamed_addr constant [2 x i8] c"c\00" @.str11112 = private unnamed_addr constant [20 x i8] c":\0A br label %next\0A\00" @.str11113 = private unnamed_addr constant [66 x i8] c"next:\0A %i1 = add i32 %i, 1\0A br label %loop\0Adone:\0A ret void\0A}\0A\0A\00" @.str11114 = private unnamed_addr constant [4 x i8] c"int\00" @.str11115 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11116 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11117 = private unnamed_addr constant [22 x i8] c"define i32 @L_prefab_\00" @.str11118 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str11119 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str11120 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12659: index out of range: \00" @.str11121 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12659: index out of range: \00" @.str11122 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12668: index out of range: \00" @.str11123 = private unnamed_addr constant [36 x i8] c"call i32 @lp_str_eq(ptr %name, ptr \00" @.str11124 = private unnamed_addr constant [2 x i8] c")\00" @.str11125 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str11126 = private unnamed_addr constant [4 x i8] c", 0\00" @.str11127 = private unnamed_addr constant [3 x i8] c"pf\00" @.str11128 = private unnamed_addr constant [4 x i8] c"pfn\00" @.str11129 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11130 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11131 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11132 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11133 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11134 = private unnamed_addr constant [20 x i8] c"call i32 @L_prefab_\00" @.str11135 = private unnamed_addr constant [3 x i8] c"()\00" @.str11136 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11137 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11138 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11139 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" @.str11140 = private unnamed_addr constant [48 x i8] c"define i32 @L_spawn_prefab(ptr %name) {\0Aentry:\0A\00" @.str11141 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str11142 = private unnamed_addr constant [6 x i8] c"Input\00" @.str11143 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str11144 = private unnamed_addr constant [7 x i8] c"Update\00" @.str11145 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str11146 = private unnamed_addr constant [7 x i8] c"Render\00" @.str11147 = private unnamed_addr constant [6 x i8] c"Start\00" @.str11148 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str11149 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str11150 = private unnamed_addr constant [16 x i8] c"unknown phase '\00" @.str11151 = private unnamed_addr constant [2 x i8] c"'\00" @.str11152 = private unnamed_addr constant [6 x i8] c"Start\00" @.str11153 = private unnamed_addr constant [6 x i8] c"Input\00" @.str11154 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str11155 = private unnamed_addr constant [7 x i8] c"Update\00" @.str11156 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str11157 = private unnamed_addr constant [7 x i8] c"Render\00" @.str11158 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str11159 = private unnamed_addr constant [44 x i8] c"declare i32 @ludic_register_prop(ptr, i32)\0A\00" @.str11160 = private unnamed_addr constant [46 x i8] c"declare i32 @ludic_register_system(ptr, i32)\0A\00" @.str11161 = private unnamed_addr constant [39 x i8] c"declare i64 @ludic_get(i32, i32, i32)\0A\00" @.str11162 = private unnamed_addr constant [45 x i8] c"declare void @ludic_set(i32, i32, i32, i64)\0A\00" @.str11163 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_has(i32, i32)\0A\00" @.str11164 = private unnamed_addr constant [42 x i8] c"declare void @ludic_attach_dyn(i32, i32)\0A\00" @.str11165 = private unnamed_addr constant [42 x i8] c"declare void @ludic_detach_dyn(i32, i32)\0A\00" @.str11166 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_id(ptr)\0A\00" @.str11167 = private unnamed_addr constant [39 x i8] c"declare i32 @ludic_field_id(i32, ptr)\0A\00" @.str11168 = private unnamed_addr constant [35 x i8] c"declare i32 @ludic_entity_count()\0A\00" @.str11169 = private unnamed_addr constant [30 x i8] c"declare i32 @ludic_kind(i32)\0A\00" @.str11170 = private unnamed_addr constant [34 x i8] c"declare i32 @ludic_model_id(ptr)\0A\00" @.str11171 = private unnamed_addr constant [31 x i8] c"declare i32 @ludic_spawn(i32)\0A\00" @.str11172 = private unnamed_addr constant [41 x i8] c"declare i32 @ludic_query_next(i32, i32)\0A\00" @.str11173 = private unnamed_addr constant [33 x i8] c"declare i32 @ludic_prop_count()\0A\00" @.str11174 = private unnamed_addr constant [35 x i8] c"declare ptr @ludic_prop_name(i32)\0A\00" @.str11175 = private unnamed_addr constant [37 x i8] c"declare i32 @ludic_field_count(i32)\0A\00" @.str11176 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_name(i32, i32)\0A\00" @.str11177 = private unnamed_addr constant [41 x i8] c"declare ptr @ludic_field_type(i32, i32)\0A\00" @.str11178 = private unnamed_addr constant [42 x i8] c"define void @__ludic_mod_init() {\0Aentry:\0A\00" @.str11179 = private unnamed_addr constant [12 x i8] c"module_init\00" @.str11180 = private unnamed_addr constant [31 x i8] c" call void @fn_module_init()\0A\00" @.str11181 = private unnamed_addr constant [43 x i8] c" call i32 @ludic_register_system(ptr @fn_\00" @.str11182 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12761: index out of range: \00" @.str11183 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str11184 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12761: index out of range: \00" @.str11185 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11186 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11187 = private unnamed_addr constant [130 x i8] c"@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @__ludic_mod_init, ptr null }]\0A\00" @.str11188 = private unnamed_addr constant [22 x i8] c"@sysreg_fn = global [\00" @.str11189 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str11190 = private unnamed_addr constant [25 x i8] c"@sysreg_phase = global [\00" @.str11191 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str11192 = private unnamed_addr constant [30 x i8] c"@sysreg_count = global i32 0\0A\00" @.str11193 = private unnamed_addr constant [65 x i8] c"define i32 @ludic_register_system(ptr %fn, i32 %phase) {\0Aentry:\0A\00" @.str11194 = private unnamed_addr constant [36 x i8] c" %n = load i32, ptr @sysreg_count\0A\00" @.str11195 = private unnamed_addr constant [26 x i8] c" %ok = icmp slt i32 %n, \00" @.str11196 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11197 = private unnamed_addr constant [38 x i8] c" br i1 %ok, label %add, label %drop\0A\00" @.str11198 = private unnamed_addr constant [6 x i8] c"add:\0A\00" @.str11199 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00" @.str11200 = private unnamed_addr constant [40 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 %n\0A\00" @.str11201 = private unnamed_addr constant [26 x i8] c" store ptr %fn, ptr %fp\0A\00" @.str11202 = private unnamed_addr constant [33 x i8] c" %pp = getelementptr inbounds [\00" @.str11203 = private unnamed_addr constant [43 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 %n\0A\00" @.str11204 = private unnamed_addr constant [29 x i8] c" store i32 %phase, ptr %pp\0A\00" @.str11205 = private unnamed_addr constant [71 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @sysreg_count\0A ret i32 %n\0A\00" @.str11206 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str11207 = private unnamed_addr constant [4 x i8] c"dsp\00" @.str11208 = private unnamed_addr constant [4 x i8] c"dsh\00" @.str11209 = private unnamed_addr constant [4 x i8] c"dsb\00" @.str11210 = private unnamed_addr constant [5 x i8] c"dsdo\00" @.str11211 = private unnamed_addr constant [4 x i8] c"dsc\00" @.str11212 = private unnamed_addr constant [4 x i8] c"dsn\00" @.str11213 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11214 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11215 = private unnamed_addr constant [15 x i8] c":\0A br label %\00" @.str11216 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11217 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11218 = private unnamed_addr constant [3 x i8] c" \00" @.str11219 = private unnamed_addr constant [18 x i8] c" = phi i32 [ 0, %\00" @.str11220 = private unnamed_addr constant [7 x i8] c" ], [ \00" @.str11221 = private unnamed_addr constant [4 x i8] c", %\00" @.str11222 = private unnamed_addr constant [4 x i8] c" ]\0A\00" @.str11223 = private unnamed_addr constant [28 x i8] c"load i32, ptr @sysreg_count\00" @.str11224 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str11225 = private unnamed_addr constant [3 x i8] c", \00" @.str11226 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11227 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11228 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11229 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11230 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11231 = private unnamed_addr constant [3 x i8] c" \00" @.str11232 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str11233 = private unnamed_addr constant [40 x i8] c" x i32], ptr @sysreg_phase, i32 0, i32 \00" @.str11234 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11235 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str11236 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11237 = private unnamed_addr constant [3 x i8] c", \00" @.str11238 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11239 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11240 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11241 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11242 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11243 = private unnamed_addr constant [3 x i8] c" \00" @.str11244 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str11245 = private unnamed_addr constant [37 x i8] c" x ptr], ptr @sysreg_fn, i32 0, i32 \00" @.str11246 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11247 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str11248 = private unnamed_addr constant [13 x i8] c" call void \00" @.str11249 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11250 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11251 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11252 = private unnamed_addr constant [5 x i8] c":\0A \00" @.str11253 = private unnamed_addr constant [12 x i8] c" = add i32 \00" @.str11254 = private unnamed_addr constant [17 x i8] c", 1\0A br label %\00" @.str11255 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11256 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11257 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12821: index out of range: \00" @.str11258 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12828: index out of range: \00" @.str11259 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" @.str11260 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12833: index out of range: \00" @.str11261 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11262 = private unnamed_addr constant [3 x i8] c", \00" @.str11263 = private unnamed_addr constant [6 x i8] c"scrun\00" @.str11264 = private unnamed_addr constant [7 x i8] c"scskip\00" @.str11265 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11266 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11267 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11268 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11269 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11270 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11271 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11272 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11273 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str11274 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12854: index out of range: \00" @.str11275 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00" @.str11276 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12859: index out of range: \00" @.str11277 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str11278 = private unnamed_addr constant [3 x i8] c", \00" @.str11279 = private unnamed_addr constant [5 x i8] c"mrun\00" @.str11280 = private unnamed_addr constant [6 x i8] c"mskip\00" @.str11281 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11282 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11283 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11284 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11285 = private unnamed_addr constant [34 x i8] c":\0A call void @fn_rt_ui_render()\0A\00" @.str11286 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11287 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11288 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11289 = private unnamed_addr constant [5 x i8] c"void\00" @.str11290 = private unnamed_addr constant [6 x i8] c"enter\00" @.str11291 = private unnamed_addr constant [18 x i8] c"input_cursor_mode\00" @.str11292 = private unnamed_addr constant [42 x i8] c" call void @fn_input_cursor_mode(i32 0)\0A\00" @.str11293 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_open(i32 \00" @.str11294 = private unnamed_addr constant [4 x i8] c"UI_\00" @.str11295 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11296 = private unnamed_addr constant [5 x i8] c"exit\00" @.str11297 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_close()\0A\00" @.str11298 = private unnamed_addr constant [7 x i8] c"scene_\00" @.str11299 = private unnamed_addr constant [2 x i8] c"_\00" @.str11300 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str11301 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str11302 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str11303 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str11304 = private unnamed_addr constant [20 x i8] c"define void @scene_\00" @.str11305 = private unnamed_addr constant [2 x i8] c"_\00" @.str11306 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str11307 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str11308 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12903: index out of range: \00" @.str11309 = private unnamed_addr constant [6 x i8] c"enter\00" @.str11310 = private unnamed_addr constant [5 x i8] c"exit\00" @.str11311 = private unnamed_addr constant [39 x i8] c"define void @L_scene_leave() {\0Aentry:\0A\00" @.str11312 = private unnamed_addr constant [31 x i8] c" %s = load i32, ptr @L_scene\0A\00" @.str11313 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12921: index out of range: \00" @.str11314 = private unnamed_addr constant [6 x i8] c" %is\00" @.str11315 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %s, \00" @.str11316 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11317 = private unnamed_addr constant [12 x i8] c" br i1 %is\00" @.str11318 = private unnamed_addr constant [15 x i8] c", label %leave\00" @.str11319 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str11320 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11321 = private unnamed_addr constant [6 x i8] c"leave\00" @.str11322 = private unnamed_addr constant [27 x i8] c":\0A call void @scene_exit_\00" @.str11323 = private unnamed_addr constant [15 x i8] c"()\0A ret void\0A\00" @.str11324 = private unnamed_addr constant [5 x i8] c"next\00" @.str11325 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11326 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11327 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12939: index out of range: \00" @.str11328 = private unnamed_addr constant [5 x i8] c"void\00" @.str11329 = private unnamed_addr constant [4 x i8] c"i32\00" @.str11330 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00" @.str11331 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11332 = private unnamed_addr constant [4 x i8] c"int\00" @.str11333 = private unnamed_addr constant [3 x i8] c"%e\00" @.str11334 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str11335 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str11336 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00" @.str11337 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00" @.str11338 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str11339 = private unnamed_addr constant [48 x i8] c"define void @fn_world_despawn(i32 %e) {\0Aentry:\0A\00" @.str11340 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str11341 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str11342 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str11343 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:12980: index out of range: \00" @.str11344 = private unnamed_addr constant [5 x i8] c" %c\00" @.str11345 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str11346 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11347 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str11348 = private unnamed_addr constant [13 x i8] c", label %hit\00" @.str11349 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str11350 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11351 = private unnamed_addr constant [4 x i8] c"hit\00" @.str11352 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str11353 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" @.str11354 = private unnamed_addr constant [7 x i8] c"model_\00" @.str11355 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str11356 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str11357 = private unnamed_addr constant [17 x i8] c"(i32 %e, i32 0)\0A\00" @.str11358 = private unnamed_addr constant [17 x i8] c" br label %next\00" @.str11359 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11360 = private unnamed_addr constant [5 x i8] c"next\00" @.str11361 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11362 = private unnamed_addr constant [41 x i8] c" call void @ludic_sweep_entity(i32 %e)\0A\00" @.str11363 = private unnamed_addr constant [36 x i8] c" call void @L_free_entity(i32 %e)\0A\00" @.str11364 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str11365 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00" @.str11366 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00" @.str11367 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00" @.str11368 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00" @.str11369 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" @.str11370 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00" @.str11371 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00" @.str11372 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00" @.str11373 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00" @.str11374 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00" @.str11375 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00" @.str11376 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13017: index out of range: \00" @.str11377 = private unnamed_addr constant [5 x i8] c" %c\00" @.str11378 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str11379 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11380 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str11381 = private unnamed_addr constant [13 x i8] c", label %hit\00" @.str11382 = private unnamed_addr constant [14 x i8] c", label %next\00" @.str11383 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11384 = private unnamed_addr constant [4 x i8] c"hit\00" @.str11385 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00" @.str11386 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" @.str11387 = private unnamed_addr constant [7 x i8] c"model_\00" @.str11388 = private unnamed_addr constant [9 x i8] c"_despawn\00" @.str11389 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str11390 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00" @.str11391 = private unnamed_addr constant [17 x i8] c" br label %next\00" @.str11392 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11393 = private unnamed_addr constant [5 x i8] c"next\00" @.str11394 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11395 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00" @.str11396 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00" @.str11397 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" @.str11398 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00" @.str11399 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13059: index out of range: \00" @.str11400 = private unnamed_addr constant [5 x i8] c"%Ev_\00" @.str11401 = private unnamed_addr constant [11 x i8] c" = type { \00" @.str11402 = private unnamed_addr constant [3 x i8] c", \00" @.str11403 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13070: index out of range: \00" @.str11404 = private unnamed_addr constant [3 x i8] c", \00" @.str11405 = private unnamed_addr constant [4 x i8] c"i32\00" @.str11406 = private unnamed_addr constant [4 x i8] c" }\0A\00" @.str11407 = private unnamed_addr constant [6 x i8] c"@evL_\00" @.str11408 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str11409 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00" @.str11410 = private unnamed_addr constant [6 x i8] c"@evN_\00" @.str11411 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00" @.str11412 = private unnamed_addr constant [6 x i8] c"@evO_\00" @.str11413 = private unnamed_addr constant [12 x i8] c" = global [\00" @.str11414 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str11415 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00" @.str11416 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00" @.str11417 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str11418 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11419 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str11420 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11421 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" @.str11422 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" @.str11423 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str11424 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str11425 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" @.str11426 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" @.str11427 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str11428 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str11429 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00" @.str11430 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" @.str11431 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" @.str11432 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str11433 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00" @.str11434 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00" @.str11435 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str11436 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11437 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00" @.str11438 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11439 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00" @.str11440 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00" @.str11441 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str11442 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str11443 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00" @.str11444 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00" @.str11445 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str11446 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00" @.str11447 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00" @.str11448 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00" @.str11449 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00" @.str11450 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00" @.str11451 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00" @.str11452 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00" @.str11453 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00" @.str11454 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11455 = private unnamed_addr constant [84 x i8] c" %lo = icmp sge i32 %tok, 0\0A %hi = icmp slt i32 %tok, %n\0A %ok = and i1 %lo, %hi\0A\00" @.str11456 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00" @.str11457 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00" @.str11458 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str11459 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00" @.str11460 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00" @.str11461 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00" @.str11462 = private unnamed_addr constant [5 x i8] c"void\00" @.str11463 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00" @.str11464 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00" @.str11465 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11466 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00" @.str11467 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00" @.str11468 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00" @.str11469 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str11470 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00" @.str11471 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00" @.str11472 = private unnamed_addr constant [5 x i8] c"%Ev_\00" @.str11473 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13136: index out of range: \00" @.str11474 = private unnamed_addr constant [3 x i8] c" \00" @.str11475 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" @.str11476 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11477 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11478 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11479 = private unnamed_addr constant [9 x i8] c" store \00" @.str11480 = private unnamed_addr constant [4 x i8] c" %p\00" @.str11481 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11482 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11483 = private unnamed_addr constant [9 x i8] c" store \00" @.str11484 = private unnamed_addr constant [4 x i8] c" %p\00" @.str11485 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11486 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11487 = private unnamed_addr constant [3 x i8] c" \00" @.str11488 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00" @.str11489 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11490 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11491 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11492 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str11493 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11494 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13155: index out of range: \00" @.str11495 = private unnamed_addr constant [7 x i8] c"evnext\00" @.str11496 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13161: index out of range: \00" @.str11497 = private unnamed_addr constant [4 x i8] c"ret\00" @.str11498 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11499 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11500 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11501 = private unnamed_addr constant [4 x i8] c"i32\00" @.str11502 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00" @.str11503 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11504 = private unnamed_addr constant [4 x i8] c"evl\00" @.str11505 = private unnamed_addr constant [4 x i8] c"evb\00" @.str11506 = private unnamed_addr constant [4 x i8] c"evd\00" @.str11507 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11508 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11509 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11510 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str11511 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00" @.str11512 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00" @.str11513 = private unnamed_addr constant [3 x i8] c", \00" @.str11514 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11515 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11516 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11517 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11518 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11519 = private unnamed_addr constant [3 x i8] c" \00" @.str11520 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str11521 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str11522 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11523 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11524 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str11525 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str11526 = private unnamed_addr constant [7 x i8] c", null\00" @.str11527 = private unnamed_addr constant [5 x i8] c"evdo\00" @.str11528 = private unnamed_addr constant [5 x i8] c"evsk\00" @.str11529 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str11530 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11531 = private unnamed_addr constant [10 x i8] c", label %\00" @.str11532 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11533 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11534 = private unnamed_addr constant [13 x i8] c" call void \00" @.str11535 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str11536 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11537 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11538 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11539 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11540 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str11541 = private unnamed_addr constant [4 x i8] c", 1\00" @.str11542 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str11543 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str11544 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11545 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str11546 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11547 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11548 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str11549 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str11550 = private unnamed_addr constant [97 x i8] c" %evdd = load i32, ptr @ev_depth\0A %evdd1 = sub i32 %evdd, 1\0A store i32 %evdd1, ptr @ev_depth\0A\00" @.str11551 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00" @.str11552 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11553 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11554 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str11555 = private unnamed_addr constant [5 x i8] c"void\00" @.str11556 = private unnamed_addr constant [4 x i8] c"i32\00" @.str11557 = private unnamed_addr constant [8 x i8] c"define \00" @.str11558 = private unnamed_addr constant [6 x i8] c" @ev_\00" @.str11559 = private unnamed_addr constant [2 x i8] c"(\00" @.str11560 = private unnamed_addr constant [3 x i8] c", \00" @.str11561 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13208: index out of range: \00" @.str11562 = private unnamed_addr constant [4 x i8] c" %p\00" @.str11563 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str11564 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str11565 = private unnamed_addr constant [112 x i8] c"define void @ludic_sweep_entity(i32 %owner) {\0Aentry:\0A %ci = alloca i32\0A store i32 0, ptr %ci\0A br label %sw0\0A\00" @.str11566 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13225: index out of range: \00" @.str11567 = private unnamed_addr constant [3 x i8] c"sw\00" @.str11568 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11569 = private unnamed_addr constant [7 x i8] c" %swi\00" @.str11570 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00" @.str11571 = private unnamed_addr constant [7 x i8] c" %swn\00" @.str11572 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00" @.str11573 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11574 = private unnamed_addr constant [7 x i8] c" %swg\00" @.str11575 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00" @.str11576 = private unnamed_addr constant [7 x i8] c", %swn\00" @.str11577 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11578 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00" @.str11579 = private unnamed_addr constant [13 x i8] c", label %swb\00" @.str11580 = private unnamed_addr constant [13 x i8] c", label %swd\00" @.str11581 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11582 = private unnamed_addr constant [4 x i8] c"swb\00" @.str11583 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11584 = private unnamed_addr constant [8 x i8] c" %swop\00" @.str11585 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str11586 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00" @.str11587 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" @.str11588 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11589 = private unnamed_addr constant [8 x i8] c" %swov\00" @.str11590 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00" @.str11591 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11592 = private unnamed_addr constant [7 x i8] c" %swm\00" @.str11593 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00" @.str11594 = private unnamed_addr constant [10 x i8] c", %owner\0A\00" @.str11595 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00" @.str11596 = private unnamed_addr constant [13 x i8] c", label %swh\00" @.str11597 = private unnamed_addr constant [13 x i8] c", label %swx\00" @.str11598 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11599 = private unnamed_addr constant [4 x i8] c"swh\00" @.str11600 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11601 = private unnamed_addr constant [8 x i8] c" %swlp\00" @.str11602 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str11603 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00" @.str11604 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00" @.str11605 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11606 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00" @.str11607 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00" @.str11608 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11609 = private unnamed_addr constant [4 x i8] c"swx\00" @.str11610 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11611 = private unnamed_addr constant [9 x i8] c" %swinc\00" @.str11612 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00" @.str11613 = private unnamed_addr constant [23 x i8] c", 1\0A store i32 %swinc\00" @.str11614 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00" @.str11615 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11616 = private unnamed_addr constant [4 x i8] c"swd\00" @.str11617 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00" @.str11618 = private unnamed_addr constant [15 x i8] c" br label %sw\00" @.str11619 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11620 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str11621 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str11622 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13274: index out of range: \00" @.str11623 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00" @.str11624 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00" @.str11625 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00" @.str11626 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00" @.str11627 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00" @.str11628 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00" @.str11629 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13287: index out of range: \00" @.str11630 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13288: index out of range: \00" @.str11631 = private unnamed_addr constant [5 x i8] c" %c\00" @.str11632 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str11633 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11634 = private unnamed_addr constant [5 x i8] c" %e\00" @.str11635 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00" @.str11636 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str11637 = private unnamed_addr constant [11 x i8] c" br i1 %e\00" @.str11638 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str11639 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str11640 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11641 = private unnamed_addr constant [2 x i8] c"h\00" @.str11642 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str11643 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11644 = private unnamed_addr constant [2 x i8] c"n\00" @.str11645 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11646 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00" @.str11647 = private unnamed_addr constant [135 x i8] c"dpl:\0A %di = load i32, ptr %dpi\0A %dn = load i32, ptr @dyn_count\0A %dg = icmp slt i32 %di, %dn\0A br i1 %dg, label %dpb, label %dpnone\0A\00" @.str11648 = private unnamed_addr constant [231 x i8] c"dpb:\0A %dnp = getelementptr inbounds [32 x ptr], ptr @dynName, i32 0, i32 %di\0A %dname = load ptr, ptr %dnp\0A %dcmp = call i32 @strcmp(ptr %name, ptr %dname)\0A %deq = icmp eq i32 %dcmp, 0\0A br i1 %deq, label %dphit, label %dpnext\0A\00" @.str11649 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00" @.str11650 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00" @.str11651 = private unnamed_addr constant [76 x i8] c"dpnext:\0A %di1 = add i32 %di, 1\0A store i32 %di1, ptr %dpi\0A br label %dpl\0A\00" @.str11652 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00" @.str11653 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00" @.str11654 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13310: index out of range: \00" @.str11655 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13311: index out of range: \00" @.str11656 = private unnamed_addr constant [6 x i8] c" %pm\00" @.str11657 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str11658 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11659 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00" @.str11660 = private unnamed_addr constant [12 x i8] c", label %pk\00" @.str11661 = private unnamed_addr constant [12 x i8] c", label %pn\00" @.str11662 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11663 = private unnamed_addr constant [3 x i8] c"pk\00" @.str11664 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11665 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13317: index out of range: \00" @.str11666 = private unnamed_addr constant [2 x i8] c"_\00" @.str11667 = private unnamed_addr constant [6 x i8] c" %fc\00" @.str11668 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str11669 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11670 = private unnamed_addr constant [6 x i8] c" %fe\00" @.str11671 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00" @.str11672 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str11673 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00" @.str11674 = private unnamed_addr constant [12 x i8] c", label %fh\00" @.str11675 = private unnamed_addr constant [12 x i8] c", label %fn\00" @.str11676 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11677 = private unnamed_addr constant [3 x i8] c"fh\00" @.str11678 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str11679 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11680 = private unnamed_addr constant [3 x i8] c"fn\00" @.str11681 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11682 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00" @.str11683 = private unnamed_addr constant [3 x i8] c"pn\00" @.str11684 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11685 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str11686 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00" @.str11687 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13342: index out of range: \00" @.str11688 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13343: index out of range: \00" @.str11689 = private unnamed_addr constant [5 x i8] c" %m\00" @.str11690 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str11691 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11692 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str11693 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str11694 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str11695 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11696 = private unnamed_addr constant [2 x i8] c"g\00" @.str11697 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11698 = private unnamed_addr constant [5 x i8] c" %s\00" @.str11699 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str11700 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str11701 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str11702 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str11703 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13350: index out of range: \00" @.str11704 = private unnamed_addr constant [2 x i8] c"_\00" @.str11705 = private unnamed_addr constant [6 x i8] c" %gm\00" @.str11706 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str11707 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11708 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00" @.str11709 = private unnamed_addr constant [12 x i8] c", label %gf\00" @.str11710 = private unnamed_addr constant [12 x i8] c", label %gk\00" @.str11711 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11712 = private unnamed_addr constant [3 x i8] c"gf\00" @.str11713 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11714 = private unnamed_addr constant [6 x i8] c" %ga\00" @.str11715 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str11716 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str11717 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11718 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11719 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str11720 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str11721 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00" @.str11722 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11723 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str11724 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00" @.str11725 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str11726 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11727 = private unnamed_addr constant [3 x i8] c"i8\00" @.str11728 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str11729 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00" @.str11730 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11731 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str11732 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00" @.str11733 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str11734 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11735 = private unnamed_addr constant [6 x i8] c" %gl\00" @.str11736 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00" @.str11737 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11738 = private unnamed_addr constant [6 x i8] c" %gr\00" @.str11739 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00" @.str11740 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00" @.str11741 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11742 = private unnamed_addr constant [3 x i8] c"gk\00" @.str11743 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11744 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00" @.str11745 = private unnamed_addr constant [3 x i8] c"gn\00" @.str11746 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11747 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00" @.str11748 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11749 = private unnamed_addr constant [175 x i8] c" %gdlo = icmp sge i32 %gdyn, 0\0A %gdc = load i32, ptr @dyn_count\0A %gdhi = icmp slt i32 %gdyn, %gdc\0A %gdok = and i1 %gdlo, %gdhi\0A br i1 %gdok, label %gdyng, label %gdnone\0A\00" @.str11750 = private unnamed_addr constant [110 x i8] c"gdyng:\0A %gsp = getelementptr inbounds [32 x ptr], ptr @dynS, i32 0, i32 %gdyn\0A %gbase = load ptr, ptr %gsp\0A\00" @.str11751 = private unnamed_addr constant [156 x i8] c" %gfp = getelementptr inbounds [32 x i32], ptr @dynF, i32 0, i32 %gdyn\0A %gnf = load i32, ptr %gfp\0A %grow = mul i32 %e, %gnf\0A %gidx = add i32 %grow, %f\0A\00" @.str11752 = private unnamed_addr constant [133 x i8] c" %gaddr = getelementptr inbounds i32, ptr %gbase, i32 %gidx\0A %gv = load i32, ptr %gaddr\0A %gr = sext i32 %gv to i64\0A ret i64 %gr\0A\00" @.str11753 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00" @.str11754 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00" @.str11755 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13385: index out of range: \00" @.str11756 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13386: index out of range: \00" @.str11757 = private unnamed_addr constant [5 x i8] c" %m\00" @.str11758 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str11759 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11760 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str11761 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str11762 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str11763 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11764 = private unnamed_addr constant [2 x i8] c"g\00" @.str11765 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11766 = private unnamed_addr constant [5 x i8] c" %s\00" @.str11767 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str11768 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str11769 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str11770 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str11771 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13393: index out of range: \00" @.str11772 = private unnamed_addr constant [2 x i8] c"_\00" @.str11773 = private unnamed_addr constant [6 x i8] c" %sm\00" @.str11774 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str11775 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11776 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" @.str11777 = private unnamed_addr constant [12 x i8] c", label %sf\00" @.str11778 = private unnamed_addr constant [12 x i8] c", label %sk\00" @.str11779 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11780 = private unnamed_addr constant [3 x i8] c"sf\00" @.str11781 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11782 = private unnamed_addr constant [6 x i8] c" %sa\00" @.str11783 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str11784 = private unnamed_addr constant [9 x i8] c", ptr %s\00" @.str11785 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str11786 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11787 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str11788 = private unnamed_addr constant [6 x i8] c" %sp\00" @.str11789 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00" @.str11790 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00" @.str11791 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str11792 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str11793 = private unnamed_addr constant [3 x i8] c"i8\00" @.str11794 = private unnamed_addr constant [6 x i8] c" %sb\00" @.str11795 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00" @.str11796 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00" @.str11797 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str11798 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str11799 = private unnamed_addr constant [6 x i8] c" %sw\00" @.str11800 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00" @.str11801 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00" @.str11802 = private unnamed_addr constant [10 x i8] c", ptr %sa\00" @.str11803 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00" @.str11804 = private unnamed_addr constant [3 x i8] c"sk\00" @.str11805 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11806 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str11807 = private unnamed_addr constant [3 x i8] c"gn\00" @.str11808 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11809 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00" @.str11810 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11811 = private unnamed_addr constant [175 x i8] c" %sdlo = icmp sge i32 %sdyn, 0\0A %sdc = load i32, ptr @dyn_count\0A %sdhi = icmp slt i32 %sdyn, %sdc\0A %sdok = and i1 %sdlo, %sdhi\0A br i1 %sdok, label %sdyng, label %sdnone\0A\00" @.str11812 = private unnamed_addr constant [110 x i8] c"sdyng:\0A %ssp = getelementptr inbounds [32 x ptr], ptr @dynS, i32 0, i32 %sdyn\0A %sbase = load ptr, ptr %ssp\0A\00" @.str11813 = private unnamed_addr constant [156 x i8] c" %sfp = getelementptr inbounds [32 x i32], ptr @dynF, i32 0, i32 %sdyn\0A %snf = load i32, ptr %sfp\0A %srow = mul i32 %e, %snf\0A %sidx = add i32 %srow, %f\0A\00" @.str11814 = private unnamed_addr constant [131 x i8] c" %saddr = getelementptr inbounds i32, ptr %sbase, i32 %sidx\0A %sv = trunc i64 %val to i32\0A store i32 %sv, ptr %saddr\0A ret void\0A\00" @.str11815 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00" @.str11816 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str11817 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13428: index out of range: \00" @.str11818 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13429: index out of range: \00" @.str11819 = private unnamed_addr constant [5 x i8] c" %m\00" @.str11820 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str11821 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11822 = private unnamed_addr constant [11 x i8] c" br i1 %m\00" @.str11823 = private unnamed_addr constant [11 x i8] c", label %g\00" @.str11824 = private unnamed_addr constant [12 x i8] c", label %gn\00" @.str11825 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11826 = private unnamed_addr constant [2 x i8] c"g\00" @.str11827 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11828 = private unnamed_addr constant [6 x i8] c" %hp\00" @.str11829 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str11830 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00" @.str11831 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str11832 = private unnamed_addr constant [6 x i8] c" %hv\00" @.str11833 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00" @.str11834 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11835 = private unnamed_addr constant [6 x i8] c" %hr\00" @.str11836 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00" @.str11837 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00" @.str11838 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11839 = private unnamed_addr constant [3 x i8] c"gn\00" @.str11840 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11841 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00" @.str11842 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11843 = private unnamed_addr constant [175 x i8] c" %hdlo = icmp sge i32 %hdyn, 0\0A %hdc = load i32, ptr @dyn_count\0A %hdhi = icmp slt i32 %hdyn, %hdc\0A %hdok = and i1 %hdlo, %hdhi\0A br i1 %hdok, label %hdyng, label %hdnone\0A\00" @.str11844 = private unnamed_addr constant [238 x i8] c"hdyng:\0A %hhp = getelementptr inbounds [32 x ptr], ptr @dynH, i32 0, i32 %hdyn\0A %hh = load ptr, ptr %hhp\0A %hslot = getelementptr inbounds i8, ptr %hh, i32 %e\0A %hval = load i8, ptr %hslot\0A %hres = zext i8 %hval to i32\0A ret i32 %hres\0A\00" @.str11845 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00" @.str11846 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00" @.str11847 = private unnamed_addr constant [102 x i8] c" %dc = load i32, ptr @dyn_count\0A %full = icmp slt i32 %dc, 32\0A br i1 %full, label %do, label %rej\0A\00" @.str11848 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00" @.str11849 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00" @.str11850 = private unnamed_addr constant [83 x i8] c" %buf = call ptr @malloc(i64 %szl)\0A call ptr @memset(ptr %buf, i32 0, i64 %szl)\0A\00" @.str11851 = private unnamed_addr constant [96 x i8] c" %sp = getelementptr inbounds [32 x ptr], ptr @dynS, i32 0, i32 %dc\0A store ptr %buf, ptr %sp\0A\00" @.str11852 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00" @.str11853 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00" @.str11854 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11855 = private unnamed_addr constant [97 x i8] c" %hp = getelementptr inbounds [32 x ptr], ptr @dynH, i32 0, i32 %dc\0A store ptr %hbuf, ptr %hp\0A\00" @.str11856 = private unnamed_addr constant [100 x i8] c" %fp = getelementptr inbounds [32 x i32], ptr @dynF, i32 0, i32 %dc\0A store i32 %nfields, ptr %fp\0A\00" @.str11857 = private unnamed_addr constant [100 x i8] c" %np = getelementptr inbounds [32 x ptr], ptr @dynName, i32 0, i32 %dc\0A store ptr %name, ptr %np\0A\00" @.str11858 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00" @.str11859 = private unnamed_addr constant [73 x i8] c"\0A %dc1 = add i32 %dc, 1\0A store i32 %dc1, ptr @dyn_count\0A ret i32 %id\0A\00" @.str11860 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00" @.str11861 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str11862 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str11863 = private unnamed_addr constant [187 x i8] c"\0A %hp = getelementptr inbounds [32 x ptr], ptr @dynH, i32 0, i32 %dyn\0A %h = load ptr, ptr %hp\0A %slot = getelementptr inbounds i8, ptr %h, i32 %e\0A store i8 1, ptr %slot\0A ret void\0A}\0A\0A\00" @.str11864 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00" @.str11865 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str11866 = private unnamed_addr constant [187 x i8] c"\0A %hp = getelementptr inbounds [32 x ptr], ptr @dynH, i32 0, i32 %dyn\0A %h = load ptr, ptr %hp\0A %slot = getelementptr inbounds i8, ptr %h, i32 %e\0A store i8 0, ptr %slot\0A ret void\0A}\0A\0A\00" @.str11867 = private unnamed_addr constant [88 x i8] c"define i32 @ludic_entity_count() {\0Aentry:\0A %n = load i32, ptr @L_entc\0A ret i32 %n\0A}\0A\0A\00" @.str11868 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00" @.str11869 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str11870 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00" @.str11871 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00" @.str11872 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00" @.str11873 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13478: index out of range: \00" @.str11874 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13479: index out of range: \00" @.str11875 = private unnamed_addr constant [7 x i8] c" %mdc\00" @.str11876 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00" @.str11877 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str11878 = private unnamed_addr constant [7 x i8] c" %mde\00" @.str11879 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00" @.str11880 = private unnamed_addr constant [5 x i8] c", 0\0A\00" @.str11881 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00" @.str11882 = private unnamed_addr constant [13 x i8] c", label %mdh\00" @.str11883 = private unnamed_addr constant [13 x i8] c", label %mdn\00" @.str11884 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11885 = private unnamed_addr constant [4 x i8] c"mdh\00" @.str11886 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str11887 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13483: index out of range: \00" @.str11888 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11889 = private unnamed_addr constant [4 x i8] c"mdn\00" @.str11890 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11891 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str11892 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13497: index out of range: \00" @.str11893 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13498: index out of range: \00" @.str11894 = private unnamed_addr constant [4 x i8] c"int\00" @.str11895 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str11896 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11897 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00" @.str11898 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str11899 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str11900 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00" @.str11901 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13519: index out of range: \00" @.str11902 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13520: index out of range: \00" @.str11903 = private unnamed_addr constant [6 x i8] c" %sm\00" @.str11904 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00" @.str11905 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11906 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00" @.str11907 = private unnamed_addr constant [12 x i8] c", label %sh\00" @.str11908 = private unnamed_addr constant [12 x i8] c", label %sn\00" @.str11909 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11910 = private unnamed_addr constant [3 x i8] c"sh\00" @.str11911 = private unnamed_addr constant [8 x i8] c":\0A %sr\00" @.str11912 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00" @.str11913 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00" @.str11914 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11915 = private unnamed_addr constant [3 x i8] c"sn\00" @.str11916 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11917 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00" @.str11918 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00" @.str11919 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00" @.str11920 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00" @.str11921 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00" @.str11922 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00" @.str11923 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00" @.str11924 = private unnamed_addr constant [93 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A br i1 %isa, label %chk, label %cont\0A\00" @.str11925 = private unnamed_addr constant [115 x i8] c"chk:\0A %h = call i32 @ludic_has(i32 %e, i32 %p)\0A %hit = icmp ne i32 %h, 0\0A br i1 %hit, label %hitb, label %cont\0A\00" @.str11926 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00" @.str11927 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00" @.str11928 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00" @.str11929 = private unnamed_addr constant [1 x i8] c"\00" @.str11930 = private unnamed_addr constant [4 x i8] c"int\00" @.str11931 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13560: index out of range: \00" @.str11932 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_prop_count() {\0Aentry:\0A\00" @.str11933 = private unnamed_addr constant [52 x i8] c" %d = load i32, ptr @dyn_count\0A %n = add i32 %d, \00" @.str11934 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %n\0A}\0A\0A\00" @.str11935 = private unnamed_addr constant [46 x i8] c"define ptr @ludic_prop_name(i32 %i) {\0Aentry:\0A\00" @.str11936 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13571: index out of range: \00" @.str11937 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13572: index out of range: \00" @.str11938 = private unnamed_addr constant [6 x i8] c" %pe\00" @.str11939 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %i, \00" @.str11940 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11941 = private unnamed_addr constant [12 x i8] c" br i1 %pe\00" @.str11942 = private unnamed_addr constant [12 x i8] c", label %ph\00" @.str11943 = private unnamed_addr constant [12 x i8] c", label %pn\00" @.str11944 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11945 = private unnamed_addr constant [3 x i8] c"ph\00" @.str11946 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str11947 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11948 = private unnamed_addr constant [3 x i8] c"pn\00" @.str11949 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11950 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %i, \00" @.str11951 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" @.str11952 = private unnamed_addr constant [70 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %pbad, label %pdyn\0A\00" @.str11953 = private unnamed_addr constant [120 x i8] c"pdyn:\0A %np = getelementptr inbounds [32 x ptr], ptr @dynName, i32 0, i32 %dyn\0A %nm = load ptr, ptr %np\0A ret ptr %nm\0A\00" @.str11954 = private unnamed_addr constant [17 x i8] c"pbad:\0A ret ptr \00" @.str11955 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str11956 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_field_count(i32 %p) {\0Aentry:\0A\00" @.str11957 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13590: index out of range: \00" @.str11958 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13591: index out of range: \00" @.str11959 = private unnamed_addr constant [7 x i8] c" %fce\00" @.str11960 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str11961 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11962 = private unnamed_addr constant [13 x i8] c" br i1 %fce\00" @.str11963 = private unnamed_addr constant [13 x i8] c", label %fch\00" @.str11964 = private unnamed_addr constant [13 x i8] c", label %fcn\00" @.str11965 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11966 = private unnamed_addr constant [4 x i8] c"fch\00" @.str11967 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str11968 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11969 = private unnamed_addr constant [4 x i8] c"fcn\00" @.str11970 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11971 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00" @.str11972 = private unnamed_addr constant [35 x i8] c"\0A %dc = load i32, ptr @dyn_count\0A\00" @.str11973 = private unnamed_addr constant [72 x i8] c" %ib = icmp uge i32 %dyn, %dc\0A br i1 %ib, label %fcbad, label %fcdyn\0A\00" @.str11974 = private unnamed_addr constant [118 x i8] c"fcdyn:\0A %fp = getelementptr inbounds [32 x i32], ptr @dynF, i32 0, i32 %dyn\0A %fn = load i32, ptr %fp\0A ret i32 %fn\0A\00" @.str11975 = private unnamed_addr constant [23 x i8] c"fcbad:\0A ret i32 0\0A}\0A\0A\00" @.str11976 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_name(i32 %p, i32 %f) {\0Aentry:\0A\00" @.str11977 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13609: index out of range: \00" @.str11978 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13610: index out of range: \00" @.str11979 = private unnamed_addr constant [7 x i8] c" %fne\00" @.str11980 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str11981 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11982 = private unnamed_addr constant [13 x i8] c" br i1 %fne\00" @.str11983 = private unnamed_addr constant [13 x i8] c", label %fnk\00" @.str11984 = private unnamed_addr constant [13 x i8] c", label %fnn\00" @.str11985 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11986 = private unnamed_addr constant [4 x i8] c"fnk\00" @.str11987 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str11988 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13616: index out of range: \00" @.str11989 = private unnamed_addr constant [2 x i8] c"_\00" @.str11990 = private unnamed_addr constant [8 x i8] c" %fnfe\00" @.str11991 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str11992 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11993 = private unnamed_addr constant [14 x i8] c" br i1 %fnfe\00" @.str11994 = private unnamed_addr constant [14 x i8] c", label %fnfh\00" @.str11995 = private unnamed_addr constant [14 x i8] c", label %fnfn\00" @.str11996 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str11997 = private unnamed_addr constant [5 x i8] c"fnfh\00" @.str11998 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str11999 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12000 = private unnamed_addr constant [5 x i8] c"fnfn\00" @.str12001 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12002 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str12003 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12004 = private unnamed_addr constant [4 x i8] c"fnn\00" @.str12005 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12006 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str12007 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str12008 = private unnamed_addr constant [55 x i8] c"define ptr @ludic_field_type(i32 %p, i32 %f) {\0Aentry:\0A\00" @.str12009 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13635: index out of range: \00" @.str12010 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13636: index out of range: \00" @.str12011 = private unnamed_addr constant [7 x i8] c" %fte\00" @.str12012 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00" @.str12013 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12014 = private unnamed_addr constant [13 x i8] c" br i1 %fte\00" @.str12015 = private unnamed_addr constant [13 x i8] c", label %ftk\00" @.str12016 = private unnamed_addr constant [13 x i8] c", label %ftn\00" @.str12017 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12018 = private unnamed_addr constant [4 x i8] c"ftk\00" @.str12019 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12020 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13642: index out of range: \00" @.str12021 = private unnamed_addr constant [2 x i8] c"_\00" @.str12022 = private unnamed_addr constant [8 x i8] c" %ftfe\00" @.str12023 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00" @.str12024 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12025 = private unnamed_addr constant [14 x i8] c" br i1 %ftfe\00" @.str12026 = private unnamed_addr constant [14 x i8] c", label %ftfh\00" @.str12027 = private unnamed_addr constant [14 x i8] c", label %ftfn\00" @.str12028 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12029 = private unnamed_addr constant [5 x i8] c"ftfh\00" @.str12030 = private unnamed_addr constant [13 x i8] c":\0A ret ptr \00" @.str12031 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12032 = private unnamed_addr constant [5 x i8] c"ftfn\00" @.str12033 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12034 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str12035 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12036 = private unnamed_addr constant [4 x i8] c"ftn\00" @.str12037 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12038 = private unnamed_addr constant [11 x i8] c" ret ptr \00" @.str12039 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str12040 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00" @.str12041 = private unnamed_addr constant [6 x i8] c"Input\00" @.str12042 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str12043 = private unnamed_addr constant [7 x i8] c"Update\00" @.str12044 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str12045 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str12046 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00" @.str12047 = private unnamed_addr constant [7 x i8] c"Render\00" @.str12048 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str12049 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str12050 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13682: index out of range: \00" @.str12051 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13682: index out of range: \00" @.str12052 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str12053 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str12054 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str12055 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str12056 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" @.str12057 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str12058 = private unnamed_addr constant [6 x i8] c"Start\00" @.str12059 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str12060 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" @.str12061 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13704: index out of range: \00" @.str12062 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" @.str12063 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13704: index out of range: \00" @.str12064 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str12065 = private unnamed_addr constant [14 x i8] c"program_start\00" @.str12066 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00" @.str12067 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str12068 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str12069 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00" @.str12070 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str12071 = private unnamed_addr constant [4 x i8] c", 0\00" @.str12072 = private unnamed_addr constant [11 x i8] c"rt_running\00" @.str12073 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00" @.str12074 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str12075 = private unnamed_addr constant [4 x i8] c", 0\00" @.str12076 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str12077 = private unnamed_addr constant [3 x i8] c", \00" @.str12078 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12079 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" @.str12080 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12081 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00" @.str12082 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str12083 = private unnamed_addr constant [12 x i8] c"input_drive\00" @.str12084 = private unnamed_addr constant [27 x i8] c"call i32 @fn_input_drive()\00" @.str12085 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str12086 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" @.str12087 = private unnamed_addr constant [8 x i8] c"rt_poll\00" @.str12088 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00" @.str12089 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str12090 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00" @.str12091 = private unnamed_addr constant [11 x i8] c"rt_ui_tick\00" @.str12092 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00" @.str12093 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_ui_tick(i32 \00" @.str12094 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12095 = private unnamed_addr constant [6 x i8] c"Input\00" @.str12096 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00" @.str12097 = private unnamed_addr constant [7 x i8] c"Update\00" @.str12098 = private unnamed_addr constant [11 x i8] c"LateUpdate\00" @.str12099 = private unnamed_addr constant [9 x i8] c"rt_clear\00" @.str12100 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_clear(i32 \00" @.str12101 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12102 = private unnamed_addr constant [7 x i8] c"Render\00" @.str12103 = private unnamed_addr constant [8 x i8] c"Overlay\00" @.str12104 = private unnamed_addr constant [11 x i8] c"rt_present\00" @.str12105 = private unnamed_addr constant [30 x i8] c" call void @fn_rt_present()\0A\00" @.str12106 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00" @.str12107 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12108 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12109 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str12110 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00" @.str12111 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str12112 = private unnamed_addr constant [7 x i8] c"done:\0A\00" @.str12113 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00" @.str12114 = private unnamed_addr constant [7 x i8] c"OnQuit\00" @.str12115 = private unnamed_addr constant [13 x i8] c"program_quit\00" @.str12116 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00" @.str12117 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00" @.str12118 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00" @.str12119 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00" @.str12120 = private unnamed_addr constant [15 x i8] c"machine state \00" @.str12121 = private unnamed_addr constant [27 x i8] c" is not a variant of enum \00" @.str12122 = private unnamed_addr constant [1 x i8] c"\00" @.str12123 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00" @.str12124 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00" @.str12125 = private unnamed_addr constant [2 x i8] c")\00" @.str12126 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13813: index out of range: \00" @.str12127 = private unnamed_addr constant [6 x i8] c"smend\00" @.str12128 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13818: index out of range: \00" @.str12129 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str12130 = private unnamed_addr constant [3 x i8] c", \00" @.str12131 = private unnamed_addr constant [6 x i8] c"sbody\00" @.str12132 = private unnamed_addr constant [5 x i8] c"sarm\00" @.str12133 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12134 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12135 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12136 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12137 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12138 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12139 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12140 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12141 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12142 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12143 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12144 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13840: index out of range: \00" @.str12145 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13843: index out of range: \00" @.str12146 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13843: index out of range: \00" @.str12147 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str12148 = private unnamed_addr constant [10 x i8] c", ptr @g_\00" @.str12149 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12150 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00" @.str12151 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12152 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12153 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00" @.str12154 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00" @.str12155 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str12156 = private unnamed_addr constant [30 x i8] c" call void @L_scene_leave()\0A\00" @.str12157 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str12158 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00" @.str12159 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00" @.str12160 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str12161 = private unnamed_addr constant [5 x i8] c"file\00" @.str12162 = private unnamed_addr constant [4 x i8] c"%io\00" @.str12163 = private unnamed_addr constant [3 x i8] c" \00" @.str12164 = private unnamed_addr constant [14 x i8] c" = call i64 @\00" @.str12165 = private unnamed_addr constant [6 x i8] c"(ptr \00" @.str12166 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00" @.str12167 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00" @.str12168 = private unnamed_addr constant [5 x i8] c"size\00" @.str12169 = private unnamed_addr constant [6 x i8] c"%ioff\00" @.str12170 = private unnamed_addr constant [3 x i8] c" \00" @.str12171 = private unnamed_addr constant [12 x i8] c" = add i64 \00" @.str12172 = private unnamed_addr constant [3 x i8] c", \00" @.str12173 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12174 = private unnamed_addr constant [5 x i8] c"%ioa\00" @.str12175 = private unnamed_addr constant [3 x i8] c" \00" @.str12176 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00" @.str12177 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12178 = private unnamed_addr constant [5 x i8] c"save\00" @.str12179 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str12180 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12181 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str12182 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12183 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str12184 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12185 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str12186 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12187 = private unnamed_addr constant [6 x i8] c"%ioff\00" @.str12188 = private unnamed_addr constant [3 x i8] c" \00" @.str12189 = private unnamed_addr constant [12 x i8] c" = add i64 \00" @.str12190 = private unnamed_addr constant [3 x i8] c", \00" @.str12191 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12192 = private unnamed_addr constant [2 x i8] c"0\00" @.str12193 = private unnamed_addr constant [8 x i8] c"@L_entc\00" @.str12194 = private unnamed_addr constant [2 x i8] c"4\00" @.str12195 = private unnamed_addr constant [9 x i8] c"@L_freen\00" @.str12196 = private unnamed_addr constant [2 x i8] c"4\00" @.str12197 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00" @.str12198 = private unnamed_addr constant [5 x i8] c", 4\0A\00" @.str12199 = private unnamed_addr constant [9 x i8] c"@L_alive\00" @.str12200 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str12201 = private unnamed_addr constant [12 x i8] c"@L_freelist\00" @.str12202 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str12203 = private unnamed_addr constant [8 x i8] c"@L_kind\00" @.str12204 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str12205 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00" @.str12206 = private unnamed_addr constant [8 x i8] c"%nalive\00" @.str12207 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13925: index out of range: \00" @.str12208 = private unnamed_addr constant [4 x i8] c"@g_\00" @.str12209 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13925: index out of range: \00" @.str12210 = private unnamed_addr constant [2 x i8] c"4\00" @.str12211 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13929: index out of range: \00" @.str12212 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:13930: index out of range: \00" @.str12213 = private unnamed_addr constant [5 x i8] c"%csz\00" @.str12214 = private unnamed_addr constant [3 x i8] c" \00" @.str12215 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00" @.str12216 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00" @.str12217 = private unnamed_addr constant [10 x i8] c") to i64\0A\00" @.str12218 = private unnamed_addr constant [4 x i8] c"@S_\00" @.str12219 = private unnamed_addr constant [4 x i8] c"@H_\00" @.str12220 = private unnamed_addr constant [5 x i8] c"file\00" @.str12221 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00" @.str12222 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00" @.str12223 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00" @.str12224 = private unnamed_addr constant [14 x i8] c"rt_save_state\00" @.str12225 = private unnamed_addr constant [14 x i8] c"rt_load_state\00" @.str12226 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00" @.str12227 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00" @.str12228 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str12229 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00" @.str12230 = private unnamed_addr constant [7 x i8] c"fwrite\00" @.str12231 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00" @.str12232 = private unnamed_addr constant [68 x i8] c" %c = call i32 @fclose(ptr %f)\0A br label %out\0Aout:\0A ret void\0A}\0A\0A\00" @.str12233 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00" @.str12234 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00" @.str12235 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str12236 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00" @.str12237 = private unnamed_addr constant [6 x i8] c"fread\00" @.str12238 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00" @.str12239 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00" @.str12240 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00" @.str12241 = private unnamed_addr constant [5 x i8] c"save\00" @.str12242 = private unnamed_addr constant [1 x i8] c"\00" @.str12243 = private unnamed_addr constant [5 x i8] c"%wsn\00" @.str12244 = private unnamed_addr constant [3 x i8] c" \00" @.str12245 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" @.str12246 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" @.str12247 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str12248 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str12249 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str12250 = private unnamed_addr constant [5 x i8] c"load\00" @.str12251 = private unnamed_addr constant [1 x i8] c"\00" @.str12252 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str12253 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00" @.str12254 = private unnamed_addr constant [5 x i8] c"size\00" @.str12255 = private unnamed_addr constant [1 x i8] c"\00" @.str12256 = private unnamed_addr constant [5 x i8] c"%wzn\00" @.str12257 = private unnamed_addr constant [3 x i8] c" \00" @.str12258 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00" @.str12259 = private unnamed_addr constant [9 x i8] c" to i32\0A\00" @.str12260 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str12261 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str12262 = private unnamed_addr constant [5 x i8] c"file\00" @.str12263 = private unnamed_addr constant [3 x i8] c"i8\00" @.str12264 = private unnamed_addr constant [3 x i8] c"i8\00" @.str12265 = private unnamed_addr constant [2 x i8] c"1\00" @.str12266 = private unnamed_addr constant [2 x i8] c"4\00" @.str12267 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14023: index out of range: \00" @.str12268 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14024: index out of range: \00" @.str12269 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14027: index out of range: \00" @.str12270 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14027: index out of range: \00" @.str12271 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14039: index out of range: \00" @.str12272 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14039: index out of range: \00" @.str12273 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14046: index out of range: \00" @.str12274 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14046: index out of range: \00" @.str12275 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14054: index out of range: \00" @.str12276 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14054: index out of range: \00" @.str12277 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00" @.str12278 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12279 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14076: index out of range: \00" @.str12280 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14077: index out of range: \00" @.str12281 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14080: index out of range: \00" @.str12282 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14081: index out of range: \00" @.str12283 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14087: index out of range: \00" @.str12284 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14089: index out of range: \00" @.str12285 = private unnamed_addr constant [4 x i8] c"ptr\00" @.str12286 = private unnamed_addr constant [13 x i8] c"@Sync field \00" @.str12287 = private unnamed_addr constant [2 x i8] c".\00" @.str12288 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14089: index out of range: \00" @.str12289 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00" @.str12290 = private unnamed_addr constant [7 x i8] c"model \00" @.str12291 = private unnamed_addr constant [9 x i8] c" @Syncs \00" @.str12292 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00" @.str12293 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00" @.str12294 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00" @.str12295 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14113: index out of range: \00" @.str12296 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14114: index out of range: \00" @.str12297 = private unnamed_addr constant [3 x i8] c" \00" @.str12298 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str12299 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str12300 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str12301 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str12302 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14120: index out of range: \00" @.str12303 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14121: index out of range: \00" @.str12304 = private unnamed_addr constant [3 x i8] c" \00" @.str12305 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str12306 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12307 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str12308 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12309 = private unnamed_addr constant [3 x i8] c" \00" @.str12310 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" @.str12311 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12312 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str12313 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12314 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str12315 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12316 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14125: index out of range: \00" @.str12317 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str12318 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00" @.str12319 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00" @.str12320 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str12321 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14146: index out of range: \00" @.str12322 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14147: index out of range: \00" @.str12323 = private unnamed_addr constant [3 x i8] c" \00" @.str12324 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00" @.str12325 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00" @.str12326 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00" @.str12327 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00" @.str12328 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14153: index out of range: \00" @.str12329 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14154: index out of range: \00" @.str12330 = private unnamed_addr constant [3 x i8] c" \00" @.str12331 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00" @.str12332 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12333 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00" @.str12334 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12335 = private unnamed_addr constant [3 x i8] c" \00" @.str12336 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00" @.str12337 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12338 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00" @.str12339 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12340 = private unnamed_addr constant [7 x i8] c", i64 \00" @.str12341 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12342 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14158: index out of range: \00" @.str12343 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str12344 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00" @.str12345 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str12346 = private unnamed_addr constant [62 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A %k = load i32, ptr %kp\0A\00" @.str12347 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14181: index out of range: \00" @.str12348 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14181: index out of range: \00" @.str12349 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14182: index out of range: \00" @.str12350 = private unnamed_addr constant [5 x i8] c" %c\00" @.str12351 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str12352 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12353 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str12354 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str12355 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str12356 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12357 = private unnamed_addr constant [2 x i8] c"h\00" @.str12358 = private unnamed_addr constant [7 x i8] c":\0A %r\00" @.str12359 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00" @.str12360 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00" @.str12361 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12362 = private unnamed_addr constant [2 x i8] c"n\00" @.str12363 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12364 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" @.str12365 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str12366 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str12367 = private unnamed_addr constant [62 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A %k = load i32, ptr %kp\0A\00" @.str12368 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14197: index out of range: \00" @.str12369 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14197: index out of range: \00" @.str12370 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14198: index out of range: \00" @.str12371 = private unnamed_addr constant [5 x i8] c" %c\00" @.str12372 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str12373 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12374 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str12375 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str12376 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str12377 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12378 = private unnamed_addr constant [2 x i8] c"h\00" @.str12379 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00" @.str12380 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00" @.str12381 = private unnamed_addr constant [2 x i8] c"n\00" @.str12382 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12383 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str12384 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00" @.str12385 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00" @.str12386 = private unnamed_addr constant [62 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A %k = load i32, ptr %kp\0A\00" @.str12387 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14215: index out of range: \00" @.str12388 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14215: index out of range: \00" @.str12389 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14216: index out of range: \00" @.str12390 = private unnamed_addr constant [5 x i8] c" %c\00" @.str12391 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00" @.str12392 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12393 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str12394 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str12395 = private unnamed_addr constant [11 x i8] c", label %n\00" @.str12396 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12397 = private unnamed_addr constant [2 x i8] c"h\00" @.str12398 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00" @.str12399 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14219: index out of range: \00" @.str12400 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12401 = private unnamed_addr constant [2 x i8] c"n\00" @.str12402 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12403 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00" @.str12404 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00" @.str12405 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str12406 = private unnamed_addr constant [82 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A %v = load i32, ptr %p\0A ret i32 %v\0A}\0A\0A\00" @.str12407 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00" @.str12408 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str12409 = private unnamed_addr constant [80 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A store i32 %id, ptr %p\0A ret void\0A}\0A\0A\00" @.str12410 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00" @.str12411 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00" @.str12412 = private unnamed_addr constant [66 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A %o = load i32, ptr %p\0A\00" @.str12413 = private unnamed_addr constant [106 x i8] c" %lid = load i32, ptr @L_localid\0A %eq = icmp eq i32 %o, %lid\0A %r = zext i1 %eq to i32\0A ret i32 %r\0A}\0A\0A\00" @.str12414 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00" @.str12415 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00" @.str12416 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00" @.str12417 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00" @.str12418 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00" @.str12419 = private unnamed_addr constant [71 x i8] c" %l0 = icmp slt i32 %len, 0\0A %len1 = select i1 %l0, i32 0, i32 %len\0A\00" @.str12420 = private unnamed_addr constant [76 x i8] c" %l1 = icmp sgt i32 %len1, 2048\0A %n = select i1 %l1, i32 2048, i32 %len1\0A\00" @.str12421 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00" @.str12422 = private unnamed_addr constant [78 x i8] c" %t1 = add i32 %t, 1\0A %tn = srem i32 %t1, 64\0A %full = icmp eq i32 %tn, %h\0A\00" @.str12423 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00" @.str12424 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str12425 = private unnamed_addr constant [80 x i8] c" %row = getelementptr inbounds [64 x [2048 x i8]], ptr @L_netq, i32 0, i32 %t\0A\00" @.str12426 = private unnamed_addr constant [76 x i8] c" %nz = zext i32 %n to i64\0A call ptr @memcpy(ptr %row, ptr %buf, i64 %nz)\0A\00" @.str12427 = private unnamed_addr constant [97 x i8] c" %lp = getelementptr inbounds [64 x i32], ptr @L_netlen, i32 0, i32 %t\0A store i32 %n, ptr %lp\0A\00" @.str12428 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00" @.str12429 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00" @.str12430 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00" @.str12431 = private unnamed_addr constant [95 x i8] c" %h = load i32, ptr @L_nethead\0A %t = load i32, ptr @L_nettail\0A %empty = icmp eq i32 %h, %t\0A\00" @.str12432 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00" @.str12433 = private unnamed_addr constant [5 x i8] c"go:\0A\00" @.str12434 = private unnamed_addr constant [99 x i8] c" %lp = getelementptr inbounds [64 x i32], ptr @L_netlen, i32 0, i32 %h\0A %ln = load i32, ptr %lp\0A\00" @.str12435 = private unnamed_addr constant [74 x i8] c" %big = icmp sgt i32 %ln, %cap\0A %n = select i1 %big, i32 %cap, i32 %ln\0A\00" @.str12436 = private unnamed_addr constant [80 x i8] c" %row = getelementptr inbounds [64 x [2048 x i8]], ptr @L_netq, i32 0, i32 %h\0A\00" @.str12437 = private unnamed_addr constant [76 x i8] c" %nz = zext i32 %n to i64\0A call ptr @memcpy(ptr %buf, ptr %row, i64 %nz)\0A\00" @.str12438 = private unnamed_addr constant [93 x i8] c" %h1 = add i32 %h, 1\0A %hn = srem i32 %h1, 64\0A store i32 %hn, ptr @L_nethead\0A ret i32 %n\0A\00" @.str12439 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00" @.str12440 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14292: index out of range: \00" @.str12441 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14298: index out of range: \00" @.str12442 = private unnamed_addr constant [9 x i8] c"net_send\00" @.str12443 = private unnamed_addr constant [11 x i8] c"L_net_send\00" @.str12444 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str12445 = private unnamed_addr constant [11 x i8] c"L_net_poll\00" @.str12446 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00" @.str12447 = private unnamed_addr constant [9 x i8] c"net_poll\00" @.str12448 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00" @.str12449 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00" @.str12450 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00" @.str12451 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00" @.str12452 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00" @.str12453 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14317: index out of range: \00" @.str12454 = private unnamed_addr constant [5 x i8] c" %c\00" @.str12455 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00" @.str12456 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12457 = private unnamed_addr constant [11 x i8] c" br i1 %c\00" @.str12458 = private unnamed_addr constant [11 x i8] c", label %h\00" @.str12459 = private unnamed_addr constant [11 x i8] c", label %x\00" @.str12460 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12461 = private unnamed_addr constant [2 x i8] c"h\00" @.str12462 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12463 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14328: index out of range: \00" @.str12464 = private unnamed_addr constant [2 x i8] c"_\00" @.str12465 = private unnamed_addr constant [6 x i8] c" %fa\00" @.str12466 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00" @.str12467 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12468 = private unnamed_addr constant [6 x i8] c" %fv\00" @.str12469 = private unnamed_addr constant [9 x i8] c" = load \00" @.str12470 = private unnamed_addr constant [10 x i8] c", ptr %fa\00" @.str12471 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12472 = private unnamed_addr constant [3 x i8] c", \00" @.str12473 = private unnamed_addr constant [5 x i8] c" %fv\00" @.str12474 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14334: index out of range: \00" @.str12475 = private unnamed_addr constant [17 x i8] c" call void @ev_\00" @.str12476 = private unnamed_addr constant [2 x i8] c"(\00" @.str12477 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12478 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str12479 = private unnamed_addr constant [2 x i8] c"x\00" @.str12480 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12481 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str12482 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00" @.str12483 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14353: index out of range: \00" @.str12484 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14353: index out of range: \00" @.str12485 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14354: index out of range: \00" @.str12486 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14355: index out of range: \00" @.str12487 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00" @.str12488 = private unnamed_addr constant [6 x i8] c"panel\00" @.str12489 = private unnamed_addr constant [4 x i8] c"col\00" @.str12490 = private unnamed_addr constant [4 x i8] c"row\00" @.str12491 = private unnamed_addr constant [6 x i8] c"label\00" @.str12492 = private unnamed_addr constant [7 x i8] c"button\00" @.str12493 = private unnamed_addr constant [6 x i8] c"image\00" @.str12494 = private unnamed_addr constant [7 x i8] c"spacer\00" @.str12495 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14386: index out of range: \00" @.str12496 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14386: index out of range: \00" @.str12497 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14392: index out of range: \00" @.str12498 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14395: index out of range: \00" @.str12499 = private unnamed_addr constant [5 x i8] c"font\00" @.str12500 = private unnamed_addr constant [5 x i8] c"size\00" @.str12501 = private unnamed_addr constant [3 x i8] c"fg\00" @.str12502 = private unnamed_addr constant [6 x i8] c"align\00" @.str12503 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14400: index out of range: \00" @.str12504 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14401: index out of range: \00" @.str12505 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14403: index out of range: \00" @.str12506 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14403: index out of range: \00" @.str12507 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14404: index out of range: \00" @.str12508 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14405: index out of range: \00" @.str12509 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14416: index out of range: \00" @.str12510 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14422: index out of range: \00" @.str12511 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14422: index out of range: \00" @.str12512 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14422: index out of range: \00" @.str12513 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14428: index out of range: \00" @.str12514 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14428: index out of range: \00" @.str12515 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14439: index out of range: \00" @.str12516 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14439: index out of range: \00" @.str12517 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14439: index out of range: \00" @.str12518 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14439: index out of range: \00" @.str12519 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14444: index out of range: \00" @.str12520 = private unnamed_addr constant [3 x i8] c"id\00" @.str12521 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00" @.str12522 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12523 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12524 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12525 = private unnamed_addr constant [2 x i8] c"w\00" @.str12526 = private unnamed_addr constant [2 x i8] c"h\00" @.str12527 = private unnamed_addr constant [2 x i8] c"x\00" @.str12528 = private unnamed_addr constant [2 x i8] c"y\00" @.str12529 = private unnamed_addr constant [4 x i8] c"pad\00" @.str12530 = private unnamed_addr constant [4 x i8] c"gap\00" @.str12531 = private unnamed_addr constant [3 x i8] c"bg\00" @.str12532 = private unnamed_addr constant [3 x i8] c"fg\00" @.str12533 = private unnamed_addr constant [7 x i8] c"border\00" @.str12534 = private unnamed_addr constant [5 x i8] c"grow\00" @.str12535 = private unnamed_addr constant [5 x i8] c"font\00" @.str12536 = private unnamed_addr constant [5 x i8] c"size\00" @.str12537 = private unnamed_addr constant [6 x i8] c"inset\00" @.str12538 = private unnamed_addr constant [6 x i8] c"focus\00" @.str12539 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00" @.str12540 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12541 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14475: index out of range: \00" @.str12542 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14478: index out of range: \00" @.str12543 = private unnamed_addr constant [2 x i8] c"1\00" @.str12544 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14483: index out of range: \00" @.str12545 = private unnamed_addr constant [3 x i8] c"id\00" @.str12546 = private unnamed_addr constant [5 x i8] c"goto\00" @.str12547 = private unnamed_addr constant [5 x i8] c"text\00" @.str12548 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00" @.str12549 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12550 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12551 = private unnamed_addr constant [5 x i8] c"skin\00" @.str12552 = private unnamed_addr constant [6 x i8] c"image\00" @.str12553 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00" @.str12554 = private unnamed_addr constant [2 x i8] c")\00" @.str12555 = private unnamed_addr constant [5 x i8] c"skin\00" @.str12556 = private unnamed_addr constant [6 x i8] c"align\00" @.str12557 = private unnamed_addr constant [7 x i8] c"center\00" @.str12558 = private unnamed_addr constant [4 x i8] c"end\00" @.str12559 = private unnamed_addr constant [2 x i8] c"1\00" @.str12560 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00" @.str12561 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str12562 = private unnamed_addr constant [3 x i8] c", \00" @.str12563 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14527: index out of range: \00" @.str12564 = private unnamed_addr constant [7 x i8] c" %arg_\00" @.str12565 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14527: index out of range: \00" @.str12566 = private unnamed_addr constant [5 x i8] c"void\00" @.str12567 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00" @.str12568 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12569 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14546: index out of range: \00" @.str12570 = private unnamed_addr constant [9 x i8] c" store \00" @.str12571 = private unnamed_addr constant [7 x i8] c" %arg_\00" @.str12572 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12573 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12574 = private unnamed_addr constant [5 x i8] c"void\00" @.str12575 = private unnamed_addr constant [11 x i8] c"function '\00" @.str12576 = private unnamed_addr constant [41 x i8] c"' can reach its end without returning a \00" @.str12577 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str12578 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str12579 = private unnamed_addr constant [5 x i8] c"void\00" @.str12580 = private unnamed_addr constant [12 x i8] c" ret void\0A\00" @.str12581 = private unnamed_addr constant [6 x i8] c"load \00" @.str12582 = private unnamed_addr constant [14 x i8] c", ptr %retval\00" @.str12583 = private unnamed_addr constant [7 x i8] c" ret \00" @.str12584 = private unnamed_addr constant [2 x i8] c" \00" @.str12585 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12586 = private unnamed_addr constant [8 x i8] c"define \00" @.str12587 = private unnamed_addr constant [6 x i8] c" @fn_\00" @.str12588 = private unnamed_addr constant [2 x i8] c"(\00" @.str12589 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00" @.str12590 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str12591 = private unnamed_addr constant [1 x i8] c"\00" @.str12592 = private unnamed_addr constant [4 x i8] c"int\00" @.str12593 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00" @.str12594 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str12595 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str12596 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00" @.str12597 = private unnamed_addr constant [8 x i8] c"rt_init\00" @.str12598 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00" @.str12599 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str12600 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str12601 = private unnamed_addr constant [6 x i8] c"ret:\0A\00" @.str12602 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00" @.str12603 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str12604 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12605 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str12606 = private unnamed_addr constant [3 x i8] c"}\0A\00" @.str12607 = private unnamed_addr constant [5 x i8] c"void\00" @.str12608 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00" @.str12609 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00" @.str12610 = private unnamed_addr constant [23 x i8] c"define void @fn__test_\00" @.str12611 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00" @.str12612 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00" @.str12613 = private unnamed_addr constant [38 x i8] c"@L_test_fail = internal global i32 0\0A\00" @.str12614 = private unnamed_addr constant [94 x i8] c"@.fmt_test_sum = private unnamed_addr constant [28 x i8] c\22== %d passed, %d failed ==\5C0A\5C00\22\0A\00" @.str12615 = private unnamed_addr constant [91 x i8] c"@.fmt_test_none = private unnamed_addr constant [20 x i8] c\22no test named \5C22%s\5C22\5C0A\5C00\22\0A\00" @.str12616 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14626: index out of range: \00" @.str12617 = private unnamed_addr constant [86 x i8] c"@.fmt_expect = private unnamed_addr constant [22 x i8] c\22%s (got %d, want %d)\5C0A\5C00\22\0A\00" @.str12618 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00" @.str12619 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00" @.str12620 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00" @.str12621 = private unnamed_addr constant [51 x i8] c" %failed = alloca i32\0A store i32 0, ptr %failed\0A\00" @.str12622 = private unnamed_addr constant [45 x i8] c" %ran = alloca i32\0A store i32 0, ptr %ran\0A\00" @.str12623 = private unnamed_addr constant [54 x i8] c" %filter = alloca ptr\0A store ptr null, ptr %filter\0A\00" @.str12624 = private unnamed_addr constant [6 x i8] c"tfilt\00" @.str12625 = private unnamed_addr constant [7 x i8] c"tbegin\00" @.str12626 = private unnamed_addr constant [22 x i8] c"icmp sgt i32 %argc, 1\00" @.str12627 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12628 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12629 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12630 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12631 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12632 = private unnamed_addr constant [36 x i8] c"getelementptr ptr, ptr %argv, i64 1\00" @.str12633 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00" @.str12634 = private unnamed_addr constant [13 x i8] c" store ptr \00" @.str12635 = private unnamed_addr constant [15 x i8] c", ptr %filter\0A\00" @.str12636 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12637 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12638 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12639 = private unnamed_addr constant [24 x i8] c" call void @rt_init()\0A\00" @.str12640 = private unnamed_addr constant [31 x i8] c" call void @L_init_globals()\0A\00" @.str12641 = private unnamed_addr constant [8 x i8] c"ok - \00" @.str12642 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14650: index out of range: \00" @.str12643 = private unnamed_addr constant [8 x i8] c"FAIL - \00" @.str12644 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14651: index out of range: \00" @.str12645 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14652: index out of range: \00" @.str12646 = private unnamed_addr constant [5 x i8] c"tcmp\00" @.str12647 = private unnamed_addr constant [5 x i8] c"trun\00" @.str12648 = private unnamed_addr constant [6 x i8] c"tskip\00" @.str12649 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" @.str12650 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00" @.str12651 = private unnamed_addr constant [7 x i8] c", null\00" @.str12652 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12653 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12654 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12655 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12656 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12657 = private unnamed_addr constant [22 x i8] c"call i32 @strcmp(ptr \00" @.str12658 = private unnamed_addr constant [7 x i8] c", ptr \00" @.str12659 = private unnamed_addr constant [2 x i8] c")\00" @.str12660 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str12661 = private unnamed_addr constant [4 x i8] c", 0\00" @.str12662 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12663 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12664 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12665 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12666 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12667 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" @.str12668 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12669 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12670 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str12671 = private unnamed_addr constant [12 x i8] c", ptr %ran\0A\00" @.str12672 = private unnamed_addr constant [33 x i8] c" store i32 0, ptr @L_test_fail\0A\00" @.str12673 = private unnamed_addr constant [23 x i8] c" call void @fn__test_\00" @.str12674 = private unnamed_addr constant [4 x i8] c"()\0A\00" @.str12675 = private unnamed_addr constant [27 x i8] c"load i32, ptr @L_test_fail\00" @.str12676 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00" @.str12677 = private unnamed_addr constant [4 x i8] c", 0\00" @.str12678 = private unnamed_addr constant [6 x i8] c"tpass\00" @.str12679 = private unnamed_addr constant [6 x i8] c"tfail\00" @.str12680 = private unnamed_addr constant [6 x i8] c"tdone\00" @.str12681 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12682 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12683 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12684 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12685 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12686 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str12687 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12688 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12689 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12690 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12691 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" @.str12692 = private unnamed_addr constant [9 x i8] c"add i32 \00" @.str12693 = private unnamed_addr constant [4 x i8] c", 1\00" @.str12694 = private unnamed_addr constant [13 x i8] c" store i32 \00" @.str12695 = private unnamed_addr constant [15 x i8] c", ptr %failed\0A\00" @.str12696 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00" @.str12697 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12698 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12699 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12700 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12701 = private unnamed_addr constant [13 x i8] c" br label %\00" @.str12702 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12703 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12704 = private unnamed_addr constant [6 x i8] c"tnone\00" @.str12705 = private unnamed_addr constant [5 x i8] c"tsum\00" @.str12706 = private unnamed_addr constant [19 x i8] c"load i32, ptr %ran\00" @.str12707 = private unnamed_addr constant [22 x i8] c"load ptr, ptr %filter\00" @.str12708 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00" @.str12709 = private unnamed_addr constant [7 x i8] c", null\00" @.str12710 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str12711 = private unnamed_addr constant [4 x i8] c", 0\00" @.str12712 = private unnamed_addr constant [8 x i8] c"and i1 \00" @.str12713 = private unnamed_addr constant [3 x i8] c", \00" @.str12714 = private unnamed_addr constant [9 x i8] c" br i1 \00" @.str12715 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12716 = private unnamed_addr constant [10 x i8] c", label %\00" @.str12717 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12718 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12719 = private unnamed_addr constant [56 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_none, ptr \00" @.str12720 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12721 = private unnamed_addr constant [13 x i8] c" ret i32 1\0A\00" @.str12722 = private unnamed_addr constant [3 x i8] c":\0A\00" @.str12723 = private unnamed_addr constant [22 x i8] c"load i32, ptr %failed\00" @.str12724 = private unnamed_addr constant [9 x i8] c"sub i32 \00" @.str12725 = private unnamed_addr constant [3 x i8] c", \00" @.str12726 = private unnamed_addr constant [55 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_test_sum, i32 \00" @.str12727 = private unnamed_addr constant [7 x i8] c", i32 \00" @.str12728 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12729 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00" @.str12730 = private unnamed_addr constant [4 x i8] c", 0\00" @.str12731 = private unnamed_addr constant [11 x i8] c"select i1 \00" @.str12732 = private unnamed_addr constant [15 x i8] c", i32 0, i32 1\00" @.str12733 = private unnamed_addr constant [11 x i8] c" ret i32 \00" @.str12734 = private unnamed_addr constant [4 x i8] c"\0A}\0A\00" @.str12735 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14710: index out of range: \00" @.str12736 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14714: index out of range: \00" @.str12737 = private unnamed_addr constant [11 x i8] c"function '\00" @.str12738 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" @.str12739 = private unnamed_addr constant [2 x i8] c":\00" @.str12740 = private unnamed_addr constant [2 x i8] c")\00" @.str12741 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14738: index out of range: \00" @.str12742 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14743: index out of range: \00" @.str12743 = private unnamed_addr constant [2 x i8] c"'\00" @.str12744 = private unnamed_addr constant [30 x i8] c"' is defined twice (first in \00" @.str12745 = private unnamed_addr constant [2 x i8] c":\00" @.str12746 = private unnamed_addr constant [2 x i8] c")\00" @.str12747 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14785: index out of range: \00" @.str12748 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14787: index out of range: \00" @.str12749 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14805: index out of range: \00" @.str12750 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14805: index out of range: \00" @.str12751 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14810: index out of range: \00" @.str12752 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14810: index out of range: \00" @.str12753 = private unnamed_addr constant [23 x i8] c"declare i32 @getpid()\0A\00" @.str12754 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str12755 = private unnamed_addr constant [68 x i8] c"@.fmt_panic = private unnamed_addr constant [6 x i8] c\22%s%s\5C0A\5C00\22\0A\00" @.str12756 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str12757 = private unnamed_addr constant [78 x i8] c"@.fmt_bounds = private unnamed_addr constant [14 x i8] c\22%s%d, len %d\5C0A\5C00\22\0A\00" @.str12758 = private unnamed_addr constant [34 x i8] c"%Result = type { i32, i32, ptr }\0A\00" @.str12759 = private unnamed_addr constant [29 x i8] c"%Option = type { i32, i32 }\0A\00" @.str12760 = private unnamed_addr constant [33 x i8] c"@L_cov_lines = internal global [\00" @.str12761 = private unnamed_addr constant [10 x i8] c" x i32] [\00" @.str12762 = private unnamed_addr constant [3 x i8] c", \00" @.str12763 = private unnamed_addr constant [5 x i8] c"i32 \00" @.str12764 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:14864: index out of range: \00" @.str12765 = private unnamed_addr constant [3 x i8] c"]\0A\00" @.str12766 = private unnamed_addr constant [32 x i8] c"@L_cov_hits = internal global [\00" @.str12767 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00" @.str12768 = private unnamed_addr constant [32 x i8] c"@L_cov_n = internal global i32 \00" @.str12769 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12770 = private unnamed_addr constant [15 x i8] c"LUDIC_COVERAGE\00" @.str12771 = private unnamed_addr constant [10 x i8] c"ludic.cov\00" @.str12772 = private unnamed_addr constant [2 x i8] c"w\00" @.str12773 = private unnamed_addr constant [73 x i8] c"@.cov_filefmt = private unnamed_addr constant [9 x i8] c\22FILE %s\5C0A\5C00\22\0A\00" @.str12774 = private unnamed_addr constant [70 x i8] c"@.cov_rowfmt = private unnamed_addr constant [7 x i8] c\22%d %d\5C0A\5C00\22\0A\00" @.str12775 = private unnamed_addr constant [37 x i8] c"declare i32 @fprintf(ptr, ptr, ...)\0A\00" @.str12776 = private unnamed_addr constant [26 x i8] c"declare i32 @atexit(ptr)\0A\00" @.str12777 = private unnamed_addr constant [34 x i8] c"define void @cov_dump() {\0Aentry:\0A\00" @.str12778 = private unnamed_addr constant [31 x i8] c" %env = call ptr @getenv(ptr \00" @.str12779 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12780 = private unnamed_addr constant [35 x i8] c" %noenv = icmp eq ptr %env, null\0A\00" @.str12781 = private unnamed_addr constant [33 x i8] c" %path = select i1 %noenv, ptr \00" @.str12782 = private unnamed_addr constant [12 x i8] c", ptr %env\0A\00" @.str12783 = private unnamed_addr constant [39 x i8] c" %f = call ptr @fopen(ptr %path, ptr \00" @.str12784 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12785 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00" @.str12786 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %done, label %write\0A\00" @.str12787 = private unnamed_addr constant [8 x i8] c"write:\0A\00" @.str12788 = private unnamed_addr constant [68 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_filefmt, ptr \00" @.str12789 = private unnamed_addr constant [3 x i8] c")\0A\00" @.str12790 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str12791 = private unnamed_addr constant [7 x i8] c"loop:\0A\00" @.str12792 = private unnamed_addr constant [46 x i8] c" %i = phi i32 [ 0, %write ], [ %i1, %body ]\0A\00" @.str12793 = private unnamed_addr constant [26 x i8] c" %go = icmp slt i32 %i, \00" @.str12794 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12795 = private unnamed_addr constant [40 x i8] c" br i1 %go, label %body, label %close\0A\00" @.str12796 = private unnamed_addr constant [7 x i8] c"body:\0A\00" @.str12797 = private unnamed_addr constant [33 x i8] c" %lp = getelementptr inbounds [\00" @.str12798 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_cov_lines, i32 0, i32 %i\0A\00" @.str12799 = private unnamed_addr constant [27 x i8] c" %lv = load i32, ptr %lp\0A\00" @.str12800 = private unnamed_addr constant [33 x i8] c" %hp = getelementptr inbounds [\00" @.str12801 = private unnamed_addr constant [41 x i8] c" x i32], ptr @L_cov_hits, i32 0, i32 %i\0A\00" @.str12802 = private unnamed_addr constant [27 x i8] c" %hv = load i32, ptr %hp\0A\00" @.str12803 = private unnamed_addr constant [81 x i8] c" call i32 (ptr, ptr, ...) @fprintf(ptr %f, ptr @.cov_rowfmt, i32 %lv, i32 %hv)\0A\00" @.str12804 = private unnamed_addr constant [23 x i8] c" %i1 = add i32 %i, 1\0A\00" @.str12805 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00" @.str12806 = private unnamed_addr constant [8 x i8] c"close:\0A\00" @.str12807 = private unnamed_addr constant [34 x i8] c" %rc = call i32 @fclose(ptr %f)\0A\00" @.str12808 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00" @.str12809 = private unnamed_addr constant [21 x i8] c"done:\0A ret void\0A}\0A\0A\00" @.str12810 = private unnamed_addr constant [34 x i8] c"define void @cov_init() {\0Aentry:\0A\00" @.str12811 = private unnamed_addr constant [40 x i8] c" %r = call i32 @atexit(ptr @cov_dump)\0A\00" @.str12812 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00" @.str12813 = private unnamed_addr constant [122 x i8] c"@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @cov_init, ptr null }]\0A\00" @.str12814 = private unnamed_addr constant [3 x i8] c"wb\00" @.str12815 = private unnamed_addr constant [7 x i8] c".ludic\00" @.str12816 = private unnamed_addr constant [2 x i8] c"/\00" @.str12817 = private unnamed_addr constant [15 x i8] c"if not exist \22\00" @.str12818 = private unnamed_addr constant [10 x i8] c"\22 mkdir \22\00" @.str12819 = private unnamed_addr constant [2 x i8] c"\22\00" @.str12820 = private unnamed_addr constant [10 x i8] c"mkdir -p \00" @.str12821 = private unnamed_addr constant [12 x i8] c"del /f /q \22\00" @.str12822 = private unnamed_addr constant [8 x i8] c"\22 2>nul\00" @.str12823 = private unnamed_addr constant [7 x i8] c"rm -f \00" @.str12824 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00" @.str12825 = private unnamed_addr constant [36 x i8] c"C:/Program Files/LLVM/bin/clang.exe\00" @.str12826 = private unnamed_addr constant [3 x i8] c"rb\00" @.str12827 = private unnamed_addr constant [2 x i8] c"\22\00" @.str12828 = private unnamed_addr constant [2 x i8] c"\22\00" @.str12829 = private unnamed_addr constant [6 x i8] c"clang\00" @.str12830 = private unnamed_addr constant [8 x i8] c"VERSION\00" @.str12831 = private unnamed_addr constant [24 x i8] c"ludic (version unknown)\00" @.str12832 = private unnamed_addr constant [7 x i8] c"ludic \00" @.str12833 = private unnamed_addr constant [1 x i8] c"\00" @.str12834 = private unnamed_addr constant [1 x i8] c"\00" @.str12835 = private unnamed_addr constant [2 x i8] c"?\00" @.str12836 = private unnamed_addr constant [4 x i8] c"ret\00" @.str12837 = private unnamed_addr constant [1 x i8] c"\00" @.str12838 = private unnamed_addr constant [10 x i8] c"--version\00" @.str12839 = private unnamed_addr constant [11 x i8] c"--windowed\00" @.str12840 = private unnamed_addr constant [11 x i8] c"--headless\00" @.str12841 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00" @.str12842 = private unnamed_addr constant [14 x i8] c"--emit-module\00" @.str12843 = private unnamed_addr constant [6 x i8] c"--fmt\00" @.str12844 = private unnamed_addr constant [13 x i8] c"--save-temps\00" @.str12845 = private unnamed_addr constant [6 x i8] c"--run\00" @.str12846 = private unnamed_addr constant [11 x i8] c"--coverage\00" @.str12847 = private unnamed_addr constant [9 x i8] c"--target\00" @.str12848 = private unnamed_addr constant [6 x i8] c"--gui\00" @.str12849 = private unnamed_addr constant [8 x i8] c"--title\00" @.str12850 = private unnamed_addr constant [7 x i8] c"--link\00" @.str12851 = private unnamed_addr constant [3 x i8] c"-o\00" @.str12852 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00" @.str12853 = private unnamed_addr constant [2 x i8] c"\0A\00" @.str12854 = private unnamed_addr constant [108 x i8] c"usage: ludicc [-o out] [--windowed|--headless] [--target triple] [--emit-llvm] [--save-temps]\0A\00" @.str12855 = private unnamed_addr constant [8 x i8] c"windows\00" @.str12856 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00" @.str12857 = private unnamed_addr constant [5 x i8] c"TEMP\00" @.str12858 = private unnamed_addr constant [2 x i8] c".\00" @.str12859 = private unnamed_addr constant [12 x i8] c"/ludic-run-\00" @.str12860 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00" @.str12861 = private unnamed_addr constant [5 x i8] c".exe\00" @.str12862 = private unnamed_addr constant [5 x i8] c".exe\00" @.str12863 = private unnamed_addr constant [4 x i8] c".ll\00" @.str12864 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00" @.str12865 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00" @.str12866 = private unnamed_addr constant [24 x i8] c"runtime/native/win32.ll\00" @.str12867 = private unnamed_addr constant [2 x i8] c" \00" @.str12868 = private unnamed_addr constant [63 x i8] c" -luser32 -lgdi32 -lxinput -lole32 -Wl,/ignore:importeddllmain\00" @.str12869 = private unnamed_addr constant [28 x i8] c"runtime/native/audio_win.ll\00" @.str12870 = private unnamed_addr constant [2 x i8] c" \00" @.str12871 = private unnamed_addr constant [19 x i8] c" -lxaudio2 -lole32\00" @.str12872 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00" @.str12873 = private unnamed_addr constant [2 x i8] c" \00" @.str12874 = private unnamed_addr constant [79 x i8] c" -framework Cocoa -Wl,-needed_framework,GameController -Wl,-rpath,@loader_path\00" @.str12875 = private unnamed_addr constant [24 x i8] c"runtime/native/audio.ll\00" @.str12876 = private unnamed_addr constant [2 x i8] c" \00" @.str12877 = private unnamed_addr constant [36 x i8] c" -Wl,-needed_framework,AVFoundation\00" @.str12878 = private unnamed_addr constant [2 x i8] c" \00" @.str12879 = private unnamed_addr constant [30 x i8] c"runtime/native/threads_win.ll\00" @.str12880 = private unnamed_addr constant [2 x i8] c" \00" @.str12881 = private unnamed_addr constant [26 x i8] c"runtime/native/threads.ll\00" @.str12882 = private unnamed_addr constant [2 x i8] c" \00" @.str12883 = private unnamed_addr constant [26 x i8] c"runtime/native/udp_win.ll\00" @.str12884 = private unnamed_addr constant [10 x i8] c" -lws2_32\00" @.str12885 = private unnamed_addr constant [2 x i8] c" \00" @.str12886 = private unnamed_addr constant [22 x i8] c"runtime/native/udp.ll\00" @.str12887 = private unnamed_addr constant [12 x i8] c" -ladvapi32\00" @.str12888 = private unnamed_addr constant [2 x i8] c" \00" @.str12889 = private unnamed_addr constant [30 x i8] c"runtime/native/process_win.ll\00" @.str12890 = private unnamed_addr constant [2 x i8] c" \00" @.str12891 = private unnamed_addr constant [26 x i8] c"runtime/native/process.ll\00" @.str12892 = private unnamed_addr constant [27 x i8] c"runtime/native/http_win.ll\00" @.str12893 = private unnamed_addr constant [2 x i8] c" \00" @.str12894 = private unnamed_addr constant [11 x i8] c" -lwinhttp\00" @.str12895 = private unnamed_addr constant [23 x i8] c"runtime/native/http.ll\00" @.str12896 = private unnamed_addr constant [2 x i8] c" \00" @.str12897 = private unnamed_addr constant [34 x i8] c" -Wl,-needed_framework,Foundation\00" @.str12898 = private unnamed_addr constant [25 x i8] c"runtime/native/gl_win.ll\00" @.str12899 = private unnamed_addr constant [32 x i8] c"runtime/native/gl_thunks_win.ll\00" @.str12900 = private unnamed_addr constant [31 x i8] c"runtime/native/gl_win_nowin.ll\00" @.str12901 = private unnamed_addr constant [27 x i8] c"runtime/native/win32_gl.ll\00" @.str12902 = private unnamed_addr constant [2 x i8] c" \00" @.str12903 = private unnamed_addr constant [2 x i8] c" \00" @.str12904 = private unnamed_addr constant [2 x i8] c" \00" @.str12905 = private unnamed_addr constant [29 x i8] c" -luser32 -lgdi32 -lopengl32\00" @.str12906 = private unnamed_addr constant [21 x i8] c"runtime/native/gl.ll\00" @.str12907 = private unnamed_addr constant [28 x i8] c"runtime/native/gl_thunks.ll\00" @.str12908 = private unnamed_addr constant [2 x i8] c" \00" @.str12909 = private unnamed_addr constant [2 x i8] c" \00" @.str12910 = private unnamed_addr constant [19 x i8] c" -framework OpenGL\00" @.str12911 = private unnamed_addr constant [28 x i8] c"runtime/native/vk_thunks.ll\00" @.str12912 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_mac.ll\00" @.str12913 = private unnamed_addr constant [25 x i8] c"runtime/native/vk_win.ll\00" @.str12914 = private unnamed_addr constant [2 x i8] c" \00" @.str12915 = private unnamed_addr constant [2 x i8] c" \00" @.str12916 = private unnamed_addr constant [50 x i8] c" -Wl,/subsystem:windows -Wl,/entry:mainCRTStartup\00" @.str12917 = private unnamed_addr constant [3 x i8] c" \22\00" @.str12918 = private unnamed_addr constant [43 x i8] c"selfhost.ludic:15271: index out of range: \00" @.str12919 = private unnamed_addr constant [2 x i8] c"\22\00" @.str12920 = private unnamed_addr constant [5 x i8] c" -o \00" @.str12921 = private unnamed_addr constant [2 x i8] c"\22\00" @.str12922 = private unnamed_addr constant [2 x i8] c"\22\00" @.str12923 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00" @.str12924 = private unnamed_addr constant [2 x i8] c"\22\00" @.str12925 = private unnamed_addr constant [2 x i8] c"\22\00" define i32 @lp_str_eq(ptr %a, ptr %b) { entry: br label %loop loop: %i = phi i32 [ 0, %entry ], [ %i1, %cont ] %pa = getelementptr inbounds i8, ptr %a, i32 %i %pb = getelementptr inbounds i8, ptr %b, i32 %i %ca = load i8, ptr %pa %cb = load i8, ptr %pb %df = icmp ne i8 %ca, %cb br i1 %df, label %ret0, label %chk chk: %zt = icmp eq i8 %ca, 0 br i1 %zt, label %ret1, label %cont cont: %i1 = add i32 %i, 1 br label %loop ret1: ret i32 1 ret0: ret i32 0 } define ptr @lp_str_concat(ptr %a, ptr %b) { entry: br label %al al: %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ] %pa = getelementptr inbounds i8, ptr %a, i32 %ia %cca = load i8, ptr %pa %za = icmp eq i8 %cca, 0 br i1 %za, label %bl0, label %alb alb: %ia1 = add i32 %ia, 1 br label %al bl0: br label %bl bl: %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ] %pb = getelementptr inbounds i8, ptr %b, i32 %ib %ccb = load i8, ptr %pb %zb = icmp eq i8 %ccb, 0 br i1 %zb, label %alloc, label %blb blb: %ib1 = add i32 %ib, 1 br label %bl alloc: %sum = add i32 %ia, %ib %sz = add i32 %sum, 1 %sz64 = sext i32 %sz to i64 %out = call ptr @malloc(i64 %sz64) br label %c1 c1: %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ] %d1 = icmp slt i32 %i, %ia br i1 %d1, label %c1b, label %c2i c1b: %s1 = getelementptr inbounds i8, ptr %a, i32 %i %v1 = load i8, ptr %s1 %o1 = getelementptr inbounds i8, ptr %out, i32 %i store i8 %v1, ptr %o1 %i1 = add i32 %i, 1 br label %c1 c2i: br label %c2 c2: %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ] %d2 = icmp slt i32 %j, %ib br i1 %d2, label %c2b, label %fin c2b: %s2 = getelementptr inbounds i8, ptr %b, i32 %j %v2 = load i8, ptr %s2 %oj = add i32 %ia, %j %o2 = getelementptr inbounds i8, ptr %out, i32 %oj store i8 %v2, ptr %o2 %j1 = add i32 %j, 1 br label %c2 fin: %pe = getelementptr inbounds i8, ptr %out, i32 %sum store i8 0, ptr %pe ret ptr %out } define ptr @lp_int_str(i32 %n0) { entry: %buf = call ptr @malloc(i64 24) %isneg = icmp slt i32 %n0, 0 %neg = sub i32 0, %n0 %n = select i1 %isneg, i32 %neg, i32 %n0 %term = getelementptr inbounds i8, ptr %buf, i32 23 store i8 0, ptr %term %iszero = icmp eq i32 %n0, 0 br i1 %iszero, label %zc, label %dl zc: %zp = getelementptr inbounds i8, ptr %buf, i32 22 store i8 48, ptr %zp ret ptr %zp dl: br label %dloop dloop: %pos = phi i32 [ 22, %dl ], [ %pos2, %dbody ] %cur = phi i32 [ %n, %dl ], [ %cur2, %dbody ] %done = icmp eq i32 %cur, 0 br i1 %done, label %sign, label %dbody dbody: %d = urem i32 %cur, 10 %ch = add i32 %d, 48 %ch8 = trunc i32 %ch to i8 %pp = getelementptr inbounds i8, ptr %buf, i32 %pos store i8 %ch8, ptr %pp %cur2 = udiv i32 %cur, 10 %pos2 = sub i32 %pos, 1 br label %dloop sign: br i1 %isneg, label %addneg, label %fin addneg: %sp = getelementptr inbounds i8, ptr %buf, i32 %pos store i8 45, ptr %sp %posn = sub i32 %pos, 1 br label %fin fin: %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ] %rpos = add i32 %fpos, 1 %res = getelementptr inbounds i8, ptr %buf, i32 %rpos ret ptr %res } define ptr @lp_str_slice(ptr %s, i32 %start, i32 %end) { entry: %len = sub i32 %end, %start %sz = add i32 %len, 1 %sz64 = sext i32 %sz to i64 %out = call ptr @malloc(i64 %sz64) br label %loop loop: %i = phi i32 [ 0, %entry ], [ %i1, %body ] %d = icmp slt i32 %i, %len br i1 %d, label %body, label %fin body: %si = add i32 %start, %i %sp = getelementptr inbounds i8, ptr %s, i32 %si %c = load i8, ptr %sp %op = getelementptr inbounds i8, ptr %out, i32 %i store i8 %c, ptr %op %i1 = add i32 %i, 1 br label %loop fin: %tp = getelementptr inbounds i8, ptr %out, i32 %len store i8 0, ptr %tp ret ptr %out } declare i32 @remove(ptr) declare i32 @access(ptr, i32) declare i32 @mkdir(ptr, i32) declare i32 @rename(ptr, ptr) declare ptr @opendir(ptr) declare ptr @readdir(ptr) declare i32 @closedir(ptr) define ptr @lp_fs_dup(ptr %s, i32 %n) { entry: %nz = zext i32 %n to i64 %t = add i64 %nz, 1 %m = call ptr @malloc(i64 %t) call ptr @memcpy(ptr %m, ptr %s, i64 %nz) %end = getelementptr i8, ptr %m, i32 %n store i8 0, ptr %end ret ptr %m } define ptr @lp_fs_strdup(ptr %s) { entry: %l = call i64 @strlen(ptr %s) %li = trunc i64 %l to i32 %r = call ptr @lp_fs_dup(ptr %s, i32 %li) ret ptr %r } define i32 @lp_fs_lastslash(ptr %s) { entry: %ip = alloca i32 %rp = alloca i32 store i32 0, ptr %ip store i32 -1, ptr %rp br label %lp lp: %i = load i32, ptr %ip %p = getelementptr i8, ptr %s, i32 %i %b = load i8, ptr %p %c = zext i8 %b to i32 %z = icmp eq i32 %c, 0 br i1 %z, label %done, label %go go: %sl = icmp eq i32 %c, 47 br i1 %sl, label %set, label %nx set: store i32 %i, ptr %rp br label %nx nx: %i1 = add i32 %i, 1 store i32 %i1, ptr %ip br label %lp done: %r = load i32, ptr %rp ret i32 %r } define ptr @lp_path_join(ptr %a, ptr %b) { entry: %la64 = call i64 @strlen(ptr %a) %la = trunc i64 %la64 to i32 %lb64 = call i64 @strlen(ptr %b) %lb = trunc i64 %lb64 to i32 %b0 = load i8, ptr %b %b0i = zext i8 %b0 to i32 %babs = icmp eq i32 %b0i, 47 br i1 %babs, label %retb, label %ka retb: %rb = call ptr @lp_fs_strdup(ptr %b) ret ptr %rb ka: %aemp = icmp eq i32 %la, 0 br i1 %aemp, label %retb2, label %kb retb2: %rb2 = call ptr @lp_fs_strdup(ptr %b) ret ptr %rb2 kb: %bemp = icmp eq i32 %lb, 0 br i1 %bemp, label %reta, label %chk reta: %ra = call ptr @lp_fs_strdup(ptr %a) ret ptr %ra chk: %lam1 = sub i32 %la, 1 %pe = getelementptr i8, ptr %a, i32 %lam1 %ae = load i8, ptr %pe %aei = zext i8 %ae to i32 %ends = icmp eq i32 %aei, 47 %sep = select i1 %ends, i32 0, i32 1 %tot = add i32 %la, %lb %tot2 = add i32 %tot, %sep %tot3 = add i32 %tot2, 1 %totz = zext i32 %tot3 to i64 %m = call ptr @malloc(i64 %totz) %laz = zext i32 %la to i64 call ptr @memcpy(ptr %m, ptr %a, i64 %laz) br i1 %ends, label %nosep, label %wsep wsep: %sp = getelementptr i8, ptr %m, i32 %la store i8 47, ptr %sp br label %after nosep: br label %after after: %boff = add i32 %la, %sep %dp = getelementptr i8, ptr %m, i32 %boff %lbz = zext i32 %lb to i64 call ptr @memcpy(ptr %dp, ptr %b, i64 %lbz) %endoff = add i32 %boff, %lb %ep = getelementptr i8, ptr %m, i32 %endoff store i8 0, ptr %ep ret ptr %m } define ptr @lp_path_base(ptr %s) { entry: %ls = call i32 @lp_fs_lastslash(ptr %s) %none = icmp eq i32 %ls, -1 br i1 %none, label %whole, label %tail whole: %r = call ptr @lp_fs_strdup(ptr %s) ret ptr %r tail: %st = add i32 %ls, 1 %p = getelementptr i8, ptr %s, i32 %st %r2 = call ptr @lp_fs_strdup(ptr %p) ret ptr %r2 } define ptr @lp_path_dir(ptr %s) { entry: %ls = call i32 @lp_fs_lastslash(ptr %s) %none = icmp eq i32 %ls, -1 br i1 %none, label %dot, label %chk0 dot: %d = call ptr @lp_fs_strdup(ptr @fn_str_dot) ret ptr %d chk0: %isroot = icmp eq i32 %ls, 0 br i1 %isroot, label %root, label %cut root: %r = call ptr @lp_fs_strdup(ptr @fn_str_slash) ret ptr %r cut: %r2 = call ptr @lp_fs_dup(ptr %s, i32 %ls) ret ptr %r2 } define ptr @lp_path_ext(ptr %s) { entry: %ls = call i32 @lp_fs_lastslash(ptr %s) %bstart = add i32 %ls, 1 %dp = alloca i32 %ip = alloca i32 store i32 -1, ptr %dp store i32 %bstart, ptr %ip br label %lp lp: %i = load i32, ptr %ip %p = getelementptr i8, ptr %s, i32 %i %b = load i8, ptr %p %c = zext i8 %b to i32 %z = icmp eq i32 %c, 0 br i1 %z, label %done, label %go go: %dot = icmp eq i32 %c, 46 br i1 %dot, label %sd, label %nx sd: store i32 %i, ptr %dp br label %nx nx: %i1 = add i32 %i, 1 store i32 %i1, ptr %ip br label %lp done: %d = load i32, ptr %dp %nod = icmp eq i32 %d, -1 br i1 %nod, label %empty, label %chkpos empty: %e = call ptr @lp_fs_strdup(ptr @fn_str_empty) ret ptr %e chkpos: %atstart = icmp eq i32 %d, %bstart br i1 %atstart, label %empty2, label %take empty2: %e2 = call ptr @lp_fs_strdup(ptr @fn_str_empty) ret ptr %e2 take: %pp = getelementptr i8, ptr %s, i32 %d %r = call ptr @lp_fs_strdup(ptr %pp) ret ptr %r } define ptr @lp_path_stem(ptr %s) { entry: %base = call ptr @lp_path_base(ptr %s) %ext = call ptr @lp_path_ext(ptr %s) %bl64 = call i64 @strlen(ptr %base) %bl = trunc i64 %bl64 to i32 %el64 = call i64 @strlen(ptr %ext) %el = trunc i64 %el64 to i32 %keep = sub i32 %bl, %el %r = call ptr @lp_fs_dup(ptr %base, i32 %keep) ret ptr %r } define ptr @lp_path_norm(ptr %s) { entry: %len64 = call i64 @strlen(ptr %s) %len = trunc i64 %len64 to i32 %cap = add i32 %len, 2 %capz = zext i32 %cap to i64 %out = call ptr @malloc(i64 %capz) %stz = mul i32 %cap, 4 %stzz = zext i32 %stz to i64 %segst = call ptr @malloc(i64 %stzz) %b0 = load i8, ptr %s %b0i = zext i8 %b0 to i32 %abs = icmp eq i32 %b0i, 47 %ip = alloca i32 %op = alloca i32 %scp = alloca i32 store i32 0, ptr %ip store i32 0, ptr %scp br i1 %abs, label %ldr, label %noldr ldr: store i8 47, ptr %out store i32 1, ptr %op br label %seg noldr: store i32 0, ptr %op br label %seg seg: br label %sksl sksl: %i = load i32, ptr %ip %pp = getelementptr i8, ptr %s, i32 %i %cc = load i8, ptr %pp %cci = zext i8 %cc to i32 %issl = icmp eq i32 %cci, 47 br i1 %issl, label %adv, label %segstart adv: %i2 = add i32 %i, 1 store i32 %i2, ptr %ip br label %sksl segstart: %ss = load i32, ptr %ip br label %scan scan: %j = load i32, ptr %ip %pj = getelementptr i8, ptr %s, i32 %j %cj = load i8, ptr %pj %cji = zext i8 %cj to i32 %endc = icmp eq i32 %cji, 0 %slc = icmp eq i32 %cji, 47 %stop = or i1 %endc, %slc br i1 %stop, label %seghave, label %scanadv scanadv: %j1 = add i32 %j, 1 store i32 %j1, ptr %ip br label %scan seghave: %se = load i32, ptr %ip %slen = sub i32 %se, %ss %emptyseg = icmp eq i32 %slen, 0 br i1 %emptyseg, label %atend, label %classify classify: %is1 = icmp eq i32 %slen, 1 %c0p = getelementptr i8, ptr %s, i32 %ss %c0 = load i8, ptr %c0p %c0i = zext i8 %c0 to i32 %isdotchar = icmp eq i32 %c0i, 46 %isdot = and i1 %is1, %isdotchar br i1 %isdot, label %contseg, label %chkdd chkdd: %is2 = icmp eq i32 %slen, 2 %d0p = getelementptr i8, ptr %s, i32 %ss %d0 = load i8, ptr %d0p %d0i = zext i8 %d0 to i32 %d1o = add i32 %ss, 1 %d1p = getelementptr i8, ptr %s, i32 %d1o %d1 = load i8, ptr %d1p %d1i = zext i8 %d1 to i32 %dd0 = icmp eq i32 %d0i, 46 %dd1 = icmp eq i32 %d1i, 46 %ddx = and i1 %dd0, %dd1 %isdd = and i1 %is2, %ddx br i1 %isdd, label %dotdot, label %keepseg dotdot: %sc = load i32, ptr %scp %has = icmp sgt i32 %sc, 0 br i1 %has, label %pop, label %chkrel pop: %sc1 = sub i32 %sc, 1 %stp = getelementptr i32, ptr %segst, i32 %sc1 %newop = load i32, ptr %stp store i32 %newop, ptr %op store i32 %sc1, ptr %scp br label %contseg chkrel: br i1 %abs, label %contseg, label %keepseg keepseg: %sc2 = load i32, ptr %scp %o0 = load i32, ptr %op %stp2 = getelementptr i32, ptr %segst, i32 %sc2 store i32 %o0, ptr %stp2 %sc2n = add i32 %sc2, 1 store i32 %sc2n, ptr %scp %cpp = alloca i32 store i32 %ss, ptr %cpp br label %cpy cpy: %k = load i32, ptr %cpp %klt = icmp slt i32 %k, %se br i1 %klt, label %cpyb, label %cpysl cpyb: %skp = getelementptr i8, ptr %s, i32 %k %sk = load i8, ptr %skp %oo = load i32, ptr %op %dkp = getelementptr i8, ptr %out, i32 %oo store i8 %sk, ptr %dkp %oo1 = add i32 %oo, 1 store i32 %oo1, ptr %op %k1 = add i32 %k, 1 store i32 %k1, ptr %cpp br label %cpy cpysl: %oc = load i32, ptr %op %scp3 = getelementptr i8, ptr %out, i32 %oc store i8 47, ptr %scp3 %oc1 = add i32 %oc, 1 store i32 %oc1, ptr %op br label %contseg contseg: %ci = load i32, ptr %ip %cip = getelementptr i8, ptr %s, i32 %ci %cic = load i8, ptr %cip %cici = zext i8 %cic to i32 %atz = icmp eq i32 %cici, 0 br i1 %atz, label %finish, label %seg atend: br label %finish finish: %fo = load i32, ptr %op %gt1 = icmp sgt i32 %fo, 1 br i1 %gt1, label %trimchk, label %fdefault trimchk: %lasto = sub i32 %fo, 1 %lop = getelementptr i8, ptr %out, i32 %lasto %lc = load i8, ptr %lop %lci = zext i8 %lc to i32 %istsl = icmp eq i32 %lci, 47 br i1 %istsl, label %trim, label %term trim: store i32 %lasto, ptr %op br label %term fdefault: br label %term term: %eo = load i32, ptr %op %ez = icmp eq i32 %eo, 0 br i1 %ez, label %emptyout, label %putnul emptyout: store i8 46, ptr %out %e1 = getelementptr i8, ptr %out, i32 1 store i8 0, ptr %e1 ret ptr %out putnul: %ep = getelementptr i8, ptr %out, i32 %eo store i8 0, ptr %ep ret ptr %out } define i32 @lp_fs_exists(ptr %p) { entry: %ip = call i32 @lp_pak_has(ptr %p) %inpak = icmp ne i32 %ip, 0 br i1 %inpak, label %yes, label %disk yes: ret i32 1 disk: %r = call i32 @access(ptr %p, i32 0) %ok = icmp eq i32 %r, 0 %z = zext i1 %ok to i32 ret i32 %z } define i32 @lp_fs_is_dir(ptr %p) { entry: %d = call ptr @opendir(ptr %p) %nz = icmp ne ptr %d, null br i1 %nz, label %yes, label %no yes: call i32 @closedir(ptr %d) ret i32 1 no: ret i32 0 } define i32 @lp_fs_size(ptr %p) { entry: %pn = call i32 @lp_pak_bytes(ptr %p) %inpak = icmp sge i32 %pn, 0 br i1 %inpak, label %packed, label %disk packed: ret i32 %pn disk: %f = call ptr @fopen(ptr %p, ptr @fn_str_rb) %nz = icmp ne ptr %f, null br i1 %nz, label %ok, label %bad bad: ret i32 -1 ok: call i32 @fseek(ptr %f, i64 0, i32 2) %n = call i64 @ftell(ptr %f) call i32 @fclose(ptr %f) %ni = trunc i64 %n to i32 ret i32 %ni } define ptr @lp_fs_readall(ptr %p, ptr %lenout) { entry: store i32 0, ptr %lenout %f = call ptr @lp_pak_open(ptr %p, ptr @fn_str_rb) %nz = icmp ne ptr %f, null br i1 %nz, label %ok, label %bad bad: ret ptr null ok: call i32 @fseek(ptr %f, i64 0, i32 2) %n64 = call i64 @ftell(ptr %f) call i32 @fseek(ptr %f, i64 0, i32 0) %n = trunc i64 %n64 to i32 %cap = add i64 %n64, 1 %m = call ptr @malloc(i64 %cap) %rd = call i64 @fread(ptr %m, i64 1, i64 %n64, ptr %f) call i32 @fclose(ptr %f) %rdi = trunc i64 %rd to i32 %endp = getelementptr i8, ptr %m, i32 %rdi store i8 0, ptr %endp store i32 %rdi, ptr %lenout ret ptr %m } define ptr @lp_fs_read_text(ptr %p) { entry: %lp = alloca i32 %r = call ptr @lp_fs_readall(ptr %p, ptr %lp) ret ptr %r } define i32 @lp_fs_write_text(ptr %p, ptr %s) { entry: %tmp = call ptr @lp_path_join_ext(ptr %p, ptr @fn_str_dottmp) %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb) %nz = icmp ne ptr %f, null br i1 %nz, label %ok, label %bad bad: ret i32 0 ok: %n = call i64 @strlen(ptr %s) %w = call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f) call i32 @fclose(ptr %f) %rr = call i32 @rename(ptr %tmp, ptr %p) %ok2 = icmp eq i32 %rr, 0 %z = zext i1 %ok2 to i32 ret i32 %z } define ptr @lp_path_join_ext(ptr %a, ptr %b) { entry: %la = call i64 @strlen(ptr %a) %lb = call i64 @strlen(ptr %b) %sum = add i64 %la, %lb %tot = add i64 %sum, 1 %m = call ptr @malloc(i64 %tot) call ptr @memcpy(ptr %m, ptr %a, i64 %la) %m2 = getelementptr i8, ptr %m, i64 %la call ptr @memcpy(ptr %m2, ptr %b, i64 %lb) %ep = getelementptr i8, ptr %m, i64 %sum store i8 0, ptr %ep ret ptr %m } define i32 @lp_fs_append_text(ptr %p, ptr %s) { entry: %f = call ptr @fopen(ptr %p, ptr @fn_str_ab) %nz = icmp ne ptr %f, null br i1 %nz, label %ok, label %bad bad: ret i32 0 ok: %n = call i64 @strlen(ptr %s) call i64 @fwrite(ptr %s, i64 1, i64 %n, ptr %f) call i32 @fclose(ptr %f) ret i32 1 } define i32 @lp_fs_remove(ptr %p) { entry: %r = call i32 @remove(ptr %p) %ok = icmp eq i32 %r, 0 %z = zext i1 %ok to i32 ret i32 %z } define i32 @lp_fs_copy(ptr %src, ptr %dst) { entry: %lp = alloca i32 %buf = call ptr @lp_fs_readall(ptr %src, ptr %lp) %nz = icmp ne ptr %buf, null br i1 %nz, label %ok, label %bad bad: ret i32 0 ok: %tmp = call ptr @lp_path_join_ext(ptr %dst, ptr @fn_str_dottmp) %f = call ptr @fopen(ptr %tmp, ptr @fn_str_wb) %fnz = icmp ne ptr %f, null br i1 %fnz, label %w, label %bad w: %n = load i32, ptr %lp %nz64 = zext i32 %n to i64 call i64 @fwrite(ptr %buf, i64 1, i64 %nz64, ptr %f) call i32 @fclose(ptr %f) %rr = call i32 @rename(ptr %tmp, ptr %dst) %ok2 = icmp eq i32 %rr, 0 %z = zext i1 %ok2 to i32 ret i32 %z } define i32 @lp_fs_mkdir(ptr %p) { entry: %dup = call ptr @lp_fs_strdup(ptr %p) %ip = alloca i32 store i32 1, ptr %ip br label %lp lp: %i = load i32, ptr %ip %pp = getelementptr i8, ptr %dup, i32 %i %c = load i8, ptr %pp %ci = zext i8 %c to i32 %z = icmp eq i32 %ci, 0 br i1 %z, label %fin, label %go go: %sl = icmp eq i32 %ci, 47 br i1 %sl, label %cut, label %nx cut: store i8 0, ptr %pp call i32 @mkdir(ptr %dup, i32 493) store i8 47, ptr %pp br label %nx nx: %i1 = add i32 %i, 1 store i32 %i1, ptr %ip br label %lp fin: call i32 @mkdir(ptr %dup, i32 493) %r = call i32 @lp_fs_is_dir(ptr %p) ret i32 %r } define ptr @lp_fs_list(ptr %path) { entry: %h = call ptr @malloc(i64 16) %d0 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0 %d1 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1 %d2 = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 2 %datap = alloca ptr %cntp = alloca i32 %capp = alloca i32 %init = call ptr @malloc(i64 128) store ptr %init, ptr %datap store i32 0, ptr %cntp store i32 16, ptr %capp %dir = call ptr @opendir(ptr %path) %dnz = icmp ne ptr %dir, null br i1 %dnz, label %rd, label %empty rd: %de = call ptr @readdir(ptr %dir) %denz = icmp ne ptr %de, null br i1 %denz, label %ent, label %closed ent: %namep = getelementptr i8, ptr %de, i32 21 %n0 = load i8, ptr %namep %n0i = zext i8 %n0 to i32 %isdot0 = icmp eq i32 %n0i, 46 br i1 %isdot0, label %chkdots, label %keep chkdots: %n1p = getelementptr i8, ptr %namep, i32 1 %n1 = load i8, ptr %n1p %n1i = zext i8 %n1 to i32 %n1z = icmp eq i32 %n1i, 0 br i1 %n1z, label %rd, label %chkdd chkdd: %isdot1 = icmp eq i32 %n1i, 46 br i1 %isdot1, label %chkdd2, label %keep chkdd2: %n2p = getelementptr i8, ptr %namep, i32 2 %n2 = load i8, ptr %n2p %n2i = zext i8 %n2 to i32 %n2z = icmp eq i32 %n2i, 0 br i1 %n2z, label %rd, label %keep keep: %nm = call ptr @lp_fs_strdup(ptr %namep) %cnt = load i32, ptr %cntp %cap = load i32, ptr %capp %full = icmp sge i32 %cnt, %cap br i1 %full, label %grow, label %put grow: %nc = mul i32 %cap, 2 store i32 %nc, ptr %capp %ncz = zext i32 %nc to i64 %nb = mul i64 %ncz, 8 %old = load ptr, ptr %datap %new = call ptr @realloc(ptr %old, i64 %nb) store ptr %new, ptr %datap br label %put put: %data = load ptr, ptr %datap %cnt2 = load i32, ptr %cntp %slot = getelementptr ptr, ptr %data, i32 %cnt2 store ptr %nm, ptr %slot %cnt3 = add i32 %cnt2, 1 store i32 %cnt3, ptr %cntp br label %rd closed: call i32 @closedir(ptr %dir) br label %sortit empty: br label %sortit sortit: %fdata = load ptr, ptr %datap %fcnt = load i32, ptr %cntp %aip = alloca i32 store i32 1, ptr %aip br label %so so: %ai = load i32, ptr %aip %ailt = icmp slt i32 %ai, %fcnt br i1 %ailt, label %sob, label %sod sob: %kp = getelementptr ptr, ptr %fdata, i32 %ai %key = load ptr, ptr %kp %jp = alloca i32 %aim1 = sub i32 %ai, 1 store i32 %aim1, ptr %jp br label %si si: %jj = load i32, ptr %jp %jge = icmp sge i32 %jj, 0 br i1 %jge, label %sic, label %sins sic: %ejp = getelementptr ptr, ptr %fdata, i32 %jj %ej = load ptr, ptr %ejp %cmp = call i32 @strcmp(ptr %ej, ptr %key) %gt = icmp sgt i32 %cmp, 0 br i1 %gt, label %shift, label %sins shift: %j1 = add i32 %jj, 1 %dp1 = getelementptr ptr, ptr %fdata, i32 %j1 store ptr %ej, ptr %dp1 %jm = sub i32 %jj, 1 store i32 %jm, ptr %jp br label %si sins: %jf = load i32, ptr %jp %jf1 = add i32 %jf, 1 %insp = getelementptr ptr, ptr %fdata, i32 %jf1 store ptr %key, ptr %insp %ai1 = add i32 %ai, 1 store i32 %ai1, ptr %aip br label %so sod: store ptr %fdata, ptr %d0 store i32 %fcnt, ptr %d1 store i32 %fcnt, ptr %d2 ret ptr %h } @.str12926 = private unnamed_addr constant [4 x i8] c"png\00" @.str12927 = private unnamed_addr constant [10 x i8] c"image/png\00" @.str12928 = private unnamed_addr constant [4 x i8] c"jpg\00" @.str12929 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str12930 = private unnamed_addr constant [5 x i8] c"jpeg\00" @.str12931 = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @.str12932 = private unnamed_addr constant [4 x i8] c"gif\00" @.str12933 = private unnamed_addr constant [10 x i8] c"image/gif\00" @.str12934 = private unnamed_addr constant [4 x i8] c"bmp\00" @.str12935 = private unnamed_addr constant [10 x i8] c"image/bmp\00" @.str12936 = private unnamed_addr constant [5 x i8] c"webp\00" @.str12937 = private unnamed_addr constant [11 x i8] c"image/webp\00" @.str12938 = private unnamed_addr constant [4 x i8] c"svg\00" @.str12939 = private unnamed_addr constant [14 x i8] c"image/svg+xml\00" @.str12940 = private unnamed_addr constant [4 x i8] c"txt\00" @.str12941 = private unnamed_addr constant [11 x i8] c"text/plain\00" @.str12942 = private unnamed_addr constant [3 x i8] c"md\00" @.str12943 = private unnamed_addr constant [14 x i8] c"text/markdown\00" @.str12944 = private unnamed_addr constant [4 x i8] c"csv\00" @.str12945 = private unnamed_addr constant [9 x i8] c"text/csv\00" @.str12946 = private unnamed_addr constant [5 x i8] c"html\00" @.str12947 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str12948 = private unnamed_addr constant [4 x i8] c"htm\00" @.str12949 = private unnamed_addr constant [10 x i8] c"text/html\00" @.str12950 = private unnamed_addr constant [4 x i8] c"css\00" @.str12951 = private unnamed_addr constant [9 x i8] c"text/css\00" @.str12952 = private unnamed_addr constant [3 x i8] c"js\00" @.str12953 = private unnamed_addr constant [16 x i8] c"text/javascript\00" @.str12954 = private unnamed_addr constant [5 x i8] c"json\00" @.str12955 = private unnamed_addr constant [17 x i8] c"application/json\00" @.str12956 = private unnamed_addr constant [4 x i8] c"xml\00" @.str12957 = private unnamed_addr constant [16 x i8] c"application/xml\00" @.str12958 = private unnamed_addr constant [4 x i8] c"zip\00" @.str12959 = private unnamed_addr constant [16 x i8] c"application/zip\00" @.str12960 = private unnamed_addr constant [4 x i8] c"pdf\00" @.str12961 = private unnamed_addr constant [16 x i8] c"application/pdf\00" @.str12962 = private unnamed_addr constant [4 x i8] c"wav\00" @.str12963 = private unnamed_addr constant [10 x i8] c"audio/wav\00" @.str12964 = private unnamed_addr constant [4 x i8] c"ogg\00" @.str12965 = private unnamed_addr constant [10 x i8] c"audio/ogg\00" @.str12966 = private unnamed_addr constant [4 x i8] c"mp3\00" @.str12967 = private unnamed_addr constant [11 x i8] c"audio/mpeg\00" @.str12968 = private unnamed_addr constant [4 x i8] c"ttf\00" @.str12969 = private unnamed_addr constant [9 x i8] c"font/ttf\00" @.str12970 = private unnamed_addr constant [4 x i8] c"otf\00" @.str12971 = private unnamed_addr constant [9 x i8] c"font/otf\00" @.str12972 = private unnamed_addr constant [6 x i8] c"ludic\00" @.str12973 = private unnamed_addr constant [13 x i8] c"text/x-ludic\00" @.str12974 = private unnamed_addr constant [25 x i8] c"application/octet-stream\00" @mime_tbl = private unnamed_addr constant [24 x { ptr, ptr }] [{ ptr, ptr } { ptr @.str12926, ptr @.str12927 }, { ptr, ptr } { ptr @.str12928, ptr @.str12929 }, { ptr, ptr } { ptr @.str12930, ptr @.str12931 }, { ptr, ptr } { ptr @.str12932, ptr @.str12933 }, { ptr, ptr } { ptr @.str12934, ptr @.str12935 }, { ptr, ptr } { ptr @.str12936, ptr @.str12937 }, { ptr, ptr } { ptr @.str12938, ptr @.str12939 }, { ptr, ptr } { ptr @.str12940, ptr @.str12941 }, { ptr, ptr } { ptr @.str12942, ptr @.str12943 }, { ptr, ptr } { ptr @.str12944, ptr @.str12945 }, { ptr, ptr } { ptr @.str12946, ptr @.str12947 }, { ptr, ptr } { ptr @.str12948, ptr @.str12949 }, { ptr, ptr } { ptr @.str12950, ptr @.str12951 }, { ptr, ptr } { ptr @.str12952, ptr @.str12953 }, { ptr, ptr } { ptr @.str12954, ptr @.str12955 }, { ptr, ptr } { ptr @.str12956, ptr @.str12957 }, { ptr, ptr } { ptr @.str12958, ptr @.str12959 }, { ptr, ptr } { ptr @.str12960, ptr @.str12961 }, { ptr, ptr } { ptr @.str12962, ptr @.str12963 }, { ptr, ptr } { ptr @.str12964, ptr @.str12965 }, { ptr, ptr } { ptr @.str12966, ptr @.str12967 }, { ptr, ptr } { ptr @.str12968, ptr @.str12969 }, { ptr, ptr } { ptr @.str12970, ptr @.str12971 }, { ptr, ptr } { ptr @.str12972, ptr @.str12973 }] define ptr @lp_mime_of(ptr %path) { entry: %ext = call ptr @lp_path_ext(ptr %path) %lc = call ptr @lp_mime_lc(ptr %ext) %ip = alloca i32 store i32 0, ptr %ip br label %lp lp: %i = load i32, ptr %ip %lt = icmp slt i32 %i, 24 br i1 %lt, label %body, label %def body: %kp = getelementptr [24 x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 0 %k = load ptr, ptr %kp %c = call i32 @strcmp(ptr %lc, ptr %k) %eq = icmp eq i32 %c, 0 br i1 %eq, label %hit, label %nx hit: %vp = getelementptr [24 x { ptr, ptr }], ptr @mime_tbl, i32 0, i32 %i, i32 1 %v = load ptr, ptr %vp %r = call ptr @lp_fs_strdup(ptr %v) ret ptr %r nx: %i1 = add i32 %i, 1 store i32 %i1, ptr %ip br label %lp def: %d = call ptr @lp_fs_strdup(ptr @.str12974) ret ptr %d } define ptr @lp_mime_lc(ptr %s) { entry: %l64 = call i64 @strlen(ptr %s) %l = trunc i64 %l64 to i32 %cap = add i64 %l64, 1 %out = call ptr @malloc(i64 %cap) %b0 = load i8, ptr %s %b0i = zext i8 %b0 to i32 %isdot = icmp eq i32 %b0i, 46 %start = select i1 %isdot, i32 1, i32 0 %ip = alloca i32 %op = alloca i32 store i32 %start, ptr %ip store i32 0, ptr %op br label %lp lp: %i = load i32, ptr %ip %pp = getelementptr i8, ptr %s, i32 %i %c = load i8, ptr %pp %ci = zext i8 %c to i32 %z = icmp eq i32 %ci, 0 br i1 %z, label %done, label %go go: %ua = icmp uge i32 %ci, 65 %ub = icmp ule i32 %ci, 90 %up = and i1 %ua, %ub %lo = add i32 %ci, 32 %m = select i1 %up, i32 %lo, i32 %ci %mt = trunc i32 %m to i8 %o = load i32, ptr %op %dp = getelementptr i8, ptr %out, i32 %o store i8 %mt, ptr %dp %o1 = add i32 %o, 1 store i32 %o1, ptr %op %i1 = add i32 %i, 1 store i32 %i1, ptr %ip br label %lp done: %fo = load i32, ptr %op %ep = getelementptr i8, ptr %out, i32 %fo store i8 0, ptr %ep ret ptr %out } define ptr @lp_mime_sniff(ptr %path) { entry: %f = call ptr @fopen(ptr %path, ptr @fn_str_rb) %nz = icmp ne ptr %f, null br i1 %nz, label %ok, label %fallback ok: %buf = call ptr @malloc(i64 16) %rd = call i64 @fread(ptr %buf, i64 1, i64 8, ptr %f) call i32 @fclose(ptr %f) %rdi = trunc i64 %rd to i32 %has4 = icmp sge i32 %rdi, 4 br i1 %has4, label %chk, label %fallback chk: %b0p = getelementptr i8, ptr %buf, i32 0 %b0 = load i8, ptr %b0p %b0i = zext i8 %b0 to i32 %b1p = getelementptr i8, ptr %buf, i32 1 %b1 = load i8, ptr %b1p %b1i = zext i8 %b1 to i32 %b2p = getelementptr i8, ptr %buf, i32 2 %b2 = load i8, ptr %b2p %b2i = zext i8 %b2 to i32 %b3p = getelementptr i8, ptr %buf, i32 3 %b3 = load i8, ptr %b3p %b3i = zext i8 %b3 to i32 %p0 = icmp eq i32 %b0i, 137 %p1 = icmp eq i32 %b1i, 80 %p2 = icmp eq i32 %b2i, 78 %p3 = icmp eq i32 %b3i, 71 %pa = and i1 %p0, %p1 %pb = and i1 %pa, %p2 %pc = and i1 %pb, %p3 br i1 %pc, label %png, label %cj png: %rpng = call ptr @lp_fs_strdup(ptr @fn_sig_png) ret ptr %rpng cj: %j0 = icmp eq i32 %b0i, 255 %j1 = icmp eq i32 %b1i, 216 %j2 = icmp eq i32 %b2i, 255 %ja = and i1 %j0, %j1 %jb = and i1 %ja, %j2 br i1 %jb, label %jpg, label %cg jpg: %rjpg = call ptr @lp_fs_strdup(ptr @fn_sig_jpg) ret ptr %rjpg cg: %g0 = icmp eq i32 %b0i, 71 %g1 = icmp eq i32 %b1i, 73 %g2 = icmp eq i32 %b2i, 70 %ga = and i1 %g0, %g1 %gb = and i1 %ga, %g2 br i1 %gb, label %gif, label %cp gif: %rgif = call ptr @lp_fs_strdup(ptr @fn_sig_gif) ret ptr %rgif cp: %q0 = icmp eq i32 %b0i, 37 %q1 = icmp eq i32 %b1i, 80 %q2 = icmp eq i32 %b2i, 68 %q3 = icmp eq i32 %b3i, 70 %qa = and i1 %q0, %q1 %qb = and i1 %qa, %q2 %qc = and i1 %qb, %q3 br i1 %qc, label %pdf, label %fallback pdf: %rpdf = call ptr @lp_fs_strdup(ptr @fn_sig_pdf) ret ptr %rpdf fallback: %r = call ptr @lp_mime_of(ptr %path) ret ptr %r } @fn_str_rb = private unnamed_addr constant [3 x i8] c"rb\00" @fn_str_wb = private unnamed_addr constant [3 x i8] c"wb\00" @fn_str_ab = private unnamed_addr constant [3 x i8] c"ab\00" @fn_str_dot = private unnamed_addr constant [2 x i8] c".\00" @fn_str_slash = private unnamed_addr constant [2 x i8] c"/\00" @fn_str_empty = private unnamed_addr constant [1 x i8] c"\00" @fn_str_dottmp = private unnamed_addr constant [5 x i8] c".tmp\00" @fn_sig_png = private unnamed_addr constant [10 x i8] c"image/png\00" @fn_sig_jpg = private unnamed_addr constant [11 x i8] c"image/jpeg\00" @fn_sig_gif = private unnamed_addr constant [10 x i8] c"image/gif\00" @fn_sig_pdf = private unnamed_addr constant [16 x i8] c"application/pdf\00" declare i32 @open(ptr, i32, ...) declare i32 @close(i32) declare i64 @lseek(i32, i64, i32) declare ptr @mmap(ptr, i64, i32, i32, i32, i64) declare ptr @fmemopen(ptr, i64, ptr) declare i32 @chdir(ptr) declare i32 @_NSGetExecutablePath(ptr, ptr) @.pak_rb = private unnamed_addr constant [3 x i8] c"rb\00" @.pak_idx = private unnamed_addr constant [12 x i8] c"packs.index\00" @.pak_res = private unnamed_addr constant [13 x i8] c"../Resources\00" @.pak_appsup= private unnamed_addr constant [28 x i8] c"Library/Application Support\00" @.pak_home = private unnamed_addr constant [5 x i8] c"HOME\00" @L_pak_base = internal global [8 x ptr] zeroinitializer @L_pak_n = internal global i32 0 @L_pak_splash = internal global ptr null @L_pak_splashbg = internal global i32 0 define i32 @lp_pak_mount(ptr %path) { entry: %n = load i32, ptr @L_pak_n %full = icmp sge i32 %n, 8 br i1 %full, label %no, label %op op: %fd = call i32 (ptr, i32, ...) @open(ptr %path, i32 0) %bad = icmp slt i32 %fd, 0 br i1 %bad, label %no, label %sz sz: %end = call i64 @lseek(i32 %fd, i64 0, i32 2) %small = icmp slt i64 %end, 32 br i1 %small, label %clo, label %mp mp: %base = call ptr @mmap(ptr null, i64 %end, i32 1, i32 2, i32 %fd, i64 0) %mbad = icmp eq ptr %base, inttoptr (i64 -1 to ptr) br i1 %mbad, label %clo, label %chk chk: %m = load i32, ptr %base %okm = icmp eq i32 %m, 1262571596 br i1 %okm, label %keep, label %clo keep: %slot = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %n store ptr %base, ptr %slot %n1 = add i32 %n, 1 store i32 %n1, ptr @L_pak_n %c1 = call i32 @close(i32 %fd) ret i32 1 clo: %c2 = call i32 @close(i32 %fd) ret i32 0 no: ret i32 0 } define ptr @lp_pak_norm(ptr %p) { entry: %c0 = load i8, ptr %p %c0i = zext i8 %c0 to i32 %isdot = icmp eq i32 %c0i, 46 br i1 %isdot, label %chk2, label %same chk2: %p1 = getelementptr i8, ptr %p, i32 1 %c1 = load i8, ptr %p1 %c1i = zext i8 %c1 to i32 %issl = icmp eq i32 %c1i, 47 br i1 %issl, label %skip, label %same skip: %p2 = getelementptr i8, ptr %p, i32 2 %r = call ptr @lp_pak_norm(ptr %p2) ret ptr %r same: ret ptr %p } define ptr @lp_pak_find1(ptr %base, ptr %name, ptr %outlen) { entry: %cntp = getelementptr i8, ptr %base, i32 8 %cnt = load i32, ptr %cntp %lop = alloca i32 %hip = alloca i32 store i32 0, ptr %lop %h0 = sub i32 %cnt, 1 store i32 %h0, ptr %hip br label %loop loop: %lo = load i32, ptr %lop %hi = load i32, ptr %hip %fin = icmp sgt i32 %lo, %hi br i1 %fin, label %miss, label %mid mid: %sum = add i32 %lo, %hi %m = sdiv i32 %sum, 2 %eo = mul i32 %m, 16 %eo2 = add i32 %eo, 32 %ep = getelementptr i8, ptr %base, i32 %eo2 %noff = load i32, ptr %ep %nptr = getelementptr i8, ptr %base, i32 %noff %c = call i32 @strcmp(ptr %nptr, ptr %name) %iseq = icmp eq i32 %c, 0 br i1 %iseq, label %hit, label %cmp cmp: %lt = icmp slt i32 %c, 0 br i1 %lt, label %goup, label %godn goup: %m1 = add i32 %m, 1 store i32 %m1, ptr %lop br label %loop godn: %m2 = sub i32 %m, 1 store i32 %m2, ptr %hip br label %loop hit: %dop = getelementptr i8, ptr %ep, i32 4 %doff = load i32, ptr %dop %dlp = getelementptr i8, ptr %ep, i32 8 %dlen = load i32, ptr %dlp store i32 %dlen, ptr %outlen %dp = getelementptr i8, ptr %base, i32 %doff ret ptr %dp miss: ret ptr null } define ptr @lp_pak_find(ptr %path, ptr %outlen) { entry: %p = call ptr @lp_pak_norm(ptr %path) %np = load i32, ptr @L_pak_n %ip = alloca i32 %i0 = sub i32 %np, 1 store i32 %i0, ptr %ip br label %loop loop: %i = load i32, ptr %ip %done = icmp slt i32 %i, 0 br i1 %done, label %miss, label %body body: %slot = getelementptr [8 x ptr], ptr @L_pak_base, i32 0, i32 %i %base = load ptr, ptr %slot %r = call ptr @lp_pak_find1(ptr %base, ptr %p, ptr %outlen) %hit = icmp ne ptr %r, null br i1 %hit, label %got, label %next got: ret ptr %r next: %i1 = sub i32 %i, 1 store i32 %i1, ptr %ip br label %loop miss: ret ptr null } define i32 @lp_pak_has(ptr %path) { entry: %lp = alloca i32 store i32 0, ptr %lp %b = call ptr @lp_pak_find(ptr %path, ptr %lp) %hit = icmp ne ptr %b, null %r = select i1 %hit, i32 1, i32 0 ret i32 %r } define i32 @lp_pak_bytes(ptr %path) { entry: %lp = alloca i32 store i32 0, ptr %lp %b = call ptr @lp_pak_find(ptr %path, ptr %lp) %hit = icmp ne ptr %b, null br i1 %hit, label %yes, label %no yes: %l = load i32, ptr %lp ret i32 %l no: ret i32 -1 } define ptr @lp_pak_open(ptr %path, ptr %mode) { entry: %m0 = load i8, ptr %mode %m0i = zext i8 %m0 to i32 %isr = icmp eq i32 %m0i, 114 br i1 %isr, label %try, label %real try: %lp = alloca i32 store i32 0, ptr %lp %blob = call ptr @lp_pak_find(ptr %path, ptr %lp) %hit = icmp ne ptr %blob, null br i1 %hit, label %mem, label %real mem: %len = load i32, ptr %lp %lz = zext i32 %len to i64 %f = call ptr @fmemopen(ptr %blob, i64 %lz, ptr @.pak_rb) ret ptr %f real: %rf = call ptr @fopen(ptr %path, ptr %mode) ret ptr %rf } define ptr @lp_pak_slurp(ptr %path) { entry: %f = call ptr @fopen(ptr %path, ptr @.pak_rb) %bad = icmp eq ptr %f, null br i1 %bad, label %no, label %go go: %s1 = call i32 @fseek(ptr %f, i64 0, i32 2) %n64 = call i64 @ftell(ptr %f) %s2 = call i32 @fseek(ptr %f, i64 0, i32 0) %cap = add i64 %n64, 1 %buf = call ptr @malloc(i64 %cap) %rd = call i64 @fread(ptr %buf, i64 1, i64 %n64, ptr %f) %e = getelementptr i8, ptr %buf, i64 %rd store i8 0, ptr %e %c = call i32 @fclose(ptr %f) ret ptr %buf no: ret ptr null } define i32 @lp_pak_boot_dir(ptr %dir) { entry: %ix = call ptr @lp_path_join(ptr %dir, ptr @.pak_idx) %txt = call ptr @lp_pak_slurp(ptr %ix) %none = icmp eq ptr %txt, null br i1 %none, label %no, label %scan scan: %ip = alloca i32 %got = alloca i32 store i32 0, ptr %ip store i32 0, ptr %got %jp = alloca i32 br label %line line: %i = load i32, ptr %ip %lp = getelementptr i8, ptr %txt, i32 %i %c0 = load i8, ptr %lp %c0i = zext i8 %c0 to i32 %atend = icmp eq i32 %c0i, 0 br i1 %atend, label %fin, label %eol eol: store i32 %i, ptr %jp br label %escan escan: %j = load i32, ptr %jp %jq = getelementptr i8, ptr %txt, i32 %j %cj = load i8, ptr %jq %cji = zext i8 %cj to i32 %isnl = icmp eq i32 %cji, 10 %isz = icmp eq i32 %cji, 0 %stop = or i1 %isnl, %isz br i1 %stop, label %ehave, label %eadv eadv: %j1 = add i32 %j, 1 store i32 %j1, ptr %jp br label %escan ehave: %je = load i32, ptr %jp %jep = getelementptr i8, ptr %txt, i32 %je store i8 0, ptr %jep %nexti = add i32 %je, 1 store i32 %nexti, ptr %ip %ln = getelementptr i8, ptr %txt, i32 %i %isp = call i32 @strncmp(ptr %ln, ptr @.pak_kw_pack, i64 5) %pk = icmp eq i32 %isp, 0 br i1 %pk, label %dopack, label %chkhome dopack: %pv = getelementptr i8, ptr %ln, i32 5 %full = call ptr @lp_path_join(ptr %dir, ptr %pv) %ok = call i32 @lp_pak_mount(ptr %full) %g = load i32, ptr %got %g1 = add i32 %g, %ok store i32 %g1, ptr %got br label %line chkhome: %ish = call i32 @strncmp(ptr %ln, ptr @.pak_kw_home, i64 5) %hm = icmp eq i32 %ish, 0 br i1 %hm, label %dohome, label %chkspbg dohome: %hv = getelementptr i8, ptr %ln, i32 5 call void @lp_pak_sethome(ptr %hv) br label %line chkspbg: %isb = call i32 @strncmp(ptr %ln, ptr @.pak_kw_spbg, i64 9) %bg = icmp eq i32 %isb, 0 br i1 %bg, label %dospbg, label %chksp dospbg: %bv = getelementptr i8, ptr %ln, i32 9 %bi = call i32 @atoi(ptr %bv) store i32 %bi, ptr @L_pak_splashbg br label %line chksp: %isS = call i32 @strncmp(ptr %ln, ptr @.pak_kw_splash, i64 7) %sp = icmp eq i32 %isS, 0 br i1 %sp, label %dosp, label %line dosp: %sv = getelementptr i8, ptr %ln, i32 7 store ptr %sv, ptr @L_pak_splash br label %line fin: %gf = load i32, ptr %got ret i32 %gf no: ret i32 0 } @.pak_kw_pack = private unnamed_addr constant [6 x i8] c"pack \00" @.pak_kw_home = private unnamed_addr constant [6 x i8] c"home \00" @.pak_kw_splash = private unnamed_addr constant [8 x i8] c"splash \00" @.pak_kw_spbg = private unnamed_addr constant [10 x i8] c"splashbg \00" define void @lp_pak_sethome(ptr %name) { entry: %h = call ptr @getenv(ptr @.pak_home) %nh = icmp eq ptr %h, null br i1 %nh, label %out, label %go go: %a = call ptr @lp_path_join(ptr %h, ptr @.pak_appsup) %b = call ptr @lp_path_join(ptr %a, ptr %name) %mk = call i32 @mkdir(ptr %b, i32 493) %cd = call i32 @chdir(ptr %b) br label %out out: ret void } @.pak_appdata = private unnamed_addr constant [8 x i8] c"APPDATA\00" define void @lp_pak_boot() { entry: %buf = alloca [1024 x i8] %szp = alloca i32 store i32 1024, ptr %szp %rc = call i32 @_NSGetExecutablePath(ptr %buf, ptr %szp) %bad = icmp ne i32 %rc, 0 br i1 %bad, label %out, label %go go: %dir = call ptr @lp_path_dir(ptr %buf) %res = call ptr @lp_path_join(ptr %dir, ptr @.pak_res) %n1 = call i32 @lp_pak_boot_dir(ptr %res) %any = icmp sgt i32 %n1, 0 br i1 %any, label %splash, label %try2 try2: %n2 = call i32 @lp_pak_boot_dir(ptr %dir) br label %splash splash: br label %out out: ret void } @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 101, ptr @lp_pak_boot, ptr null }] declare i32 @fprintf(ptr, ptr, ...) @.fmt_bounds = private unnamed_addr constant [14 x i8] c"%s%d, len %d\0A\00" define i32 @fn_char_is_digit(i32 %arg_c) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 store i32 %arg_c, ptr %t0 %t2 = load i32, ptr %t0 %t3 = icmp sge i32 %t2, 48 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t1 br i1 %t5, label %sc0, label %scend1 sc0: %t7 = load i32, ptr %t0 %t8 = icmp sle i32 %t7, 57 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t1 br label %scend1 scend1: %t12 = load i32, ptr %t1 store i32 %t12, ptr %retval br label %ret ret: %t13 = load i32, ptr %retval ret i32 %t13 } define i32 @fn_char_is_alpha(i32 %arg_c) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t14 = alloca i32 store i32 %arg_c, ptr %t0 %t2 = load i32, ptr %t0 %t3 = icmp sge i32 %t2, 65 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t1 br i1 %t5, label %sc0, label %scend1 sc0: %t7 = load i32, ptr %t0 %t8 = icmp sle i32 %t7, 90 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t1 br label %scend1 scend1: %t12 = load i32, ptr %t1 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then2, label %ifend4 then2: store i32 1, ptr %retval br label %ret ifend4: %t15 = load i32, ptr %t0 %t16 = icmp sge i32 %t15, 97 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t14 br i1 %t18, label %sc5, label %scend6 sc5: %t20 = load i32, ptr %t0 %t21 = icmp sle i32 %t20, 122 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t14 br label %scend6 scend6: %t25 = load i32, ptr %t14 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then7, label %ifend9 then7: store i32 1, ptr %retval br label %ret ifend9: %t27 = load i32, ptr %t0 %t28 = icmp eq i32 %t27, 95 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %retval br label %ret ret: %t30 = load i32, ptr %retval ret i32 %t30 } define i32 @fn_char_is_alnum(i32 %arg_c) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 store i32 %arg_c, ptr %t0 %t2 = load i32, ptr %t0 %t3 = call i32 @fn_char_is_alpha(i32 %t2) %t4 = icmp ne i32 %t3, 0 %t5 = zext i1 %t4 to i32 store i32 %t5, ptr %t1 br i1 %t4, label %scend1, label %sc0 sc0: %t6 = load i32, ptr %t0 %t7 = call i32 @fn_char_is_digit(i32 %t6) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t1 br label %scend1 scend1: %t10 = load i32, ptr %t1 store i32 %t10, ptr %retval br label %ret ret: %t11 = load i32, ptr %retval ret i32 %t11 } define i32 @fn_str_starts(ptr %arg_s, ptr %arg_prefix) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_s, ptr %t0 store ptr %arg_prefix, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load ptr, ptr %t1 %t4 = load i32, ptr %t2 %t5 = getelementptr inbounds i8, ptr %t3, i32 %t4 %t6 = load i8, ptr %t5 %t7 = zext i8 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %wbody1, label %wend2 wbody1: %t11 = load ptr, ptr %t0 %t12 = load i32, ptr %t2 %t13 = getelementptr inbounds i8, ptr %t11, i32 %t12 %t14 = load i8, ptr %t13 %t15 = zext i8 %t14 to i32 %t16 = load ptr, ptr %t1 %t17 = load i32, ptr %t2 %t18 = getelementptr inbounds i8, ptr %t16, i32 %t17 %t19 = load i8, ptr %t18 %t20 = zext i8 %t19 to i32 %t21 = icmp ne i32 %t15, %t20 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %ifend5 then3: store i32 0, ptr %retval br label %ret ifend5: %t24 = load i32, ptr %t2 %t25 = add i32 %t24, 1 store i32 %t25, ptr %t2 br label %wcond0 wend2: store i32 1, ptr %retval br label %ret ret: %t26 = load i32, ptr %retval ret i32 %t26 } define ptr @fn_itoa(i32 %arg_v) { entry: %retval = alloca ptr %t0 = alloca i32 %t7 = alloca ptr %t15 = alloca i32 %t17 = alloca i32 %t26 = alloca ptr %t27 = alloca i32 %t44 = alloca i32 %t53 = alloca ptr %t54 = alloca i32 %t60 = alloca i32 store i32 %arg_v, ptr %t0 %t1 = load i32, ptr %t0 %t2 = icmp eq i32 %t1, 0 %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = zext i32 2 to i64 %t6 = call ptr @malloc(i64 %t5) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = getelementptr inbounds i8, ptr %t8, i32 0 %t10 = trunc i32 48 to i8 store i8 %t10, ptr %t9 %t11 = load ptr, ptr %t7 %t12 = getelementptr inbounds i8, ptr %t11, i32 1 %t13 = trunc i32 0 to i8 store i8 %t13, ptr %t12 %t14 = load ptr, ptr %t7 store ptr %t14, ptr %retval br label %ret ifend2: store i32 0, ptr %t15 %t16 = load i32, ptr %t0 store i32 %t16, ptr %t17 %t18 = load i32, ptr %t17 %t19 = icmp slt i32 %t18, 0 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then3, label %ifend5 then3: store i32 1, ptr %t15 %t22 = load i32, ptr %t17 %t23 = sub i32 0, %t22 store i32 %t23, ptr %t17 br label %ifend5 ifend5: %t24 = zext i32 16 to i64 %t25 = call ptr @malloc(i64 %t24) store ptr %t25, ptr %t26 store i32 0, ptr %t27 br label %wcond6 wcond6: %t28 = load i32, ptr %t17 %t29 = icmp sgt i32 %t28, 0 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %wbody7, label %wend8 wbody7: %t32 = load ptr, ptr %t26 %t33 = load i32, ptr %t27 %t34 = getelementptr inbounds i8, ptr %t32, i32 %t33 %t35 = load i32, ptr %t17 %t36 = srem i32 %t35, 10 %t37 = add i32 48, %t36 %t38 = trunc i32 %t37 to i8 store i8 %t38, ptr %t34 %t39 = load i32, ptr %t17 %t40 = sdiv i32 %t39, 10 store i32 %t40, ptr %t17 %t41 = load i32, ptr %t27 %t42 = add i32 %t41, 1 store i32 %t42, ptr %t27 br label %wcond6 wend8: %t43 = load i32, ptr %t27 store i32 %t43, ptr %t44 %t45 = load i32, ptr %t15 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then9, label %ifend11 then9: %t47 = load i32, ptr %t44 %t48 = add i32 %t47, 1 store i32 %t48, ptr %t44 br label %ifend11 ifend11: %t49 = load i32, ptr %t44 %t50 = add i32 %t49, 1 %t51 = zext i32 %t50 to i64 %t52 = call ptr @malloc(i64 %t51) store ptr %t52, ptr %t53 store i32 0, ptr %t54 %t55 = load i32, ptr %t15 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then12, label %ifend14 then12: %t57 = load ptr, ptr %t53 %t58 = getelementptr inbounds i8, ptr %t57, i32 0 %t59 = trunc i32 45 to i8 store i8 %t59, ptr %t58 store i32 1, ptr %t54 br label %ifend14 ifend14: store i32 0, ptr %t60 br label %wcond15 wcond15: %t61 = load i32, ptr %t60 %t62 = load i32, ptr %t27 %t63 = icmp slt i32 %t61, %t62 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %wbody16, label %wend17 wbody16: %t66 = load ptr, ptr %t53 %t67 = load i32, ptr %t54 %t68 = load i32, ptr %t60 %t69 = add i32 %t67, %t68 %t70 = getelementptr inbounds i8, ptr %t66, i32 %t69 %t71 = load ptr, ptr %t26 %t72 = load i32, ptr %t27 %t73 = sub i32 %t72, 1 %t74 = load i32, ptr %t60 %t75 = sub i32 %t73, %t74 %t76 = getelementptr inbounds i8, ptr %t71, i32 %t75 %t77 = load i8, ptr %t76 %t78 = zext i8 %t77 to i32 %t79 = trunc i32 %t78 to i8 store i8 %t79, ptr %t70 %t80 = load i32, ptr %t60 %t81 = add i32 %t80, 1 store i32 %t81, ptr %t60 br label %wcond15 wend17: %t82 = load ptr, ptr %t53 %t83 = load i32, ptr %t44 %t84 = getelementptr inbounds i8, ptr %t82, i32 %t83 %t85 = trunc i32 0 to i8 store i8 %t85, ptr %t84 %t86 = load ptr, ptr %t53 store ptr %t86, ptr %retval br label %ret ret: %t87 = load ptr, ptr %retval ret ptr %t87 } define ptr @fn_buf_new() { entry: %retval = alloca ptr %t6 = alloca ptr %t0 = getelementptr %Cmp_Buf, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 %t2 = call ptr @malloc(i64 %t1) %t3 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 0 store ptr null, ptr %t3 %t4 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 1 store i32 0, ptr %t4 %t5 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 2 store i32 0, ptr %t5 store ptr %t2, ptr %t6 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %Cmp_Buf, ptr %t7, i32 0, i32 2 store i32 256, ptr %t8 %t9 = load ptr, ptr %t6 %t10 = getelementptr inbounds %Cmp_Buf, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t6 %t12 = getelementptr inbounds %Cmp_Buf, ptr %t11, i32 0, i32 2 %t13 = load i32, ptr %t12 %t14 = zext i32 %t13 to i64 %t15 = call ptr @malloc(i64 %t14) store ptr %t15, ptr %t10 %t16 = load ptr, ptr %t6 %t17 = getelementptr inbounds %Cmp_Buf, ptr %t16, i32 0, i32 1 store i32 0, ptr %t17 %t18 = load ptr, ptr %t6 store ptr %t18, ptr %retval br label %ret ret: %t19 = load ptr, ptr %retval ret ptr %t19 } define void @fn_buf_ensure(ptr %arg_b, i32 %arg_extra) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_b, ptr %t0 store i32 %arg_extra, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = load i32, ptr %t1 %t6 = add i32 %t4, %t5 %t7 = add i32 %t6, 1 %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Buf, ptr %t8, i32 0, i32 2 %t10 = load i32, ptr %t9 %t11 = icmp sle i32 %t7, %t10 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then0, label %ifend2 then0: br label %ret ifend2: br label %wcond3 wcond3: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Buf, ptr %t14, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = load i32, ptr %t1 %t18 = add i32 %t16, %t17 %t19 = add i32 %t18, 1 %t20 = load ptr, ptr %t0 %t21 = getelementptr inbounds %Cmp_Buf, ptr %t20, i32 0, i32 2 %t22 = load i32, ptr %t21 %t23 = icmp sgt i32 %t19, %t22 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %wbody4, label %wend5 wbody4: %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Buf, ptr %t26, i32 0, i32 2 %t28 = load i32, ptr %t27 %t29 = mul i32 %t28, 2 store i32 %t29, ptr %t27 br label %wcond3 wend5: %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Buf, ptr %t30, i32 0, i32 0 %t32 = load ptr, ptr %t0 %t33 = getelementptr inbounds %Cmp_Buf, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Buf, ptr %t35, i32 0, i32 2 %t37 = load i32, ptr %t36 %t38 = zext i32 %t37 to i64 %t39 = call ptr @realloc(ptr %t34, i64 %t38) store ptr %t39, ptr %t31 br label %ret ret: ret void } define void @fn_buf_putc(ptr %arg_b, i32 %arg_c) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_b, ptr %t0 store i32 %arg_c, ptr %t1 %t2 = load ptr, ptr %t0 call void @fn_buf_ensure(ptr %t2, i32 1) %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Buf, ptr %t3, i32 0, i32 0 %t5 = load ptr, ptr %t4 %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Buf, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = getelementptr inbounds i8, ptr %t5, i32 %t8 %t10 = load i32, ptr %t1 %t11 = trunc i32 %t10 to i8 store i8 %t11, ptr %t9 %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Buf, ptr %t12, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = add i32 %t14, 1 store i32 %t15, ptr %t13 br label %ret ret: ret void } define void @fn_buf_puts(ptr %arg_b, ptr %arg_s) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_b, ptr %t0 store ptr %arg_s, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load ptr, ptr %t1 %t4 = load i32, ptr %t2 %t5 = getelementptr inbounds i8, ptr %t3, i32 %t4 %t6 = load i8, ptr %t5 %t7 = zext i8 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %wbody1, label %wend2 wbody1: %t11 = load ptr, ptr %t0 %t12 = load ptr, ptr %t1 %t13 = load i32, ptr %t2 %t14 = getelementptr inbounds i8, ptr %t12, i32 %t13 %t15 = load i8, ptr %t14 %t16 = zext i8 %t15 to i32 call void @fn_buf_putc(ptr %t11, i32 %t16) %t17 = load i32, ptr %t2 %t18 = add i32 %t17, 1 store i32 %t18, ptr %t2 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_buf_puti(ptr %arg_b, i32 %arg_n) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_b, ptr %t0 store i32 %arg_n, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = load i32, ptr %t1 %t4 = call ptr @fn_itoa(i32 %t3) call void @fn_buf_puts(ptr %t2, ptr %t4) br label %ret ret: ret void } define ptr @fn_buf_str(ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_b, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Buf, ptr %t1, i32 0, i32 0 %t3 = load ptr, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Buf, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = getelementptr inbounds i8, ptr %t3, i32 %t6 %t8 = trunc i32 0 to i8 store i8 %t8, ptr %t7 %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Buf, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 store ptr %t11, ptr %retval br label %ret ret: %t12 = load ptr, ptr %retval ret ptr %t12 } define ptr @fn_read_file(ptr %arg_path) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t14 = alloca i32 %t22 = alloca ptr store ptr %arg_path, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @lp_pak_open(ptr %t1, ptr @.str0) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = icmp eq ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store ptr null, ptr %retval br label %ret ifend2: %t8 = load ptr, ptr %t3 %t9 = sext i32 0 to i64 %t10 = call i32 @fseek(ptr %t8, i64 %t9, i32 2) %t11 = load ptr, ptr %t3 %t12 = call i64 @ftell(ptr %t11) %t13 = trunc i64 %t12 to i32 store i32 %t13, ptr %t14 %t15 = load ptr, ptr %t3 %t16 = sext i32 0 to i64 %t17 = call i32 @fseek(ptr %t15, i64 %t16, i32 0) %t18 = load i32, ptr %t14 %t19 = add i32 %t18, 1 %t20 = zext i32 %t19 to i64 %t21 = call ptr @malloc(i64 %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t3 %t24 = load ptr, ptr %t22 %t25 = load i32, ptr %t14 %t26 = zext i32 %t25 to i64 %t27 = call i64 @fread(ptr %t24, i64 1, i64 %t26, ptr %t23) %t28 = trunc i64 %t27 to i32 %t29 = load ptr, ptr %t22 %t30 = load i32, ptr %t14 %t31 = getelementptr inbounds i8, ptr %t29, i32 %t30 %t32 = trunc i32 0 to i8 store i8 %t32, ptr %t31 %t33 = load ptr, ptr %t3 call i32 @fclose(ptr %t33) %t34 = load ptr, ptr %t22 store ptr %t34, ptr %retval br label %ret ret: %t35 = load ptr, ptr %retval ret ptr %t35 } define i32 @fn_cstr_len(ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_s, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load ptr, ptr %t0 %t3 = load i32, ptr %t1 %t4 = getelementptr inbounds i8, ptr %t2, i32 %t3 %t5 = load i8, ptr %t4 %t6 = zext i8 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %wbody1, label %wend2 wbody1: %t10 = load i32, ptr %t1 %t11 = add i32 %t10, 1 store i32 %t11, ptr %t1 br label %wcond0 wend2: %t12 = load i32, ptr %t1 store i32 %t12, ptr %retval br label %ret ret: %t13 = load i32, ptr %retval ret i32 %t13 } define ptr @fn_node(i32 %arg_kind) { entry: %retval = alloca ptr %t0 = alloca i32 %t14 = alloca ptr %t29 = alloca i32 store i32 %arg_kind, ptr %t0 %t1 = getelementptr %Cmp_Node, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 %t3 = call ptr @malloc(i64 %t2) %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 0 store i32 0, ptr %t4 %t5 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1 store ptr null, ptr %t5 %t6 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 2 store i32 0, ptr %t6 %t7 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 3 store ptr null, ptr %t7 %t8 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4 store ptr null, ptr %t8 %t9 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 5 store ptr null, ptr %t9 %t10 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 6 store ptr null, ptr %t10 %t11 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 store ptr null, ptr %t11 %t12 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 8 store i32 0, ptr %t12 %t13 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 9 store ptr null, ptr %t13 store ptr %t3, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0 %t17 = load i32, ptr %t0 store i32 %t17, ptr %t16 %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 %t20 = getelementptr %LSlice, ptr null, i32 1 %t21 = ptrtoint ptr %t20 to i64 %t22 = call ptr @malloc(i64 %t21) %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 store ptr null, ptr %t23 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 store i32 0, ptr %t24 %t25 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 2 store i32 0, ptr %t25 store ptr %t22, ptr %t19 %t26 = load ptr, ptr %t14 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 9 %t28 = load ptr, ptr @g_g_parse_file store ptr %t28, ptr %t27 %t30 = load i32, ptr @g_g_parsing %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t29 br i1 %t31, label %sc0, label %scend1 sc0: %t33 = load i32, ptr @g_pi %t34 = load ptr, ptr @g_toks %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = icmp slt i32 %t33, %t36 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t29 br label %scend1 scend1: %t41 = load i32, ptr %t29 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then2, label %ifend4 then2: %t43 = load ptr, ptr %t14 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 8 %t45 = load ptr, ptr @g_toks %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = load i32, ptr @g_pi %t49 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp ult i32 %t48, %t50 br i1 %t51, label %ixok5, label %ixbad6 ixbad6: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str1, i32 %t48, i32 %t50) call void @exit(i32 1) unreachable ixok5: %t53 = getelementptr inbounds ptr, ptr %t47, i32 %t48 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %Cmp_Tok, ptr %t54, i32 0, i32 3 %t56 = load i32, ptr %t55 store i32 %t56, ptr %t44 br label %ifend4 ifend4: %t57 = load ptr, ptr %t14 store ptr %t57, ptr %retval br label %ret ret: %t58 = load ptr, ptr %retval ret ptr %t58 } define void @fn_tok_push(i32 %arg_kind, ptr %arg_text, i32 %arg_ival, i32 %arg_line) { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t11 = alloca ptr store i32 %arg_kind, ptr %t0 store ptr %arg_text, ptr %t1 store i32 %arg_ival, ptr %t2 store i32 %arg_line, ptr %t3 %t4 = getelementptr %Cmp_Tok, ptr null, i32 1 %t5 = ptrtoint ptr %t4 to i64 %t6 = call ptr @malloc(i64 %t5) %t7 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 0 store i32 0, ptr %t7 %t8 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 1 store ptr null, ptr %t8 %t9 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 2 store i32 0, ptr %t9 %t10 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 3 store i32 0, ptr %t10 store ptr %t6, ptr %t11 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %Cmp_Tok, ptr %t12, i32 0, i32 0 %t14 = load i32, ptr %t0 store i32 %t14, ptr %t13 %t15 = load ptr, ptr %t11 %t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t1 store ptr %t17, ptr %t16 %t18 = load ptr, ptr %t11 %t19 = getelementptr inbounds %Cmp_Tok, ptr %t18, i32 0, i32 2 %t20 = load i32, ptr %t2 store i32 %t20, ptr %t19 %t21 = load ptr, ptr %t11 %t22 = getelementptr inbounds %Cmp_Tok, ptr %t21, i32 0, i32 3 %t23 = load i32, ptr %t3 store i32 %t23, ptr %t22 %t24 = load ptr, ptr @g_toks %t25 = load ptr, ptr %t11 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 2 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t29 = load i32, ptr %t26 %t30 = load i32, ptr %t27 %t31 = icmp sge i32 %t29, %t30 br i1 %t31, label %grow0, label %put1 grow0: %t32 = mul i32 %t30, 2 %t33 = icmp eq i32 %t30, 0 %t34 = select i1 %t33, i32 8, i32 %t32 %t35 = getelementptr ptr, ptr null, i32 1 %t36 = ptrtoint ptr %t35 to i64 %t37 = zext i32 %t34 to i64 %t38 = mul i64 %t37, %t36 %t39 = load ptr, ptr %t28 %t40 = call ptr @realloc(ptr %t39, i64 %t38) store ptr %t40, ptr %t28 store i32 %t34, ptr %t27 br label %put1 put1: %t41 = load ptr, ptr %t28 %t42 = getelementptr inbounds ptr, ptr %t41, i32 %t29 store ptr %t25, ptr %t42 %t43 = add i32 %t29, 1 store i32 %t43, ptr %t26 br label %ret ret: ret void } define i32 @fn_two_at(ptr %arg_src, i32 %arg_i, i32 %arg_a, i32 %arg_b) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 store ptr %arg_src, ptr %t0 store i32 %arg_i, ptr %t1 store i32 %arg_a, ptr %t2 store i32 %arg_b, ptr %t3 %t5 = load ptr, ptr %t0 %t6 = load i32, ptr %t1 %t7 = getelementptr inbounds i8, ptr %t5, i32 %t6 %t8 = load i8, ptr %t7 %t9 = zext i8 %t8 to i32 %t10 = load i32, ptr %t2 %t11 = icmp eq i32 %t9, %t10 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t4 br i1 %t13, label %sc0, label %scend1 sc0: %t15 = load ptr, ptr %t0 %t16 = load i32, ptr %t1 %t17 = add i32 %t16, 1 %t18 = getelementptr inbounds i8, ptr %t15, i32 %t17 %t19 = load i8, ptr %t18 %t20 = zext i8 %t19 to i32 %t21 = load i32, ptr %t3 %t22 = icmp eq i32 %t20, %t21 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t4 br label %scend1 scend1: %t26 = load i32, ptr %t4 store i32 %t26, ptr %retval br label %ret ret: %t27 = load i32, ptr %retval ret i32 %t27 } define i32 @fn_is_op1(i32 %arg_c) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t41 = alloca i32 %t42 = alloca i32 %t63 = alloca i32 %t64 = alloca i32 %t65 = alloca i32 %t94 = alloca i32 %t95 = alloca i32 %t96 = alloca i32 %t97 = alloca i32 %t134 = alloca i32 %t147 = alloca i32 %t148 = alloca i32 %t149 = alloca i32 store i32 %arg_c, ptr %t0 %t5 = load i32, ptr %t0 %t6 = icmp eq i32 %t5, 43 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t4 br i1 %t8, label %scend1, label %sc0 sc0: %t10 = load i32, ptr %t0 %t11 = icmp eq i32 %t10, 45 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t4 br label %scend1 scend1: %t15 = load i32, ptr %t4 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t3 br i1 %t16, label %scend3, label %sc2 sc2: %t18 = load i32, ptr %t0 %t19 = icmp eq i32 %t18, 42 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t3 br label %scend3 scend3: %t23 = load i32, ptr %t3 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t2 br i1 %t24, label %scend5, label %sc4 sc4: %t26 = load i32, ptr %t0 %t27 = icmp eq i32 %t26, 47 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t2 br label %scend5 scend5: %t31 = load i32, ptr %t2 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t1 br i1 %t32, label %scend7, label %sc6 sc6: %t34 = load i32, ptr %t0 %t35 = icmp eq i32 %t34, 37 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t1 br label %scend7 scend7: %t39 = load i32, ptr %t1 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: %t43 = load i32, ptr %t0 %t44 = icmp eq i32 %t43, 60 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t42 br i1 %t46, label %scend12, label %sc11 sc11: %t48 = load i32, ptr %t0 %t49 = icmp eq i32 %t48, 62 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t42 br label %scend12 scend12: %t53 = load i32, ptr %t42 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t41 br i1 %t54, label %scend14, label %sc13 sc13: %t56 = load i32, ptr %t0 %t57 = icmp eq i32 %t56, 61 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t41 br label %scend14 scend14: %t61 = load i32, ptr %t41 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then15, label %ifend17 then15: store i32 1, ptr %retval br label %ret ifend17: %t66 = load i32, ptr %t0 %t67 = icmp eq i32 %t66, 40 %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 %t70 = zext i1 %t69 to i32 store i32 %t70, ptr %t65 br i1 %t69, label %scend19, label %sc18 sc18: %t71 = load i32, ptr %t0 %t72 = icmp eq i32 %t71, 41 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t65 br label %scend19 scend19: %t76 = load i32, ptr %t65 %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t64 br i1 %t77, label %scend21, label %sc20 sc20: %t79 = load i32, ptr %t0 %t80 = icmp eq i32 %t79, 123 %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t64 br label %scend21 scend21: %t84 = load i32, ptr %t64 %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t63 br i1 %t85, label %scend23, label %sc22 sc22: %t87 = load i32, ptr %t0 %t88 = icmp eq i32 %t87, 125 %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 store i32 %t91, ptr %t63 br label %scend23 scend23: %t92 = load i32, ptr %t63 %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then24, label %ifend26 then24: store i32 1, ptr %retval br label %ret ifend26: %t98 = load i32, ptr %t0 %t99 = icmp eq i32 %t98, 91 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t97 br i1 %t101, label %scend28, label %sc27 sc27: %t103 = load i32, ptr %t0 %t104 = icmp eq i32 %t103, 93 %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t97 br label %scend28 scend28: %t108 = load i32, ptr %t97 %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t96 br i1 %t109, label %scend30, label %sc29 sc29: %t111 = load i32, ptr %t0 %t112 = icmp eq i32 %t111, 44 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t96 br label %scend30 scend30: %t116 = load i32, ptr %t96 %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t95 br i1 %t117, label %scend32, label %sc31 sc31: %t119 = load i32, ptr %t0 %t120 = icmp eq i32 %t119, 58 %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t95 br label %scend32 scend32: %t124 = load i32, ptr %t95 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t94 br i1 %t125, label %scend34, label %sc33 sc33: %t127 = load i32, ptr %t0 %t128 = icmp eq i32 %t127, 46 %t129 = zext i1 %t128 to i32 %t130 = icmp ne i32 %t129, 0 %t131 = zext i1 %t130 to i32 store i32 %t131, ptr %t94 br label %scend34 scend34: %t132 = load i32, ptr %t94 %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then35, label %ifend37 then35: store i32 1, ptr %retval br label %ret ifend37: %t135 = load i32, ptr %t0 %t136 = icmp eq i32 %t135, 33 %t137 = zext i1 %t136 to i32 %t138 = icmp ne i32 %t137, 0 %t139 = zext i1 %t138 to i32 store i32 %t139, ptr %t134 br i1 %t138, label %scend39, label %sc38 sc38: %t140 = load i32, ptr %t0 %t141 = icmp eq i32 %t140, 64 %t142 = zext i1 %t141 to i32 %t143 = icmp ne i32 %t142, 0 %t144 = zext i1 %t143 to i32 store i32 %t144, ptr %t134 br label %scend39 scend39: %t145 = load i32, ptr %t134 %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %then40, label %ifend42 then40: store i32 1, ptr %retval br label %ret ifend42: %t150 = load i32, ptr %t0 %t151 = icmp eq i32 %t150, 38 %t152 = zext i1 %t151 to i32 %t153 = icmp ne i32 %t152, 0 %t154 = zext i1 %t153 to i32 store i32 %t154, ptr %t149 br i1 %t153, label %scend44, label %sc43 sc43: %t155 = load i32, ptr %t0 %t156 = icmp eq i32 %t155, 124 %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 %t159 = zext i1 %t158 to i32 store i32 %t159, ptr %t149 br label %scend44 scend44: %t160 = load i32, ptr %t149 %t161 = icmp ne i32 %t160, 0 %t162 = zext i1 %t161 to i32 store i32 %t162, ptr %t148 br i1 %t161, label %scend46, label %sc45 sc45: %t163 = load i32, ptr %t0 %t164 = icmp eq i32 %t163, 94 %t165 = zext i1 %t164 to i32 %t166 = icmp ne i32 %t165, 0 %t167 = zext i1 %t166 to i32 store i32 %t167, ptr %t148 br label %scend46 scend46: %t168 = load i32, ptr %t148 %t169 = icmp ne i32 %t168, 0 %t170 = zext i1 %t169 to i32 store i32 %t170, ptr %t147 br i1 %t169, label %scend48, label %sc47 sc47: %t171 = load i32, ptr %t0 %t172 = icmp eq i32 %t171, 126 %t173 = zext i1 %t172 to i32 %t174 = icmp ne i32 %t173, 0 %t175 = zext i1 %t174 to i32 store i32 %t175, ptr %t147 br label %scend48 scend48: %t176 = load i32, ptr %t147 %t177 = icmp ne i32 %t176, 0 br i1 %t177, label %then49, label %ifend51 then49: store i32 1, ptr %retval br label %ret ifend51: store i32 0, ptr %retval br label %ret ret: %t178 = load i32, ptr %retval ret i32 %t178 } define i32 @fn_unescape(i32 %arg_e) { entry: %retval = alloca i32 %t0 = alloca i32 store i32 %arg_e, ptr %t0 %t1 = load i32, ptr %t0 %t2 = icmp eq i32 %t1, 110 %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store i32 10, ptr %retval br label %ret ifend2: %t5 = load i32, ptr %t0 %t6 = icmp eq i32 %t5, 114 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then3, label %ifend5 then3: store i32 13, ptr %retval br label %ret ifend5: %t9 = load i32, ptr %t0 %t10 = icmp eq i32 %t9, 116 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then6, label %ifend8 then6: store i32 9, ptr %retval br label %ret ifend8: %t13 = load i32, ptr %t0 %t14 = icmp eq i32 %t13, 48 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then9, label %ifend11 then9: store i32 0, ptr %retval br label %ret ifend11: %t17 = load i32, ptr %t0 store i32 %t17, ptr %retval br label %ret ret: %t18 = load i32, ptr %retval ret i32 %t18 } define void @fn_lex_error(i32 %arg_line, i32 %arg_c) { entry: %t0 = alloca i32 %t1 = alloca i32 %t4 = alloca ptr store i32 %arg_line, ptr %t0 store i32 %arg_c, ptr %t1 %t2 = zext i32 2 to i64 %t3 = call ptr @malloc(i64 %t2) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds i8, ptr %t5, i32 0 %t7 = load i32, ptr %t1 %t8 = trunc i32 %t7 to i8 store i8 %t8, ptr %t6 %t9 = load ptr, ptr %t4 %t10 = getelementptr inbounds i8, ptr %t9, i32 1 %t11 = trunc i32 0 to i8 store i8 %t11, ptr %t10 %t12 = load i32, ptr %t0 %t13 = load ptr, ptr %t4 %t14 = call ptr @lp_str_concat(ptr @.str2, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str3) %t16 = load i32, ptr %t1 %t17 = call ptr @lp_int_str(i32 %t16) %t18 = call ptr @lp_str_concat(ptr %t15, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str4) call void @fn_lex_fail(i32 %t12, ptr %t19) br label %ret ret: ret void } define void @fn_lex_fail(i32 %arg_line, ptr %arg_msg) { entry: %t0 = alloca i32 %t1 = alloca ptr %t11 = alloca ptr store i32 %arg_line, ptr %t0 store ptr %arg_msg, ptr %t1 %t2 = load ptr, ptr @g_g_parse_file %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str5) %t4 = load i32, ptr %t0 %t5 = call ptr @lp_int_str(i32 %t4) %t6 = call ptr @lp_str_concat(ptr %t3, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str6) %t8 = load ptr, ptr %t1 %t9 = call ptr @lp_str_concat(ptr %t7, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str7) store ptr %t10, ptr %t11 %t12 = load ptr, ptr @__stderrp %t13 = load ptr, ptr %t11 %t14 = load ptr, ptr %t11 %t15 = call i64 @strlen(ptr %t14) %t16 = trunc i64 %t15 to i32 %t17 = zext i32 %t16 to i64 %t18 = call i64 @fwrite(ptr %t13, i64 1, i64 %t17, ptr %t12) %t19 = trunc i64 %t18 to i32 call void @exit(i32 1) unreachable ret: ret void } define void @fn_lex(ptr %arg_src) { entry: %t0 = alloca ptr store ptr %arg_src, ptr %t0 %t1 = load ptr, ptr %t0 call void @fn_lex_at(ptr %t1, i32 1) br label %ret ret: ret void } define void @fn_lex_at(ptr %arg_src, i32 %arg_first_line) { entry: %t0 = alloca ptr %t1 = alloca i32 %t8 = alloca i32 %t10 = alloca i32 %t14 = alloca i32 %t25 = alloca i32 %t35 = alloca i32 %t36 = alloca i32 %t63 = alloca i32 %t90 = alloca i32 %t94 = alloca ptr %t95 = alloca i32 %t96 = alloca i32 %t167 = alloca ptr %t168 = alloca i32 %t169 = alloca i32 %t214 = alloca i32 %t255 = alloca i32 %t273 = alloca i32 %t286 = alloca i32 %t287 = alloca i32 %t293 = alloca i32 %t308 = alloca i32 %t331 = alloca i32 %t333 = alloca i32 %t334 = alloca i32 %t362 = alloca i32 %t363 = alloca i32 %t395 = alloca i32 %t396 = alloca i32 %t397 = alloca i32 %t441 = alloca i32 %t454 = alloca i32 %t455 = alloca i32 store ptr %arg_src, ptr %t0 store i32 %arg_first_line, ptr %t1 %t2 = getelementptr %LSlice, ptr null, i32 1 %t3 = ptrtoint ptr %t2 to i64 %t4 = call ptr @malloc(i64 %t3) %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 store ptr null, ptr %t5 %t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 store i32 0, ptr %t6 %t7 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 2 store i32 0, ptr %t7 store ptr %t4, ptr @g_toks store i32 0, ptr %t8 %t9 = load i32, ptr %t1 store i32 %t9, ptr %t10 %t11 = load ptr, ptr %t0 %t12 = call i64 @strlen(ptr %t11) %t13 = trunc i64 %t12 to i32 store i32 %t13, ptr %t14 br label %wcond0 wcond0: %t15 = load i32, ptr %t8 %t16 = load i32, ptr %t14 %t17 = icmp slt i32 %t15, %t16 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %wbody1, label %wend2 wbody1: %t20 = load ptr, ptr %t0 %t21 = load i32, ptr %t8 %t22 = getelementptr inbounds i8, ptr %t20, i32 %t21 %t23 = load i8, ptr %t22 %t24 = zext i8 %t23 to i32 store i32 %t24, ptr %t25 %t26 = load i32, ptr %t25 %t27 = icmp eq i32 %t26, 10 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then3, label %ifend5 then3: %t30 = load i32, ptr %t10 call void @fn_tok_push(i32 4, ptr null, i32 0, i32 %t30) %t31 = load i32, ptr %t10 %t32 = add i32 %t31, 1 store i32 %t32, ptr %t10 %t33 = load i32, ptr %t8 %t34 = add i32 %t33, 1 store i32 %t34, ptr %t8 br label %wcond0 ifend5: %t37 = load i32, ptr %t25 %t38 = icmp eq i32 %t37, 32 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t36 br i1 %t40, label %scend7, label %sc6 sc6: %t42 = load i32, ptr %t25 %t43 = icmp eq i32 %t42, 9 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t36 br label %scend7 scend7: %t47 = load i32, ptr %t36 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t35 br i1 %t48, label %scend9, label %sc8 sc8: %t50 = load i32, ptr %t25 %t51 = icmp eq i32 %t50, 13 %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t35 br label %scend9 scend9: %t55 = load i32, ptr %t35 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then10, label %ifend12 then10: %t57 = load i32, ptr %t8 %t58 = add i32 %t57, 1 store i32 %t58, ptr %t8 br label %wcond0 ifend12: %t59 = load i32, ptr %t25 %t60 = icmp eq i32 %t59, 35 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then13, label %ifend15 then13: br label %wcond16 wcond16: %t64 = load i32, ptr %t8 %t65 = load i32, ptr %t14 %t66 = icmp slt i32 %t64, %t65 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t63 br i1 %t68, label %sc19, label %scend20 sc19: %t70 = load ptr, ptr %t0 %t71 = load i32, ptr %t8 %t72 = getelementptr inbounds i8, ptr %t70, i32 %t71 %t73 = load i8, ptr %t72 %t74 = zext i8 %t73 to i32 %t75 = icmp ne i32 %t74, 10 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t63 br label %scend20 scend20: %t79 = load i32, ptr %t63 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %wbody17, label %wend18 wbody17: %t81 = load i32, ptr %t8 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t8 br label %wcond16 wend18: br label %wcond0 ifend15: %t83 = load i32, ptr %t25 %t84 = icmp eq i32 %t83, 34 %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then21, label %ifend23 then21: %t87 = load i32, ptr %t8 %t88 = add i32 %t87, 1 store i32 %t88, ptr %t8 %t89 = load i32, ptr %t8 store i32 %t89, ptr %t90 %t91 = load i32, ptr %t14 %t92 = zext i32 %t91 to i64 %t93 = call ptr @malloc(i64 %t92) store ptr %t93, ptr %t94 store i32 0, ptr %t95 br label %wcond24 wcond24: %t97 = load i32, ptr %t8 %t98 = load i32, ptr %t14 %t99 = icmp slt i32 %t97, %t98 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t96 br i1 %t101, label %sc27, label %scend28 sc27: %t103 = load ptr, ptr %t0 %t104 = load i32, ptr %t8 %t105 = getelementptr inbounds i8, ptr %t103, i32 %t104 %t106 = load i8, ptr %t105 %t107 = zext i8 %t106 to i32 %t108 = icmp ne i32 %t107, 34 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 %t111 = zext i1 %t110 to i32 store i32 %t111, ptr %t96 br label %scend28 scend28: %t112 = load i32, ptr %t96 %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %wbody25, label %wend26 wbody25: %t114 = load ptr, ptr %t0 %t115 = load i32, ptr %t8 %t116 = getelementptr inbounds i8, ptr %t114, i32 %t115 %t117 = load i8, ptr %t116 %t118 = zext i8 %t117 to i32 %t119 = icmp eq i32 %t118, 92 %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then29, label %else30 then29: %t122 = load ptr, ptr %t94 %t123 = load i32, ptr %t95 %t124 = getelementptr inbounds i8, ptr %t122, i32 %t123 %t125 = load ptr, ptr %t0 %t126 = load i32, ptr %t8 %t127 = add i32 %t126, 1 %t128 = getelementptr inbounds i8, ptr %t125, i32 %t127 %t129 = load i8, ptr %t128 %t130 = zext i8 %t129 to i32 %t131 = call i32 @fn_unescape(i32 %t130) %t132 = trunc i32 %t131 to i8 store i8 %t132, ptr %t124 %t133 = load i32, ptr %t95 %t134 = add i32 %t133, 1 store i32 %t134, ptr %t95 %t135 = load i32, ptr %t8 %t136 = add i32 %t135, 2 store i32 %t136, ptr %t8 br label %ifend31 else30: %t137 = load ptr, ptr %t94 %t138 = load i32, ptr %t95 %t139 = getelementptr inbounds i8, ptr %t137, i32 %t138 %t140 = load ptr, ptr %t0 %t141 = load i32, ptr %t8 %t142 = getelementptr inbounds i8, ptr %t140, i32 %t141 %t143 = load i8, ptr %t142 %t144 = zext i8 %t143 to i32 %t145 = trunc i32 %t144 to i8 store i8 %t145, ptr %t139 %t146 = load i32, ptr %t95 %t147 = add i32 %t146, 1 store i32 %t147, ptr %t95 %t148 = load i32, ptr %t8 %t149 = add i32 %t148, 1 store i32 %t149, ptr %t8 br label %ifend31 ifend31: br label %wcond24 wend26: %t150 = load i32, ptr %t8 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t8 %t152 = load ptr, ptr %t94 %t153 = load i32, ptr %t95 %t154 = getelementptr inbounds i8, ptr %t152, i32 %t153 %t155 = trunc i32 0 to i8 store i8 %t155, ptr %t154 %t156 = load ptr, ptr %t94 %t157 = load i32, ptr %t10 call void @fn_tok_push(i32 2, ptr %t156, i32 0, i32 %t157) br label %wcond0 ifend23: %t158 = load i32, ptr %t25 %t159 = icmp eq i32 %t158, 96 %t160 = zext i1 %t159 to i32 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then32, label %ifend34 then32: %t162 = load i32, ptr %t8 %t163 = add i32 %t162, 1 store i32 %t163, ptr %t8 %t164 = load i32, ptr %t14 %t165 = zext i32 %t164 to i64 %t166 = call ptr @malloc(i64 %t165) store ptr %t166, ptr %t167 store i32 0, ptr %t168 br label %wcond35 wcond35: %t170 = load i32, ptr %t8 %t171 = load i32, ptr %t14 %t172 = icmp slt i32 %t170, %t171 %t173 = zext i1 %t172 to i32 %t174 = icmp ne i32 %t173, 0 %t175 = zext i1 %t174 to i32 store i32 %t175, ptr %t169 br i1 %t174, label %sc38, label %scend39 sc38: %t176 = load ptr, ptr %t0 %t177 = load i32, ptr %t8 %t178 = getelementptr inbounds i8, ptr %t176, i32 %t177 %t179 = load i8, ptr %t178 %t180 = zext i8 %t179 to i32 %t181 = icmp ne i32 %t180, 96 %t182 = zext i1 %t181 to i32 %t183 = icmp ne i32 %t182, 0 %t184 = zext i1 %t183 to i32 store i32 %t184, ptr %t169 br label %scend39 scend39: %t185 = load i32, ptr %t169 %t186 = icmp ne i32 %t185, 0 br i1 %t186, label %wbody36, label %wend37 wbody36: %t187 = load ptr, ptr %t167 %t188 = load i32, ptr %t168 %t189 = getelementptr inbounds i8, ptr %t187, i32 %t188 %t190 = load ptr, ptr %t0 %t191 = load i32, ptr %t8 %t192 = getelementptr inbounds i8, ptr %t190, i32 %t191 %t193 = load i8, ptr %t192 %t194 = zext i8 %t193 to i32 %t195 = trunc i32 %t194 to i8 store i8 %t195, ptr %t189 %t196 = load i32, ptr %t168 %t197 = add i32 %t196, 1 store i32 %t197, ptr %t168 %t198 = load i32, ptr %t8 %t199 = add i32 %t198, 1 store i32 %t199, ptr %t8 br label %wcond35 wend37: %t200 = load i32, ptr %t8 %t201 = add i32 %t200, 1 store i32 %t201, ptr %t8 %t202 = load ptr, ptr %t167 %t203 = load i32, ptr %t168 %t204 = getelementptr inbounds i8, ptr %t202, i32 %t203 %t205 = trunc i32 0 to i8 store i8 %t205, ptr %t204 %t206 = load ptr, ptr %t167 %t207 = load i32, ptr %t10 call void @fn_tok_push(i32 7, ptr %t206, i32 0, i32 %t207) br label %wcond0 ifend34: %t208 = load i32, ptr %t25 %t209 = icmp eq i32 %t208, 39 %t210 = zext i1 %t209 to i32 %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %then40, label %ifend42 then40: %t212 = load i32, ptr %t8 %t213 = add i32 %t212, 1 store i32 %t213, ptr %t8 store i32 0, ptr %t214 %t215 = load ptr, ptr %t0 %t216 = load i32, ptr %t8 %t217 = getelementptr inbounds i8, ptr %t215, i32 %t216 %t218 = load i8, ptr %t217 %t219 = zext i8 %t218 to i32 %t220 = icmp eq i32 %t219, 92 %t221 = zext i1 %t220 to i32 %t222 = icmp ne i32 %t221, 0 br i1 %t222, label %then43, label %else44 then43: %t223 = load ptr, ptr %t0 %t224 = load i32, ptr %t8 %t225 = add i32 %t224, 1 %t226 = getelementptr inbounds i8, ptr %t223, i32 %t225 %t227 = load i8, ptr %t226 %t228 = zext i8 %t227 to i32 %t229 = call i32 @fn_unescape(i32 %t228) store i32 %t229, ptr %t214 %t230 = load i32, ptr %t8 %t231 = add i32 %t230, 2 store i32 %t231, ptr %t8 br label %ifend45 else44: %t232 = load ptr, ptr %t0 %t233 = load i32, ptr %t8 %t234 = getelementptr inbounds i8, ptr %t232, i32 %t233 %t235 = load i8, ptr %t234 %t236 = zext i8 %t235 to i32 store i32 %t236, ptr %t214 %t237 = load i32, ptr %t8 %t238 = add i32 %t237, 1 store i32 %t238, ptr %t8 br label %ifend45 ifend45: %t239 = load ptr, ptr %t0 %t240 = load i32, ptr %t8 %t241 = getelementptr inbounds i8, ptr %t239, i32 %t240 %t242 = load i8, ptr %t241 %t243 = zext i8 %t242 to i32 %t244 = icmp ne i32 %t243, 39 %t245 = zext i1 %t244 to i32 %t246 = icmp ne i32 %t245, 0 br i1 %t246, label %then46, label %ifend48 then46: %t247 = load i32, ptr %t10 call void @fn_lex_fail(i32 %t247, ptr @.str8) br label %ifend48 ifend48: %t248 = load i32, ptr %t8 %t249 = add i32 %t248, 1 store i32 %t249, ptr %t8 %t250 = load i32, ptr %t214 %t251 = load i32, ptr %t10 call void @fn_tok_push(i32 1, ptr null, i32 %t250, i32 %t251) br label %wcond0 ifend42: %t252 = load i32, ptr %t25 %t253 = call i32 @fn_char_is_digit(i32 %t252) %t254 = icmp ne i32 %t253, 0 br i1 %t254, label %then49, label %ifend51 then49: %t256 = load i32, ptr %t25 %t257 = icmp eq i32 %t256, 48 %t258 = zext i1 %t257 to i32 %t259 = icmp ne i32 %t258, 0 %t260 = zext i1 %t259 to i32 store i32 %t260, ptr %t255 br i1 %t259, label %sc52, label %scend53 sc52: %t261 = load ptr, ptr %t0 %t262 = load i32, ptr %t8 %t263 = add i32 %t262, 1 %t264 = getelementptr inbounds i8, ptr %t261, i32 %t263 %t265 = load i8, ptr %t264 %t266 = zext i8 %t265 to i32 %t267 = icmp eq i32 %t266, 120 %t268 = zext i1 %t267 to i32 %t269 = icmp ne i32 %t268, 0 %t270 = zext i1 %t269 to i32 store i32 %t270, ptr %t255 br label %scend53 scend53: %t271 = load i32, ptr %t255 %t272 = icmp ne i32 %t271, 0 br i1 %t272, label %then54, label %ifend56 then54: store i32 0, ptr %t273 %t274 = load i32, ptr %t8 %t275 = add i32 %t274, 2 store i32 %t275, ptr %t8 br label %wcond57 wcond57: %t276 = load i32, ptr %t8 %t277 = load i32, ptr %t14 %t278 = icmp slt i32 %t276, %t277 %t279 = zext i1 %t278 to i32 %t280 = icmp ne i32 %t279, 0 br i1 %t280, label %wbody58, label %wend59 wbody58: %t281 = load ptr, ptr %t0 %t282 = load i32, ptr %t8 %t283 = getelementptr inbounds i8, ptr %t281, i32 %t282 %t284 = load i8, ptr %t283 %t285 = zext i8 %t284 to i32 store i32 %t285, ptr %t286 store i32 0, ptr %t287 %t288 = load i32, ptr %t286 %t289 = call i32 @fn_char_is_digit(i32 %t288) %t290 = icmp ne i32 %t289, 0 br i1 %t290, label %then60, label %else61 then60: %t291 = load i32, ptr %t286 %t292 = sub i32 %t291, 48 store i32 %t292, ptr %t287 br label %ifend62 else61: %t294 = load i32, ptr %t286 %t295 = icmp sge i32 %t294, 97 %t296 = zext i1 %t295 to i32 %t297 = icmp ne i32 %t296, 0 %t298 = zext i1 %t297 to i32 store i32 %t298, ptr %t293 br i1 %t297, label %sc63, label %scend64 sc63: %t299 = load i32, ptr %t286 %t300 = icmp sle i32 %t299, 102 %t301 = zext i1 %t300 to i32 %t302 = icmp ne i32 %t301, 0 %t303 = zext i1 %t302 to i32 store i32 %t303, ptr %t293 br label %scend64 scend64: %t304 = load i32, ptr %t293 %t305 = icmp ne i32 %t304, 0 br i1 %t305, label %then65, label %else66 then65: %t306 = load i32, ptr %t286 %t307 = sub i32 %t306, 87 store i32 %t307, ptr %t287 br label %ifend67 else66: %t309 = load i32, ptr %t286 %t310 = icmp sge i32 %t309, 65 %t311 = zext i1 %t310 to i32 %t312 = icmp ne i32 %t311, 0 %t313 = zext i1 %t312 to i32 store i32 %t313, ptr %t308 br i1 %t312, label %sc68, label %scend69 sc68: %t314 = load i32, ptr %t286 %t315 = icmp sle i32 %t314, 70 %t316 = zext i1 %t315 to i32 %t317 = icmp ne i32 %t316, 0 %t318 = zext i1 %t317 to i32 store i32 %t318, ptr %t308 br label %scend69 scend69: %t319 = load i32, ptr %t308 %t320 = icmp ne i32 %t319, 0 br i1 %t320, label %then70, label %else71 then70: %t321 = load i32, ptr %t286 %t322 = sub i32 %t321, 55 store i32 %t322, ptr %t287 br label %ifend72 else71: br label %wend59 ifend72: br label %ifend67 ifend67: br label %ifend62 ifend62: %t323 = load i32, ptr %t273 %t324 = mul i32 %t323, 16 %t325 = load i32, ptr %t287 %t326 = add i32 %t324, %t325 store i32 %t326, ptr %t273 %t327 = load i32, ptr %t8 %t328 = add i32 %t327, 1 store i32 %t328, ptr %t8 br label %wcond57 wend59: %t329 = load i32, ptr %t273 %t330 = load i32, ptr %t10 call void @fn_tok_push(i32 1, ptr null, i32 %t329, i32 %t330) br label %wcond0 ifend56: store i32 0, ptr %t331 %t332 = load i32, ptr %t8 store i32 %t332, ptr %t333 br label %wcond73 wcond73: %t335 = load i32, ptr %t8 %t336 = load i32, ptr %t14 %t337 = icmp slt i32 %t335, %t336 %t338 = zext i1 %t337 to i32 %t339 = icmp ne i32 %t338, 0 %t340 = zext i1 %t339 to i32 store i32 %t340, ptr %t334 br i1 %t339, label %sc76, label %scend77 sc76: %t341 = load ptr, ptr %t0 %t342 = load i32, ptr %t8 %t343 = getelementptr inbounds i8, ptr %t341, i32 %t342 %t344 = load i8, ptr %t343 %t345 = zext i8 %t344 to i32 %t346 = call i32 @fn_char_is_digit(i32 %t345) %t347 = icmp ne i32 %t346, 0 %t348 = zext i1 %t347 to i32 store i32 %t348, ptr %t334 br label %scend77 scend77: %t349 = load i32, ptr %t334 %t350 = icmp ne i32 %t349, 0 br i1 %t350, label %wbody74, label %wend75 wbody74: %t351 = load i32, ptr %t331 %t352 = mul i32 %t351, 10 %t353 = load ptr, ptr %t0 %t354 = load i32, ptr %t8 %t355 = getelementptr inbounds i8, ptr %t353, i32 %t354 %t356 = load i8, ptr %t355 %t357 = zext i8 %t356 to i32 %t358 = sub i32 %t357, 48 %t359 = add i32 %t352, %t358 store i32 %t359, ptr %t331 %t360 = load i32, ptr %t8 %t361 = add i32 %t360, 1 store i32 %t361, ptr %t8 br label %wcond73 wend75: %t364 = load i32, ptr %t8 %t365 = load i32, ptr %t14 %t366 = icmp slt i32 %t364, %t365 %t367 = zext i1 %t366 to i32 %t368 = icmp ne i32 %t367, 0 %t369 = zext i1 %t368 to i32 store i32 %t369, ptr %t363 br i1 %t368, label %sc78, label %scend79 sc78: %t370 = load ptr, ptr %t0 %t371 = load i32, ptr %t8 %t372 = getelementptr inbounds i8, ptr %t370, i32 %t371 %t373 = load i8, ptr %t372 %t374 = zext i8 %t373 to i32 %t375 = icmp eq i32 %t374, 46 %t376 = zext i1 %t375 to i32 %t377 = icmp ne i32 %t376, 0 %t378 = zext i1 %t377 to i32 store i32 %t378, ptr %t363 br label %scend79 scend79: %t379 = load i32, ptr %t363 %t380 = icmp ne i32 %t379, 0 %t381 = zext i1 %t380 to i32 store i32 %t381, ptr %t362 br i1 %t380, label %sc80, label %scend81 sc80: %t382 = load ptr, ptr %t0 %t383 = load i32, ptr %t8 %t384 = add i32 %t383, 1 %t385 = getelementptr inbounds i8, ptr %t382, i32 %t384 %t386 = load i8, ptr %t385 %t387 = zext i8 %t386 to i32 %t388 = call i32 @fn_char_is_digit(i32 %t387) %t389 = icmp ne i32 %t388, 0 %t390 = zext i1 %t389 to i32 store i32 %t390, ptr %t362 br label %scend81 scend81: %t391 = load i32, ptr %t362 %t392 = icmp ne i32 %t391, 0 br i1 %t392, label %then82, label %ifend84 then82: %t393 = load i32, ptr %t8 %t394 = add i32 %t393, 1 store i32 %t394, ptr %t8 store i32 0, ptr %t395 store i32 1, ptr %t396 br label %wcond85 wcond85: %t398 = load i32, ptr %t8 %t399 = load i32, ptr %t14 %t400 = icmp slt i32 %t398, %t399 %t401 = zext i1 %t400 to i32 %t402 = icmp ne i32 %t401, 0 %t403 = zext i1 %t402 to i32 store i32 %t403, ptr %t397 br i1 %t402, label %sc88, label %scend89 sc88: %t404 = load ptr, ptr %t0 %t405 = load i32, ptr %t8 %t406 = getelementptr inbounds i8, ptr %t404, i32 %t405 %t407 = load i8, ptr %t406 %t408 = zext i8 %t407 to i32 %t409 = call i32 @fn_char_is_digit(i32 %t408) %t410 = icmp ne i32 %t409, 0 %t411 = zext i1 %t410 to i32 store i32 %t411, ptr %t397 br label %scend89 scend89: %t412 = load i32, ptr %t397 %t413 = icmp ne i32 %t412, 0 br i1 %t413, label %wbody86, label %wend87 wbody86: %t414 = load i32, ptr %t396 %t415 = icmp slt i32 %t414, 10000 %t416 = zext i1 %t415 to i32 %t417 = icmp ne i32 %t416, 0 br i1 %t417, label %then90, label %ifend92 then90: %t418 = load i32, ptr %t395 %t419 = mul i32 %t418, 10 %t420 = load ptr, ptr %t0 %t421 = load i32, ptr %t8 %t422 = getelementptr inbounds i8, ptr %t420, i32 %t421 %t423 = load i8, ptr %t422 %t424 = zext i8 %t423 to i32 %t425 = sub i32 %t424, 48 %t426 = add i32 %t419, %t425 store i32 %t426, ptr %t395 %t427 = load i32, ptr %t396 %t428 = mul i32 %t427, 10 store i32 %t428, ptr %t396 br label %ifend92 ifend92: %t429 = load i32, ptr %t8 %t430 = add i32 %t429, 1 store i32 %t430, ptr %t8 br label %wcond85 wend87: %t431 = load i32, ptr %t331 %t432 = shl i32 %t431, 16 %t433 = load i32, ptr %t395 %t434 = shl i32 %t433, 16 %t435 = load i32, ptr %t396 %t436 = lshr i32 %t435, 1 %t437 = add i32 %t434, %t436 %t438 = load i32, ptr %t396 %t439 = sdiv i32 %t437, %t438 %t440 = add i32 %t432, %t439 store i32 %t440, ptr %t441 %t442 = load ptr, ptr %t0 %t443 = load i32, ptr %t333 %t444 = load i32, ptr %t8 %t445 = call ptr @lp_str_slice(ptr %t442, i32 %t443, i32 %t444) %t446 = load i32, ptr %t441 %t447 = load i32, ptr %t10 call void @fn_tok_push(i32 6, ptr %t445, i32 %t446, i32 %t447) br label %wcond0 ifend84: %t448 = load i32, ptr %t331 %t449 = load i32, ptr %t10 call void @fn_tok_push(i32 1, ptr null, i32 %t448, i32 %t449) br label %wcond0 ifend51: %t450 = load i32, ptr %t25 %t451 = call i32 @fn_char_is_alpha(i32 %t450) %t452 = icmp ne i32 %t451, 0 br i1 %t452, label %then93, label %ifend95 then93: %t453 = load i32, ptr %t8 store i32 %t453, ptr %t454 br label %wcond96 wcond96: %t456 = load i32, ptr %t8 %t457 = load i32, ptr %t14 %t458 = icmp slt i32 %t456, %t457 %t459 = zext i1 %t458 to i32 %t460 = icmp ne i32 %t459, 0 %t461 = zext i1 %t460 to i32 store i32 %t461, ptr %t455 br i1 %t460, label %sc99, label %scend100 sc99: %t462 = load ptr, ptr %t0 %t463 = load i32, ptr %t8 %t464 = getelementptr inbounds i8, ptr %t462, i32 %t463 %t465 = load i8, ptr %t464 %t466 = zext i8 %t465 to i32 %t467 = call i32 @fn_char_is_alnum(i32 %t466) %t468 = icmp ne i32 %t467, 0 %t469 = zext i1 %t468 to i32 store i32 %t469, ptr %t455 br label %scend100 scend100: %t470 = load i32, ptr %t455 %t471 = icmp ne i32 %t470, 0 br i1 %t471, label %wbody97, label %wend98 wbody97: %t472 = load i32, ptr %t8 %t473 = add i32 %t472, 1 store i32 %t473, ptr %t8 br label %wcond96 wend98: %t474 = load ptr, ptr %t0 %t475 = load i32, ptr %t454 %t476 = load i32, ptr %t8 %t477 = call ptr @lp_str_slice(ptr %t474, i32 %t475, i32 %t476) %t478 = load i32, ptr %t10 call void @fn_tok_push(i32 0, ptr %t477, i32 0, i32 %t478) br label %wcond0 ifend95: %t479 = load i32, ptr %t25 %t480 = icmp eq i32 %t479, 59 %t481 = zext i1 %t480 to i32 %t482 = icmp ne i32 %t481, 0 br i1 %t482, label %then101, label %ifend103 then101: %t483 = load i32, ptr %t10 call void @fn_tok_push(i32 4, ptr null, i32 0, i32 %t483) %t484 = load i32, ptr %t8 %t485 = add i32 %t484, 1 store i32 %t485, ptr %t8 br label %wcond0 ifend103: %t486 = load ptr, ptr %t0 %t487 = load i32, ptr %t8 %t488 = call i32 @fn_two_at(ptr %t486, i32 %t487, i32 45, i32 62) %t489 = icmp ne i32 %t488, 0 br i1 %t489, label %then104, label %ifend106 then104: %t490 = load ptr, ptr %t0 %t491 = load i32, ptr %t8 %t492 = load i32, ptr %t8 %t493 = add i32 %t492, 2 %t494 = call ptr @lp_str_slice(ptr %t490, i32 %t491, i32 %t493) %t495 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t494, i32 0, i32 %t495) %t496 = load i32, ptr %t8 %t497 = add i32 %t496, 2 store i32 %t497, ptr %t8 br label %wcond0 ifend106: %t498 = load ptr, ptr %t0 %t499 = load i32, ptr %t8 %t500 = call i32 @fn_two_at(ptr %t498, i32 %t499, i32 61, i32 62) %t501 = icmp ne i32 %t500, 0 br i1 %t501, label %then107, label %ifend109 then107: %t502 = load ptr, ptr %t0 %t503 = load i32, ptr %t8 %t504 = load i32, ptr %t8 %t505 = add i32 %t504, 2 %t506 = call ptr @lp_str_slice(ptr %t502, i32 %t503, i32 %t505) %t507 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t506, i32 0, i32 %t507) %t508 = load i32, ptr %t8 %t509 = add i32 %t508, 2 store i32 %t509, ptr %t8 br label %wcond0 ifend109: %t510 = load ptr, ptr %t0 %t511 = load i32, ptr %t8 %t512 = call i32 @fn_two_at(ptr %t510, i32 %t511, i32 61, i32 61) %t513 = icmp ne i32 %t512, 0 br i1 %t513, label %then110, label %ifend112 then110: %t514 = load ptr, ptr %t0 %t515 = load i32, ptr %t8 %t516 = load i32, ptr %t8 %t517 = add i32 %t516, 2 %t518 = call ptr @lp_str_slice(ptr %t514, i32 %t515, i32 %t517) %t519 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t518, i32 0, i32 %t519) %t520 = load i32, ptr %t8 %t521 = add i32 %t520, 2 store i32 %t521, ptr %t8 br label %wcond0 ifend112: %t522 = load ptr, ptr %t0 %t523 = load i32, ptr %t8 %t524 = call i32 @fn_two_at(ptr %t522, i32 %t523, i32 33, i32 61) %t525 = icmp ne i32 %t524, 0 br i1 %t525, label %then113, label %ifend115 then113: %t526 = load ptr, ptr %t0 %t527 = load i32, ptr %t8 %t528 = load i32, ptr %t8 %t529 = add i32 %t528, 2 %t530 = call ptr @lp_str_slice(ptr %t526, i32 %t527, i32 %t529) %t531 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t530, i32 0, i32 %t531) %t532 = load i32, ptr %t8 %t533 = add i32 %t532, 2 store i32 %t533, ptr %t8 br label %wcond0 ifend115: %t534 = load ptr, ptr %t0 %t535 = load i32, ptr %t8 %t536 = call i32 @fn_two_at(ptr %t534, i32 %t535, i32 60, i32 61) %t537 = icmp ne i32 %t536, 0 br i1 %t537, label %then116, label %ifend118 then116: %t538 = load ptr, ptr %t0 %t539 = load i32, ptr %t8 %t540 = load i32, ptr %t8 %t541 = add i32 %t540, 2 %t542 = call ptr @lp_str_slice(ptr %t538, i32 %t539, i32 %t541) %t543 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t542, i32 0, i32 %t543) %t544 = load i32, ptr %t8 %t545 = add i32 %t544, 2 store i32 %t545, ptr %t8 br label %wcond0 ifend118: %t546 = load ptr, ptr %t0 %t547 = load i32, ptr %t8 %t548 = call i32 @fn_two_at(ptr %t546, i32 %t547, i32 62, i32 61) %t549 = icmp ne i32 %t548, 0 br i1 %t549, label %then119, label %ifend121 then119: %t550 = load ptr, ptr %t0 %t551 = load i32, ptr %t8 %t552 = load i32, ptr %t8 %t553 = add i32 %t552, 2 %t554 = call ptr @lp_str_slice(ptr %t550, i32 %t551, i32 %t553) %t555 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t554, i32 0, i32 %t555) %t556 = load i32, ptr %t8 %t557 = add i32 %t556, 2 store i32 %t557, ptr %t8 br label %wcond0 ifend121: %t558 = load ptr, ptr %t0 %t559 = load i32, ptr %t8 %t560 = call i32 @fn_two_at(ptr %t558, i32 %t559, i32 43, i32 61) %t561 = icmp ne i32 %t560, 0 br i1 %t561, label %then122, label %ifend124 then122: %t562 = load ptr, ptr %t0 %t563 = load i32, ptr %t8 %t564 = load i32, ptr %t8 %t565 = add i32 %t564, 2 %t566 = call ptr @lp_str_slice(ptr %t562, i32 %t563, i32 %t565) %t567 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t566, i32 0, i32 %t567) %t568 = load i32, ptr %t8 %t569 = add i32 %t568, 2 store i32 %t569, ptr %t8 br label %wcond0 ifend124: %t570 = load ptr, ptr %t0 %t571 = load i32, ptr %t8 %t572 = call i32 @fn_two_at(ptr %t570, i32 %t571, i32 45, i32 61) %t573 = icmp ne i32 %t572, 0 br i1 %t573, label %then125, label %ifend127 then125: %t574 = load ptr, ptr %t0 %t575 = load i32, ptr %t8 %t576 = load i32, ptr %t8 %t577 = add i32 %t576, 2 %t578 = call ptr @lp_str_slice(ptr %t574, i32 %t575, i32 %t577) %t579 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t578, i32 0, i32 %t579) %t580 = load i32, ptr %t8 %t581 = add i32 %t580, 2 store i32 %t581, ptr %t8 br label %wcond0 ifend127: %t582 = load ptr, ptr %t0 %t583 = load i32, ptr %t8 %t584 = call i32 @fn_two_at(ptr %t582, i32 %t583, i32 42, i32 61) %t585 = icmp ne i32 %t584, 0 br i1 %t585, label %then128, label %ifend130 then128: %t586 = load ptr, ptr %t0 %t587 = load i32, ptr %t8 %t588 = load i32, ptr %t8 %t589 = add i32 %t588, 2 %t590 = call ptr @lp_str_slice(ptr %t586, i32 %t587, i32 %t589) %t591 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t590, i32 0, i32 %t591) %t592 = load i32, ptr %t8 %t593 = add i32 %t592, 2 store i32 %t593, ptr %t8 br label %wcond0 ifend130: %t594 = load ptr, ptr %t0 %t595 = load i32, ptr %t8 %t596 = call i32 @fn_two_at(ptr %t594, i32 %t595, i32 47, i32 61) %t597 = icmp ne i32 %t596, 0 br i1 %t597, label %then131, label %ifend133 then131: %t598 = load ptr, ptr %t0 %t599 = load i32, ptr %t8 %t600 = load i32, ptr %t8 %t601 = add i32 %t600, 2 %t602 = call ptr @lp_str_slice(ptr %t598, i32 %t599, i32 %t601) %t603 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t602, i32 0, i32 %t603) %t604 = load i32, ptr %t8 %t605 = add i32 %t604, 2 store i32 %t605, ptr %t8 br label %wcond0 ifend133: %t606 = load ptr, ptr %t0 %t607 = load i32, ptr %t8 %t608 = call i32 @fn_two_at(ptr %t606, i32 %t607, i32 46, i32 46) %t609 = icmp ne i32 %t608, 0 br i1 %t609, label %then134, label %ifend136 then134: %t610 = load ptr, ptr %t0 %t611 = load i32, ptr %t8 %t612 = load i32, ptr %t8 %t613 = add i32 %t612, 2 %t614 = call ptr @lp_str_slice(ptr %t610, i32 %t611, i32 %t613) %t615 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t614, i32 0, i32 %t615) %t616 = load i32, ptr %t8 %t617 = add i32 %t616, 2 store i32 %t617, ptr %t8 br label %wcond0 ifend136: %t618 = load ptr, ptr %t0 %t619 = load i32, ptr %t8 %t620 = call i32 @fn_two_at(ptr %t618, i32 %t619, i32 60, i32 60) %t621 = icmp ne i32 %t620, 0 br i1 %t621, label %then137, label %ifend139 then137: %t622 = load ptr, ptr %t0 %t623 = load i32, ptr %t8 %t624 = load i32, ptr %t8 %t625 = add i32 %t624, 2 %t626 = call ptr @lp_str_slice(ptr %t622, i32 %t623, i32 %t625) %t627 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t626, i32 0, i32 %t627) %t628 = load i32, ptr %t8 %t629 = add i32 %t628, 2 store i32 %t629, ptr %t8 br label %wcond0 ifend139: %t630 = load ptr, ptr %t0 %t631 = load i32, ptr %t8 %t632 = call i32 @fn_two_at(ptr %t630, i32 %t631, i32 62, i32 62) %t633 = icmp ne i32 %t632, 0 br i1 %t633, label %then140, label %ifend142 then140: %t634 = load ptr, ptr %t0 %t635 = load i32, ptr %t8 %t636 = load i32, ptr %t8 %t637 = add i32 %t636, 2 %t638 = call ptr @lp_str_slice(ptr %t634, i32 %t635, i32 %t637) %t639 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t638, i32 0, i32 %t639) %t640 = load i32, ptr %t8 %t641 = add i32 %t640, 2 store i32 %t641, ptr %t8 br label %wcond0 ifend142: %t642 = load i32, ptr %t25 %t643 = call i32 @fn_is_op1(i32 %t642) %t644 = icmp ne i32 %t643, 0 br i1 %t644, label %then143, label %ifend145 then143: %t645 = load ptr, ptr %t0 %t646 = load i32, ptr %t8 %t647 = load i32, ptr %t8 %t648 = add i32 %t647, 1 %t649 = call ptr @lp_str_slice(ptr %t645, i32 %t646, i32 %t648) %t650 = load i32, ptr %t10 call void @fn_tok_push(i32 3, ptr %t649, i32 0, i32 %t650) %t651 = load i32, ptr %t8 %t652 = add i32 %t651, 1 store i32 %t652, ptr %t8 br label %wcond0 ifend145: %t653 = load i32, ptr %t10 %t654 = load i32, ptr %t25 call void @fn_lex_error(i32 %t653, i32 %t654) br label %wcond0 wend2: %t655 = load i32, ptr %t10 call void @fn_tok_push(i32 5, ptr null, i32 0, i32 %t655) br label %ret ret: ret void } define i32 @fn_is_float_file(ptr %arg_f) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca i32 store ptr %arg_f, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = icmp eq ptr %t1, null %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store i32 0, ptr %retval br label %ret ifend2: store i32 0, ptr %t5 br label %wcond3 wcond3: %t6 = load i32, ptr %t5 %t7 = load ptr, ptr @g_g_float_files %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp slt i32 %t6, %t9 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %wbody4, label %wend5 wbody4: %t13 = load ptr, ptr @g_g_float_files %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = load i32, ptr %t5 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t16, %t18 br i1 %t19, label %ixok6, label %ixbad7 ixbad7: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str9, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok6: %t21 = getelementptr inbounds ptr, ptr %t15, i32 %t16 %t22 = load ptr, ptr %t21 %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t22, ptr %t23) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: %t26 = load i32, ptr %t5 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t5 br label %wcond3 wend5: store i32 0, ptr %retval br label %ret ret: %t28 = load i32, ptr %retval ret i32 %t28 } define ptr @fn_cur() { entry: %retval = alloca ptr %t0 = load ptr, ptr @g_toks %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t2 = load ptr, ptr %t1 %t3 = load i32, ptr @g_pi %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp ult i32 %t3, %t5 br i1 %t6, label %ixok0, label %ixbad1 ixbad1: %t7 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str10, i32 %t3, i32 %t5) call void @exit(i32 1) unreachable ixok0: %t8 = getelementptr inbounds ptr, ptr %t2, i32 %t3 %t9 = load ptr, ptr %t8 store ptr %t9, ptr %retval br label %ret ret: %t10 = load ptr, ptr %retval ret ptr %t10 } define ptr @fn_pk(i32 %arg_o) { entry: %retval = alloca ptr %t0 = alloca i32 store i32 %arg_o, ptr %t0 %t1 = load ptr, ptr @g_toks %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t3 = load ptr, ptr %t2 %t4 = load i32, ptr @g_pi %t5 = load i32, ptr %t0 %t6 = add i32 %t4, %t5 %t7 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 %t6, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str11, i32 %t6, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t3, i32 %t6 %t12 = load ptr, ptr %t11 store ptr %t12, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define i32 @fn_is_op(ptr %arg_v) { entry: %retval = alloca i32 %t0 = alloca ptr %t11 = alloca ptr %t12 = alloca i32 store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr @g_toks %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t3 = load ptr, ptr %t2 %t4 = load i32, ptr @g_pi %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t4, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str12, i32 %t4, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t3, i32 %t4 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t11 %t13 = load ptr, ptr %t11 %t14 = getelementptr inbounds %Cmp_Tok, ptr %t13, i32 0, i32 0 %t15 = load i32, ptr %t14 %t16 = icmp eq i32 %t15, 3 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t12 br i1 %t18, label %sc2, label %scend3 sc2: %t20 = load ptr, ptr %t11 %t21 = getelementptr inbounds %Cmp_Tok, ptr %t20, i32 0, i32 1 %t22 = load ptr, ptr %t21 %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t22, ptr %t23) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t12 br label %scend3 scend3: %t27 = load i32, ptr %t12 store i32 %t27, ptr %retval br label %ret ret: %t28 = load i32, ptr %retval ret i32 %t28 } define i32 @fn_is_id(ptr %arg_v) { entry: %retval = alloca i32 %t0 = alloca ptr %t11 = alloca ptr %t12 = alloca i32 store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr @g_toks %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t3 = load ptr, ptr %t2 %t4 = load i32, ptr @g_pi %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t4, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str13, i32 %t4, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t3, i32 %t4 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t11 %t13 = load ptr, ptr %t11 %t14 = getelementptr inbounds %Cmp_Tok, ptr %t13, i32 0, i32 0 %t15 = load i32, ptr %t14 %t16 = icmp eq i32 %t15, 0 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t12 br i1 %t18, label %sc2, label %scend3 sc2: %t20 = load ptr, ptr %t11 %t21 = getelementptr inbounds %Cmp_Tok, ptr %t20, i32 0, i32 1 %t22 = load ptr, ptr %t21 %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t22, ptr %t23) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t12 br label %scend3 scend3: %t27 = load i32, ptr %t12 store i32 %t27, ptr %retval br label %ret ret: %t28 = load i32, ptr %retval ret i32 %t28 } define i32 @fn_is_kw(ptr %arg_v) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_is_id(ptr %t1) store i32 %t2, ptr %retval br label %ret ret: %t3 = load i32, ptr %retval ret i32 %t3 } define void @fn_perr(ptr %arg_msg) { entry: %t0 = alloca ptr %t2 = alloca ptr %t4 = alloca i32 %t40 = alloca ptr store ptr %arg_msg, ptr %t0 %t1 = load ptr, ptr @g_g_err_file store ptr %t1, ptr %t2 %t3 = load i32, ptr @g_g_err_line store i32 %t3, ptr %t4 %t5 = load i32, ptr @g_g_parsing %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: %t7 = load ptr, ptr @g_g_parse_file store ptr %t7, ptr %t2 store i32 0, ptr %t4 %t8 = load i32, ptr @g_pi %t9 = load ptr, ptr @g_toks %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp slt i32 %t8, %t11 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then3, label %ifend5 then3: %t15 = load ptr, ptr @g_toks %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = load i32, ptr @g_pi %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t18, %t20 br i1 %t21, label %ixok6, label %ixbad7 ixbad7: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str14, i32 %t18, i32 %t20) call void @exit(i32 1) unreachable ixok6: %t23 = getelementptr inbounds ptr, ptr %t17, i32 %t18 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %Cmp_Tok, ptr %t24, i32 0, i32 3 %t26 = load i32, ptr %t25 store i32 %t26, ptr %t4 br label %ifend5 ifend5: br label %ifend2 ifend2: %t27 = load ptr, ptr %t2 %t28 = icmp eq ptr %t27, null %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then8, label %ifend10 then8: store ptr @.str15, ptr %t2 br label %ifend10 ifend10: %t31 = load ptr, ptr %t2 %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str16) %t33 = load i32, ptr %t4 %t34 = call ptr @lp_int_str(i32 %t33) %t35 = call ptr @lp_str_concat(ptr %t32, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str17) %t37 = load ptr, ptr %t0 %t38 = call ptr @lp_str_concat(ptr %t36, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str18) store ptr %t39, ptr %t40 %t41 = load ptr, ptr @__stderrp %t42 = load ptr, ptr %t40 %t43 = load ptr, ptr %t40 %t44 = call i64 @strlen(ptr %t43) %t45 = trunc i64 %t44 to i32 %t46 = zext i32 %t45 to i64 %t47 = call i64 @fwrite(ptr %t42, i64 1, i64 %t46, ptr %t41) %t48 = trunc i64 %t47 to i32 call void @exit(i32 1) unreachable ret: ret void } define ptr @fn_tok_desc() { entry: %retval = alloca ptr %t10 = alloca ptr %t23 = alloca i32 %t0 = load ptr, ptr @g_toks %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t2 = load ptr, ptr %t1 %t3 = load i32, ptr @g_pi %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp ult i32 %t3, %t5 br i1 %t6, label %ixok0, label %ixbad1 ixbad1: %t7 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str19, i32 %t3, i32 %t5) call void @exit(i32 1) unreachable ixok0: %t8 = getelementptr inbounds ptr, ptr %t2, i32 %t3 %t9 = load ptr, ptr %t8 store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Tok, ptr %t11, i32 0, i32 0 %t13 = load i32, ptr %t12 %t14 = icmp eq i32 %t13, 5 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: store ptr @.str20, ptr %retval br label %ret ifend4: %t17 = load ptr, ptr %t10 %t18 = getelementptr inbounds %Cmp_Tok, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 4 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store ptr @.str21, ptr %retval br label %ret ifend7: %t24 = load ptr, ptr %t10 %t25 = getelementptr inbounds %Cmp_Tok, ptr %t24, i32 0, i32 0 %t26 = load i32, ptr %t25 %t27 = icmp eq i32 %t26, 1 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t23 br i1 %t29, label %scend9, label %sc8 sc8: %t31 = load ptr, ptr %t10 %t32 = getelementptr inbounds %Cmp_Tok, ptr %t31, i32 0, i32 0 %t33 = load i32, ptr %t32 %t34 = icmp eq i32 %t33, 6 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t23 br label %scend9 scend9: %t38 = load i32, ptr %t23 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then10, label %ifend12 then10: %t40 = load ptr, ptr %t10 %t41 = getelementptr inbounds %Cmp_Tok, ptr %t40, i32 0, i32 2 %t42 = load i32, ptr %t41 %t43 = call ptr @fn_itoa(i32 %t42) %t44 = call ptr @lp_str_concat(ptr @.str22, ptr %t43) store ptr %t44, ptr %retval br label %ret ifend12: %t45 = load ptr, ptr %t10 %t46 = getelementptr inbounds %Cmp_Tok, ptr %t45, i32 0, i32 0 %t47 = load i32, ptr %t46 %t48 = icmp eq i32 %t47, 2 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then13, label %ifend15 then13: %t51 = load ptr, ptr %t10 %t52 = getelementptr inbounds %Cmp_Tok, ptr %t51, i32 0, i32 1 %t53 = load ptr, ptr %t52 %t54 = call ptr @lp_str_concat(ptr @.str23, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str24) store ptr %t55, ptr %retval br label %ret ifend15: %t56 = load ptr, ptr %t10 %t57 = getelementptr inbounds %Cmp_Tok, ptr %t56, i32 0, i32 1 %t58 = load ptr, ptr %t57 %t59 = call ptr @lp_str_concat(ptr @.str25, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str26) store ptr %t60, ptr %retval br label %ret ret: %t61 = load ptr, ptr %retval ret ptr %t61 } define void @fn_eat_op(ptr %arg_v) { entry: %t0 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_is_op(ptr %t1) %t3 = icmp eq i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t0 %t7 = call ptr @lp_str_concat(ptr @.str27, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str28) %t9 = call ptr @fn_tok_desc() %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) call void @fn_perr(ptr %t10) br label %ifend2 ifend2: %t11 = load i32, ptr @g_pi %t12 = add i32 %t11, 1 store i32 %t12, ptr @g_pi br label %ret ret: ret void } define ptr @fn_eat_id() { entry: %retval = alloca ptr %t10 = alloca ptr %t0 = load ptr, ptr @g_toks %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t2 = load ptr, ptr %t1 %t3 = load i32, ptr @g_pi %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp ult i32 %t3, %t5 br i1 %t6, label %ixok0, label %ixbad1 ixbad1: %t7 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str29, i32 %t3, i32 %t5) call void @exit(i32 1) unreachable ixok0: %t8 = getelementptr inbounds ptr, ptr %t2, i32 %t3 %t9 = load ptr, ptr %t8 store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Tok, ptr %t11, i32 0, i32 0 %t13 = load i32, ptr %t12 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: %t17 = call ptr @fn_tok_desc() %t18 = call ptr @lp_str_concat(ptr @.str30, ptr %t17) call void @fn_perr(ptr %t18) br label %ifend4 ifend4: %t19 = load i32, ptr @g_pi %t20 = add i32 %t19, 1 store i32 %t20, ptr @g_pi %t21 = load ptr, ptr %t10 %t22 = getelementptr inbounds %Cmp_Tok, ptr %t21, i32 0, i32 1 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %retval br label %ret ret: %t24 = load ptr, ptr %retval ret ptr %t24 } define void @fn_skipnl() { entry: br label %wcond0 wcond0: %t0 = load ptr, ptr @g_toks %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t2 = load ptr, ptr %t1 %t3 = load i32, ptr @g_pi %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp ult i32 %t3, %t5 br i1 %t6, label %ixok3, label %ixbad4 ixbad4: %t7 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str31, i32 %t3, i32 %t5) call void @exit(i32 1) unreachable ixok3: %t8 = getelementptr inbounds ptr, ptr %t2, i32 %t3 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %Cmp_Tok, ptr %t9, i32 0, i32 0 %t11 = load i32, ptr %t10 %t12 = icmp eq i32 %t11, 4 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %wbody1, label %wend2 wbody1: %t15 = load i32, ptr @g_pi %t16 = add i32 %t15, 1 store i32 %t16, ptr @g_pi br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_ptype() { entry: %retval = alloca ptr %t5 = alloca ptr %t12 = alloca ptr %t19 = alloca i32 %t0 = call i32 @fn_is_op(ptr @.str32) %t1 = icmp ne i32 %t0, 0 br i1 %t1, label %then0, label %ifend2 then0: %t2 = load i32, ptr @g_pi %t3 = add i32 %t2, 1 store i32 %t3, ptr @g_pi call void @fn_eat_op(ptr @.str33) %t4 = call ptr @fn_ptype() store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = call i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 %t9 = add i32 %t8, 3 %t10 = zext i32 %t9 to i64 %t11 = call ptr @malloc(i64 %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds i8, ptr %t13, i32 0 %t15 = trunc i32 91 to i8 store i8 %t15, ptr %t14 %t16 = load ptr, ptr %t12 %t17 = getelementptr inbounds i8, ptr %t16, i32 1 %t18 = trunc i32 93 to i8 store i8 %t18, ptr %t17 store i32 0, ptr %t19 br label %wcond3 wcond3: %t20 = load ptr, ptr %t5 %t21 = load i32, ptr %t19 %t22 = getelementptr inbounds i8, ptr %t20, i32 %t21 %t23 = load i8, ptr %t22 %t24 = zext i8 %t23 to i32 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %wbody4, label %wend5 wbody4: %t28 = load ptr, ptr %t12 %t29 = load i32, ptr %t19 %t30 = add i32 2, %t29 %t31 = getelementptr inbounds i8, ptr %t28, i32 %t30 %t32 = load ptr, ptr %t5 %t33 = load i32, ptr %t19 %t34 = getelementptr inbounds i8, ptr %t32, i32 %t33 %t35 = load i8, ptr %t34 %t36 = zext i8 %t35 to i32 %t37 = trunc i32 %t36 to i8 store i8 %t37, ptr %t31 %t38 = load i32, ptr %t19 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t19 br label %wcond3 wend5: %t40 = load ptr, ptr %t12 %t41 = load i32, ptr %t19 %t42 = add i32 2, %t41 %t43 = getelementptr inbounds i8, ptr %t40, i32 %t42 %t44 = trunc i32 0 to i8 store i8 %t44, ptr %t43 %t45 = load ptr, ptr %t12 store ptr %t45, ptr %retval br label %ret ifend2: %t46 = call ptr @fn_eat_id() store ptr %t46, ptr %retval br label %ret ret: %t47 = load ptr, ptr %retval ret ptr %t47 } define ptr @fn_expr() { entry: %retval = alloca ptr %t0 = call ptr @fn_p_or() store ptr %t0, ptr %retval br label %ret ret: %t1 = load ptr, ptr %retval ret ptr %t1 } define void @fn_args_call(ptr %arg_call) { entry: %t0 = alloca ptr %t15 = alloca ptr %t27 = alloca ptr %t28 = alloca i32 %t29 = alloca i32 %t56 = alloca ptr store ptr %arg_call, ptr %t0 call void @fn_eat_op(ptr @.str34) call void @fn_skipnl() br label %wcond0 wcond0: %t1 = call i32 @fn_is_op(ptr @.str35) %t2 = icmp eq i32 %t1, 0 %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %wbody1, label %wend2 wbody1: %t5 = load ptr, ptr @g_toks %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 %t7 = load ptr, ptr %t6 %t8 = load i32, ptr @g_pi %t9 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t10 = load i32, ptr %t9 %t11 = icmp ult i32 %t8, %t10 br i1 %t11, label %ixok3, label %ixbad4 ixbad4: %t12 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t12, ptr @.fmt_bounds, ptr @.str36, i32 %t8, i32 %t10) call void @exit(i32 1) unreachable ixok3: %t13 = getelementptr inbounds ptr, ptr %t7, i32 %t8 %t14 = load ptr, ptr %t13 store ptr %t14, ptr %t15 %t16 = load ptr, ptr @g_toks %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = load i32, ptr @g_pi %t20 = add i32 %t19, 1 %t21 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t20, %t22 br i1 %t23, label %ixok5, label %ixbad6 ixbad6: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str37, i32 %t20, i32 %t22) call void @exit(i32 1) unreachable ixok5: %t25 = getelementptr inbounds ptr, ptr %t18, i32 %t20 %t26 = load ptr, ptr %t25 store ptr %t26, ptr %t27 %t30 = load ptr, ptr %t15 %t31 = getelementptr inbounds %Cmp_Tok, ptr %t30, i32 0, i32 0 %t32 = load i32, ptr %t31 %t33 = icmp eq i32 %t32, 0 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t29 br i1 %t35, label %sc7, label %scend8 sc7: %t37 = load ptr, ptr %t27 %t38 = getelementptr inbounds %Cmp_Tok, ptr %t37, i32 0, i32 0 %t39 = load i32, ptr %t38 %t40 = icmp eq i32 %t39, 3 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t29 br label %scend8 scend8: %t44 = load i32, ptr %t29 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t28 br i1 %t45, label %sc9, label %scend10 sc9: %t47 = load ptr, ptr %t27 %t48 = getelementptr inbounds %Cmp_Tok, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t48 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str38) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t28 br label %scend10 scend10: %t53 = load i32, ptr %t28 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then11, label %else12 then11: %t55 = call ptr @fn_node(i32 42) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 %t59 = call ptr @fn_eat_id() store ptr %t59, ptr %t58 call void @fn_eat_op(ptr @.str39) call void @fn_skipnl() %t60 = load ptr, ptr %t56 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 4 %t62 = call ptr @fn_expr() store ptr %t62, ptr %t61 %t63 = load ptr, ptr %t0 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 7 %t65 = load ptr, ptr %t64 %t66 = load ptr, ptr %t56 %t67 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t68 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 2 %t69 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 %t70 = load i32, ptr %t67 %t71 = load i32, ptr %t68 %t72 = icmp sge i32 %t70, %t71 br i1 %t72, label %grow14, label %put15 grow14: %t73 = mul i32 %t71, 2 %t74 = icmp eq i32 %t71, 0 %t75 = select i1 %t74, i32 8, i32 %t73 %t76 = getelementptr ptr, ptr null, i32 1 %t77 = ptrtoint ptr %t76 to i64 %t78 = zext i32 %t75 to i64 %t79 = mul i64 %t78, %t77 %t80 = load ptr, ptr %t69 %t81 = call ptr @realloc(ptr %t80, i64 %t79) store ptr %t81, ptr %t69 store i32 %t75, ptr %t68 br label %put15 put15: %t82 = load ptr, ptr %t69 %t83 = getelementptr inbounds ptr, ptr %t82, i32 %t70 store ptr %t66, ptr %t83 %t84 = add i32 %t70, 1 store i32 %t84, ptr %t67 br label %ifend13 else12: %t85 = load ptr, ptr %t0 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 7 %t87 = load ptr, ptr %t86 %t88 = call ptr @fn_expr() %t89 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t90 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 2 %t91 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 %t92 = load i32, ptr %t89 %t93 = load i32, ptr %t90 %t94 = icmp sge i32 %t92, %t93 br i1 %t94, label %grow16, label %put17 grow16: %t95 = mul i32 %t93, 2 %t96 = icmp eq i32 %t93, 0 %t97 = select i1 %t96, i32 8, i32 %t95 %t98 = getelementptr ptr, ptr null, i32 1 %t99 = ptrtoint ptr %t98 to i64 %t100 = zext i32 %t97 to i64 %t101 = mul i64 %t100, %t99 %t102 = load ptr, ptr %t91 %t103 = call ptr @realloc(ptr %t102, i64 %t101) store ptr %t103, ptr %t91 store i32 %t97, ptr %t90 br label %put17 put17: %t104 = load ptr, ptr %t91 %t105 = getelementptr inbounds ptr, ptr %t104, i32 %t92 store ptr %t88, ptr %t105 %t106 = add i32 %t92, 1 store i32 %t106, ptr %t89 br label %ifend13 ifend13: call void @fn_skipnl() %t107 = call i32 @fn_is_op(ptr @.str40) %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then18, label %ifend20 then18: %t109 = load i32, ptr @g_pi %t110 = add i32 %t109, 1 store i32 %t110, ptr @g_pi call void @fn_skipnl() br label %ifend20 ifend20: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str41) br label %ret ret: ret void } define ptr @fn_interp_lit(ptr %arg_buf, i32 %arg_len) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t3 = alloca ptr store ptr %arg_buf, ptr %t0 store i32 %arg_len, ptr %t1 %t2 = call ptr @fn_node(i32 31) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t0 %t7 = load i32, ptr %t1 %t8 = add i32 0, %t7 %t9 = call ptr @lp_str_slice(ptr %t6, i32 0, i32 %t8) store ptr %t9, ptr %t5 %t10 = load ptr, ptr %t3 store ptr %t10, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval ret ptr %t11 } define ptr @fn_interp_add(ptr %arg_acc, ptr %arg_part) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_acc, ptr %t0 store ptr %arg_part, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = icmp eq ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t1 store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = load ptr, ptr %t1 %t9 = call ptr @fn_mkbin(ptr @.str42, ptr %t7, ptr %t8) store ptr %t9, ptr %retval br label %ret ret: %t10 = load ptr, ptr %retval ret ptr %t10 } define ptr @fn_interp_str(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = call ptr @fn_node(i32 34) store ptr %t1, ptr %t2 %t3 = call ptr @fn_node(i32 33) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 1 store ptr @.str43, ptr %t6 %t7 = load ptr, ptr %t2 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 %t9 = load ptr, ptr %t4 store ptr %t9, ptr %t8 %t10 = load ptr, ptr %t2 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7 %t12 = load ptr, ptr %t11 %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t15 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 2 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t17 = load i32, ptr %t14 %t18 = load i32, ptr %t15 %t19 = icmp sge i32 %t17, %t18 br i1 %t19, label %grow0, label %put1 grow0: %t20 = mul i32 %t18, 2 %t21 = icmp eq i32 %t18, 0 %t22 = select i1 %t21, i32 8, i32 %t20 %t23 = getelementptr ptr, ptr null, i32 1 %t24 = ptrtoint ptr %t23 to i64 %t25 = zext i32 %t22 to i64 %t26 = mul i64 %t25, %t24 %t27 = load ptr, ptr %t16 %t28 = call ptr @realloc(ptr %t27, i64 %t26) store ptr %t28, ptr %t16 store i32 %t22, ptr %t15 br label %put1 put1: %t29 = load ptr, ptr %t16 %t30 = getelementptr inbounds ptr, ptr %t29, i32 %t17 store ptr %t13, ptr %t30 %t31 = add i32 %t17, 1 store i32 %t31, ptr %t14 %t32 = load ptr, ptr %t2 store ptr %t32, ptr %retval br label %ret ret: %t33 = load ptr, ptr %retval ret ptr %t33 } define ptr @fn_parse_hole(ptr %arg_inner) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t4 = alloca i32 %t8 = alloca ptr store ptr %arg_inner, ptr %t0 %t1 = load ptr, ptr @g_toks store ptr %t1, ptr %t2 %t3 = load i32, ptr @g_pi store i32 %t3, ptr %t4 %t5 = load ptr, ptr %t0 %t6 = load i32, ptr @g_g_interp_line call void @fn_lex_at(ptr %t5, i32 %t6) store i32 0, ptr @g_pi call void @fn_skipnl() %t7 = call ptr @fn_expr() store ptr %t7, ptr %t8 %t9 = load ptr, ptr %t2 store ptr %t9, ptr @g_toks %t10 = load i32, ptr %t4 store i32 %t10, ptr @g_pi %t11 = load ptr, ptr %t8 store ptr %t11, ptr %retval br label %ret ret: %t12 = load ptr, ptr %retval ret ptr %t12 } define ptr @fn_parse_interp(ptr %arg_raw) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 %t5 = alloca ptr %t10 = alloca ptr %t11 = alloca i32 %t12 = alloca i32 %t23 = alloca i32 %t57 = alloca i32 %t58 = alloca i32 %t59 = alloca i32 %t78 = alloca i32 %t79 = alloca i32 %t94 = alloca i32 %t153 = alloca i32 %t207 = alloca i32 store ptr %arg_raw, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i64 @strlen(ptr %t1) %t3 = trunc i64 %t2 to i32 store i32 %t3, ptr %t4 store ptr null, ptr %t5 %t6 = load i32, ptr %t4 %t7 = add i32 %t6, 1 %t8 = zext i32 %t7 to i64 %t9 = call ptr @malloc(i64 %t8) store ptr %t9, ptr %t10 store i32 0, ptr %t11 store i32 0, ptr %t12 br label %wcond0 wcond0: %t13 = load i32, ptr %t12 %t14 = load i32, ptr %t4 %t15 = icmp slt i32 %t13, %t14 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %wbody1, label %wend2 wbody1: %t18 = load ptr, ptr %t0 %t19 = load i32, ptr %t12 %t20 = getelementptr inbounds i8, ptr %t18, i32 %t19 %t21 = load i8, ptr %t20 %t22 = zext i8 %t21 to i32 store i32 %t22, ptr %t23 %t24 = load i32, ptr %t23 %t25 = icmp eq i32 %t24, 123 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then3, label %else4 then3: %t28 = load ptr, ptr %t0 %t29 = load i32, ptr %t12 %t30 = add i32 %t29, 1 %t31 = getelementptr inbounds i8, ptr %t28, i32 %t30 %t32 = load i8, ptr %t31 %t33 = zext i8 %t32 to i32 %t34 = icmp eq i32 %t33, 123 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then6, label %ifend8 then6: %t37 = load ptr, ptr %t10 %t38 = load i32, ptr %t11 %t39 = getelementptr inbounds i8, ptr %t37, i32 %t38 %t40 = trunc i32 123 to i8 store i8 %t40, ptr %t39 %t41 = load i32, ptr %t11 %t42 = add i32 %t41, 1 store i32 %t42, ptr %t11 %t43 = load i32, ptr %t12 %t44 = add i32 %t43, 2 store i32 %t44, ptr %t12 br label %wcond0 ifend8: %t45 = load i32, ptr %t11 %t46 = icmp sgt i32 %t45, 0 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then9, label %ifend11 then9: %t49 = load ptr, ptr %t5 %t50 = load ptr, ptr %t10 %t51 = load i32, ptr %t11 %t52 = call ptr @fn_interp_lit(ptr %t50, i32 %t51) %t53 = call ptr @fn_interp_add(ptr %t49, ptr %t52) store ptr %t53, ptr %t5 store i32 0, ptr %t11 br label %ifend11 ifend11: %t54 = load i32, ptr %t12 %t55 = add i32 %t54, 1 store i32 %t55, ptr %t12 %t56 = load i32, ptr %t12 store i32 %t56, ptr %t57 store i32 1, ptr %t58 br label %wcond12 wcond12: %t60 = load i32, ptr %t12 %t61 = load i32, ptr %t4 %t62 = icmp slt i32 %t60, %t61 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t59 br i1 %t64, label %sc15, label %scend16 sc15: %t66 = load i32, ptr %t58 %t67 = icmp sgt i32 %t66, 0 %t68 = zext i1 %t67 to i32 %t69 = icmp ne i32 %t68, 0 %t70 = zext i1 %t69 to i32 store i32 %t70, ptr %t59 br label %scend16 scend16: %t71 = load i32, ptr %t59 %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %wbody13, label %wend14 wbody13: %t73 = load ptr, ptr %t0 %t74 = load i32, ptr %t12 %t75 = getelementptr inbounds i8, ptr %t73, i32 %t74 %t76 = load i8, ptr %t75 %t77 = zext i8 %t76 to i32 store i32 %t77, ptr %t78 %t80 = load i32, ptr %t78 %t81 = icmp eq i32 %t80, 34 %t82 = zext i1 %t81 to i32 %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t79 br i1 %t83, label %scend18, label %sc17 sc17: %t85 = load i32, ptr %t78 %t86 = icmp eq i32 %t85, 39 %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t79 br label %scend18 scend18: %t90 = load i32, ptr %t79 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then19, label %else20 then19: %t92 = load i32, ptr %t12 %t93 = add i32 %t92, 1 store i32 %t93, ptr %t12 br label %wcond22 wcond22: %t95 = load i32, ptr %t12 %t96 = load i32, ptr %t4 %t97 = icmp slt i32 %t95, %t96 %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t94 br i1 %t99, label %sc25, label %scend26 sc25: %t101 = load ptr, ptr %t0 %t102 = load i32, ptr %t12 %t103 = getelementptr inbounds i8, ptr %t101, i32 %t102 %t104 = load i8, ptr %t103 %t105 = zext i8 %t104 to i32 %t106 = load i32, ptr %t78 %t107 = icmp ne i32 %t105, %t106 %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t94 br label %scend26 scend26: %t111 = load i32, ptr %t94 %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %wbody23, label %wend24 wbody23: %t113 = load ptr, ptr %t0 %t114 = load i32, ptr %t12 %t115 = getelementptr inbounds i8, ptr %t113, i32 %t114 %t116 = load i8, ptr %t115 %t117 = zext i8 %t116 to i32 %t118 = icmp eq i32 %t117, 92 %t119 = zext i1 %t118 to i32 %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then27, label %ifend29 then27: %t121 = load i32, ptr %t12 %t122 = add i32 %t121, 1 store i32 %t122, ptr %t12 br label %ifend29 ifend29: %t123 = load i32, ptr %t12 %t124 = add i32 %t123, 1 store i32 %t124, ptr %t12 br label %wcond22 wend24: br label %ifend21 else20: %t125 = load i32, ptr %t78 %t126 = icmp eq i32 %t125, 123 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then30, label %else31 then30: %t129 = load i32, ptr %t58 %t130 = add i32 %t129, 1 store i32 %t130, ptr %t58 br label %ifend32 else31: %t131 = load i32, ptr %t78 %t132 = icmp eq i32 %t131, 125 %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then33, label %ifend35 then33: %t135 = load i32, ptr %t58 %t136 = sub i32 %t135, 1 store i32 %t136, ptr %t58 %t137 = load i32, ptr %t58 %t138 = icmp eq i32 %t137, 0 %t139 = zext i1 %t138 to i32 %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then36, label %ifend38 then36: br label %wend14 ifend38: br label %ifend35 ifend35: br label %ifend32 ifend32: br label %ifend21 ifend21: %t141 = load i32, ptr %t12 %t142 = add i32 %t141, 1 store i32 %t142, ptr %t12 br label %wcond12 wend14: %t143 = load ptr, ptr %t5 %t144 = load ptr, ptr %t0 %t145 = load i32, ptr %t57 %t146 = load i32, ptr %t12 %t147 = call ptr @lp_str_slice(ptr %t144, i32 %t145, i32 %t146) %t148 = call ptr @fn_parse_hole(ptr %t147) %t149 = call ptr @fn_interp_str(ptr %t148) %t150 = call ptr @fn_interp_add(ptr %t143, ptr %t149) store ptr %t150, ptr %t5 %t151 = load i32, ptr %t12 %t152 = add i32 %t151, 1 store i32 %t152, ptr %t12 br label %ifend5 else4: %t154 = load i32, ptr %t23 %t155 = icmp eq i32 %t154, 125 %t156 = zext i1 %t155 to i32 %t157 = icmp ne i32 %t156, 0 %t158 = zext i1 %t157 to i32 store i32 %t158, ptr %t153 br i1 %t157, label %sc39, label %scend40 sc39: %t159 = load ptr, ptr %t0 %t160 = load i32, ptr %t12 %t161 = add i32 %t160, 1 %t162 = getelementptr inbounds i8, ptr %t159, i32 %t161 %t163 = load i8, ptr %t162 %t164 = zext i8 %t163 to i32 %t165 = icmp eq i32 %t164, 125 %t166 = zext i1 %t165 to i32 %t167 = icmp ne i32 %t166, 0 %t168 = zext i1 %t167 to i32 store i32 %t168, ptr %t153 br label %scend40 scend40: %t169 = load i32, ptr %t153 %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %then41, label %ifend43 then41: %t171 = load ptr, ptr %t10 %t172 = load i32, ptr %t11 %t173 = getelementptr inbounds i8, ptr %t171, i32 %t172 %t174 = trunc i32 125 to i8 store i8 %t174, ptr %t173 %t175 = load i32, ptr %t11 %t176 = add i32 %t175, 1 store i32 %t176, ptr %t11 %t177 = load i32, ptr %t12 %t178 = add i32 %t177, 2 store i32 %t178, ptr %t12 br label %wcond0 ifend43: %t179 = load i32, ptr %t23 %t180 = icmp eq i32 %t179, 92 %t181 = zext i1 %t180 to i32 %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %then44, label %ifend46 then44: %t183 = load ptr, ptr %t10 %t184 = load i32, ptr %t11 %t185 = getelementptr inbounds i8, ptr %t183, i32 %t184 %t186 = load ptr, ptr %t0 %t187 = load i32, ptr %t12 %t188 = add i32 %t187, 1 %t189 = getelementptr inbounds i8, ptr %t186, i32 %t188 %t190 = load i8, ptr %t189 %t191 = zext i8 %t190 to i32 %t192 = call i32 @fn_unescape(i32 %t191) %t193 = trunc i32 %t192 to i8 store i8 %t193, ptr %t185 %t194 = load i32, ptr %t11 %t195 = add i32 %t194, 1 store i32 %t195, ptr %t11 %t196 = load i32, ptr %t12 %t197 = add i32 %t196, 2 store i32 %t197, ptr %t12 br label %wcond0 ifend46: %t198 = load ptr, ptr %t10 %t199 = load i32, ptr %t11 %t200 = getelementptr inbounds i8, ptr %t198, i32 %t199 %t201 = load i32, ptr %t23 %t202 = trunc i32 %t201 to i8 store i8 %t202, ptr %t200 %t203 = load i32, ptr %t11 %t204 = add i32 %t203, 1 store i32 %t204, ptr %t11 %t205 = load i32, ptr %t12 %t206 = add i32 %t205, 1 store i32 %t206, ptr %t12 br label %ifend5 ifend5: br label %wcond0 wend2: %t208 = load i32, ptr %t11 %t209 = icmp sgt i32 %t208, 0 %t210 = zext i1 %t209 to i32 %t211 = icmp ne i32 %t210, 0 %t212 = zext i1 %t211 to i32 store i32 %t212, ptr %t207 br i1 %t211, label %scend48, label %sc47 sc47: %t213 = load ptr, ptr %t5 %t214 = icmp eq ptr %t213, null %t215 = zext i1 %t214 to i32 %t216 = icmp ne i32 %t215, 0 %t217 = zext i1 %t216 to i32 store i32 %t217, ptr %t207 br label %scend48 scend48: %t218 = load i32, ptr %t207 %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %then49, label %ifend51 then49: %t220 = load ptr, ptr %t5 %t221 = load ptr, ptr %t10 %t222 = load i32, ptr %t11 %t223 = call ptr @fn_interp_lit(ptr %t221, i32 %t222) %t224 = call ptr @fn_interp_add(ptr %t220, ptr %t223) store ptr %t224, ptr %t5 br label %ifend51 ifend51: %t225 = load ptr, ptr %t5 store ptr %t225, ptr %retval br label %ret ret: %t226 = load ptr, ptr %retval ret ptr %t226 } define ptr @fn_parse_emit() { entry: %retval = alloca ptr %t3 = alloca ptr %t8 = alloca ptr %t14 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_node(i32 49) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 %t7 = call ptr @fn_node(i32 41) store ptr %t7, ptr %t8 call void @fn_eat_op(ptr @.str44) call void @fn_skipnl() br label %wcond0 wcond0: %t9 = call i32 @fn_is_op(ptr @.str45) %t10 = icmp eq i32 %t9, 0 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %wbody1, label %wend2 wbody1: %t13 = call ptr @fn_node(i32 42) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 %t17 = call ptr @fn_eat_id() store ptr %t17, ptr %t16 call void @fn_eat_op(ptr @.str46) %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4 %t20 = call ptr @fn_expr() store ptr %t20, ptr %t19 %t21 = load ptr, ptr %t8 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 7 %t23 = load ptr, ptr %t22 %t24 = load ptr, ptr %t14 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t26 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 2 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t28 = load i32, ptr %t25 %t29 = load i32, ptr %t26 %t30 = icmp sge i32 %t28, %t29 br i1 %t30, label %grow3, label %put4 grow3: %t31 = mul i32 %t29, 2 %t32 = icmp eq i32 %t29, 0 %t33 = select i1 %t32, i32 8, i32 %t31 %t34 = getelementptr ptr, ptr null, i32 1 %t35 = ptrtoint ptr %t34 to i64 %t36 = zext i32 %t33 to i64 %t37 = mul i64 %t36, %t35 %t38 = load ptr, ptr %t27 %t39 = call ptr @realloc(ptr %t38, i64 %t37) store ptr %t39, ptr %t27 store i32 %t33, ptr %t26 br label %put4 put4: %t40 = load ptr, ptr %t27 %t41 = getelementptr inbounds ptr, ptr %t40, i32 %t28 store ptr %t24, ptr %t41 %t42 = add i32 %t28, 1 store i32 %t42, ptr %t25 call void @fn_skipnl() %t43 = call i32 @fn_is_op(ptr @.str47) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then5, label %ifend7 then5: %t45 = load i32, ptr @g_pi %t46 = add i32 %t45, 1 store i32 %t46, ptr @g_pi call void @fn_skipnl() br label %ifend7 ifend7: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str48) %t47 = load ptr, ptr %t3 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 4 %t49 = load ptr, ptr %t8 store ptr %t49, ptr %t48 %t50 = load ptr, ptr %t3 store ptr %t50, ptr %retval br label %ret ret: %t51 = load ptr, ptr %retval ret ptr %t51 } define ptr @fn_parse_list() { entry: %retval = alloca ptr %t1 = alloca ptr %t0 = call ptr @fn_node(i32 54) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 8 %t4 = load ptr, ptr @g_toks %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = load i32, ptr @g_pi %t8 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp ult i32 %t7, %t9 br i1 %t10, label %ixok0, label %ixbad1 ixbad1: %t11 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str49, i32 %t7, i32 %t9) call void @exit(i32 1) unreachable ixok0: %t12 = getelementptr inbounds ptr, ptr %t6, i32 %t7 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %Cmp_Tok, ptr %t13, i32 0, i32 3 %t15 = load i32, ptr %t14 store i32 %t15, ptr %t3 call void @fn_eat_op(ptr @.str50) call void @fn_skipnl() br label %wcond2 wcond2: %t16 = call i32 @fn_is_op(ptr @.str51) %t17 = icmp eq i32 %t16, 0 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %wbody3, label %wend4 wbody3: %t20 = load ptr, ptr %t1 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 7 %t22 = load ptr, ptr %t21 %t23 = call ptr @fn_expr() %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t25 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 2 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t27 = load i32, ptr %t24 %t28 = load i32, ptr %t25 %t29 = icmp sge i32 %t27, %t28 br i1 %t29, label %grow5, label %put6 grow5: %t30 = mul i32 %t28, 2 %t31 = icmp eq i32 %t28, 0 %t32 = select i1 %t31, i32 8, i32 %t30 %t33 = getelementptr ptr, ptr null, i32 1 %t34 = ptrtoint ptr %t33 to i64 %t35 = zext i32 %t32 to i64 %t36 = mul i64 %t35, %t34 %t37 = load ptr, ptr %t26 %t38 = call ptr @realloc(ptr %t37, i64 %t36) store ptr %t38, ptr %t26 store i32 %t32, ptr %t25 br label %put6 put6: %t39 = load ptr, ptr %t26 %t40 = getelementptr inbounds ptr, ptr %t39, i32 %t27 store ptr %t23, ptr %t40 %t41 = add i32 %t27, 1 store i32 %t41, ptr %t24 call void @fn_skipnl() %t42 = call i32 @fn_is_op(ptr @.str52) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then7, label %ifend9 then7: %t44 = load i32, ptr @g_pi %t45 = add i32 %t44, 1 store i32 %t45, ptr @g_pi call void @fn_skipnl() br label %ifend9 ifend9: br label %wcond2 wend4: call void @fn_eat_op(ptr @.str53) %t46 = load ptr, ptr %t1 store ptr %t46, ptr %retval br label %ret ret: %t47 = load ptr, ptr %retval ret ptr %t47 } define ptr @fn_p_primary() { entry: %retval = alloca ptr %t10 = alloca ptr %t29 = alloca i32 %t30 = alloca i32 %t74 = alloca ptr %t90 = alloca ptr %t111 = alloca ptr %t132 = alloca ptr %t144 = alloca ptr %t166 = alloca ptr %t182 = alloca i32 %t183 = alloca i32 %t184 = alloca i32 %t185 = alloca i32 %t186 = alloca i32 %t187 = alloca i32 %t188 = alloca i32 %t345 = alloca ptr %t363 = alloca ptr %t383 = alloca ptr %t397 = alloca ptr %t0 = load ptr, ptr @g_toks %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t2 = load ptr, ptr %t1 %t3 = load i32, ptr @g_pi %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp ult i32 %t3, %t5 br i1 %t6, label %ixok0, label %ixbad1 ixbad1: %t7 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str54, i32 %t3, i32 %t5) call void @exit(i32 1) unreachable ixok0: %t8 = getelementptr inbounds ptr, ptr %t2, i32 %t3 %t9 = load ptr, ptr %t8 store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Tok, ptr %t11, i32 0, i32 0 %t13 = load i32, ptr %t12 %t14 = icmp eq i32 %t13, 7 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: %t17 = load i32, ptr @g_pi %t18 = add i32 %t17, 1 store i32 %t18, ptr @g_pi %t19 = load ptr, ptr %t10 %t20 = getelementptr inbounds %Cmp_Tok, ptr %t19, i32 0, i32 3 %t21 = load i32, ptr %t20 store i32 %t21, ptr @g_g_interp_line %t22 = load ptr, ptr %t10 %t23 = getelementptr inbounds %Cmp_Tok, ptr %t22, i32 0, i32 1 %t24 = load ptr, ptr %t23 %t25 = call ptr @fn_parse_interp(ptr %t24) store ptr %t25, ptr %retval br label %ret ifend4: %t26 = call i32 @fn_is_op(ptr @.str55) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: %t28 = call ptr @fn_parse_list() store ptr %t28, ptr %retval br label %ret ifend7: %t31 = load ptr, ptr %t10 %t32 = getelementptr inbounds %Cmp_Tok, ptr %t31, i32 0, i32 0 %t33 = load i32, ptr %t32 %t34 = icmp eq i32 %t33, 0 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t30 br i1 %t36, label %sc8, label %scend9 sc8: %t38 = load ptr, ptr %t10 %t39 = getelementptr inbounds %Cmp_Tok, ptr %t38, i32 0, i32 1 %t40 = load ptr, ptr %t39 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str56) %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t30 br label %scend9 scend9: %t44 = load i32, ptr %t30 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t29 br i1 %t45, label %sc10, label %scend11 sc10: %t47 = load ptr, ptr @g_toks %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = load i32, ptr @g_pi %t51 = add i32 %t50, 1 %t52 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t53 = load i32, ptr %t52 %t54 = icmp ult i32 %t51, %t53 br i1 %t54, label %ixok12, label %ixbad13 ixbad13: %t55 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str57, i32 %t51, i32 %t53) call void @exit(i32 1) unreachable ixok12: %t56 = getelementptr inbounds ptr, ptr %t49, i32 %t51 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %Cmp_Tok, ptr %t57, i32 0, i32 0 %t59 = load i32, ptr %t58 %t60 = icmp eq i32 %t59, 0 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t29 br label %scend11 scend11: %t64 = load i32, ptr %t29 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then14, label %ifend16 then14: %t66 = call ptr @fn_parse_emit() store ptr %t66, ptr %retval br label %ret ifend16: %t67 = load ptr, ptr %t10 %t68 = getelementptr inbounds %Cmp_Tok, ptr %t67, i32 0, i32 0 %t69 = load i32, ptr %t68 %t70 = icmp eq i32 %t69, 1 %t71 = zext i1 %t70 to i32 %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then17, label %ifend19 then17: %t73 = call ptr @fn_node(i32 30) store ptr %t73, ptr %t74 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 2 %t77 = load ptr, ptr %t10 %t78 = getelementptr inbounds %Cmp_Tok, ptr %t77, i32 0, i32 2 %t79 = load i32, ptr %t78 store i32 %t79, ptr %t76 %t80 = load i32, ptr @g_pi %t81 = add i32 %t80, 1 store i32 %t81, ptr @g_pi %t82 = load ptr, ptr %t74 store ptr %t82, ptr %retval br label %ret ifend19: %t83 = load ptr, ptr %t10 %t84 = getelementptr inbounds %Cmp_Tok, ptr %t83, i32 0, i32 0 %t85 = load i32, ptr %t84 %t86 = icmp eq i32 %t85, 6 %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then20, label %ifend22 then20: %t89 = call ptr @fn_node(i32 40) store ptr %t89, ptr %t90 %t91 = load ptr, ptr %t90 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 2 %t93 = load ptr, ptr %t10 %t94 = getelementptr inbounds %Cmp_Tok, ptr %t93, i32 0, i32 2 %t95 = load i32, ptr %t94 store i32 %t95, ptr %t92 %t96 = load ptr, ptr %t90 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 1 %t98 = load ptr, ptr %t10 %t99 = getelementptr inbounds %Cmp_Tok, ptr %t98, i32 0, i32 1 %t100 = load ptr, ptr %t99 store ptr %t100, ptr %t97 %t101 = load i32, ptr @g_pi %t102 = add i32 %t101, 1 store i32 %t102, ptr @g_pi %t103 = load ptr, ptr %t90 store ptr %t103, ptr %retval br label %ret ifend22: %t104 = load ptr, ptr %t10 %t105 = getelementptr inbounds %Cmp_Tok, ptr %t104, i32 0, i32 0 %t106 = load i32, ptr %t105 %t107 = icmp eq i32 %t106, 2 %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then23, label %ifend25 then23: %t110 = call ptr @fn_node(i32 31) store ptr %t110, ptr %t111 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 1 %t114 = load ptr, ptr %t10 %t115 = getelementptr inbounds %Cmp_Tok, ptr %t114, i32 0, i32 1 %t116 = load ptr, ptr %t115 store ptr %t116, ptr %t113 %t117 = load i32, ptr @g_pi %t118 = add i32 %t117, 1 store i32 %t118, ptr @g_pi %t119 = load ptr, ptr %t111 store ptr %t119, ptr %retval br label %ret ifend25: %t120 = load ptr, ptr %t10 %t121 = getelementptr inbounds %Cmp_Tok, ptr %t120, i32 0, i32 0 %t122 = load i32, ptr %t121 %t123 = icmp eq i32 %t122, 0 %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then26, label %ifend28 then26: %t126 = load ptr, ptr %t10 %t127 = getelementptr inbounds %Cmp_Tok, ptr %t126, i32 0, i32 1 %t128 = load ptr, ptr %t127 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str58) %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then29, label %ifend31 then29: %t131 = call ptr @fn_node(i32 32) store ptr %t131, ptr %t132 %t133 = load ptr, ptr %t132 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 2 store i32 1, ptr %t134 %t135 = load i32, ptr @g_pi %t136 = add i32 %t135, 1 store i32 %t136, ptr @g_pi %t137 = load ptr, ptr %t132 store ptr %t137, ptr %retval br label %ret ifend31: %t138 = load ptr, ptr %t10 %t139 = getelementptr inbounds %Cmp_Tok, ptr %t138, i32 0, i32 1 %t140 = load ptr, ptr %t139 %t141 = call i32 @lp_str_eq(ptr %t140, ptr @.str59) %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then32, label %ifend34 then32: %t143 = call ptr @fn_node(i32 32) store ptr %t143, ptr %t144 %t145 = load ptr, ptr %t144 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 2 store i32 0, ptr %t146 %t147 = load i32, ptr @g_pi %t148 = add i32 %t147, 1 store i32 %t148, ptr @g_pi %t149 = load ptr, ptr %t144 store ptr %t149, ptr %retval br label %ret ifend34: %t150 = load ptr, ptr %t10 %t151 = getelementptr inbounds %Cmp_Tok, ptr %t150, i32 0, i32 1 %t152 = load ptr, ptr %t151 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str60) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then35, label %ifend37 then35: %t155 = load i32, ptr @g_pi %t156 = add i32 %t155, 1 store i32 %t156, ptr @g_pi %t157 = call ptr @fn_node(i32 43) store ptr %t157, ptr %retval br label %ret ifend37: %t158 = load ptr, ptr %t10 %t159 = getelementptr inbounds %Cmp_Tok, ptr %t158, i32 0, i32 1 %t160 = load ptr, ptr %t159 %t161 = call i32 @lp_str_eq(ptr %t160, ptr @.str61) %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then38, label %ifend40 then38: %t163 = load i32, ptr @g_pi %t164 = add i32 %t163, 1 store i32 %t164, ptr @g_pi %t165 = call ptr @fn_node(i32 39) store ptr %t165, ptr %t166 %t167 = load ptr, ptr %t166 %t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 1 %t169 = call ptr @fn_ptype() store ptr %t169, ptr %t168 %t170 = call i32 @fn_is_op(ptr @.str62) %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then41, label %ifend43 then41: %t172 = load ptr, ptr %t166 %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 4 %t174 = call ptr @fn_record() store ptr %t174, ptr %t173 br label %ifend43 ifend43: %t175 = load ptr, ptr %t166 store ptr %t175, ptr %retval br label %ret ifend40: %t176 = load ptr, ptr %t10 %t177 = getelementptr inbounds %Cmp_Tok, ptr %t176, i32 0, i32 1 %t178 = load ptr, ptr %t177 %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str63) %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then44, label %ifend46 then44: %t181 = call ptr @fn_parse_spawn() store ptr %t181, ptr %retval br label %ret ifend46: %t189 = load ptr, ptr %t10 %t190 = getelementptr inbounds %Cmp_Tok, ptr %t189, i32 0, i32 1 %t191 = load ptr, ptr %t190 %t192 = call i32 @lp_str_eq(ptr %t191, ptr @.str64) %t193 = icmp ne i32 %t192, 0 %t194 = zext i1 %t193 to i32 store i32 %t194, ptr %t188 br i1 %t193, label %sc47, label %scend48 sc47: %t195 = load ptr, ptr @g_toks %t196 = getelementptr inbounds %LSlice, ptr %t195, i32 0, i32 0 %t197 = load ptr, ptr %t196 %t198 = load i32, ptr @g_pi %t199 = add i32 %t198, 1 %t200 = getelementptr inbounds %LSlice, ptr %t195, i32 0, i32 1 %t201 = load i32, ptr %t200 %t202 = icmp ult i32 %t199, %t201 br i1 %t202, label %ixok49, label %ixbad50 ixbad50: %t203 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t203, ptr @.fmt_bounds, ptr @.str65, i32 %t199, i32 %t201) call void @exit(i32 1) unreachable ixok49: %t204 = getelementptr inbounds ptr, ptr %t197, i32 %t199 %t205 = load ptr, ptr %t204 %t206 = getelementptr inbounds %Cmp_Tok, ptr %t205, i32 0, i32 0 %t207 = load i32, ptr %t206 %t208 = icmp eq i32 %t207, 0 %t209 = zext i1 %t208 to i32 %t210 = icmp ne i32 %t209, 0 %t211 = zext i1 %t210 to i32 store i32 %t211, ptr %t188 br label %scend48 scend48: %t212 = load i32, ptr %t188 %t213 = icmp ne i32 %t212, 0 %t214 = zext i1 %t213 to i32 store i32 %t214, ptr %t187 br i1 %t213, label %sc51, label %scend52 sc51: %t215 = load ptr, ptr @g_toks %t216 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0 %t217 = load ptr, ptr %t216 %t218 = load i32, ptr @g_pi %t219 = add i32 %t218, 1 %t220 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 1 %t221 = load i32, ptr %t220 %t222 = icmp ult i32 %t219, %t221 br i1 %t222, label %ixok53, label %ixbad54 ixbad54: %t223 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str66, i32 %t219, i32 %t221) call void @exit(i32 1) unreachable ixok53: %t224 = getelementptr inbounds ptr, ptr %t217, i32 %t219 %t225 = load ptr, ptr %t224 %t226 = getelementptr inbounds %Cmp_Tok, ptr %t225, i32 0, i32 3 %t227 = load i32, ptr %t226 %t228 = load ptr, ptr %t10 %t229 = getelementptr inbounds %Cmp_Tok, ptr %t228, i32 0, i32 3 %t230 = load i32, ptr %t229 %t231 = icmp eq i32 %t227, %t230 %t232 = zext i1 %t231 to i32 %t233 = icmp ne i32 %t232, 0 %t234 = zext i1 %t233 to i32 store i32 %t234, ptr %t187 br label %scend52 scend52: %t235 = load i32, ptr %t187 %t236 = icmp ne i32 %t235, 0 %t237 = zext i1 %t236 to i32 store i32 %t237, ptr %t186 br i1 %t236, label %sc55, label %scend56 sc55: %t238 = load ptr, ptr @g_toks %t239 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 0 %t240 = load ptr, ptr %t239 %t241 = load i32, ptr @g_pi %t242 = add i32 %t241, 1 %t243 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 1 %t244 = load i32, ptr %t243 %t245 = icmp ult i32 %t242, %t244 br i1 %t245, label %ixok57, label %ixbad58 ixbad58: %t246 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t246, ptr @.fmt_bounds, ptr @.str67, i32 %t242, i32 %t244) call void @exit(i32 1) unreachable ixok57: %t247 = getelementptr inbounds ptr, ptr %t240, i32 %t242 %t248 = load ptr, ptr %t247 %t249 = getelementptr inbounds %Cmp_Tok, ptr %t248, i32 0, i32 1 %t250 = load ptr, ptr %t249 %t251 = call i32 @lp_str_eq(ptr %t250, ptr @.str68) %t252 = icmp eq i32 %t251, 0 %t253 = zext i1 %t252 to i32 %t254 = icmp ne i32 %t253, 0 %t255 = zext i1 %t254 to i32 store i32 %t255, ptr %t186 br label %scend56 scend56: %t256 = load i32, ptr %t186 %t257 = icmp ne i32 %t256, 0 %t258 = zext i1 %t257 to i32 store i32 %t258, ptr %t185 br i1 %t257, label %sc59, label %scend60 sc59: %t259 = load ptr, ptr @g_toks %t260 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 0 %t261 = load ptr, ptr %t260 %t262 = load i32, ptr @g_pi %t263 = add i32 %t262, 1 %t264 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 1 %t265 = load i32, ptr %t264 %t266 = icmp ult i32 %t263, %t265 br i1 %t266, label %ixok61, label %ixbad62 ixbad62: %t267 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t267, ptr @.fmt_bounds, ptr @.str69, i32 %t263, i32 %t265) call void @exit(i32 1) unreachable ixok61: %t268 = getelementptr inbounds ptr, ptr %t261, i32 %t263 %t269 = load ptr, ptr %t268 %t270 = getelementptr inbounds %Cmp_Tok, ptr %t269, i32 0, i32 1 %t271 = load ptr, ptr %t270 %t272 = call i32 @lp_str_eq(ptr %t271, ptr @.str70) %t273 = icmp eq i32 %t272, 0 %t274 = zext i1 %t273 to i32 %t275 = icmp ne i32 %t274, 0 %t276 = zext i1 %t275 to i32 store i32 %t276, ptr %t185 br label %scend60 scend60: %t277 = load i32, ptr %t185 %t278 = icmp ne i32 %t277, 0 %t279 = zext i1 %t278 to i32 store i32 %t279, ptr %t184 br i1 %t278, label %sc63, label %scend64 sc63: %t280 = load ptr, ptr @g_toks %t281 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 0 %t282 = load ptr, ptr %t281 %t283 = load i32, ptr @g_pi %t284 = add i32 %t283, 1 %t285 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 1 %t286 = load i32, ptr %t285 %t287 = icmp ult i32 %t284, %t286 br i1 %t287, label %ixok65, label %ixbad66 ixbad66: %t288 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t288, ptr @.fmt_bounds, ptr @.str71, i32 %t284, i32 %t286) call void @exit(i32 1) unreachable ixok65: %t289 = getelementptr inbounds ptr, ptr %t282, i32 %t284 %t290 = load ptr, ptr %t289 %t291 = getelementptr inbounds %Cmp_Tok, ptr %t290, i32 0, i32 1 %t292 = load ptr, ptr %t291 %t293 = call i32 @lp_str_eq(ptr %t292, ptr @.str72) %t294 = icmp eq i32 %t293, 0 %t295 = zext i1 %t294 to i32 %t296 = icmp ne i32 %t295, 0 %t297 = zext i1 %t296 to i32 store i32 %t297, ptr %t184 br label %scend64 scend64: %t298 = load i32, ptr %t184 %t299 = icmp ne i32 %t298, 0 %t300 = zext i1 %t299 to i32 store i32 %t300, ptr %t183 br i1 %t299, label %sc67, label %scend68 sc67: %t301 = load ptr, ptr @g_toks %t302 = getelementptr inbounds %LSlice, ptr %t301, i32 0, i32 0 %t303 = load ptr, ptr %t302 %t304 = load i32, ptr @g_pi %t305 = add i32 %t304, 1 %t306 = getelementptr inbounds %LSlice, ptr %t301, i32 0, i32 1 %t307 = load i32, ptr %t306 %t308 = icmp ult i32 %t305, %t307 br i1 %t308, label %ixok69, label %ixbad70 ixbad70: %t309 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t309, ptr @.fmt_bounds, ptr @.str73, i32 %t305, i32 %t307) call void @exit(i32 1) unreachable ixok69: %t310 = getelementptr inbounds ptr, ptr %t303, i32 %t305 %t311 = load ptr, ptr %t310 %t312 = getelementptr inbounds %Cmp_Tok, ptr %t311, i32 0, i32 1 %t313 = load ptr, ptr %t312 %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str74) %t315 = icmp eq i32 %t314, 0 %t316 = zext i1 %t315 to i32 %t317 = icmp ne i32 %t316, 0 %t318 = zext i1 %t317 to i32 store i32 %t318, ptr %t183 br label %scend68 scend68: %t319 = load i32, ptr %t183 %t320 = icmp ne i32 %t319, 0 %t321 = zext i1 %t320 to i32 store i32 %t321, ptr %t182 br i1 %t320, label %sc71, label %scend72 sc71: %t322 = load ptr, ptr @g_toks %t323 = getelementptr inbounds %LSlice, ptr %t322, i32 0, i32 0 %t324 = load ptr, ptr %t323 %t325 = load i32, ptr @g_pi %t326 = add i32 %t325, 1 %t327 = getelementptr inbounds %LSlice, ptr %t322, i32 0, i32 1 %t328 = load i32, ptr %t327 %t329 = icmp ult i32 %t326, %t328 br i1 %t329, label %ixok73, label %ixbad74 ixbad74: %t330 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t330, ptr @.fmt_bounds, ptr @.str75, i32 %t326, i32 %t328) call void @exit(i32 1) unreachable ixok73: %t331 = getelementptr inbounds ptr, ptr %t324, i32 %t326 %t332 = load ptr, ptr %t331 %t333 = getelementptr inbounds %Cmp_Tok, ptr %t332, i32 0, i32 1 %t334 = load ptr, ptr %t333 %t335 = call i32 @lp_str_eq(ptr %t334, ptr @.str76) %t336 = icmp eq i32 %t335, 0 %t337 = zext i1 %t336 to i32 %t338 = icmp ne i32 %t337, 0 %t339 = zext i1 %t338 to i32 store i32 %t339, ptr %t182 br label %scend72 scend72: %t340 = load i32, ptr %t182 %t341 = icmp ne i32 %t340, 0 br i1 %t341, label %then75, label %ifend77 then75: %t342 = load i32, ptr @g_pi %t343 = add i32 %t342, 1 store i32 %t343, ptr @g_pi %t344 = call ptr @fn_node(i32 55) store ptr %t344, ptr %t345 %t346 = load ptr, ptr %t345 %t347 = getelementptr inbounds %Cmp_Node, ptr %t346, i32 0, i32 8 %t348 = load ptr, ptr %t10 %t349 = getelementptr inbounds %Cmp_Tok, ptr %t348, i32 0, i32 3 %t350 = load i32, ptr %t349 store i32 %t350, ptr %t347 %t351 = load ptr, ptr %t345 %t352 = getelementptr inbounds %Cmp_Node, ptr %t351, i32 0, i32 1 %t353 = call ptr @fn_eat_id() store ptr %t353, ptr %t352 %t354 = load ptr, ptr %t345 store ptr %t354, ptr %retval br label %ret ifend77: %t355 = load ptr, ptr %t10 %t356 = getelementptr inbounds %Cmp_Tok, ptr %t355, i32 0, i32 1 %t357 = load ptr, ptr %t356 %t358 = call i32 @lp_str_eq(ptr %t357, ptr @.str77) %t359 = icmp ne i32 %t358, 0 br i1 %t359, label %then78, label %ifend80 then78: %t360 = load i32, ptr @g_pi %t361 = add i32 %t360, 1 store i32 %t361, ptr @g_pi %t362 = call ptr @fn_node(i32 52) store ptr %t362, ptr %t363 %t364 = load ptr, ptr %t363 %t365 = getelementptr inbounds %Cmp_Node, ptr %t364, i32 0, i32 8 %t366 = load ptr, ptr %t10 %t367 = getelementptr inbounds %Cmp_Tok, ptr %t366, i32 0, i32 3 %t368 = load i32, ptr %t367 store i32 %t368, ptr %t365 %t369 = load ptr, ptr %t363 %t370 = getelementptr inbounds %Cmp_Node, ptr %t369, i32 0, i32 4 %t371 = call ptr @fn_expr() store ptr %t371, ptr %t370 call void @fn_skipnl() %t372 = call i32 @fn_is_id(ptr @.str78) %t373 = icmp eq i32 %t372, 0 %t374 = zext i1 %t373 to i32 %t375 = icmp ne i32 %t374, 0 br i1 %t375, label %then81, label %ifend83 then81: call void @fn_perr(ptr @.str79) br label %ifend83 ifend83: %t376 = load i32, ptr @g_pi %t377 = add i32 %t376, 1 store i32 %t377, ptr @g_pi call void @fn_skipnl() %t378 = load ptr, ptr %t363 %t379 = getelementptr inbounds %Cmp_Node, ptr %t378, i32 0, i32 5 %t380 = call ptr @fn_block() store ptr %t380, ptr %t379 %t381 = load ptr, ptr %t363 store ptr %t381, ptr %retval br label %ret ifend80: %t382 = call ptr @fn_node(i32 33) store ptr %t382, ptr %t383 %t384 = load ptr, ptr %t383 %t385 = getelementptr inbounds %Cmp_Node, ptr %t384, i32 0, i32 1 %t386 = load ptr, ptr %t10 %t387 = getelementptr inbounds %Cmp_Tok, ptr %t386, i32 0, i32 1 %t388 = load ptr, ptr %t387 store ptr %t388, ptr %t385 %t389 = load i32, ptr @g_pi %t390 = add i32 %t389, 1 store i32 %t390, ptr @g_pi %t391 = load ptr, ptr %t383 store ptr %t391, ptr %retval br label %ret ifend28: %t392 = call i32 @fn_is_op(ptr @.str80) %t393 = icmp ne i32 %t392, 0 br i1 %t393, label %then84, label %ifend86 then84: %t394 = load i32, ptr @g_pi %t395 = add i32 %t394, 1 store i32 %t395, ptr @g_pi call void @fn_skipnl() %t396 = call ptr @fn_expr() store ptr %t396, ptr %t397 call void @fn_skipnl() call void @fn_eat_op(ptr @.str81) %t398 = load ptr, ptr %t397 store ptr %t398, ptr %retval br label %ret ifend86: call void @fn_perr(ptr @.str82) %t399 = call ptr @fn_node(i32 30) store ptr %t399, ptr %retval br label %ret ret: %t400 = load ptr, ptr %retval ret ptr %t400 } define ptr @fn_p_postfix() { entry: %retval = alloca ptr %t1 = alloca ptr %t8 = alloca ptr %t16 = alloca i32 %t36 = alloca i32 %t46 = alloca i32 %t68 = alloca i32 %t78 = alloca i32 %t100 = alloca i32 %t110 = alloca i32 %t111 = alloca i32 %t144 = alloca i32 %t154 = alloca i32 %t155 = alloca i32 %t188 = alloca i32 %t208 = alloca i32 %t228 = alloca i32 %t248 = alloca i32 %t258 = alloca i32 %t280 = alloca i32 %t300 = alloca i32 %t320 = alloca i32 %t340 = alloca i32 %t341 = alloca i32 %t362 = alloca i32 %t363 = alloca i32 %t364 = alloca i32 %t365 = alloca i32 %t366 = alloca i32 %t367 = alloca i32 %t368 = alloca i32 %t369 = alloca i32 %t450 = alloca i32 %t470 = alloca i32 %t471 = alloca i32 %t492 = alloca i32 %t510 = alloca i32 %t511 = alloca i32 %t532 = alloca i32 %t533 = alloca i32 %t534 = alloca i32 %t535 = alloca i32 %t536 = alloca i32 %t537 = alloca i32 %t538 = alloca i32 %t539 = alloca i32 %t540 = alloca i32 %t541 = alloca i32 %t542 = alloca i32 %t650 = alloca i32 %t651 = alloca i32 %t672 = alloca i32 %t673 = alloca i32 %t674 = alloca i32 %t675 = alloca i32 %t676 = alloca i32 %t677 = alloca i32 %t678 = alloca i32 %t679 = alloca i32 %t680 = alloca i32 %t681 = alloca i32 %t682 = alloca i32 %t683 = alloca i32 %t684 = alloca i32 %t685 = alloca i32 %t686 = alloca i32 %t687 = alloca i32 %t688 = alloca i32 %t689 = alloca i32 %t690 = alloca i32 %t691 = alloca i32 %t692 = alloca i32 %t693 = alloca i32 %t694 = alloca i32 %t695 = alloca i32 %t696 = alloca i32 %t697 = alloca i32 %t940 = alloca i32 %t941 = alloca i32 %t962 = alloca i32 %t963 = alloca i32 %t964 = alloca i32 %t1000 = alloca i32 %t1001 = alloca i32 %t1030 = alloca i32 %t1050 = alloca i32 %t1070 = alloca i32 %t1090 = alloca i32 %t1110 = alloca i32 %t1130 = alloca i32 %t1150 = alloca i32 %t1151 = alloca i32 %t1172 = alloca i32 %t1173 = alloca i32 %t1174 = alloca i32 %t1175 = alloca i32 %t1176 = alloca i32 %t1230 = alloca i32 %t1255 = alloca ptr %t1261 = alloca ptr %t1273 = alloca ptr %t1284 = alloca ptr %t1304 = alloca i32 %t1314 = alloca i32 %t0 = call ptr @fn_p_primary() store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t2 = icmp ne i32 1, 0 br i1 %t2, label %wbody1, label %wend2 wbody1: %t3 = call i32 @fn_is_op(ptr @.str83) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then3, label %else4 then3: %t5 = load i32, ptr @g_pi %t6 = add i32 %t5, 1 store i32 %t6, ptr @g_pi %t7 = call ptr @fn_node(i32 35) store ptr %t7, ptr %t8 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 %t11 = load ptr, ptr %t1 store ptr %t11, ptr %t10 %t12 = load ptr, ptr %t8 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 %t14 = call ptr @fn_eat_id() store ptr %t14, ptr %t13 %t15 = load ptr, ptr %t8 store ptr %t15, ptr %t1 %t17 = load ptr, ptr %t1 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 4 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0 %t21 = load i32, ptr %t20 %t22 = icmp eq i32 %t21, 33 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t16 br i1 %t24, label %sc6, label %scend7 sc6: %t26 = load ptr, ptr %t1 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 4 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str84) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t16 br label %scend7 scend7: %t34 = load i32, ptr %t16 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then8, label %ifend10 then8: store i32 1, ptr @g_g_uses_regex br label %ifend10 ifend10: %t37 = load ptr, ptr %t1 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 4 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0 %t41 = load i32, ptr %t40 %t42 = icmp eq i32 %t41, 33 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t36 br i1 %t44, label %sc11, label %scend12 sc11: %t47 = load ptr, ptr %t1 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 4 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 %t51 = load ptr, ptr %t50 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str85) %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t46 br i1 %t53, label %scend14, label %sc13 sc13: %t55 = load ptr, ptr %t1 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 4 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 %t59 = load ptr, ptr %t58 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str86) %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t46 br label %scend14 scend14: %t63 = load i32, ptr %t46 %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t36 br label %scend12 scend12: %t66 = load i32, ptr %t36 %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then15, label %ifend17 then15: store i32 1, ptr @g_g_uses_bignum br label %ifend17 ifend17: %t69 = load ptr, ptr %t1 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 4 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 0 %t73 = load i32, ptr %t72 %t74 = icmp eq i32 %t73, 33 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t68 br i1 %t76, label %sc18, label %scend19 sc18: %t79 = load ptr, ptr %t1 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 4 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1 %t83 = load ptr, ptr %t82 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str87) %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t78 br i1 %t85, label %scend21, label %sc20 sc20: %t87 = load ptr, ptr %t1 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 4 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 1 %t91 = load ptr, ptr %t90 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str88) %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t78 br label %scend21 scend21: %t95 = load i32, ptr %t78 %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t68 br label %scend19 scend19: %t98 = load i32, ptr %t68 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then22, label %ifend24 then22: store i32 1, ptr @g_g_uses_dict br label %ifend24 ifend24: %t101 = load ptr, ptr %t1 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 4 %t103 = load ptr, ptr %t102 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 0 %t105 = load i32, ptr %t104 %t106 = icmp eq i32 %t105, 33 %t107 = zext i1 %t106 to i32 %t108 = icmp ne i32 %t107, 0 %t109 = zext i1 %t108 to i32 store i32 %t109, ptr %t100 br i1 %t108, label %sc25, label %scend26 sc25: %t112 = load ptr, ptr %t1 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 4 %t114 = load ptr, ptr %t113 %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1 %t116 = load ptr, ptr %t115 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str89) %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t111 br i1 %t118, label %scend28, label %sc27 sc27: %t120 = load ptr, ptr %t1 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 4 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 1 %t124 = load ptr, ptr %t123 %t125 = call i32 @lp_str_eq(ptr %t124, ptr @.str90) %t126 = icmp ne i32 %t125, 0 %t127 = zext i1 %t126 to i32 store i32 %t127, ptr %t111 br label %scend28 scend28: %t128 = load i32, ptr %t111 %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t110 br i1 %t129, label %scend30, label %sc29 sc29: %t131 = load ptr, ptr %t1 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 4 %t133 = load ptr, ptr %t132 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 1 %t135 = load ptr, ptr %t134 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str91) %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t110 br label %scend30 scend30: %t139 = load i32, ptr %t110 %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t100 br label %scend26 scend26: %t142 = load i32, ptr %t100 %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then31, label %ifend33 then31: store i32 1, ptr @g_g_uses_numeric br label %ifend33 ifend33: %t145 = load ptr, ptr %t1 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 4 %t147 = load ptr, ptr %t146 %t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 0 %t149 = load i32, ptr %t148 %t150 = icmp eq i32 %t149, 33 %t151 = zext i1 %t150 to i32 %t152 = icmp ne i32 %t151, 0 %t153 = zext i1 %t152 to i32 store i32 %t153, ptr %t144 br i1 %t152, label %sc34, label %scend35 sc34: %t156 = load ptr, ptr %t1 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 4 %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %Cmp_Node, ptr %t158, i32 0, i32 1 %t160 = load ptr, ptr %t159 %t161 = call i32 @lp_str_eq(ptr %t160, ptr @.str92) %t162 = icmp ne i32 %t161, 0 %t163 = zext i1 %t162 to i32 store i32 %t163, ptr %t155 br i1 %t162, label %scend37, label %sc36 sc36: %t164 = load ptr, ptr %t1 %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 4 %t166 = load ptr, ptr %t165 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 1 %t168 = load ptr, ptr %t167 %t169 = call i32 @lp_str_eq(ptr %t168, ptr @.str93) %t170 = icmp ne i32 %t169, 0 %t171 = zext i1 %t170 to i32 store i32 %t171, ptr %t155 br label %scend37 scend37: %t172 = load i32, ptr %t155 %t173 = icmp ne i32 %t172, 0 %t174 = zext i1 %t173 to i32 store i32 %t174, ptr %t154 br i1 %t173, label %scend39, label %sc38 sc38: %t175 = load ptr, ptr %t1 %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 4 %t177 = load ptr, ptr %t176 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 1 %t179 = load ptr, ptr %t178 %t180 = call i32 @lp_str_eq(ptr %t179, ptr @.str94) %t181 = icmp ne i32 %t180, 0 %t182 = zext i1 %t181 to i32 store i32 %t182, ptr %t154 br label %scend39 scend39: %t183 = load i32, ptr %t154 %t184 = icmp ne i32 %t183, 0 %t185 = zext i1 %t184 to i32 store i32 %t185, ptr %t144 br label %scend35 scend35: %t186 = load i32, ptr %t144 %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then40, label %ifend42 then40: store i32 1, ptr @g_g_uses_jobs br label %ifend42 ifend42: %t189 = load ptr, ptr %t1 %t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 4 %t191 = load ptr, ptr %t190 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 0 %t193 = load i32, ptr %t192 %t194 = icmp eq i32 %t193, 33 %t195 = zext i1 %t194 to i32 %t196 = icmp ne i32 %t195, 0 %t197 = zext i1 %t196 to i32 store i32 %t197, ptr %t188 br i1 %t196, label %sc43, label %scend44 sc43: %t198 = load ptr, ptr %t1 %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 4 %t200 = load ptr, ptr %t199 %t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 1 %t202 = load ptr, ptr %t201 %t203 = call i32 @lp_str_eq(ptr %t202, ptr @.str95) %t204 = icmp ne i32 %t203, 0 %t205 = zext i1 %t204 to i32 store i32 %t205, ptr %t188 br label %scend44 scend44: %t206 = load i32, ptr %t188 %t207 = icmp ne i32 %t206, 0 br i1 %t207, label %then45, label %ifend47 then45: store i32 1, ptr @g_g_uses_query br label %ifend47 ifend47: %t209 = load ptr, ptr %t1 %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 4 %t211 = load ptr, ptr %t210 %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 0 %t213 = load i32, ptr %t212 %t214 = icmp eq i32 %t213, 33 %t215 = zext i1 %t214 to i32 %t216 = icmp ne i32 %t215, 0 %t217 = zext i1 %t216 to i32 store i32 %t217, ptr %t208 br i1 %t216, label %sc48, label %scend49 sc48: %t218 = load ptr, ptr %t1 %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 4 %t220 = load ptr, ptr %t219 %t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 1 %t222 = load ptr, ptr %t221 %t223 = call i32 @lp_str_eq(ptr %t222, ptr @.str96) %t224 = icmp ne i32 %t223, 0 %t225 = zext i1 %t224 to i32 store i32 %t225, ptr %t208 br label %scend49 scend49: %t226 = load i32, ptr %t208 %t227 = icmp ne i32 %t226, 0 br i1 %t227, label %then50, label %ifend52 then50: store i32 1, ptr @g_g_uses_reflect br label %ifend52 ifend52: %t229 = load ptr, ptr %t1 %t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 4 %t231 = load ptr, ptr %t230 %t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 0 %t233 = load i32, ptr %t232 %t234 = icmp eq i32 %t233, 33 %t235 = zext i1 %t234 to i32 %t236 = icmp ne i32 %t235, 0 %t237 = zext i1 %t236 to i32 store i32 %t237, ptr %t228 br i1 %t236, label %sc53, label %scend54 sc53: %t238 = load ptr, ptr %t1 %t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 4 %t240 = load ptr, ptr %t239 %t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 1 %t242 = load ptr, ptr %t241 %t243 = call i32 @lp_str_eq(ptr %t242, ptr @.str97) %t244 = icmp ne i32 %t243, 0 %t245 = zext i1 %t244 to i32 store i32 %t245, ptr %t228 br label %scend54 scend54: %t246 = load i32, ptr %t228 %t247 = icmp ne i32 %t246, 0 br i1 %t247, label %then55, label %ifend57 then55: store i32 1, ptr @g_g_uses_light br label %ifend57 ifend57: %t249 = load ptr, ptr %t1 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 4 %t251 = load ptr, ptr %t250 %t252 = getelementptr inbounds %Cmp_Node, ptr %t251, i32 0, i32 0 %t253 = load i32, ptr %t252 %t254 = icmp eq i32 %t253, 33 %t255 = zext i1 %t254 to i32 %t256 = icmp ne i32 %t255, 0 %t257 = zext i1 %t256 to i32 store i32 %t257, ptr %t248 br i1 %t256, label %sc58, label %scend59 sc58: %t259 = load ptr, ptr %t1 %t260 = getelementptr inbounds %Cmp_Node, ptr %t259, i32 0, i32 4 %t261 = load ptr, ptr %t260 %t262 = getelementptr inbounds %Cmp_Node, ptr %t261, i32 0, i32 1 %t263 = load ptr, ptr %t262 %t264 = call i32 @lp_str_eq(ptr %t263, ptr @.str98) %t265 = icmp ne i32 %t264, 0 %t266 = zext i1 %t265 to i32 store i32 %t266, ptr %t258 br i1 %t265, label %scend61, label %sc60 sc60: %t267 = load ptr, ptr %t1 %t268 = getelementptr inbounds %Cmp_Node, ptr %t267, i32 0, i32 4 %t269 = load ptr, ptr %t268 %t270 = getelementptr inbounds %Cmp_Node, ptr %t269, i32 0, i32 1 %t271 = load ptr, ptr %t270 %t272 = call i32 @lp_str_eq(ptr %t271, ptr @.str99) %t273 = icmp ne i32 %t272, 0 %t274 = zext i1 %t273 to i32 store i32 %t274, ptr %t258 br label %scend61 scend61: %t275 = load i32, ptr %t258 %t276 = icmp ne i32 %t275, 0 %t277 = zext i1 %t276 to i32 store i32 %t277, ptr %t248 br label %scend59 scend59: %t278 = load i32, ptr %t248 %t279 = icmp ne i32 %t278, 0 br i1 %t279, label %then62, label %ifend64 then62: store i32 1, ptr @g_g_uses_value br label %ifend64 ifend64: %t281 = load ptr, ptr %t1 %t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 4 %t283 = load ptr, ptr %t282 %t284 = getelementptr inbounds %Cmp_Node, ptr %t283, i32 0, i32 0 %t285 = load i32, ptr %t284 %t286 = icmp eq i32 %t285, 33 %t287 = zext i1 %t286 to i32 %t288 = icmp ne i32 %t287, 0 %t289 = zext i1 %t288 to i32 store i32 %t289, ptr %t280 br i1 %t288, label %sc65, label %scend66 sc65: %t290 = load ptr, ptr %t1 %t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 4 %t292 = load ptr, ptr %t291 %t293 = getelementptr inbounds %Cmp_Node, ptr %t292, i32 0, i32 1 %t294 = load ptr, ptr %t293 %t295 = call i32 @lp_str_eq(ptr %t294, ptr @.str100) %t296 = icmp ne i32 %t295, 0 %t297 = zext i1 %t296 to i32 store i32 %t297, ptr %t280 br label %scend66 scend66: %t298 = load i32, ptr %t280 %t299 = icmp ne i32 %t298, 0 br i1 %t299, label %then67, label %ifend69 then67: store i32 1, ptr @g_g_uses_xml br label %ifend69 ifend69: %t301 = load ptr, ptr %t1 %t302 = getelementptr inbounds %Cmp_Node, ptr %t301, i32 0, i32 4 %t303 = load ptr, ptr %t302 %t304 = getelementptr inbounds %Cmp_Node, ptr %t303, i32 0, i32 0 %t305 = load i32, ptr %t304 %t306 = icmp eq i32 %t305, 33 %t307 = zext i1 %t306 to i32 %t308 = icmp ne i32 %t307, 0 %t309 = zext i1 %t308 to i32 store i32 %t309, ptr %t300 br i1 %t308, label %sc70, label %scend71 sc70: %t310 = load ptr, ptr %t1 %t311 = getelementptr inbounds %Cmp_Node, ptr %t310, i32 0, i32 4 %t312 = load ptr, ptr %t311 %t313 = getelementptr inbounds %Cmp_Node, ptr %t312, i32 0, i32 1 %t314 = load ptr, ptr %t313 %t315 = call i32 @lp_str_eq(ptr %t314, ptr @.str101) %t316 = icmp ne i32 %t315, 0 %t317 = zext i1 %t316 to i32 store i32 %t317, ptr %t300 br label %scend71 scend71: %t318 = load i32, ptr %t300 %t319 = icmp ne i32 %t318, 0 br i1 %t319, label %then72, label %ifend74 then72: store i32 1, ptr @g_g_uses_base64 br label %ifend74 ifend74: %t321 = load ptr, ptr %t1 %t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 4 %t323 = load ptr, ptr %t322 %t324 = getelementptr inbounds %Cmp_Node, ptr %t323, i32 0, i32 0 %t325 = load i32, ptr %t324 %t326 = icmp eq i32 %t325, 33 %t327 = zext i1 %t326 to i32 %t328 = icmp ne i32 %t327, 0 %t329 = zext i1 %t328 to i32 store i32 %t329, ptr %t320 br i1 %t328, label %sc75, label %scend76 sc75: %t330 = load ptr, ptr %t1 %t331 = getelementptr inbounds %Cmp_Node, ptr %t330, i32 0, i32 4 %t332 = load ptr, ptr %t331 %t333 = getelementptr inbounds %Cmp_Node, ptr %t332, i32 0, i32 1 %t334 = load ptr, ptr %t333 %t335 = call i32 @lp_str_eq(ptr %t334, ptr @.str102) %t336 = icmp ne i32 %t335, 0 %t337 = zext i1 %t336 to i32 store i32 %t337, ptr %t320 br label %scend76 scend76: %t338 = load i32, ptr %t320 %t339 = icmp ne i32 %t338, 0 br i1 %t339, label %then77, label %ifend79 then77: store i32 1, ptr @g_g_uses_tiled br label %ifend79 ifend79: %t342 = load ptr, ptr %t1 %t343 = getelementptr inbounds %Cmp_Node, ptr %t342, i32 0, i32 4 %t344 = load ptr, ptr %t343 %t345 = getelementptr inbounds %Cmp_Node, ptr %t344, i32 0, i32 0 %t346 = load i32, ptr %t345 %t347 = icmp eq i32 %t346, 33 %t348 = zext i1 %t347 to i32 %t349 = icmp ne i32 %t348, 0 %t350 = zext i1 %t349 to i32 store i32 %t350, ptr %t341 br i1 %t349, label %sc80, label %scend81 sc80: %t351 = load ptr, ptr %t1 %t352 = getelementptr inbounds %Cmp_Node, ptr %t351, i32 0, i32 4 %t353 = load ptr, ptr %t352 %t354 = getelementptr inbounds %Cmp_Node, ptr %t353, i32 0, i32 1 %t355 = load ptr, ptr %t354 %t356 = call i32 @lp_str_eq(ptr %t355, ptr @.str103) %t357 = icmp ne i32 %t356, 0 %t358 = zext i1 %t357 to i32 store i32 %t358, ptr %t341 br label %scend81 scend81: %t359 = load i32, ptr %t341 %t360 = icmp ne i32 %t359, 0 %t361 = zext i1 %t360 to i32 store i32 %t361, ptr %t340 br i1 %t360, label %sc82, label %scend83 sc82: %t370 = load ptr, ptr %t1 %t371 = getelementptr inbounds %Cmp_Node, ptr %t370, i32 0, i32 1 %t372 = load ptr, ptr %t371 %t373 = call i32 @lp_str_eq(ptr %t372, ptr @.str104) %t374 = icmp ne i32 %t373, 0 %t375 = zext i1 %t374 to i32 store i32 %t375, ptr %t369 br i1 %t374, label %scend85, label %sc84 sc84: %t376 = load ptr, ptr %t1 %t377 = getelementptr inbounds %Cmp_Node, ptr %t376, i32 0, i32 1 %t378 = load ptr, ptr %t377 %t379 = call i32 @lp_str_eq(ptr %t378, ptr @.str105) %t380 = icmp ne i32 %t379, 0 %t381 = zext i1 %t380 to i32 store i32 %t381, ptr %t369 br label %scend85 scend85: %t382 = load i32, ptr %t369 %t383 = icmp ne i32 %t382, 0 %t384 = zext i1 %t383 to i32 store i32 %t384, ptr %t368 br i1 %t383, label %scend87, label %sc86 sc86: %t385 = load ptr, ptr %t1 %t386 = getelementptr inbounds %Cmp_Node, ptr %t385, i32 0, i32 1 %t387 = load ptr, ptr %t386 %t388 = call i32 @lp_str_eq(ptr %t387, ptr @.str106) %t389 = icmp ne i32 %t388, 0 %t390 = zext i1 %t389 to i32 store i32 %t390, ptr %t368 br label %scend87 scend87: %t391 = load i32, ptr %t368 %t392 = icmp ne i32 %t391, 0 %t393 = zext i1 %t392 to i32 store i32 %t393, ptr %t367 br i1 %t392, label %scend89, label %sc88 sc88: %t394 = load ptr, ptr %t1 %t395 = getelementptr inbounds %Cmp_Node, ptr %t394, i32 0, i32 1 %t396 = load ptr, ptr %t395 %t397 = call i32 @lp_str_eq(ptr %t396, ptr @.str107) %t398 = icmp ne i32 %t397, 0 %t399 = zext i1 %t398 to i32 store i32 %t399, ptr %t367 br label %scend89 scend89: %t400 = load i32, ptr %t367 %t401 = icmp ne i32 %t400, 0 %t402 = zext i1 %t401 to i32 store i32 %t402, ptr %t366 br i1 %t401, label %scend91, label %sc90 sc90: %t403 = load ptr, ptr %t1 %t404 = getelementptr inbounds %Cmp_Node, ptr %t403, i32 0, i32 1 %t405 = load ptr, ptr %t404 %t406 = call i32 @lp_str_eq(ptr %t405, ptr @.str108) %t407 = icmp ne i32 %t406, 0 %t408 = zext i1 %t407 to i32 store i32 %t408, ptr %t366 br label %scend91 scend91: %t409 = load i32, ptr %t366 %t410 = icmp ne i32 %t409, 0 %t411 = zext i1 %t410 to i32 store i32 %t411, ptr %t365 br i1 %t410, label %scend93, label %sc92 sc92: %t412 = load ptr, ptr %t1 %t413 = getelementptr inbounds %Cmp_Node, ptr %t412, i32 0, i32 1 %t414 = load ptr, ptr %t413 %t415 = call i32 @lp_str_eq(ptr %t414, ptr @.str109) %t416 = icmp ne i32 %t415, 0 %t417 = zext i1 %t416 to i32 store i32 %t417, ptr %t365 br label %scend93 scend93: %t418 = load i32, ptr %t365 %t419 = icmp ne i32 %t418, 0 %t420 = zext i1 %t419 to i32 store i32 %t420, ptr %t364 br i1 %t419, label %scend95, label %sc94 sc94: %t421 = load ptr, ptr %t1 %t422 = getelementptr inbounds %Cmp_Node, ptr %t421, i32 0, i32 1 %t423 = load ptr, ptr %t422 %t424 = call i32 @lp_str_eq(ptr %t423, ptr @.str110) %t425 = icmp ne i32 %t424, 0 %t426 = zext i1 %t425 to i32 store i32 %t426, ptr %t364 br label %scend95 scend95: %t427 = load i32, ptr %t364 %t428 = icmp ne i32 %t427, 0 %t429 = zext i1 %t428 to i32 store i32 %t429, ptr %t363 br i1 %t428, label %scend97, label %sc96 sc96: %t430 = load ptr, ptr %t1 %t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 1 %t432 = load ptr, ptr %t431 %t433 = call i32 @lp_str_eq(ptr %t432, ptr @.str111) %t434 = icmp ne i32 %t433, 0 %t435 = zext i1 %t434 to i32 store i32 %t435, ptr %t363 br label %scend97 scend97: %t436 = load i32, ptr %t363 %t437 = icmp ne i32 %t436, 0 %t438 = zext i1 %t437 to i32 store i32 %t438, ptr %t362 br i1 %t437, label %scend99, label %sc98 sc98: %t439 = load ptr, ptr %t1 %t440 = getelementptr inbounds %Cmp_Node, ptr %t439, i32 0, i32 1 %t441 = load ptr, ptr %t440 %t442 = call i32 @lp_str_eq(ptr %t441, ptr @.str112) %t443 = icmp ne i32 %t442, 0 %t444 = zext i1 %t443 to i32 store i32 %t444, ptr %t362 br label %scend99 scend99: %t445 = load i32, ptr %t362 %t446 = icmp ne i32 %t445, 0 %t447 = zext i1 %t446 to i32 store i32 %t447, ptr %t340 br label %scend83 scend83: %t448 = load i32, ptr %t340 %t449 = icmp ne i32 %t448, 0 br i1 %t449, label %then100, label %ifend102 then100: store i32 1, ptr @g_g_uses_atlas br label %ifend102 ifend102: %t451 = load ptr, ptr %t1 %t452 = getelementptr inbounds %Cmp_Node, ptr %t451, i32 0, i32 4 %t453 = load ptr, ptr %t452 %t454 = getelementptr inbounds %Cmp_Node, ptr %t453, i32 0, i32 0 %t455 = load i32, ptr %t454 %t456 = icmp eq i32 %t455, 33 %t457 = zext i1 %t456 to i32 %t458 = icmp ne i32 %t457, 0 %t459 = zext i1 %t458 to i32 store i32 %t459, ptr %t450 br i1 %t458, label %sc103, label %scend104 sc103: %t460 = load ptr, ptr %t1 %t461 = getelementptr inbounds %Cmp_Node, ptr %t460, i32 0, i32 4 %t462 = load ptr, ptr %t461 %t463 = getelementptr inbounds %Cmp_Node, ptr %t462, i32 0, i32 1 %t464 = load ptr, ptr %t463 %t465 = call i32 @lp_str_eq(ptr %t464, ptr @.str113) %t466 = icmp ne i32 %t465, 0 %t467 = zext i1 %t466 to i32 store i32 %t467, ptr %t450 br label %scend104 scend104: %t468 = load i32, ptr %t450 %t469 = icmp ne i32 %t468, 0 br i1 %t469, label %then105, label %ifend107 then105: store i32 1, ptr @g_g_uses_atlas br label %ifend107 ifend107: %t472 = load ptr, ptr %t1 %t473 = getelementptr inbounds %Cmp_Node, ptr %t472, i32 0, i32 4 %t474 = load ptr, ptr %t473 %t475 = getelementptr inbounds %Cmp_Node, ptr %t474, i32 0, i32 0 %t476 = load i32, ptr %t475 %t477 = icmp eq i32 %t476, 33 %t478 = zext i1 %t477 to i32 %t479 = icmp ne i32 %t478, 0 %t480 = zext i1 %t479 to i32 store i32 %t480, ptr %t471 br i1 %t479, label %sc108, label %scend109 sc108: %t481 = load ptr, ptr %t1 %t482 = getelementptr inbounds %Cmp_Node, ptr %t481, i32 0, i32 4 %t483 = load ptr, ptr %t482 %t484 = getelementptr inbounds %Cmp_Node, ptr %t483, i32 0, i32 1 %t485 = load ptr, ptr %t484 %t486 = call i32 @lp_str_eq(ptr %t485, ptr @.str114) %t487 = icmp ne i32 %t486, 0 %t488 = zext i1 %t487 to i32 store i32 %t488, ptr %t471 br label %scend109 scend109: %t489 = load i32, ptr %t471 %t490 = icmp ne i32 %t489, 0 %t491 = zext i1 %t490 to i32 store i32 %t491, ptr %t470 br i1 %t490, label %sc110, label %scend111 sc110: %t493 = load ptr, ptr %t1 %t494 = getelementptr inbounds %Cmp_Node, ptr %t493, i32 0, i32 1 %t495 = load ptr, ptr %t494 %t496 = call i32 @lp_str_eq(ptr %t495, ptr @.str115) %t497 = icmp ne i32 %t496, 0 %t498 = zext i1 %t497 to i32 store i32 %t498, ptr %t492 br i1 %t497, label %scend113, label %sc112 sc112: %t499 = load ptr, ptr %t1 %t500 = getelementptr inbounds %Cmp_Node, ptr %t499, i32 0, i32 1 %t501 = load ptr, ptr %t500 %t502 = call i32 @lp_str_eq(ptr %t501, ptr @.str116) %t503 = icmp ne i32 %t502, 0 %t504 = zext i1 %t503 to i32 store i32 %t504, ptr %t492 br label %scend113 scend113: %t505 = load i32, ptr %t492 %t506 = icmp ne i32 %t505, 0 %t507 = zext i1 %t506 to i32 store i32 %t507, ptr %t470 br label %scend111 scend111: %t508 = load i32, ptr %t470 %t509 = icmp ne i32 %t508, 0 br i1 %t509, label %then114, label %ifend116 then114: store i32 1, ptr @g_g_uses_value store i32 1, ptr @g_g_uses_reflect_io br label %ifend116 ifend116: %t512 = load ptr, ptr %t1 %t513 = getelementptr inbounds %Cmp_Node, ptr %t512, i32 0, i32 4 %t514 = load ptr, ptr %t513 %t515 = getelementptr inbounds %Cmp_Node, ptr %t514, i32 0, i32 0 %t516 = load i32, ptr %t515 %t517 = icmp eq i32 %t516, 33 %t518 = zext i1 %t517 to i32 %t519 = icmp ne i32 %t518, 0 %t520 = zext i1 %t519 to i32 store i32 %t520, ptr %t511 br i1 %t519, label %sc117, label %scend118 sc117: %t521 = load ptr, ptr %t1 %t522 = getelementptr inbounds %Cmp_Node, ptr %t521, i32 0, i32 4 %t523 = load ptr, ptr %t522 %t524 = getelementptr inbounds %Cmp_Node, ptr %t523, i32 0, i32 1 %t525 = load ptr, ptr %t524 %t526 = call i32 @lp_str_eq(ptr %t525, ptr @.str117) %t527 = icmp ne i32 %t526, 0 %t528 = zext i1 %t527 to i32 store i32 %t528, ptr %t511 br label %scend118 scend118: %t529 = load i32, ptr %t511 %t530 = icmp ne i32 %t529, 0 %t531 = zext i1 %t530 to i32 store i32 %t531, ptr %t510 br i1 %t530, label %sc119, label %scend120 sc119: %t543 = load ptr, ptr %t1 %t544 = getelementptr inbounds %Cmp_Node, ptr %t543, i32 0, i32 1 %t545 = load ptr, ptr %t544 %t546 = call i32 @lp_str_eq(ptr %t545, ptr @.str118) %t547 = icmp ne i32 %t546, 0 %t548 = zext i1 %t547 to i32 store i32 %t548, ptr %t542 br i1 %t547, label %scend122, label %sc121 sc121: %t549 = load ptr, ptr %t1 %t550 = getelementptr inbounds %Cmp_Node, ptr %t549, i32 0, i32 1 %t551 = load ptr, ptr %t550 %t552 = call i32 @lp_str_eq(ptr %t551, ptr @.str119) %t553 = icmp ne i32 %t552, 0 %t554 = zext i1 %t553 to i32 store i32 %t554, ptr %t542 br label %scend122 scend122: %t555 = load i32, ptr %t542 %t556 = icmp ne i32 %t555, 0 %t557 = zext i1 %t556 to i32 store i32 %t557, ptr %t541 br i1 %t556, label %scend124, label %sc123 sc123: %t558 = load ptr, ptr %t1 %t559 = getelementptr inbounds %Cmp_Node, ptr %t558, i32 0, i32 1 %t560 = load ptr, ptr %t559 %t561 = call i32 @lp_str_eq(ptr %t560, ptr @.str120) %t562 = icmp ne i32 %t561, 0 %t563 = zext i1 %t562 to i32 store i32 %t563, ptr %t541 br label %scend124 scend124: %t564 = load i32, ptr %t541 %t565 = icmp ne i32 %t564, 0 %t566 = zext i1 %t565 to i32 store i32 %t566, ptr %t540 br i1 %t565, label %scend126, label %sc125 sc125: %t567 = load ptr, ptr %t1 %t568 = getelementptr inbounds %Cmp_Node, ptr %t567, i32 0, i32 1 %t569 = load ptr, ptr %t568 %t570 = call i32 @lp_str_eq(ptr %t569, ptr @.str121) %t571 = icmp ne i32 %t570, 0 %t572 = zext i1 %t571 to i32 store i32 %t572, ptr %t540 br label %scend126 scend126: %t573 = load i32, ptr %t540 %t574 = icmp ne i32 %t573, 0 %t575 = zext i1 %t574 to i32 store i32 %t575, ptr %t539 br i1 %t574, label %scend128, label %sc127 sc127: %t576 = load ptr, ptr %t1 %t577 = getelementptr inbounds %Cmp_Node, ptr %t576, i32 0, i32 1 %t578 = load ptr, ptr %t577 %t579 = call i32 @lp_str_eq(ptr %t578, ptr @.str122) %t580 = icmp ne i32 %t579, 0 %t581 = zext i1 %t580 to i32 store i32 %t581, ptr %t539 br label %scend128 scend128: %t582 = load i32, ptr %t539 %t583 = icmp ne i32 %t582, 0 %t584 = zext i1 %t583 to i32 store i32 %t584, ptr %t538 br i1 %t583, label %scend130, label %sc129 sc129: %t585 = load ptr, ptr %t1 %t586 = getelementptr inbounds %Cmp_Node, ptr %t585, i32 0, i32 1 %t587 = load ptr, ptr %t586 %t588 = call i32 @lp_str_eq(ptr %t587, ptr @.str123) %t589 = icmp ne i32 %t588, 0 %t590 = zext i1 %t589 to i32 store i32 %t590, ptr %t538 br label %scend130 scend130: %t591 = load i32, ptr %t538 %t592 = icmp ne i32 %t591, 0 %t593 = zext i1 %t592 to i32 store i32 %t593, ptr %t537 br i1 %t592, label %scend132, label %sc131 sc131: %t594 = load ptr, ptr %t1 %t595 = getelementptr inbounds %Cmp_Node, ptr %t594, i32 0, i32 1 %t596 = load ptr, ptr %t595 %t597 = call i32 @lp_str_eq(ptr %t596, ptr @.str124) %t598 = icmp ne i32 %t597, 0 %t599 = zext i1 %t598 to i32 store i32 %t599, ptr %t537 br label %scend132 scend132: %t600 = load i32, ptr %t537 %t601 = icmp ne i32 %t600, 0 %t602 = zext i1 %t601 to i32 store i32 %t602, ptr %t536 br i1 %t601, label %scend134, label %sc133 sc133: %t603 = load ptr, ptr %t1 %t604 = getelementptr inbounds %Cmp_Node, ptr %t603, i32 0, i32 1 %t605 = load ptr, ptr %t604 %t606 = call i32 @lp_str_eq(ptr %t605, ptr @.str125) %t607 = icmp ne i32 %t606, 0 %t608 = zext i1 %t607 to i32 store i32 %t608, ptr %t536 br label %scend134 scend134: %t609 = load i32, ptr %t536 %t610 = icmp ne i32 %t609, 0 %t611 = zext i1 %t610 to i32 store i32 %t611, ptr %t535 br i1 %t610, label %scend136, label %sc135 sc135: %t612 = load ptr, ptr %t1 %t613 = getelementptr inbounds %Cmp_Node, ptr %t612, i32 0, i32 1 %t614 = load ptr, ptr %t613 %t615 = call i32 @lp_str_eq(ptr %t614, ptr @.str126) %t616 = icmp ne i32 %t615, 0 %t617 = zext i1 %t616 to i32 store i32 %t617, ptr %t535 br label %scend136 scend136: %t618 = load i32, ptr %t535 %t619 = icmp ne i32 %t618, 0 %t620 = zext i1 %t619 to i32 store i32 %t620, ptr %t534 br i1 %t619, label %scend138, label %sc137 sc137: %t621 = load ptr, ptr %t1 %t622 = getelementptr inbounds %Cmp_Node, ptr %t621, i32 0, i32 1 %t623 = load ptr, ptr %t622 %t624 = call i32 @lp_str_eq(ptr %t623, ptr @.str127) %t625 = icmp ne i32 %t624, 0 %t626 = zext i1 %t625 to i32 store i32 %t626, ptr %t534 br label %scend138 scend138: %t627 = load i32, ptr %t534 %t628 = icmp ne i32 %t627, 0 %t629 = zext i1 %t628 to i32 store i32 %t629, ptr %t533 br i1 %t628, label %scend140, label %sc139 sc139: %t630 = load ptr, ptr %t1 %t631 = getelementptr inbounds %Cmp_Node, ptr %t630, i32 0, i32 1 %t632 = load ptr, ptr %t631 %t633 = call i32 @lp_str_eq(ptr %t632, ptr @.str128) %t634 = icmp ne i32 %t633, 0 %t635 = zext i1 %t634 to i32 store i32 %t635, ptr %t533 br label %scend140 scend140: %t636 = load i32, ptr %t533 %t637 = icmp ne i32 %t636, 0 %t638 = zext i1 %t637 to i32 store i32 %t638, ptr %t532 br i1 %t637, label %scend142, label %sc141 sc141: %t639 = load ptr, ptr %t1 %t640 = getelementptr inbounds %Cmp_Node, ptr %t639, i32 0, i32 1 %t641 = load ptr, ptr %t640 %t642 = call i32 @lp_str_eq(ptr %t641, ptr @.str129) %t643 = icmp ne i32 %t642, 0 %t644 = zext i1 %t643 to i32 store i32 %t644, ptr %t532 br label %scend142 scend142: %t645 = load i32, ptr %t532 %t646 = icmp ne i32 %t645, 0 %t647 = zext i1 %t646 to i32 store i32 %t647, ptr %t510 br label %scend120 scend120: %t648 = load i32, ptr %t510 %t649 = icmp ne i32 %t648, 0 br i1 %t649, label %then143, label %ifend145 then143: store i32 1, ptr @g_g_uses_input br label %ifend145 ifend145: %t652 = load ptr, ptr %t1 %t653 = getelementptr inbounds %Cmp_Node, ptr %t652, i32 0, i32 4 %t654 = load ptr, ptr %t653 %t655 = getelementptr inbounds %Cmp_Node, ptr %t654, i32 0, i32 0 %t656 = load i32, ptr %t655 %t657 = icmp eq i32 %t656, 33 %t658 = zext i1 %t657 to i32 %t659 = icmp ne i32 %t658, 0 %t660 = zext i1 %t659 to i32 store i32 %t660, ptr %t651 br i1 %t659, label %sc146, label %scend147 sc146: %t661 = load ptr, ptr %t1 %t662 = getelementptr inbounds %Cmp_Node, ptr %t661, i32 0, i32 4 %t663 = load ptr, ptr %t662 %t664 = getelementptr inbounds %Cmp_Node, ptr %t663, i32 0, i32 1 %t665 = load ptr, ptr %t664 %t666 = call i32 @lp_str_eq(ptr %t665, ptr @.str130) %t667 = icmp ne i32 %t666, 0 %t668 = zext i1 %t667 to i32 store i32 %t668, ptr %t651 br label %scend147 scend147: %t669 = load i32, ptr %t651 %t670 = icmp ne i32 %t669, 0 %t671 = zext i1 %t670 to i32 store i32 %t671, ptr %t650 br i1 %t670, label %sc148, label %scend149 sc148: %t698 = load ptr, ptr %t1 %t699 = getelementptr inbounds %Cmp_Node, ptr %t698, i32 0, i32 1 %t700 = load ptr, ptr %t699 %t701 = call i32 @lp_str_eq(ptr %t700, ptr @.str131) %t702 = icmp ne i32 %t701, 0 %t703 = zext i1 %t702 to i32 store i32 %t703, ptr %t697 br i1 %t702, label %scend151, label %sc150 sc150: %t704 = load ptr, ptr %t1 %t705 = getelementptr inbounds %Cmp_Node, ptr %t704, i32 0, i32 1 %t706 = load ptr, ptr %t705 %t707 = call i32 @lp_str_eq(ptr %t706, ptr @.str132) %t708 = icmp ne i32 %t707, 0 %t709 = zext i1 %t708 to i32 store i32 %t709, ptr %t697 br label %scend151 scend151: %t710 = load i32, ptr %t697 %t711 = icmp ne i32 %t710, 0 %t712 = zext i1 %t711 to i32 store i32 %t712, ptr %t696 br i1 %t711, label %scend153, label %sc152 sc152: %t713 = load ptr, ptr %t1 %t714 = getelementptr inbounds %Cmp_Node, ptr %t713, i32 0, i32 1 %t715 = load ptr, ptr %t714 %t716 = call i32 @lp_str_eq(ptr %t715, ptr @.str133) %t717 = icmp ne i32 %t716, 0 %t718 = zext i1 %t717 to i32 store i32 %t718, ptr %t696 br label %scend153 scend153: %t719 = load i32, ptr %t696 %t720 = icmp ne i32 %t719, 0 %t721 = zext i1 %t720 to i32 store i32 %t721, ptr %t695 br i1 %t720, label %scend155, label %sc154 sc154: %t722 = load ptr, ptr %t1 %t723 = getelementptr inbounds %Cmp_Node, ptr %t722, i32 0, i32 1 %t724 = load ptr, ptr %t723 %t725 = call i32 @lp_str_eq(ptr %t724, ptr @.str134) %t726 = icmp ne i32 %t725, 0 %t727 = zext i1 %t726 to i32 store i32 %t727, ptr %t695 br label %scend155 scend155: %t728 = load i32, ptr %t695 %t729 = icmp ne i32 %t728, 0 %t730 = zext i1 %t729 to i32 store i32 %t730, ptr %t694 br i1 %t729, label %scend157, label %sc156 sc156: %t731 = load ptr, ptr %t1 %t732 = getelementptr inbounds %Cmp_Node, ptr %t731, i32 0, i32 1 %t733 = load ptr, ptr %t732 %t734 = call i32 @lp_str_eq(ptr %t733, ptr @.str135) %t735 = icmp ne i32 %t734, 0 %t736 = zext i1 %t735 to i32 store i32 %t736, ptr %t694 br label %scend157 scend157: %t737 = load i32, ptr %t694 %t738 = icmp ne i32 %t737, 0 %t739 = zext i1 %t738 to i32 store i32 %t739, ptr %t693 br i1 %t738, label %scend159, label %sc158 sc158: %t740 = load ptr, ptr %t1 %t741 = getelementptr inbounds %Cmp_Node, ptr %t740, i32 0, i32 1 %t742 = load ptr, ptr %t741 %t743 = call i32 @lp_str_eq(ptr %t742, ptr @.str136) %t744 = icmp ne i32 %t743, 0 %t745 = zext i1 %t744 to i32 store i32 %t745, ptr %t693 br label %scend159 scend159: %t746 = load i32, ptr %t693 %t747 = icmp ne i32 %t746, 0 %t748 = zext i1 %t747 to i32 store i32 %t748, ptr %t692 br i1 %t747, label %scend161, label %sc160 sc160: %t749 = load ptr, ptr %t1 %t750 = getelementptr inbounds %Cmp_Node, ptr %t749, i32 0, i32 1 %t751 = load ptr, ptr %t750 %t752 = call i32 @lp_str_eq(ptr %t751, ptr @.str137) %t753 = icmp ne i32 %t752, 0 %t754 = zext i1 %t753 to i32 store i32 %t754, ptr %t692 br label %scend161 scend161: %t755 = load i32, ptr %t692 %t756 = icmp ne i32 %t755, 0 %t757 = zext i1 %t756 to i32 store i32 %t757, ptr %t691 br i1 %t756, label %scend163, label %sc162 sc162: %t758 = load ptr, ptr %t1 %t759 = getelementptr inbounds %Cmp_Node, ptr %t758, i32 0, i32 1 %t760 = load ptr, ptr %t759 %t761 = call i32 @lp_str_eq(ptr %t760, ptr @.str138) %t762 = icmp ne i32 %t761, 0 %t763 = zext i1 %t762 to i32 store i32 %t763, ptr %t691 br label %scend163 scend163: %t764 = load i32, ptr %t691 %t765 = icmp ne i32 %t764, 0 %t766 = zext i1 %t765 to i32 store i32 %t766, ptr %t690 br i1 %t765, label %scend165, label %sc164 sc164: %t767 = load ptr, ptr %t1 %t768 = getelementptr inbounds %Cmp_Node, ptr %t767, i32 0, i32 1 %t769 = load ptr, ptr %t768 %t770 = call i32 @lp_str_eq(ptr %t769, ptr @.str139) %t771 = icmp ne i32 %t770, 0 %t772 = zext i1 %t771 to i32 store i32 %t772, ptr %t690 br label %scend165 scend165: %t773 = load i32, ptr %t690 %t774 = icmp ne i32 %t773, 0 %t775 = zext i1 %t774 to i32 store i32 %t775, ptr %t689 br i1 %t774, label %scend167, label %sc166 sc166: %t776 = load ptr, ptr %t1 %t777 = getelementptr inbounds %Cmp_Node, ptr %t776, i32 0, i32 1 %t778 = load ptr, ptr %t777 %t779 = call i32 @lp_str_eq(ptr %t778, ptr @.str140) %t780 = icmp ne i32 %t779, 0 %t781 = zext i1 %t780 to i32 store i32 %t781, ptr %t689 br label %scend167 scend167: %t782 = load i32, ptr %t689 %t783 = icmp ne i32 %t782, 0 %t784 = zext i1 %t783 to i32 store i32 %t784, ptr %t688 br i1 %t783, label %scend169, label %sc168 sc168: %t785 = load ptr, ptr %t1 %t786 = getelementptr inbounds %Cmp_Node, ptr %t785, i32 0, i32 1 %t787 = load ptr, ptr %t786 %t788 = call i32 @lp_str_eq(ptr %t787, ptr @.str141) %t789 = icmp ne i32 %t788, 0 %t790 = zext i1 %t789 to i32 store i32 %t790, ptr %t688 br label %scend169 scend169: %t791 = load i32, ptr %t688 %t792 = icmp ne i32 %t791, 0 %t793 = zext i1 %t792 to i32 store i32 %t793, ptr %t687 br i1 %t792, label %scend171, label %sc170 sc170: %t794 = load ptr, ptr %t1 %t795 = getelementptr inbounds %Cmp_Node, ptr %t794, i32 0, i32 1 %t796 = load ptr, ptr %t795 %t797 = call i32 @lp_str_eq(ptr %t796, ptr @.str142) %t798 = icmp ne i32 %t797, 0 %t799 = zext i1 %t798 to i32 store i32 %t799, ptr %t687 br label %scend171 scend171: %t800 = load i32, ptr %t687 %t801 = icmp ne i32 %t800, 0 %t802 = zext i1 %t801 to i32 store i32 %t802, ptr %t686 br i1 %t801, label %scend173, label %sc172 sc172: %t803 = load ptr, ptr %t1 %t804 = getelementptr inbounds %Cmp_Node, ptr %t803, i32 0, i32 1 %t805 = load ptr, ptr %t804 %t806 = call i32 @lp_str_eq(ptr %t805, ptr @.str143) %t807 = icmp ne i32 %t806, 0 %t808 = zext i1 %t807 to i32 store i32 %t808, ptr %t686 br label %scend173 scend173: %t809 = load i32, ptr %t686 %t810 = icmp ne i32 %t809, 0 %t811 = zext i1 %t810 to i32 store i32 %t811, ptr %t685 br i1 %t810, label %scend175, label %sc174 sc174: %t812 = load ptr, ptr %t1 %t813 = getelementptr inbounds %Cmp_Node, ptr %t812, i32 0, i32 1 %t814 = load ptr, ptr %t813 %t815 = call i32 @lp_str_eq(ptr %t814, ptr @.str144) %t816 = icmp ne i32 %t815, 0 %t817 = zext i1 %t816 to i32 store i32 %t817, ptr %t685 br label %scend175 scend175: %t818 = load i32, ptr %t685 %t819 = icmp ne i32 %t818, 0 %t820 = zext i1 %t819 to i32 store i32 %t820, ptr %t684 br i1 %t819, label %scend177, label %sc176 sc176: %t821 = load ptr, ptr %t1 %t822 = getelementptr inbounds %Cmp_Node, ptr %t821, i32 0, i32 1 %t823 = load ptr, ptr %t822 %t824 = call i32 @lp_str_eq(ptr %t823, ptr @.str145) %t825 = icmp ne i32 %t824, 0 %t826 = zext i1 %t825 to i32 store i32 %t826, ptr %t684 br label %scend177 scend177: %t827 = load i32, ptr %t684 %t828 = icmp ne i32 %t827, 0 %t829 = zext i1 %t828 to i32 store i32 %t829, ptr %t683 br i1 %t828, label %scend179, label %sc178 sc178: %t830 = load ptr, ptr %t1 %t831 = getelementptr inbounds %Cmp_Node, ptr %t830, i32 0, i32 1 %t832 = load ptr, ptr %t831 %t833 = call i32 @lp_str_eq(ptr %t832, ptr @.str146) %t834 = icmp ne i32 %t833, 0 %t835 = zext i1 %t834 to i32 store i32 %t835, ptr %t683 br label %scend179 scend179: %t836 = load i32, ptr %t683 %t837 = icmp ne i32 %t836, 0 %t838 = zext i1 %t837 to i32 store i32 %t838, ptr %t682 br i1 %t837, label %scend181, label %sc180 sc180: %t839 = load ptr, ptr %t1 %t840 = getelementptr inbounds %Cmp_Node, ptr %t839, i32 0, i32 1 %t841 = load ptr, ptr %t840 %t842 = call i32 @lp_str_eq(ptr %t841, ptr @.str147) %t843 = icmp ne i32 %t842, 0 %t844 = zext i1 %t843 to i32 store i32 %t844, ptr %t682 br label %scend181 scend181: %t845 = load i32, ptr %t682 %t846 = icmp ne i32 %t845, 0 %t847 = zext i1 %t846 to i32 store i32 %t847, ptr %t681 br i1 %t846, label %scend183, label %sc182 sc182: %t848 = load ptr, ptr %t1 %t849 = getelementptr inbounds %Cmp_Node, ptr %t848, i32 0, i32 1 %t850 = load ptr, ptr %t849 %t851 = call i32 @lp_str_eq(ptr %t850, ptr @.str148) %t852 = icmp ne i32 %t851, 0 %t853 = zext i1 %t852 to i32 store i32 %t853, ptr %t681 br label %scend183 scend183: %t854 = load i32, ptr %t681 %t855 = icmp ne i32 %t854, 0 %t856 = zext i1 %t855 to i32 store i32 %t856, ptr %t680 br i1 %t855, label %scend185, label %sc184 sc184: %t857 = load ptr, ptr %t1 %t858 = getelementptr inbounds %Cmp_Node, ptr %t857, i32 0, i32 1 %t859 = load ptr, ptr %t858 %t860 = call i32 @lp_str_eq(ptr %t859, ptr @.str149) %t861 = icmp ne i32 %t860, 0 %t862 = zext i1 %t861 to i32 store i32 %t862, ptr %t680 br label %scend185 scend185: %t863 = load i32, ptr %t680 %t864 = icmp ne i32 %t863, 0 %t865 = zext i1 %t864 to i32 store i32 %t865, ptr %t679 br i1 %t864, label %scend187, label %sc186 sc186: %t866 = load ptr, ptr %t1 %t867 = getelementptr inbounds %Cmp_Node, ptr %t866, i32 0, i32 1 %t868 = load ptr, ptr %t867 %t869 = call i32 @lp_str_eq(ptr %t868, ptr @.str150) %t870 = icmp ne i32 %t869, 0 %t871 = zext i1 %t870 to i32 store i32 %t871, ptr %t679 br label %scend187 scend187: %t872 = load i32, ptr %t679 %t873 = icmp ne i32 %t872, 0 %t874 = zext i1 %t873 to i32 store i32 %t874, ptr %t678 br i1 %t873, label %scend189, label %sc188 sc188: %t875 = load ptr, ptr %t1 %t876 = getelementptr inbounds %Cmp_Node, ptr %t875, i32 0, i32 1 %t877 = load ptr, ptr %t876 %t878 = call i32 @lp_str_eq(ptr %t877, ptr @.str151) %t879 = icmp ne i32 %t878, 0 %t880 = zext i1 %t879 to i32 store i32 %t880, ptr %t678 br label %scend189 scend189: %t881 = load i32, ptr %t678 %t882 = icmp ne i32 %t881, 0 %t883 = zext i1 %t882 to i32 store i32 %t883, ptr %t677 br i1 %t882, label %scend191, label %sc190 sc190: %t884 = load ptr, ptr %t1 %t885 = getelementptr inbounds %Cmp_Node, ptr %t884, i32 0, i32 1 %t886 = load ptr, ptr %t885 %t887 = call i32 @lp_str_eq(ptr %t886, ptr @.str152) %t888 = icmp ne i32 %t887, 0 %t889 = zext i1 %t888 to i32 store i32 %t889, ptr %t677 br label %scend191 scend191: %t890 = load i32, ptr %t677 %t891 = icmp ne i32 %t890, 0 %t892 = zext i1 %t891 to i32 store i32 %t892, ptr %t676 br i1 %t891, label %scend193, label %sc192 sc192: %t893 = load ptr, ptr %t1 %t894 = getelementptr inbounds %Cmp_Node, ptr %t893, i32 0, i32 1 %t895 = load ptr, ptr %t894 %t896 = call i32 @lp_str_eq(ptr %t895, ptr @.str153) %t897 = icmp ne i32 %t896, 0 %t898 = zext i1 %t897 to i32 store i32 %t898, ptr %t676 br label %scend193 scend193: %t899 = load i32, ptr %t676 %t900 = icmp ne i32 %t899, 0 %t901 = zext i1 %t900 to i32 store i32 %t901, ptr %t675 br i1 %t900, label %scend195, label %sc194 sc194: %t902 = load ptr, ptr %t1 %t903 = getelementptr inbounds %Cmp_Node, ptr %t902, i32 0, i32 1 %t904 = load ptr, ptr %t903 %t905 = call i32 @lp_str_eq(ptr %t904, ptr @.str154) %t906 = icmp ne i32 %t905, 0 %t907 = zext i1 %t906 to i32 store i32 %t907, ptr %t675 br label %scend195 scend195: %t908 = load i32, ptr %t675 %t909 = icmp ne i32 %t908, 0 %t910 = zext i1 %t909 to i32 store i32 %t910, ptr %t674 br i1 %t909, label %scend197, label %sc196 sc196: %t911 = load ptr, ptr %t1 %t912 = getelementptr inbounds %Cmp_Node, ptr %t911, i32 0, i32 1 %t913 = load ptr, ptr %t912 %t914 = call i32 @lp_str_eq(ptr %t913, ptr @.str155) %t915 = icmp ne i32 %t914, 0 %t916 = zext i1 %t915 to i32 store i32 %t916, ptr %t674 br label %scend197 scend197: %t917 = load i32, ptr %t674 %t918 = icmp ne i32 %t917, 0 %t919 = zext i1 %t918 to i32 store i32 %t919, ptr %t673 br i1 %t918, label %scend199, label %sc198 sc198: %t920 = load ptr, ptr %t1 %t921 = getelementptr inbounds %Cmp_Node, ptr %t920, i32 0, i32 1 %t922 = load ptr, ptr %t921 %t923 = call i32 @lp_str_eq(ptr %t922, ptr @.str156) %t924 = icmp ne i32 %t923, 0 %t925 = zext i1 %t924 to i32 store i32 %t925, ptr %t673 br label %scend199 scend199: %t926 = load i32, ptr %t673 %t927 = icmp ne i32 %t926, 0 %t928 = zext i1 %t927 to i32 store i32 %t928, ptr %t672 br i1 %t927, label %scend201, label %sc200 sc200: %t929 = load ptr, ptr %t1 %t930 = getelementptr inbounds %Cmp_Node, ptr %t929, i32 0, i32 1 %t931 = load ptr, ptr %t930 %t932 = call i32 @lp_str_eq(ptr %t931, ptr @.str157) %t933 = icmp ne i32 %t932, 0 %t934 = zext i1 %t933 to i32 store i32 %t934, ptr %t672 br label %scend201 scend201: %t935 = load i32, ptr %t672 %t936 = icmp ne i32 %t935, 0 %t937 = zext i1 %t936 to i32 store i32 %t937, ptr %t650 br label %scend149 scend149: %t938 = load i32, ptr %t650 %t939 = icmp ne i32 %t938, 0 br i1 %t939, label %then202, label %ifend204 then202: store i32 1, ptr @g_g_uses_input br label %ifend204 ifend204: %t942 = load ptr, ptr %t1 %t943 = getelementptr inbounds %Cmp_Node, ptr %t942, i32 0, i32 4 %t944 = load ptr, ptr %t943 %t945 = getelementptr inbounds %Cmp_Node, ptr %t944, i32 0, i32 0 %t946 = load i32, ptr %t945 %t947 = icmp eq i32 %t946, 33 %t948 = zext i1 %t947 to i32 %t949 = icmp ne i32 %t948, 0 %t950 = zext i1 %t949 to i32 store i32 %t950, ptr %t941 br i1 %t949, label %sc205, label %scend206 sc205: %t951 = load ptr, ptr %t1 %t952 = getelementptr inbounds %Cmp_Node, ptr %t951, i32 0, i32 4 %t953 = load ptr, ptr %t952 %t954 = getelementptr inbounds %Cmp_Node, ptr %t953, i32 0, i32 1 %t955 = load ptr, ptr %t954 %t956 = call i32 @lp_str_eq(ptr %t955, ptr @.str158) %t957 = icmp ne i32 %t956, 0 %t958 = zext i1 %t957 to i32 store i32 %t958, ptr %t941 br label %scend206 scend206: %t959 = load i32, ptr %t941 %t960 = icmp ne i32 %t959, 0 %t961 = zext i1 %t960 to i32 store i32 %t961, ptr %t940 br i1 %t960, label %sc207, label %scend208 sc207: %t965 = load ptr, ptr %t1 %t966 = getelementptr inbounds %Cmp_Node, ptr %t965, i32 0, i32 1 %t967 = load ptr, ptr %t966 %t968 = call i32 @lp_str_eq(ptr %t967, ptr @.str159) %t969 = icmp ne i32 %t968, 0 %t970 = zext i1 %t969 to i32 store i32 %t970, ptr %t964 br i1 %t969, label %scend210, label %sc209 sc209: %t971 = load ptr, ptr %t1 %t972 = getelementptr inbounds %Cmp_Node, ptr %t971, i32 0, i32 1 %t973 = load ptr, ptr %t972 %t974 = call i32 @lp_str_eq(ptr %t973, ptr @.str160) %t975 = icmp ne i32 %t974, 0 %t976 = zext i1 %t975 to i32 store i32 %t976, ptr %t964 br label %scend210 scend210: %t977 = load i32, ptr %t964 %t978 = icmp ne i32 %t977, 0 %t979 = zext i1 %t978 to i32 store i32 %t979, ptr %t963 br i1 %t978, label %scend212, label %sc211 sc211: %t980 = load ptr, ptr %t1 %t981 = getelementptr inbounds %Cmp_Node, ptr %t980, i32 0, i32 1 %t982 = load ptr, ptr %t981 %t983 = call i32 @lp_str_eq(ptr %t982, ptr @.str161) %t984 = icmp ne i32 %t983, 0 %t985 = zext i1 %t984 to i32 store i32 %t985, ptr %t963 br label %scend212 scend212: %t986 = load i32, ptr %t963 %t987 = icmp ne i32 %t986, 0 %t988 = zext i1 %t987 to i32 store i32 %t988, ptr %t962 br i1 %t987, label %scend214, label %sc213 sc213: %t989 = load ptr, ptr %t1 %t990 = getelementptr inbounds %Cmp_Node, ptr %t989, i32 0, i32 1 %t991 = load ptr, ptr %t990 %t992 = call i32 @lp_str_eq(ptr %t991, ptr @.str162) %t993 = icmp ne i32 %t992, 0 %t994 = zext i1 %t993 to i32 store i32 %t994, ptr %t962 br label %scend214 scend214: %t995 = load i32, ptr %t962 %t996 = icmp ne i32 %t995, 0 %t997 = zext i1 %t996 to i32 store i32 %t997, ptr %t940 br label %scend208 scend208: %t998 = load i32, ptr %t940 %t999 = icmp ne i32 %t998, 0 br i1 %t999, label %then215, label %ifend217 then215: store i32 1, ptr @g_g_uses_anim_rt br label %ifend217 ifend217: %t1002 = load ptr, ptr %t1 %t1003 = getelementptr inbounds %Cmp_Node, ptr %t1002, i32 0, i32 4 %t1004 = load ptr, ptr %t1003 %t1005 = getelementptr inbounds %Cmp_Node, ptr %t1004, i32 0, i32 0 %t1006 = load i32, ptr %t1005 %t1007 = icmp eq i32 %t1006, 33 %t1008 = zext i1 %t1007 to i32 %t1009 = icmp ne i32 %t1008, 0 %t1010 = zext i1 %t1009 to i32 store i32 %t1010, ptr %t1001 br i1 %t1009, label %sc218, label %scend219 sc218: %t1011 = load ptr, ptr %t1 %t1012 = getelementptr inbounds %Cmp_Node, ptr %t1011, i32 0, i32 4 %t1013 = load ptr, ptr %t1012 %t1014 = getelementptr inbounds %Cmp_Node, ptr %t1013, i32 0, i32 1 %t1015 = load ptr, ptr %t1014 %t1016 = call i32 @lp_str_eq(ptr %t1015, ptr @.str163) %t1017 = icmp ne i32 %t1016, 0 %t1018 = zext i1 %t1017 to i32 store i32 %t1018, ptr %t1001 br label %scend219 scend219: %t1019 = load i32, ptr %t1001 %t1020 = icmp ne i32 %t1019, 0 %t1021 = zext i1 %t1020 to i32 store i32 %t1021, ptr %t1000 br i1 %t1020, label %sc220, label %scend221 sc220: %t1022 = load ptr, ptr %t1 %t1023 = getelementptr inbounds %Cmp_Node, ptr %t1022, i32 0, i32 1 %t1024 = load ptr, ptr %t1023 %t1025 = call i32 @lp_str_eq(ptr %t1024, ptr @.str164) %t1026 = icmp ne i32 %t1025, 0 %t1027 = zext i1 %t1026 to i32 store i32 %t1027, ptr %t1000 br label %scend221 scend221: %t1028 = load i32, ptr %t1000 %t1029 = icmp ne i32 %t1028, 0 br i1 %t1029, label %then222, label %ifend224 then222: store i32 1, ptr @g_g_uses_anim_rt br label %ifend224 ifend224: %t1031 = load ptr, ptr %t1 %t1032 = getelementptr inbounds %Cmp_Node, ptr %t1031, i32 0, i32 4 %t1033 = load ptr, ptr %t1032 %t1034 = getelementptr inbounds %Cmp_Node, ptr %t1033, i32 0, i32 0 %t1035 = load i32, ptr %t1034 %t1036 = icmp eq i32 %t1035, 33 %t1037 = zext i1 %t1036 to i32 %t1038 = icmp ne i32 %t1037, 0 %t1039 = zext i1 %t1038 to i32 store i32 %t1039, ptr %t1030 br i1 %t1038, label %sc225, label %scend226 sc225: %t1040 = load ptr, ptr %t1 %t1041 = getelementptr inbounds %Cmp_Node, ptr %t1040, i32 0, i32 4 %t1042 = load ptr, ptr %t1041 %t1043 = getelementptr inbounds %Cmp_Node, ptr %t1042, i32 0, i32 1 %t1044 = load ptr, ptr %t1043 %t1045 = call i32 @lp_str_eq(ptr %t1044, ptr @.str165) %t1046 = icmp ne i32 %t1045, 0 %t1047 = zext i1 %t1046 to i32 store i32 %t1047, ptr %t1030 br label %scend226 scend226: %t1048 = load i32, ptr %t1030 %t1049 = icmp ne i32 %t1048, 0 br i1 %t1049, label %then227, label %ifend229 then227: store i32 1, ptr @g_g_uses_audio br label %ifend229 ifend229: %t1051 = load ptr, ptr %t1 %t1052 = getelementptr inbounds %Cmp_Node, ptr %t1051, i32 0, i32 4 %t1053 = load ptr, ptr %t1052 %t1054 = getelementptr inbounds %Cmp_Node, ptr %t1053, i32 0, i32 0 %t1055 = load i32, ptr %t1054 %t1056 = icmp eq i32 %t1055, 33 %t1057 = zext i1 %t1056 to i32 %t1058 = icmp ne i32 %t1057, 0 %t1059 = zext i1 %t1058 to i32 store i32 %t1059, ptr %t1050 br i1 %t1058, label %sc230, label %scend231 sc230: %t1060 = load ptr, ptr %t1 %t1061 = getelementptr inbounds %Cmp_Node, ptr %t1060, i32 0, i32 4 %t1062 = load ptr, ptr %t1061 %t1063 = getelementptr inbounds %Cmp_Node, ptr %t1062, i32 0, i32 1 %t1064 = load ptr, ptr %t1063 %t1065 = call i32 @lp_str_eq(ptr %t1064, ptr @.str166) %t1066 = icmp ne i32 %t1065, 0 %t1067 = zext i1 %t1066 to i32 store i32 %t1067, ptr %t1050 br label %scend231 scend231: %t1068 = load i32, ptr %t1050 %t1069 = icmp ne i32 %t1068, 0 br i1 %t1069, label %then232, label %ifend234 then232: store i32 1, ptr @g_g_uses_http br label %ifend234 ifend234: %t1071 = load ptr, ptr %t1 %t1072 = getelementptr inbounds %Cmp_Node, ptr %t1071, i32 0, i32 4 %t1073 = load ptr, ptr %t1072 %t1074 = getelementptr inbounds %Cmp_Node, ptr %t1073, i32 0, i32 0 %t1075 = load i32, ptr %t1074 %t1076 = icmp eq i32 %t1075, 33 %t1077 = zext i1 %t1076 to i32 %t1078 = icmp ne i32 %t1077, 0 %t1079 = zext i1 %t1078 to i32 store i32 %t1079, ptr %t1070 br i1 %t1078, label %sc235, label %scend236 sc235: %t1080 = load ptr, ptr %t1 %t1081 = getelementptr inbounds %Cmp_Node, ptr %t1080, i32 0, i32 4 %t1082 = load ptr, ptr %t1081 %t1083 = getelementptr inbounds %Cmp_Node, ptr %t1082, i32 0, i32 1 %t1084 = load ptr, ptr %t1083 %t1085 = call i32 @lp_str_eq(ptr %t1084, ptr @.str167) %t1086 = icmp ne i32 %t1085, 0 %t1087 = zext i1 %t1086 to i32 store i32 %t1087, ptr %t1070 br label %scend236 scend236: %t1088 = load i32, ptr %t1070 %t1089 = icmp ne i32 %t1088, 0 br i1 %t1089, label %then237, label %ifend239 then237: store i32 1, ptr @g_g_uses_udp br label %ifend239 ifend239: %t1091 = load ptr, ptr %t1 %t1092 = getelementptr inbounds %Cmp_Node, ptr %t1091, i32 0, i32 4 %t1093 = load ptr, ptr %t1092 %t1094 = getelementptr inbounds %Cmp_Node, ptr %t1093, i32 0, i32 0 %t1095 = load i32, ptr %t1094 %t1096 = icmp eq i32 %t1095, 33 %t1097 = zext i1 %t1096 to i32 %t1098 = icmp ne i32 %t1097, 0 %t1099 = zext i1 %t1098 to i32 store i32 %t1099, ptr %t1090 br i1 %t1098, label %sc240, label %scend241 sc240: %t1100 = load ptr, ptr %t1 %t1101 = getelementptr inbounds %Cmp_Node, ptr %t1100, i32 0, i32 4 %t1102 = load ptr, ptr %t1101 %t1103 = getelementptr inbounds %Cmp_Node, ptr %t1102, i32 0, i32 1 %t1104 = load ptr, ptr %t1103 %t1105 = call i32 @lp_str_eq(ptr %t1104, ptr @.str168) %t1106 = icmp ne i32 %t1105, 0 %t1107 = zext i1 %t1106 to i32 store i32 %t1107, ptr %t1090 br label %scend241 scend241: %t1108 = load i32, ptr %t1090 %t1109 = icmp ne i32 %t1108, 0 br i1 %t1109, label %then242, label %ifend244 then242: store i32 1, ptr @g_g_uses_process br label %ifend244 ifend244: %t1111 = load ptr, ptr %t1 %t1112 = getelementptr inbounds %Cmp_Node, ptr %t1111, i32 0, i32 4 %t1113 = load ptr, ptr %t1112 %t1114 = getelementptr inbounds %Cmp_Node, ptr %t1113, i32 0, i32 0 %t1115 = load i32, ptr %t1114 %t1116 = icmp eq i32 %t1115, 33 %t1117 = zext i1 %t1116 to i32 %t1118 = icmp ne i32 %t1117, 0 %t1119 = zext i1 %t1118 to i32 store i32 %t1119, ptr %t1110 br i1 %t1118, label %sc245, label %scend246 sc245: %t1120 = load ptr, ptr %t1 %t1121 = getelementptr inbounds %Cmp_Node, ptr %t1120, i32 0, i32 4 %t1122 = load ptr, ptr %t1121 %t1123 = getelementptr inbounds %Cmp_Node, ptr %t1122, i32 0, i32 1 %t1124 = load ptr, ptr %t1123 %t1125 = call i32 @lp_str_eq(ptr %t1124, ptr @.str169) %t1126 = icmp ne i32 %t1125, 0 %t1127 = zext i1 %t1126 to i32 store i32 %t1127, ptr %t1110 br label %scend246 scend246: %t1128 = load i32, ptr %t1110 %t1129 = icmp ne i32 %t1128, 0 br i1 %t1129, label %then247, label %ifend249 then247: store i32 1, ptr @g_g_uses_gl br label %ifend249 ifend249: %t1131 = load ptr, ptr %t1 %t1132 = getelementptr inbounds %Cmp_Node, ptr %t1131, i32 0, i32 4 %t1133 = load ptr, ptr %t1132 %t1134 = getelementptr inbounds %Cmp_Node, ptr %t1133, i32 0, i32 0 %t1135 = load i32, ptr %t1134 %t1136 = icmp eq i32 %t1135, 33 %t1137 = zext i1 %t1136 to i32 %t1138 = icmp ne i32 %t1137, 0 %t1139 = zext i1 %t1138 to i32 store i32 %t1139, ptr %t1130 br i1 %t1138, label %sc250, label %scend251 sc250: %t1140 = load ptr, ptr %t1 %t1141 = getelementptr inbounds %Cmp_Node, ptr %t1140, i32 0, i32 4 %t1142 = load ptr, ptr %t1141 %t1143 = getelementptr inbounds %Cmp_Node, ptr %t1142, i32 0, i32 1 %t1144 = load ptr, ptr %t1143 %t1145 = call i32 @lp_str_eq(ptr %t1144, ptr @.str170) %t1146 = icmp ne i32 %t1145, 0 %t1147 = zext i1 %t1146 to i32 store i32 %t1147, ptr %t1130 br label %scend251 scend251: %t1148 = load i32, ptr %t1130 %t1149 = icmp ne i32 %t1148, 0 br i1 %t1149, label %then252, label %ifend254 then252: store i32 1, ptr @g_g_uses_vk br label %ifend254 ifend254: %t1152 = load ptr, ptr %t1 %t1153 = getelementptr inbounds %Cmp_Node, ptr %t1152, i32 0, i32 4 %t1154 = load ptr, ptr %t1153 %t1155 = getelementptr inbounds %Cmp_Node, ptr %t1154, i32 0, i32 0 %t1156 = load i32, ptr %t1155 %t1157 = icmp eq i32 %t1156, 33 %t1158 = zext i1 %t1157 to i32 %t1159 = icmp ne i32 %t1158, 0 %t1160 = zext i1 %t1159 to i32 store i32 %t1160, ptr %t1151 br i1 %t1159, label %sc255, label %scend256 sc255: %t1161 = load ptr, ptr %t1 %t1162 = getelementptr inbounds %Cmp_Node, ptr %t1161, i32 0, i32 4 %t1163 = load ptr, ptr %t1162 %t1164 = getelementptr inbounds %Cmp_Node, ptr %t1163, i32 0, i32 1 %t1165 = load ptr, ptr %t1164 %t1166 = call i32 @lp_str_eq(ptr %t1165, ptr @.str171) %t1167 = icmp ne i32 %t1166, 0 %t1168 = zext i1 %t1167 to i32 store i32 %t1168, ptr %t1151 br label %scend256 scend256: %t1169 = load i32, ptr %t1151 %t1170 = icmp ne i32 %t1169, 0 %t1171 = zext i1 %t1170 to i32 store i32 %t1171, ptr %t1150 br i1 %t1170, label %sc257, label %scend258 sc257: %t1177 = load ptr, ptr %t1 %t1178 = getelementptr inbounds %Cmp_Node, ptr %t1177, i32 0, i32 1 %t1179 = load ptr, ptr %t1178 %t1180 = call i32 @lp_str_eq(ptr %t1179, ptr @.str172) %t1181 = icmp ne i32 %t1180, 0 %t1182 = zext i1 %t1181 to i32 store i32 %t1182, ptr %t1176 br i1 %t1181, label %scend260, label %sc259 sc259: %t1183 = load ptr, ptr %t1 %t1184 = getelementptr inbounds %Cmp_Node, ptr %t1183, i32 0, i32 1 %t1185 = load ptr, ptr %t1184 %t1186 = call i32 @lp_str_eq(ptr %t1185, ptr @.str173) %t1187 = icmp ne i32 %t1186, 0 %t1188 = zext i1 %t1187 to i32 store i32 %t1188, ptr %t1176 br label %scend260 scend260: %t1189 = load i32, ptr %t1176 %t1190 = icmp ne i32 %t1189, 0 %t1191 = zext i1 %t1190 to i32 store i32 %t1191, ptr %t1175 br i1 %t1190, label %scend262, label %sc261 sc261: %t1192 = load ptr, ptr %t1 %t1193 = getelementptr inbounds %Cmp_Node, ptr %t1192, i32 0, i32 1 %t1194 = load ptr, ptr %t1193 %t1195 = call i32 @lp_str_eq(ptr %t1194, ptr @.str174) %t1196 = icmp ne i32 %t1195, 0 %t1197 = zext i1 %t1196 to i32 store i32 %t1197, ptr %t1175 br label %scend262 scend262: %t1198 = load i32, ptr %t1175 %t1199 = icmp ne i32 %t1198, 0 %t1200 = zext i1 %t1199 to i32 store i32 %t1200, ptr %t1174 br i1 %t1199, label %scend264, label %sc263 sc263: %t1201 = load ptr, ptr %t1 %t1202 = getelementptr inbounds %Cmp_Node, ptr %t1201, i32 0, i32 1 %t1203 = load ptr, ptr %t1202 %t1204 = call i32 @lp_str_eq(ptr %t1203, ptr @.str175) %t1205 = icmp ne i32 %t1204, 0 %t1206 = zext i1 %t1205 to i32 store i32 %t1206, ptr %t1174 br label %scend264 scend264: %t1207 = load i32, ptr %t1174 %t1208 = icmp ne i32 %t1207, 0 %t1209 = zext i1 %t1208 to i32 store i32 %t1209, ptr %t1173 br i1 %t1208, label %scend266, label %sc265 sc265: %t1210 = load ptr, ptr %t1 %t1211 = getelementptr inbounds %Cmp_Node, ptr %t1210, i32 0, i32 1 %t1212 = load ptr, ptr %t1211 %t1213 = call i32 @lp_str_eq(ptr %t1212, ptr @.str176) %t1214 = icmp ne i32 %t1213, 0 %t1215 = zext i1 %t1214 to i32 store i32 %t1215, ptr %t1173 br label %scend266 scend266: %t1216 = load i32, ptr %t1173 %t1217 = icmp ne i32 %t1216, 0 %t1218 = zext i1 %t1217 to i32 store i32 %t1218, ptr %t1172 br i1 %t1217, label %scend268, label %sc267 sc267: %t1219 = load ptr, ptr %t1 %t1220 = getelementptr inbounds %Cmp_Node, ptr %t1219, i32 0, i32 1 %t1221 = load ptr, ptr %t1220 %t1222 = call i32 @lp_str_eq(ptr %t1221, ptr @.str177) %t1223 = icmp ne i32 %t1222, 0 %t1224 = zext i1 %t1223 to i32 store i32 %t1224, ptr %t1172 br label %scend268 scend268: %t1225 = load i32, ptr %t1172 %t1226 = icmp ne i32 %t1225, 0 %t1227 = zext i1 %t1226 to i32 store i32 %t1227, ptr %t1150 br label %scend258 scend258: %t1228 = load i32, ptr %t1150 %t1229 = icmp ne i32 %t1228, 0 br i1 %t1229, label %then269, label %ifend271 then269: store i32 1, ptr @g_g_uses_tween_rt br label %ifend271 ifend271: %t1231 = load ptr, ptr %t1 %t1232 = getelementptr inbounds %Cmp_Node, ptr %t1231, i32 0, i32 4 %t1233 = load ptr, ptr %t1232 %t1234 = getelementptr inbounds %Cmp_Node, ptr %t1233, i32 0, i32 0 %t1235 = load i32, ptr %t1234 %t1236 = icmp eq i32 %t1235, 33 %t1237 = zext i1 %t1236 to i32 %t1238 = icmp ne i32 %t1237, 0 %t1239 = zext i1 %t1238 to i32 store i32 %t1239, ptr %t1230 br i1 %t1238, label %sc272, label %scend273 sc272: %t1240 = load ptr, ptr %t1 %t1241 = getelementptr inbounds %Cmp_Node, ptr %t1240, i32 0, i32 4 %t1242 = load ptr, ptr %t1241 %t1243 = getelementptr inbounds %Cmp_Node, ptr %t1242, i32 0, i32 1 %t1244 = load ptr, ptr %t1243 %t1245 = call i32 @lp_str_eq(ptr %t1244, ptr @.str178) %t1246 = icmp ne i32 %t1245, 0 %t1247 = zext i1 %t1246 to i32 store i32 %t1247, ptr %t1230 br label %scend273 scend273: %t1248 = load i32, ptr %t1230 %t1249 = icmp ne i32 %t1248, 0 br i1 %t1249, label %then274, label %ifend276 then274: store i32 1, ptr @g_g_uses_fx br label %ifend276 ifend276: br label %ifend5 else4: %t1250 = call i32 @fn_is_op(ptr @.str179) %t1251 = icmp ne i32 %t1250, 0 br i1 %t1251, label %then277, label %else278 then277: %t1252 = load i32, ptr @g_pi %t1253 = add i32 %t1252, 1 store i32 %t1253, ptr @g_pi %t1254 = call ptr @fn_expr() store ptr %t1254, ptr %t1255 %t1256 = call i32 @fn_is_op(ptr @.str180) %t1257 = icmp ne i32 %t1256, 0 br i1 %t1257, label %then280, label %else281 then280: %t1258 = load i32, ptr @g_pi %t1259 = add i32 %t1258, 1 store i32 %t1259, ptr @g_pi %t1260 = call ptr @fn_node(i32 44) store ptr %t1260, ptr %t1261 %t1262 = load ptr, ptr %t1261 %t1263 = getelementptr inbounds %Cmp_Node, ptr %t1262, i32 0, i32 4 %t1264 = load ptr, ptr %t1 store ptr %t1264, ptr %t1263 %t1265 = load ptr, ptr %t1261 %t1266 = getelementptr inbounds %Cmp_Node, ptr %t1265, i32 0, i32 5 %t1267 = load ptr, ptr %t1255 store ptr %t1267, ptr %t1266 %t1268 = load ptr, ptr %t1261 %t1269 = getelementptr inbounds %Cmp_Node, ptr %t1268, i32 0, i32 6 %t1270 = call ptr @fn_expr() store ptr %t1270, ptr %t1269 call void @fn_eat_op(ptr @.str181) %t1271 = load ptr, ptr %t1261 store ptr %t1271, ptr %t1 br label %ifend282 else281: %t1272 = call ptr @fn_node(i32 36) store ptr %t1272, ptr %t1273 %t1274 = load ptr, ptr %t1273 %t1275 = getelementptr inbounds %Cmp_Node, ptr %t1274, i32 0, i32 4 %t1276 = load ptr, ptr %t1 store ptr %t1276, ptr %t1275 %t1277 = load ptr, ptr %t1273 %t1278 = getelementptr inbounds %Cmp_Node, ptr %t1277, i32 0, i32 5 %t1279 = load ptr, ptr %t1255 store ptr %t1279, ptr %t1278 call void @fn_eat_op(ptr @.str182) %t1280 = load ptr, ptr %t1273 store ptr %t1280, ptr %t1 br label %ifend282 ifend282: br label %ifend279 else278: %t1281 = call i32 @fn_is_op(ptr @.str183) %t1282 = icmp ne i32 %t1281, 0 br i1 %t1282, label %then283, label %else284 then283: %t1283 = call ptr @fn_node(i32 34) store ptr %t1283, ptr %t1284 %t1285 = load ptr, ptr %t1284 %t1286 = getelementptr inbounds %Cmp_Node, ptr %t1285, i32 0, i32 4 %t1287 = load ptr, ptr %t1 store ptr %t1287, ptr %t1286 %t1288 = load ptr, ptr %t1284 %t1289 = getelementptr inbounds %Cmp_Node, ptr %t1288, i32 0, i32 8 %t1290 = load ptr, ptr @g_toks %t1291 = getelementptr inbounds %LSlice, ptr %t1290, i32 0, i32 0 %t1292 = load ptr, ptr %t1291 %t1293 = load i32, ptr @g_pi %t1294 = getelementptr inbounds %LSlice, ptr %t1290, i32 0, i32 1 %t1295 = load i32, ptr %t1294 %t1296 = icmp ult i32 %t1293, %t1295 br i1 %t1296, label %ixok286, label %ixbad287 ixbad287: %t1297 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1297, ptr @.fmt_bounds, ptr @.str184, i32 %t1293, i32 %t1295) call void @exit(i32 1) unreachable ixok286: %t1298 = getelementptr inbounds ptr, ptr %t1292, i32 %t1293 %t1299 = load ptr, ptr %t1298 %t1300 = getelementptr inbounds %Cmp_Tok, ptr %t1299, i32 0, i32 3 %t1301 = load i32, ptr %t1300 store i32 %t1301, ptr %t1289 %t1302 = load ptr, ptr %t1284 call void @fn_args_call(ptr %t1302) %t1303 = load ptr, ptr %t1284 store ptr %t1303, ptr %t1 %t1305 = load ptr, ptr %t1284 %t1306 = getelementptr inbounds %Cmp_Node, ptr %t1305, i32 0, i32 4 %t1307 = load ptr, ptr %t1306 %t1308 = getelementptr inbounds %Cmp_Node, ptr %t1307, i32 0, i32 0 %t1309 = load i32, ptr %t1308 %t1310 = icmp eq i32 %t1309, 33 %t1311 = zext i1 %t1310 to i32 %t1312 = icmp ne i32 %t1311, 0 %t1313 = zext i1 %t1312 to i32 store i32 %t1313, ptr %t1304 br i1 %t1312, label %sc288, label %scend289 sc288: %t1315 = load ptr, ptr %t1284 %t1316 = getelementptr inbounds %Cmp_Node, ptr %t1315, i32 0, i32 4 %t1317 = load ptr, ptr %t1316 %t1318 = getelementptr inbounds %Cmp_Node, ptr %t1317, i32 0, i32 1 %t1319 = load ptr, ptr %t1318 %t1320 = call i32 @lp_str_eq(ptr %t1319, ptr @.str185) %t1321 = icmp ne i32 %t1320, 0 %t1322 = zext i1 %t1321 to i32 store i32 %t1322, ptr %t1314 br i1 %t1321, label %scend291, label %sc290 sc290: %t1323 = load ptr, ptr %t1284 %t1324 = getelementptr inbounds %Cmp_Node, ptr %t1323, i32 0, i32 4 %t1325 = load ptr, ptr %t1324 %t1326 = getelementptr inbounds %Cmp_Node, ptr %t1325, i32 0, i32 1 %t1327 = load ptr, ptr %t1326 %t1328 = call i32 @lp_str_eq(ptr %t1327, ptr @.str186) %t1329 = icmp ne i32 %t1328, 0 %t1330 = zext i1 %t1329 to i32 store i32 %t1330, ptr %t1314 br label %scend291 scend291: %t1331 = load i32, ptr %t1314 %t1332 = icmp ne i32 %t1331, 0 %t1333 = zext i1 %t1332 to i32 store i32 %t1333, ptr %t1304 br label %scend289 scend289: %t1334 = load i32, ptr %t1304 %t1335 = icmp ne i32 %t1334, 0 br i1 %t1335, label %then292, label %ifend294 then292: %t1336 = load ptr, ptr %t1284 %t1337 = getelementptr inbounds %Cmp_Node, ptr %t1336, i32 0, i32 4 %t1338 = load ptr, ptr %t1337 %t1339 = getelementptr inbounds %Cmp_Node, ptr %t1338, i32 0, i32 1 %t1340 = load ptr, ptr %t1339 call void @fn_warn_draw_sprite(ptr %t1340) br label %ifend294 ifend294: br label %ifend285 else284: br label %wend2 ifend285: br label %ifend279 ifend279: br label %ifend5 ifend5: br label %wcond0 wend2: %t1341 = load ptr, ptr %t1 store ptr %t1341, ptr %retval br label %ret ret: %t1342 = load ptr, ptr %retval ret ptr %t1342 } define ptr @fn_p_unary() { entry: %retval = alloca ptr %t5 = alloca ptr %t17 = alloca ptr %t29 = alloca ptr %t0 = call i32 @fn_is_op(ptr @.str187) %t1 = icmp ne i32 %t0, 0 br i1 %t1, label %then0, label %ifend2 then0: %t2 = load i32, ptr @g_pi %t3 = add i32 %t2, 1 store i32 %t3, ptr @g_pi %t4 = call ptr @fn_node(i32 38) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 store ptr @.str188, ptr %t7 %t8 = load ptr, ptr %t5 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4 %t10 = call ptr @fn_p_unary() store ptr %t10, ptr %t9 %t11 = load ptr, ptr %t5 store ptr %t11, ptr %retval br label %ret ifend2: %t12 = call i32 @fn_is_op(ptr @.str189) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then3, label %ifend5 then3: %t14 = load i32, ptr @g_pi %t15 = add i32 %t14, 1 store i32 %t15, ptr @g_pi %t16 = call ptr @fn_node(i32 38) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 store ptr @.str190, ptr %t19 %t20 = load ptr, ptr %t17 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 4 %t22 = call ptr @fn_p_unary() store ptr %t22, ptr %t21 %t23 = load ptr, ptr %t17 store ptr %t23, ptr %retval br label %ret ifend5: %t24 = call i32 @fn_is_id(ptr @.str191) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then6, label %ifend8 then6: %t26 = load i32, ptr @g_pi %t27 = add i32 %t26, 1 store i32 %t27, ptr @g_pi %t28 = call ptr @fn_node(i32 38) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 1 store ptr @.str192, ptr %t31 %t32 = load ptr, ptr %t29 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 4 %t34 = call ptr @fn_p_unary() store ptr %t34, ptr %t33 %t35 = load ptr, ptr %t29 store ptr %t35, ptr %retval br label %ret ifend8: %t36 = call ptr @fn_p_postfix() store ptr %t36, ptr %retval br label %ret ret: %t37 = load ptr, ptr %retval ret ptr %t37 } define ptr @fn_mkbin(ptr %arg_op, ptr %arg_l, ptr %arg_r) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr store ptr %arg_op, ptr %t0 store ptr %arg_l, ptr %t1 store ptr %arg_r, ptr %t2 %t3 = call ptr @fn_node(i32 37) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 1 %t7 = load ptr, ptr %t0 store ptr %t7, ptr %t6 %t8 = load ptr, ptr %t4 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4 %t10 = load ptr, ptr %t1 store ptr %t10, ptr %t9 %t11 = load ptr, ptr %t4 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 5 %t13 = load ptr, ptr %t2 store ptr %t13, ptr %t12 %t14 = load ptr, ptr %t4 store ptr %t14, ptr %retval br label %ret ret: %t15 = load ptr, ptr %retval ret ptr %t15 } define ptr @fn_p_mul() { entry: %retval = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 %t51 = alloca ptr %t0 = call ptr @fn_p_unary() store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t7 = call i32 @fn_is_op(ptr @.str193) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t6 br i1 %t8, label %scend4, label %sc3 sc3: %t10 = call i32 @fn_is_op(ptr @.str194) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t6 br label %scend4 scend4: %t13 = load i32, ptr %t6 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t5 br i1 %t14, label %scend6, label %sc5 sc5: %t16 = call i32 @fn_is_op(ptr @.str195) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t5 br label %scend6 scend6: %t19 = load i32, ptr %t5 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t4 br i1 %t20, label %scend8, label %sc7 sc7: %t22 = call i32 @fn_is_op(ptr @.str196) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t4 br label %scend8 scend8: %t25 = load i32, ptr %t4 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t3 br i1 %t26, label %scend10, label %sc9 sc9: %t28 = call i32 @fn_is_op(ptr @.str197) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t3 br label %scend10 scend10: %t31 = load i32, ptr %t3 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t2 br i1 %t32, label %scend12, label %sc11 sc11: %t34 = call i32 @fn_is_op(ptr @.str198) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t2 br label %scend12 scend12: %t37 = load i32, ptr %t2 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %wbody1, label %wend2 wbody1: %t39 = load ptr, ptr @g_toks %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = load i32, ptr @g_pi %t43 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t42, %t44 br i1 %t45, label %ixok13, label %ixbad14 ixbad14: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str199, i32 %t42, i32 %t44) call void @exit(i32 1) unreachable ixok13: %t47 = getelementptr inbounds ptr, ptr %t41, i32 %t42 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %Cmp_Tok, ptr %t48, i32 0, i32 1 %t50 = load ptr, ptr %t49 store ptr %t50, ptr %t51 %t52 = load i32, ptr @g_pi %t53 = add i32 %t52, 1 store i32 %t53, ptr @g_pi %t54 = load ptr, ptr %t51 %t55 = load ptr, ptr %t1 %t56 = call ptr @fn_p_unary() %t57 = call ptr @fn_mkbin(ptr %t54, ptr %t55, ptr %t56) store ptr %t57, ptr %t1 br label %wcond0 wend2: %t58 = load ptr, ptr %t1 store ptr %t58, ptr %retval br label %ret ret: %t59 = load ptr, ptr %retval ret ptr %t59 } define ptr @fn_p_add() { entry: %retval = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t37 = alloca ptr %t0 = call ptr @fn_p_mul() store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t5 = call i32 @fn_is_op(ptr @.str200) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t4 br i1 %t6, label %scend4, label %sc3 sc3: %t8 = call i32 @fn_is_op(ptr @.str201) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t4 br label %scend4 scend4: %t11 = load i32, ptr %t4 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t3 br i1 %t12, label %scend6, label %sc5 sc5: %t14 = call i32 @fn_is_op(ptr @.str202) %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t3 br label %scend6 scend6: %t17 = load i32, ptr %t3 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t2 br i1 %t18, label %scend8, label %sc7 sc7: %t20 = call i32 @fn_is_op(ptr @.str203) %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t2 br label %scend8 scend8: %t23 = load i32, ptr %t2 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %wbody1, label %wend2 wbody1: %t25 = load ptr, ptr @g_toks %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = load i32, ptr @g_pi %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t28, %t30 br i1 %t31, label %ixok9, label %ixbad10 ixbad10: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str204, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok9: %t33 = getelementptr inbounds ptr, ptr %t27, i32 %t28 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Tok, ptr %t34, i32 0, i32 1 %t36 = load ptr, ptr %t35 store ptr %t36, ptr %t37 %t38 = load i32, ptr @g_pi %t39 = add i32 %t38, 1 store i32 %t39, ptr @g_pi %t40 = load ptr, ptr %t37 %t41 = load ptr, ptr %t1 %t42 = call ptr @fn_p_mul() %t43 = call ptr @fn_mkbin(ptr %t40, ptr %t41, ptr %t42) store ptr %t43, ptr %t1 br label %wcond0 wend2: %t44 = load ptr, ptr %t1 store ptr %t44, ptr %retval br label %ret ret: %t45 = load ptr, ptr %retval ret ptr %t45 } define ptr @fn_p_cmp() { entry: %retval = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 %t51 = alloca ptr %t0 = call ptr @fn_p_add() store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t7 = call i32 @fn_is_op(ptr @.str205) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t6 br i1 %t8, label %scend4, label %sc3 sc3: %t10 = call i32 @fn_is_op(ptr @.str206) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t6 br label %scend4 scend4: %t13 = load i32, ptr %t6 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t5 br i1 %t14, label %scend6, label %sc5 sc5: %t16 = call i32 @fn_is_op(ptr @.str207) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t5 br label %scend6 scend6: %t19 = load i32, ptr %t5 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t4 br i1 %t20, label %scend8, label %sc7 sc7: %t22 = call i32 @fn_is_op(ptr @.str208) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t4 br label %scend8 scend8: %t25 = load i32, ptr %t4 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t3 br i1 %t26, label %scend10, label %sc9 sc9: %t28 = call i32 @fn_is_op(ptr @.str209) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t3 br label %scend10 scend10: %t31 = load i32, ptr %t3 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t2 br i1 %t32, label %scend12, label %sc11 sc11: %t34 = call i32 @fn_is_op(ptr @.str210) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t2 br label %scend12 scend12: %t37 = load i32, ptr %t2 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %wbody1, label %wend2 wbody1: %t39 = load ptr, ptr @g_toks %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = load i32, ptr @g_pi %t43 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t42, %t44 br i1 %t45, label %ixok13, label %ixbad14 ixbad14: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str211, i32 %t42, i32 %t44) call void @exit(i32 1) unreachable ixok13: %t47 = getelementptr inbounds ptr, ptr %t41, i32 %t42 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %Cmp_Tok, ptr %t48, i32 0, i32 1 %t50 = load ptr, ptr %t49 store ptr %t50, ptr %t51 %t52 = load i32, ptr @g_pi %t53 = add i32 %t52, 1 store i32 %t53, ptr @g_pi %t54 = load ptr, ptr %t51 %t55 = load ptr, ptr %t1 %t56 = call ptr @fn_p_add() %t57 = call ptr @fn_mkbin(ptr %t54, ptr %t55, ptr %t56) store ptr %t57, ptr %t1 br label %wcond0 wend2: %t58 = load ptr, ptr %t1 store ptr %t58, ptr %retval br label %ret ret: %t59 = load ptr, ptr %retval ret ptr %t59 } define ptr @fn_p_and() { entry: %retval = alloca ptr %t1 = alloca ptr %t0 = call ptr @fn_p_cmp() store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t2 = call i32 @fn_is_id(ptr @.str212) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %wbody1, label %wend2 wbody1: %t4 = load i32, ptr @g_pi %t5 = add i32 %t4, 1 store i32 %t5, ptr @g_pi %t6 = load ptr, ptr %t1 %t7 = call ptr @fn_p_cmp() %t8 = call ptr @fn_mkbin(ptr @.str213, ptr %t6, ptr %t7) store ptr %t8, ptr %t1 br label %wcond0 wend2: %t9 = load ptr, ptr %t1 store ptr %t9, ptr %retval br label %ret ret: %t10 = load ptr, ptr %retval ret ptr %t10 } define ptr @fn_p_or() { entry: %retval = alloca ptr %t1 = alloca ptr %t0 = call ptr @fn_p_and() store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t2 = call i32 @fn_is_id(ptr @.str214) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %wbody1, label %wend2 wbody1: %t4 = load i32, ptr @g_pi %t5 = add i32 %t4, 1 store i32 %t5, ptr @g_pi %t6 = load ptr, ptr %t1 %t7 = call ptr @fn_p_and() %t8 = call ptr @fn_mkbin(ptr @.str215, ptr %t6, ptr %t7) store ptr %t8, ptr %t1 br label %wcond0 wend2: %t9 = load ptr, ptr %t1 store ptr %t9, ptr %retval br label %ret ret: %t10 = load ptr, ptr %retval ret ptr %t10 } define ptr @fn_record() { entry: %retval = alloca ptr %t1 = alloca ptr %t6 = alloca ptr call void @fn_eat_op(ptr @.str216) %t0 = call ptr @fn_node(i32 41) store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t2 = icmp ne i32 1, 0 br i1 %t2, label %wbody1, label %wend2 wbody1: call void @fn_skipnl() %t3 = call i32 @fn_is_op(ptr @.str217) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then3, label %ifend5 then3: br label %wend2 ifend5: %t5 = call ptr @fn_node(i32 42) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 %t9 = call ptr @fn_eat_id() store ptr %t9, ptr %t8 call void @fn_eat_op(ptr @.str218) %t10 = load ptr, ptr %t6 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4 %t12 = call ptr @fn_expr() store ptr %t12, ptr %t11 %t13 = load ptr, ptr %t1 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 %t15 = load ptr, ptr %t14 %t16 = load ptr, ptr %t6 %t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 2 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t20 = load i32, ptr %t17 %t21 = load i32, ptr %t18 %t22 = icmp sge i32 %t20, %t21 br i1 %t22, label %grow6, label %put7 grow6: %t23 = mul i32 %t21, 2 %t24 = icmp eq i32 %t21, 0 %t25 = select i1 %t24, i32 8, i32 %t23 %t26 = getelementptr ptr, ptr null, i32 1 %t27 = ptrtoint ptr %t26 to i64 %t28 = zext i32 %t25 to i64 %t29 = mul i64 %t28, %t27 %t30 = load ptr, ptr %t19 %t31 = call ptr @realloc(ptr %t30, i64 %t29) store ptr %t31, ptr %t19 store i32 %t25, ptr %t18 br label %put7 put7: %t32 = load ptr, ptr %t19 %t33 = getelementptr inbounds ptr, ptr %t32, i32 %t20 store ptr %t16, ptr %t33 %t34 = add i32 %t20, 1 store i32 %t34, ptr %t17 %t35 = call i32 @fn_is_op(ptr @.str219) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then8, label %ifend10 then8: %t37 = load i32, ptr @g_pi %t38 = add i32 %t37, 1 store i32 %t38, ptr @g_pi br label %ifend10 ifend10: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str220) %t39 = load ptr, ptr %t1 store ptr %t39, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define ptr @fn_block() { entry: %retval = alloca ptr %t1 = alloca ptr %t41 = alloca i32 call void @fn_skipnl() call void @fn_eat_op(ptr @.str221) %t0 = call ptr @fn_node(i32 7) store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t2 = icmp ne i32 1, 0 br i1 %t2, label %wbody1, label %wend2 wbody1: call void @fn_skipnl() %t3 = call i32 @fn_is_op(ptr @.str222) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then3, label %ifend5 then3: br label %wend2 ifend5: %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 %t7 = load ptr, ptr %t6 %t8 = call ptr @fn_stmt() %t9 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 2 %t11 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t12 = load i32, ptr %t9 %t13 = load i32, ptr %t10 %t14 = icmp sge i32 %t12, %t13 br i1 %t14, label %grow6, label %put7 grow6: %t15 = mul i32 %t13, 2 %t16 = icmp eq i32 %t13, 0 %t17 = select i1 %t16, i32 8, i32 %t15 %t18 = getelementptr ptr, ptr null, i32 1 %t19 = ptrtoint ptr %t18 to i64 %t20 = zext i32 %t17 to i64 %t21 = mul i64 %t20, %t19 %t22 = load ptr, ptr %t11 %t23 = call ptr @realloc(ptr %t22, i64 %t21) store ptr %t23, ptr %t11 store i32 %t17, ptr %t10 br label %put7 put7: %t24 = load ptr, ptr %t11 %t25 = getelementptr inbounds ptr, ptr %t24, i32 %t12 store ptr %t8, ptr %t25 %t26 = add i32 %t12, 1 store i32 %t26, ptr %t9 %t27 = load ptr, ptr @g_toks %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = load i32, ptr @g_pi %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t30, %t32 br i1 %t33, label %ixok8, label %ixbad9 ixbad9: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str223, i32 %t30, i32 %t32) call void @exit(i32 1) unreachable ixok8: %t35 = getelementptr inbounds ptr, ptr %t29, i32 %t30 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %Cmp_Tok, ptr %t36, i32 0, i32 0 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 4 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t41 %t42 = call i32 @fn_is_op(ptr @.str224) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then10, label %ifend12 then10: store i32 1, ptr %t41 br label %ifend12 ifend12: %t44 = load i32, ptr %t41 %t45 = icmp eq i32 %t44, 0 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then13, label %ifend15 then13: call void @fn_perr(ptr @.str225) br label %ifend15 ifend15: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str226) %t48 = load ptr, ptr %t1 store ptr %t48, ptr %retval br label %ret ret: %t49 = load ptr, ptr %retval ret ptr %t49 } define ptr @fn_stmt() { entry: %retval = alloca ptr %t12 = alloca i32 %t14 = alloca ptr %t0 = load ptr, ptr @g_toks %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t2 = load ptr, ptr %t1 %t3 = load i32, ptr @g_pi %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp ult i32 %t3, %t5 br i1 %t6, label %ixok0, label %ixbad1 ixbad1: %t7 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str227, i32 %t3, i32 %t5) call void @exit(i32 1) unreachable ixok0: %t8 = getelementptr inbounds ptr, ptr %t2, i32 %t3 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %Cmp_Tok, ptr %t9, i32 0, i32 3 %t11 = load i32, ptr %t10 store i32 %t11, ptr %t12 %t13 = call ptr @fn_stmt_body() store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 8 %t17 = load i32, ptr %t16 %t18 = icmp eq i32 %t17, 0 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then2, label %ifend4 then2: %t21 = load ptr, ptr %t14 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 8 %t23 = load i32, ptr %t12 store i32 %t23, ptr %t22 br label %ifend4 ifend4: %t24 = load ptr, ptr %t14 store ptr %t24, ptr %retval br label %ret ret: %t25 = load ptr, ptr %retval ret ptr %t25 } define ptr @fn_stmt_body() { entry: %retval = alloca ptr %t10 = alloca ptr %t17 = alloca i32 %t32 = alloca i32 %t41 = alloca ptr %t85 = alloca ptr %t86 = alloca i32 %t122 = alloca ptr %t130 = alloca i32 %t153 = alloca ptr %t172 = alloca ptr %t177 = alloca ptr %t202 = alloca ptr %t206 = alloca i32 %t211 = alloca ptr %t213 = alloca ptr %t255 = alloca i32 %t290 = alloca ptr %t303 = alloca ptr %t308 = alloca i32 %t323 = alloca i32 %t332 = alloca ptr %t404 = alloca ptr %t431 = alloca ptr %t477 = alloca ptr %t485 = alloca ptr %t519 = alloca ptr %t569 = alloca ptr %t570 = alloca i32 %t571 = alloca i32 %t572 = alloca i32 %t573 = alloca i32 %t601 = alloca ptr %t640 = alloca ptr %t0 = load ptr, ptr @g_toks %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t2 = load ptr, ptr %t1 %t3 = load i32, ptr @g_pi %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp ult i32 %t3, %t5 br i1 %t6, label %ixok0, label %ixbad1 ixbad1: %t7 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str228, i32 %t3, i32 %t5) call void @exit(i32 1) unreachable ixok0: %t8 = getelementptr inbounds ptr, ptr %t2, i32 %t3 %t9 = load ptr, ptr %t8 store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Tok, ptr %t11, i32 0, i32 0 %t13 = load i32, ptr %t12 %t14 = icmp eq i32 %t13, 0 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: %t18 = load ptr, ptr %t10 %t19 = getelementptr inbounds %Cmp_Tok, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str229) %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t17 br i1 %t22, label %scend6, label %sc5 sc5: %t24 = load ptr, ptr %t10 %t25 = getelementptr inbounds %Cmp_Tok, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t25 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str230) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t17 br label %scend6 scend6: %t30 = load i32, ptr %t17 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then7, label %ifend9 then7: store i32 0, ptr %t32 %t33 = load ptr, ptr %t10 %t34 = getelementptr inbounds %Cmp_Tok, ptr %t33, i32 0, i32 1 %t35 = load ptr, ptr %t34 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str231) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then10, label %ifend12 then10: store i32 1, ptr %t32 br label %ifend12 ifend12: %t38 = load i32, ptr @g_pi %t39 = add i32 %t38, 1 store i32 %t39, ptr @g_pi %t40 = call ptr @fn_node(i32 10) store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 2 %t44 = load i32, ptr %t32 store i32 %t44, ptr %t43 %t45 = load ptr, ptr %t41 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 8 %t47 = load ptr, ptr @g_toks %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = load i32, ptr @g_pi %t51 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 %t50, %t52 br i1 %t53, label %ixok13, label %ixbad14 ixbad14: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str232, i32 %t50, i32 %t52) call void @exit(i32 1) unreachable ixok13: %t55 = getelementptr inbounds ptr, ptr %t49, i32 %t50 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %Cmp_Tok, ptr %t56, i32 0, i32 3 %t58 = load i32, ptr %t57 store i32 %t58, ptr %t46 %t59 = load ptr, ptr %t41 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = call ptr @fn_eat_id() store ptr %t61, ptr %t60 %t62 = call i32 @fn_is_op(ptr @.str233) %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then15, label %ifend17 then15: %t64 = load i32, ptr @g_pi %t65 = add i32 %t64, 1 store i32 %t65, ptr @g_pi %t66 = load ptr, ptr %t41 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 3 %t68 = call ptr @fn_ptype() store ptr %t68, ptr %t67 br label %ifend17 ifend17: %t69 = call i32 @fn_is_op(ptr @.str234) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then18, label %ifend20 then18: %t71 = load i32, ptr @g_pi %t72 = add i32 %t71, 1 store i32 %t72, ptr @g_pi %t73 = load ptr, ptr %t41 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 4 %t75 = call ptr @fn_expr() store ptr %t75, ptr %t74 br label %ifend20 ifend20: %t76 = load ptr, ptr %t41 store ptr %t76, ptr %retval br label %ret ifend9: %t77 = load ptr, ptr %t10 %t78 = getelementptr inbounds %Cmp_Tok, ptr %t77, i32 0, i32 1 %t79 = load ptr, ptr %t78 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str235) %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then21, label %ifend23 then21: %t82 = load i32, ptr @g_pi %t83 = add i32 %t82, 1 store i32 %t83, ptr @g_pi %t84 = call ptr @fn_node(i32 15) store ptr %t84, ptr %t85 %t87 = load ptr, ptr @g_toks %t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 %t89 = load ptr, ptr %t88 %t90 = load i32, ptr @g_pi %t91 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t92 = load i32, ptr %t91 %t93 = icmp ult i32 %t90, %t92 br i1 %t93, label %ixok24, label %ixbad25 ixbad25: %t94 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str236, i32 %t90, i32 %t92) call void @exit(i32 1) unreachable ixok24: %t95 = getelementptr inbounds ptr, ptr %t89, i32 %t90 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %Cmp_Tok, ptr %t96, i32 0, i32 0 %t98 = load i32, ptr %t97 %t99 = icmp ne i32 %t98, 4 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t86 br i1 %t101, label %sc26, label %scend27 sc26: %t103 = call i32 @fn_is_op(ptr @.str237) %t104 = icmp eq i32 %t103, 0 %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t86 br label %scend27 scend27: %t108 = load i32, ptr %t86 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then28, label %ifend30 then28: %t110 = load ptr, ptr %t85 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 4 %t112 = call ptr @fn_expr() store ptr %t112, ptr %t111 br label %ifend30 ifend30: %t113 = load ptr, ptr %t85 store ptr %t113, ptr %retval br label %ret ifend23: %t114 = load ptr, ptr %t10 %t115 = getelementptr inbounds %Cmp_Tok, ptr %t114, i32 0, i32 1 %t116 = load ptr, ptr %t115 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str238) %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then31, label %ifend33 then31: %t119 = load i32, ptr @g_pi %t120 = add i32 %t119, 1 store i32 %t120, ptr @g_pi %t121 = call ptr @fn_node(i32 12) store ptr %t121, ptr %t122 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 4 %t125 = call ptr @fn_expr() store ptr %t125, ptr %t124 %t126 = load ptr, ptr %t122 %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 5 %t128 = call ptr @fn_block() store ptr %t128, ptr %t127 %t129 = load i32, ptr @g_pi store i32 %t129, ptr %t130 call void @fn_skipnl() %t131 = call i32 @fn_is_id(ptr @.str239) %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then34, label %else35 then34: %t133 = load i32, ptr @g_pi %t134 = add i32 %t133, 1 store i32 %t134, ptr @g_pi call void @fn_skipnl() %t135 = call i32 @fn_is_id(ptr @.str240) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then37, label %else38 then37: %t137 = load ptr, ptr %t122 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 6 %t139 = call ptr @fn_stmt() store ptr %t139, ptr %t138 br label %ifend39 else38: %t140 = load ptr, ptr %t122 %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 6 %t142 = call ptr @fn_block() store ptr %t142, ptr %t141 br label %ifend39 ifend39: br label %ifend36 else35: %t143 = load i32, ptr %t130 store i32 %t143, ptr @g_pi br label %ifend36 ifend36: %t144 = load ptr, ptr %t122 store ptr %t144, ptr %retval br label %ret ifend33: %t145 = load ptr, ptr %t10 %t146 = getelementptr inbounds %Cmp_Tok, ptr %t145, i32 0, i32 1 %t147 = load ptr, ptr %t146 %t148 = call i32 @lp_str_eq(ptr %t147, ptr @.str241) %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then40, label %ifend42 then40: %t150 = load i32, ptr @g_pi %t151 = add i32 %t150, 1 store i32 %t151, ptr @g_pi %t152 = call ptr @fn_node(i32 13) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t153 %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 4 %t156 = call ptr @fn_expr() store ptr %t156, ptr %t155 %t157 = load ptr, ptr %t153 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 5 %t159 = call ptr @fn_block() store ptr %t159, ptr %t158 %t160 = load ptr, ptr %t153 store ptr %t160, ptr %retval br label %ret ifend42: %t161 = load ptr, ptr %t10 %t162 = getelementptr inbounds %Cmp_Tok, ptr %t161, i32 0, i32 1 %t163 = load ptr, ptr %t162 %t164 = call i32 @lp_str_eq(ptr %t163, ptr @.str242) %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then43, label %ifend45 then43: %t166 = load i32, ptr @g_pi %t167 = add i32 %t166, 1 store i32 %t167, ptr @g_pi %t168 = call i32 @fn_is_op(ptr @.str243) %t169 = icmp ne i32 %t168, 0 br i1 %t169, label %then46, label %ifend48 then46: %t170 = call ptr @fn_parse_query_for() store ptr %t170, ptr %retval br label %ret ifend48: %t171 = call ptr @fn_node(i32 14) store ptr %t171, ptr %t172 %t173 = load ptr, ptr %t172 %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 1 %t175 = call ptr @fn_eat_id() store ptr %t175, ptr %t174 %t176 = call ptr @fn_eat_id() store ptr %t176, ptr %t177 %t178 = load ptr, ptr %t172 %t179 = getelementptr inbounds %Cmp_Node, ptr %t178, i32 0, i32 4 %t180 = call ptr @fn_expr() store ptr %t180, ptr %t179 call void @fn_eat_op(ptr @.str244) %t181 = load ptr, ptr %t172 %t182 = getelementptr inbounds %Cmp_Node, ptr %t181, i32 0, i32 5 %t183 = call ptr @fn_expr() store ptr %t183, ptr %t182 %t184 = load ptr, ptr %t172 %t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 6 %t186 = call ptr @fn_block() store ptr %t186, ptr %t185 %t187 = load ptr, ptr %t172 store ptr %t187, ptr %retval br label %ret ifend45: %t188 = load ptr, ptr %t10 %t189 = getelementptr inbounds %Cmp_Tok, ptr %t188, i32 0, i32 1 %t190 = load ptr, ptr %t189 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str245) %t192 = icmp ne i32 %t191, 0 br i1 %t192, label %then49, label %ifend51 then49: %t193 = call ptr @fn_parse_spawn() store ptr %t193, ptr %retval br label %ret ifend51: %t194 = load ptr, ptr %t10 %t195 = getelementptr inbounds %Cmp_Tok, ptr %t194, i32 0, i32 1 %t196 = load ptr, ptr %t195 %t197 = call i32 @lp_str_eq(ptr %t196, ptr @.str246) %t198 = icmp ne i32 %t197, 0 br i1 %t198, label %then52, label %ifend54 then52: %t199 = load i32, ptr @g_pi %t200 = add i32 %t199, 1 store i32 %t200, ptr @g_pi %t201 = call ptr @fn_node(i32 24) store ptr %t201, ptr %t202 %t203 = load ptr, ptr %t202 %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 4 %t205 = call ptr @fn_expr() store ptr %t205, ptr %t204 call void @fn_skipnl() call void @fn_eat_op(ptr @.str247) store i32 0, ptr %t206 br label %wcond55 wcond55: %t207 = icmp ne i32 1, 0 br i1 %t207, label %wbody56, label %wend57 wbody56: call void @fn_skipnl() %t208 = call i32 @fn_is_op(ptr @.str248) %t209 = icmp ne i32 %t208, 0 br i1 %t209, label %then58, label %ifend60 then58: br label %wend57 ifend60: %t210 = call ptr @fn_eat_id() store ptr %t210, ptr %t211 %t212 = call ptr @fn_node(i32 25) store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t213 %t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 1 %t216 = call ptr @fn_eat_id() store ptr %t216, ptr %t215 %t217 = call i32 @fn_is_op(ptr @.str249) %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %then61, label %ifend63 then61: %t219 = load i32, ptr @g_pi %t220 = add i32 %t219, 1 store i32 %t220, ptr @g_pi %t221 = load ptr, ptr %t213 %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 5 %t223 = call ptr @fn_expr() store ptr %t223, ptr %t222 br label %ifend63 ifend63: %t224 = load ptr, ptr %t213 %t225 = getelementptr inbounds %Cmp_Node, ptr %t224, i32 0, i32 2 %t226 = load i32, ptr %t206 store i32 %t226, ptr %t225 call void @fn_skipnl() %t227 = load ptr, ptr %t213 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 4 %t229 = call ptr @fn_block() store ptr %t229, ptr %t228 %t230 = load ptr, ptr %t202 %t231 = getelementptr inbounds %Cmp_Node, ptr %t230, i32 0, i32 7 %t232 = load ptr, ptr %t231 %t233 = load ptr, ptr %t213 %t234 = getelementptr inbounds %LSlice, ptr %t232, i32 0, i32 1 %t235 = getelementptr inbounds %LSlice, ptr %t232, i32 0, i32 2 %t236 = getelementptr inbounds %LSlice, ptr %t232, i32 0, i32 0 %t237 = load i32, ptr %t234 %t238 = load i32, ptr %t235 %t239 = icmp sge i32 %t237, %t238 br i1 %t239, label %grow64, label %put65 grow64: %t240 = mul i32 %t238, 2 %t241 = icmp eq i32 %t238, 0 %t242 = select i1 %t241, i32 8, i32 %t240 %t243 = getelementptr ptr, ptr null, i32 1 %t244 = ptrtoint ptr %t243 to i64 %t245 = zext i32 %t242 to i64 %t246 = mul i64 %t245, %t244 %t247 = load ptr, ptr %t236 %t248 = call ptr @realloc(ptr %t247, i64 %t246) store ptr %t248, ptr %t236 store i32 %t242, ptr %t235 br label %put65 put65: %t249 = load ptr, ptr %t236 %t250 = getelementptr inbounds ptr, ptr %t249, i32 %t237 store ptr %t233, ptr %t250 %t251 = add i32 %t237, 1 store i32 %t251, ptr %t234 %t252 = load i32, ptr %t206 %t253 = add i32 %t252, 1 store i32 %t253, ptr %t206 br label %wcond55 wend57: call void @fn_eat_op(ptr @.str250) %t254 = load ptr, ptr %t202 store ptr %t254, ptr %retval br label %ret ifend54: %t256 = load ptr, ptr %t10 %t257 = getelementptr inbounds %Cmp_Tok, ptr %t256, i32 0, i32 1 %t258 = load ptr, ptr %t257 %t259 = call i32 @lp_str_eq(ptr %t258, ptr @.str251) %t260 = icmp ne i32 %t259, 0 %t261 = zext i1 %t260 to i32 store i32 %t261, ptr %t255 br i1 %t260, label %sc66, label %scend67 sc66: %t262 = load ptr, ptr @g_toks %t263 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 0 %t264 = load ptr, ptr %t263 %t265 = load i32, ptr @g_pi %t266 = add i32 %t265, 1 %t267 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 1 %t268 = load i32, ptr %t267 %t269 = icmp ult i32 %t266, %t268 br i1 %t269, label %ixok68, label %ixbad69 ixbad69: %t270 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t270, ptr @.fmt_bounds, ptr @.str252, i32 %t266, i32 %t268) call void @exit(i32 1) unreachable ixok68: %t271 = getelementptr inbounds ptr, ptr %t264, i32 %t266 %t272 = load ptr, ptr %t271 %t273 = getelementptr inbounds %Cmp_Tok, ptr %t272, i32 0, i32 0 %t274 = load i32, ptr %t273 %t275 = icmp eq i32 %t274, 0 %t276 = zext i1 %t275 to i32 %t277 = icmp ne i32 %t276, 0 %t278 = zext i1 %t277 to i32 store i32 %t278, ptr %t255 br label %scend67 scend67: %t279 = load i32, ptr %t255 %t280 = icmp ne i32 %t279, 0 br i1 %t280, label %then70, label %ifend72 then70: %t281 = call ptr @fn_parse_emit() store ptr %t281, ptr %retval br label %ret ifend72: %t282 = load ptr, ptr %t10 %t283 = getelementptr inbounds %Cmp_Tok, ptr %t282, i32 0, i32 1 %t284 = load ptr, ptr %t283 %t285 = call i32 @lp_str_eq(ptr %t284, ptr @.str253) %t286 = icmp ne i32 %t285, 0 br i1 %t286, label %then73, label %ifend75 then73: %t287 = load i32, ptr @g_pi %t288 = add i32 %t287, 1 store i32 %t288, ptr @g_pi %t289 = call ptr @fn_node(i32 26) store ptr %t289, ptr %t290 %t291 = load ptr, ptr %t290 %t292 = getelementptr inbounds %Cmp_Node, ptr %t291, i32 0, i32 1 %t293 = call ptr @fn_eat_id() store ptr %t293, ptr %t292 %t294 = load ptr, ptr %t290 store ptr %t294, ptr %retval br label %ret ifend75: %t295 = load ptr, ptr %t10 %t296 = getelementptr inbounds %Cmp_Tok, ptr %t295, i32 0, i32 1 %t297 = load ptr, ptr %t296 %t298 = call i32 @lp_str_eq(ptr %t297, ptr @.str254) %t299 = icmp ne i32 %t298, 0 br i1 %t299, label %then76, label %ifend78 then76: %t300 = load i32, ptr @g_pi %t301 = add i32 %t300, 1 store i32 %t301, ptr @g_pi %t302 = call ptr @fn_node(i32 23) store ptr %t302, ptr %t303 %t304 = load ptr, ptr %t303 %t305 = getelementptr inbounds %Cmp_Node, ptr %t304, i32 0, i32 4 %t306 = call ptr @fn_expr() store ptr %t306, ptr %t305 %t307 = load ptr, ptr %t303 store ptr %t307, ptr %retval br label %ret ifend78: %t309 = load ptr, ptr %t10 %t310 = getelementptr inbounds %Cmp_Tok, ptr %t309, i32 0, i32 1 %t311 = load ptr, ptr %t310 %t312 = call i32 @lp_str_eq(ptr %t311, ptr @.str255) %t313 = icmp ne i32 %t312, 0 %t314 = zext i1 %t313 to i32 store i32 %t314, ptr %t308 br i1 %t313, label %scend80, label %sc79 sc79: %t315 = load ptr, ptr %t10 %t316 = getelementptr inbounds %Cmp_Tok, ptr %t315, i32 0, i32 1 %t317 = load ptr, ptr %t316 %t318 = call i32 @lp_str_eq(ptr %t317, ptr @.str256) %t319 = icmp ne i32 %t318, 0 %t320 = zext i1 %t319 to i32 store i32 %t320, ptr %t308 br label %scend80 scend80: %t321 = load i32, ptr %t308 %t322 = icmp ne i32 %t321, 0 br i1 %t322, label %then81, label %ifend83 then81: store i32 0, ptr %t323 %t324 = load ptr, ptr %t10 %t325 = getelementptr inbounds %Cmp_Tok, ptr %t324, i32 0, i32 1 %t326 = load ptr, ptr %t325 %t327 = call i32 @lp_str_eq(ptr %t326, ptr @.str257) %t328 = icmp ne i32 %t327, 0 br i1 %t328, label %then84, label %ifend86 then84: store i32 1, ptr %t323 br label %ifend86 ifend86: %t329 = load i32, ptr @g_pi %t330 = add i32 %t329, 1 store i32 %t330, ptr @g_pi %t331 = call ptr @fn_node(i32 28) store ptr %t331, ptr %t332 %t333 = load ptr, ptr %t332 %t334 = getelementptr inbounds %Cmp_Node, ptr %t333, i32 0, i32 2 %t335 = load i32, ptr %t323 store i32 %t335, ptr %t334 %t336 = call i32 @fn_is_id(ptr @.str258) %t337 = icmp ne i32 %t336, 0 br i1 %t337, label %then87, label %ifend89 then87: %t338 = load i32, ptr @g_pi %t339 = add i32 %t338, 1 store i32 %t339, ptr @g_pi %t340 = load ptr, ptr %t332 %t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 3 store ptr @.str259, ptr %t341 %t342 = load ptr, ptr %t332 %t343 = getelementptr inbounds %Cmp_Node, ptr %t342, i32 0, i32 1 %t344 = call ptr @fn_eat_id() store ptr %t344, ptr %t343 %t345 = load ptr, ptr %t332 %t346 = getelementptr inbounds %Cmp_Node, ptr %t345, i32 0, i32 1 %t347 = load ptr, ptr %t346 call void @fn_note_toggled_layer(ptr %t347) %t348 = load ptr, ptr %t332 store ptr %t348, ptr %retval br label %ret ifend89: %t349 = call i32 @fn_is_id(ptr @.str260) %t350 = icmp ne i32 %t349, 0 br i1 %t350, label %then90, label %ifend92 then90: %t351 = load i32, ptr @g_pi %t352 = add i32 %t351, 1 store i32 %t352, ptr @g_pi %t353 = load ptr, ptr %t332 %t354 = getelementptr inbounds %Cmp_Node, ptr %t353, i32 0, i32 3 store ptr @.str261, ptr %t354 %t355 = load ptr, ptr %t332 %t356 = getelementptr inbounds %Cmp_Node, ptr %t355, i32 0, i32 1 %t357 = call ptr @fn_eat_id() store ptr %t357, ptr %t356 %t358 = load i32, ptr %t323 %t359 = icmp eq i32 %t358, 0 %t360 = zext i1 %t359 to i32 %t361 = icmp ne i32 %t360, 0 br i1 %t361, label %then93, label %ifend95 then93: %t362 = load ptr, ptr @g_g_disabled_sys %t363 = load ptr, ptr %t332 %t364 = getelementptr inbounds %Cmp_Node, ptr %t363, i32 0, i32 1 %t365 = load ptr, ptr %t364 %t366 = getelementptr inbounds %LSlice, ptr %t362, i32 0, i32 1 %t367 = getelementptr inbounds %LSlice, ptr %t362, i32 0, i32 2 %t368 = getelementptr inbounds %LSlice, ptr %t362, i32 0, i32 0 %t369 = load i32, ptr %t366 %t370 = load i32, ptr %t367 %t371 = icmp sge i32 %t369, %t370 br i1 %t371, label %grow96, label %put97 grow96: %t372 = mul i32 %t370, 2 %t373 = icmp eq i32 %t370, 0 %t374 = select i1 %t373, i32 8, i32 %t372 %t375 = getelementptr ptr, ptr null, i32 1 %t376 = ptrtoint ptr %t375 to i64 %t377 = zext i32 %t374 to i64 %t378 = mul i64 %t377, %t376 %t379 = load ptr, ptr %t368 %t380 = call ptr @realloc(ptr %t379, i64 %t378) store ptr %t380, ptr %t368 store i32 %t374, ptr %t367 br label %put97 put97: %t381 = load ptr, ptr %t368 %t382 = getelementptr inbounds ptr, ptr %t381, i32 %t369 store ptr %t365, ptr %t382 %t383 = add i32 %t369, 1 store i32 %t383, ptr %t366 br label %ifend95 ifend95: %t384 = load ptr, ptr %t332 store ptr %t384, ptr %retval br label %ret ifend92: %t385 = load ptr, ptr %t332 %t386 = getelementptr inbounds %Cmp_Node, ptr %t385, i32 0, i32 1 %t387 = call ptr @fn_eat_id() store ptr %t387, ptr %t386 %t388 = call i32 @fn_is_id(ptr @.str262) %t389 = icmp ne i32 %t388, 0 br i1 %t389, label %then98, label %ifend100 then98: %t390 = load i32, ptr @g_pi %t391 = add i32 %t390, 1 store i32 %t391, ptr @g_pi %t392 = load ptr, ptr %t332 %t393 = getelementptr inbounds %Cmp_Node, ptr %t392, i32 0, i32 4 %t394 = call ptr @fn_expr() store ptr %t394, ptr %t393 br label %ifend100 ifend100: %t395 = load ptr, ptr %t332 store ptr %t395, ptr %retval br label %ret ifend83: %t396 = load ptr, ptr %t10 %t397 = getelementptr inbounds %Cmp_Tok, ptr %t396, i32 0, i32 1 %t398 = load ptr, ptr %t397 %t399 = call i32 @lp_str_eq(ptr %t398, ptr @.str263) %t400 = icmp ne i32 %t399, 0 br i1 %t400, label %then101, label %ifend103 then101: %t401 = load i32, ptr @g_pi %t402 = add i32 %t401, 1 store i32 %t402, ptr @g_pi %t403 = call ptr @fn_node(i32 46) store ptr %t403, ptr %t404 %t405 = load ptr, ptr %t404 %t406 = getelementptr inbounds %Cmp_Node, ptr %t405, i32 0, i32 1 %t407 = call ptr @fn_eat_id() store ptr %t407, ptr %t406 %t408 = call i32 @fn_is_id(ptr @.str264) %t409 = icmp eq i32 %t408, 0 %t410 = zext i1 %t409 to i32 %t411 = icmp ne i32 %t410, 0 br i1 %t411, label %then104, label %ifend106 then104: call void @fn_perr(ptr @.str265) br label %ifend106 ifend106: %t412 = load i32, ptr @g_pi %t413 = add i32 %t412, 1 store i32 %t413, ptr @g_pi %t414 = load ptr, ptr %t404 %t415 = getelementptr inbounds %Cmp_Node, ptr %t414, i32 0, i32 4 %t416 = call ptr @fn_expr() store ptr %t416, ptr %t415 %t417 = call i32 @fn_is_op(ptr @.str266) %t418 = icmp ne i32 %t417, 0 br i1 %t418, label %then107, label %ifend109 then107: %t419 = load ptr, ptr %t404 %t420 = getelementptr inbounds %Cmp_Node, ptr %t419, i32 0, i32 5 %t421 = call ptr @fn_record() store ptr %t421, ptr %t420 br label %ifend109 ifend109: %t422 = load ptr, ptr %t404 store ptr %t422, ptr %retval br label %ret ifend103: %t423 = load ptr, ptr %t10 %t424 = getelementptr inbounds %Cmp_Tok, ptr %t423, i32 0, i32 1 %t425 = load ptr, ptr %t424 %t426 = call i32 @lp_str_eq(ptr %t425, ptr @.str267) %t427 = icmp ne i32 %t426, 0 br i1 %t427, label %then110, label %ifend112 then110: %t428 = load i32, ptr @g_pi %t429 = add i32 %t428, 1 store i32 %t429, ptr @g_pi %t430 = call ptr @fn_node(i32 47) store ptr %t430, ptr %t431 %t432 = load ptr, ptr %t431 %t433 = getelementptr inbounds %Cmp_Node, ptr %t432, i32 0, i32 1 %t434 = call ptr @fn_eat_id() store ptr %t434, ptr %t433 %t435 = call i32 @fn_is_id(ptr @.str268) %t436 = icmp eq i32 %t435, 0 %t437 = zext i1 %t436 to i32 %t438 = icmp ne i32 %t437, 0 br i1 %t438, label %then113, label %ifend115 then113: call void @fn_perr(ptr @.str269) br label %ifend115 ifend115: %t439 = load i32, ptr @g_pi %t440 = add i32 %t439, 1 store i32 %t440, ptr @g_pi %t441 = load ptr, ptr %t431 %t442 = getelementptr inbounds %Cmp_Node, ptr %t441, i32 0, i32 4 %t443 = call ptr @fn_expr() store ptr %t443, ptr %t442 %t444 = load ptr, ptr %t431 store ptr %t444, ptr %retval br label %ret ifend112: %t445 = load ptr, ptr %t10 %t446 = getelementptr inbounds %Cmp_Tok, ptr %t445, i32 0, i32 1 %t447 = load ptr, ptr %t446 %t448 = call i32 @lp_str_eq(ptr %t447, ptr @.str270) %t449 = icmp ne i32 %t448, 0 br i1 %t449, label %then116, label %ifend118 then116: %t450 = load i32, ptr @g_pi %t451 = add i32 %t450, 1 store i32 %t451, ptr @g_pi %t452 = call ptr @fn_node(i32 17) store ptr %t452, ptr %retval br label %ret ifend118: %t453 = load ptr, ptr %t10 %t454 = getelementptr inbounds %Cmp_Tok, ptr %t453, i32 0, i32 1 %t455 = load ptr, ptr %t454 %t456 = call i32 @lp_str_eq(ptr %t455, ptr @.str271) %t457 = icmp ne i32 %t456, 0 br i1 %t457, label %then119, label %ifend121 then119: %t458 = load i32, ptr @g_pi %t459 = add i32 %t458, 1 store i32 %t459, ptr @g_pi %t460 = call ptr @fn_node(i32 18) store ptr %t460, ptr %retval br label %ret ifend121: %t461 = load ptr, ptr %t10 %t462 = getelementptr inbounds %Cmp_Tok, ptr %t461, i32 0, i32 1 %t463 = load ptr, ptr %t462 %t464 = call i32 @lp_str_eq(ptr %t463, ptr @.str272) %t465 = icmp ne i32 %t464, 0 br i1 %t465, label %then122, label %ifend124 then122: %t466 = load i32, ptr @g_pi %t467 = add i32 %t466, 1 store i32 %t467, ptr @g_pi %t468 = call ptr @fn_node(i32 50) store ptr %t468, ptr %retval br label %ret ifend124: %t469 = load ptr, ptr %t10 %t470 = getelementptr inbounds %Cmp_Tok, ptr %t469, i32 0, i32 1 %t471 = load ptr, ptr %t470 %t472 = call i32 @lp_str_eq(ptr %t471, ptr @.str273) %t473 = icmp ne i32 %t472, 0 br i1 %t473, label %then125, label %ifend127 then125: %t474 = load i32, ptr @g_pi %t475 = add i32 %t474, 1 store i32 %t475, ptr @g_pi %t476 = call ptr @fn_node(i32 19) store ptr %t476, ptr %t477 %t478 = load ptr, ptr %t477 %t479 = getelementptr inbounds %Cmp_Node, ptr %t478, i32 0, i32 4 %t480 = call ptr @fn_expr() store ptr %t480, ptr %t479 call void @fn_skipnl() call void @fn_eat_op(ptr @.str274) br label %wcond128 wcond128: %t481 = icmp ne i32 1, 0 br i1 %t481, label %wbody129, label %wend130 wbody129: call void @fn_skipnl() %t482 = call i32 @fn_is_op(ptr @.str275) %t483 = icmp ne i32 %t482, 0 br i1 %t483, label %then131, label %ifend133 then131: br label %wend130 ifend133: %t484 = call ptr @fn_node(i32 20) store ptr %t484, ptr %t485 br label %wcond134 wcond134: %t486 = icmp ne i32 1, 0 br i1 %t486, label %wbody135, label %wend136 wbody135: %t487 = load ptr, ptr %t485 %t488 = getelementptr inbounds %Cmp_Node, ptr %t487, i32 0, i32 7 %t489 = load ptr, ptr %t488 %t490 = call ptr @fn_expr() %t491 = getelementptr inbounds %LSlice, ptr %t489, i32 0, i32 1 %t492 = getelementptr inbounds %LSlice, ptr %t489, i32 0, i32 2 %t493 = getelementptr inbounds %LSlice, ptr %t489, i32 0, i32 0 %t494 = load i32, ptr %t491 %t495 = load i32, ptr %t492 %t496 = icmp sge i32 %t494, %t495 br i1 %t496, label %grow137, label %put138 grow137: %t497 = mul i32 %t495, 2 %t498 = icmp eq i32 %t495, 0 %t499 = select i1 %t498, i32 8, i32 %t497 %t500 = getelementptr ptr, ptr null, i32 1 %t501 = ptrtoint ptr %t500 to i64 %t502 = zext i32 %t499 to i64 %t503 = mul i64 %t502, %t501 %t504 = load ptr, ptr %t493 %t505 = call ptr @realloc(ptr %t504, i64 %t503) store ptr %t505, ptr %t493 store i32 %t499, ptr %t492 br label %put138 put138: %t506 = load ptr, ptr %t493 %t507 = getelementptr inbounds ptr, ptr %t506, i32 %t494 store ptr %t490, ptr %t507 %t508 = add i32 %t494, 1 store i32 %t508, ptr %t491 %t509 = call i32 @fn_is_op(ptr @.str276) %t510 = icmp ne i32 %t509, 0 br i1 %t510, label %then139, label %ifend141 then139: %t511 = load i32, ptr @g_pi %t512 = add i32 %t511, 1 store i32 %t512, ptr @g_pi call void @fn_skipnl() br label %wcond134 ifend141: br label %wend136 wend136: call void @fn_eat_op(ptr @.str277) call void @fn_skipnl() %t513 = call i32 @fn_is_op(ptr @.str278) %t514 = icmp ne i32 %t513, 0 br i1 %t514, label %then142, label %else143 then142: %t515 = load ptr, ptr %t485 %t516 = getelementptr inbounds %Cmp_Node, ptr %t515, i32 0, i32 4 %t517 = call ptr @fn_block() store ptr %t517, ptr %t516 br label %ifend144 else143: %t518 = call ptr @fn_node(i32 7) store ptr %t518, ptr %t519 %t520 = load ptr, ptr %t519 %t521 = getelementptr inbounds %Cmp_Node, ptr %t520, i32 0, i32 7 %t522 = load ptr, ptr %t521 %t523 = call ptr @fn_stmt() %t524 = getelementptr inbounds %LSlice, ptr %t522, i32 0, i32 1 %t525 = getelementptr inbounds %LSlice, ptr %t522, i32 0, i32 2 %t526 = getelementptr inbounds %LSlice, ptr %t522, i32 0, i32 0 %t527 = load i32, ptr %t524 %t528 = load i32, ptr %t525 %t529 = icmp sge i32 %t527, %t528 br i1 %t529, label %grow145, label %put146 grow145: %t530 = mul i32 %t528, 2 %t531 = icmp eq i32 %t528, 0 %t532 = select i1 %t531, i32 8, i32 %t530 %t533 = getelementptr ptr, ptr null, i32 1 %t534 = ptrtoint ptr %t533 to i64 %t535 = zext i32 %t532 to i64 %t536 = mul i64 %t535, %t534 %t537 = load ptr, ptr %t526 %t538 = call ptr @realloc(ptr %t537, i64 %t536) store ptr %t538, ptr %t526 store i32 %t532, ptr %t525 br label %put146 put146: %t539 = load ptr, ptr %t526 %t540 = getelementptr inbounds ptr, ptr %t539, i32 %t527 store ptr %t523, ptr %t540 %t541 = add i32 %t527, 1 store i32 %t541, ptr %t524 %t542 = load ptr, ptr %t485 %t543 = getelementptr inbounds %Cmp_Node, ptr %t542, i32 0, i32 4 %t544 = load ptr, ptr %t519 store ptr %t544, ptr %t543 br label %ifend144 ifend144: %t545 = load ptr, ptr %t477 %t546 = getelementptr inbounds %Cmp_Node, ptr %t545, i32 0, i32 7 %t547 = load ptr, ptr %t546 %t548 = load ptr, ptr %t485 %t549 = getelementptr inbounds %LSlice, ptr %t547, i32 0, i32 1 %t550 = getelementptr inbounds %LSlice, ptr %t547, i32 0, i32 2 %t551 = getelementptr inbounds %LSlice, ptr %t547, i32 0, i32 0 %t552 = load i32, ptr %t549 %t553 = load i32, ptr %t550 %t554 = icmp sge i32 %t552, %t553 br i1 %t554, label %grow147, label %put148 grow147: %t555 = mul i32 %t553, 2 %t556 = icmp eq i32 %t553, 0 %t557 = select i1 %t556, i32 8, i32 %t555 %t558 = getelementptr ptr, ptr null, i32 1 %t559 = ptrtoint ptr %t558 to i64 %t560 = zext i32 %t557 to i64 %t561 = mul i64 %t560, %t559 %t562 = load ptr, ptr %t551 %t563 = call ptr @realloc(ptr %t562, i64 %t561) store ptr %t563, ptr %t551 store i32 %t557, ptr %t550 br label %put148 put148: %t564 = load ptr, ptr %t551 %t565 = getelementptr inbounds ptr, ptr %t564, i32 %t552 store ptr %t548, ptr %t565 %t566 = add i32 %t552, 1 store i32 %t566, ptr %t549 br label %wcond128 wend130: call void @fn_eat_op(ptr @.str279) %t567 = load ptr, ptr %t477 store ptr %t567, ptr %retval br label %ret ifend127: br label %ifend4 ifend4: %t568 = call ptr @fn_expr() store ptr %t568, ptr %t569 %t574 = call i32 @fn_is_op(ptr @.str280) %t575 = icmp ne i32 %t574, 0 %t576 = zext i1 %t575 to i32 store i32 %t576, ptr %t573 br i1 %t575, label %scend150, label %sc149 sc149: %t577 = call i32 @fn_is_op(ptr @.str281) %t578 = icmp ne i32 %t577, 0 %t579 = zext i1 %t578 to i32 store i32 %t579, ptr %t573 br label %scend150 scend150: %t580 = load i32, ptr %t573 %t581 = icmp ne i32 %t580, 0 %t582 = zext i1 %t581 to i32 store i32 %t582, ptr %t572 br i1 %t581, label %scend152, label %sc151 sc151: %t583 = call i32 @fn_is_op(ptr @.str282) %t584 = icmp ne i32 %t583, 0 %t585 = zext i1 %t584 to i32 store i32 %t585, ptr %t572 br label %scend152 scend152: %t586 = load i32, ptr %t572 %t587 = icmp ne i32 %t586, 0 %t588 = zext i1 %t587 to i32 store i32 %t588, ptr %t571 br i1 %t587, label %scend154, label %sc153 sc153: %t589 = call i32 @fn_is_op(ptr @.str283) %t590 = icmp ne i32 %t589, 0 %t591 = zext i1 %t590 to i32 store i32 %t591, ptr %t571 br label %scend154 scend154: %t592 = load i32, ptr %t571 %t593 = icmp ne i32 %t592, 0 %t594 = zext i1 %t593 to i32 store i32 %t594, ptr %t570 br i1 %t593, label %scend156, label %sc155 sc155: %t595 = call i32 @fn_is_op(ptr @.str284) %t596 = icmp ne i32 %t595, 0 %t597 = zext i1 %t596 to i32 store i32 %t597, ptr %t570 br label %scend156 scend156: %t598 = load i32, ptr %t570 %t599 = icmp ne i32 %t598, 0 br i1 %t599, label %then157, label %ifend159 then157: %t600 = call ptr @fn_node(i32 11) store ptr %t600, ptr %t601 %t602 = load ptr, ptr %t601 %t603 = getelementptr inbounds %Cmp_Node, ptr %t602, i32 0, i32 8 %t604 = load ptr, ptr @g_toks %t605 = getelementptr inbounds %LSlice, ptr %t604, i32 0, i32 0 %t606 = load ptr, ptr %t605 %t607 = load i32, ptr @g_pi %t608 = getelementptr inbounds %LSlice, ptr %t604, i32 0, i32 1 %t609 = load i32, ptr %t608 %t610 = icmp ult i32 %t607, %t609 br i1 %t610, label %ixok160, label %ixbad161 ixbad161: %t611 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t611, ptr @.fmt_bounds, ptr @.str285, i32 %t607, i32 %t609) call void @exit(i32 1) unreachable ixok160: %t612 = getelementptr inbounds ptr, ptr %t606, i32 %t607 %t613 = load ptr, ptr %t612 %t614 = getelementptr inbounds %Cmp_Tok, ptr %t613, i32 0, i32 3 %t615 = load i32, ptr %t614 store i32 %t615, ptr %t603 %t616 = load ptr, ptr %t601 %t617 = getelementptr inbounds %Cmp_Node, ptr %t616, i32 0, i32 1 %t618 = load ptr, ptr @g_toks %t619 = getelementptr inbounds %LSlice, ptr %t618, i32 0, i32 0 %t620 = load ptr, ptr %t619 %t621 = load i32, ptr @g_pi %t622 = getelementptr inbounds %LSlice, ptr %t618, i32 0, i32 1 %t623 = load i32, ptr %t622 %t624 = icmp ult i32 %t621, %t623 br i1 %t624, label %ixok162, label %ixbad163 ixbad163: %t625 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t625, ptr @.fmt_bounds, ptr @.str286, i32 %t621, i32 %t623) call void @exit(i32 1) unreachable ixok162: %t626 = getelementptr inbounds ptr, ptr %t620, i32 %t621 %t627 = load ptr, ptr %t626 %t628 = getelementptr inbounds %Cmp_Tok, ptr %t627, i32 0, i32 1 %t629 = load ptr, ptr %t628 store ptr %t629, ptr %t617 %t630 = load i32, ptr @g_pi %t631 = add i32 %t630, 1 store i32 %t631, ptr @g_pi %t632 = load ptr, ptr %t601 %t633 = getelementptr inbounds %Cmp_Node, ptr %t632, i32 0, i32 4 %t634 = load ptr, ptr %t569 store ptr %t634, ptr %t633 %t635 = load ptr, ptr %t601 %t636 = getelementptr inbounds %Cmp_Node, ptr %t635, i32 0, i32 5 %t637 = call ptr @fn_expr() store ptr %t637, ptr %t636 %t638 = load ptr, ptr %t601 store ptr %t638, ptr %retval br label %ret ifend159: %t639 = call ptr @fn_node(i32 16) store ptr %t639, ptr %t640 %t641 = load ptr, ptr %t640 %t642 = getelementptr inbounds %Cmp_Node, ptr %t641, i32 0, i32 4 %t643 = load ptr, ptr %t569 store ptr %t643, ptr %t642 %t644 = load ptr, ptr %t640 store ptr %t644, ptr %retval br label %ret ret: %t645 = load ptr, ptr %retval ret ptr %t645 } define ptr @fn_parse_var() { entry: %retval = alloca ptr %t3 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_node(i32 2) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 call void @fn_eat_op(ptr @.str287) %t7 = load ptr, ptr %t3 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3 %t9 = call ptr @fn_ptype() store ptr %t9, ptr %t8 %t10 = call i32 @fn_is_op(ptr @.str288) %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then0, label %ifend2 then0: %t12 = load i32, ptr @g_pi %t13 = add i32 %t12, 1 store i32 %t13, ptr @g_pi %t14 = load ptr, ptr %t3 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 4 %t16 = call ptr @fn_expr() store ptr %t16, ptr %t15 br label %ifend2 ifend2: %t17 = load ptr, ptr %t3 store ptr %t17, ptr %retval br label %ret ret: %t18 = load ptr, ptr %retval ret ptr %t18 } define ptr @fn_parse_const() { entry: %retval = alloca ptr %t3 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_node(i32 3) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 call void @fn_eat_op(ptr @.str289) %t7 = load ptr, ptr %t3 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3 %t9 = call ptr @fn_ptype() store ptr %t9, ptr %t8 call void @fn_eat_op(ptr @.str290) %t10 = load ptr, ptr %t3 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4 %t12 = call ptr @fn_expr() store ptr %t12, ptr %t11 %t13 = load ptr, ptr %t3 store ptr %t13, ptr %retval br label %ret ret: %t14 = load ptr, ptr %retval ret ptr %t14 } define i32 @fn_is_reserved_word(ptr %arg_w) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 %t44 = alloca i32 %t45 = alloca i32 %t46 = alloca i32 %t47 = alloca i32 %t48 = alloca i32 %t87 = alloca i32 %t88 = alloca i32 %t89 = alloca i32 %t90 = alloca i32 %t91 = alloca i32 %t133 = alloca i32 %t134 = alloca i32 %t135 = alloca i32 %t136 = alloca i32 %t137 = alloca i32 %t138 = alloca i32 %t184 = alloca i32 %t185 = alloca i32 %t186 = alloca i32 %t187 = alloca i32 %t188 = alloca i32 %t227 = alloca i32 %t228 = alloca i32 %t229 = alloca i32 %t230 = alloca i32 %t231 = alloca i32 store ptr %arg_w, ptr %t0 %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str291) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t5 br i1 %t8, label %scend1, label %sc0 sc0: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str292) %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t5 br label %scend1 scend1: %t14 = load i32, ptr %t5 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t4 br i1 %t15, label %scend3, label %sc2 sc2: %t17 = load ptr, ptr %t0 %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str293) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t4 br label %scend3 scend3: %t21 = load i32, ptr %t4 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t3 br i1 %t22, label %scend5, label %sc4 sc4: %t24 = load ptr, ptr %t0 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str294) %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t3 br label %scend5 scend5: %t28 = load i32, ptr %t3 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t2 br i1 %t29, label %scend7, label %sc6 sc6: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str295) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t2 br label %scend7 scend7: %t35 = load i32, ptr %t2 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t1 br i1 %t36, label %scend9, label %sc8 sc8: %t38 = load ptr, ptr %t0 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str296) %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t1 br label %scend9 scend9: %t42 = load i32, ptr %t1 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then10, label %ifend12 then10: store i32 1, ptr %retval br label %ret ifend12: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str297) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t48 br i1 %t51, label %scend14, label %sc13 sc13: %t53 = load ptr, ptr %t0 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str298) %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t48 br label %scend14 scend14: %t57 = load i32, ptr %t48 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t47 br i1 %t58, label %scend16, label %sc15 sc15: %t60 = load ptr, ptr %t0 %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str299) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t47 br label %scend16 scend16: %t64 = load i32, ptr %t47 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t46 br i1 %t65, label %scend18, label %sc17 sc17: %t67 = load ptr, ptr %t0 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str300) %t69 = icmp ne i32 %t68, 0 %t70 = zext i1 %t69 to i32 store i32 %t70, ptr %t46 br label %scend18 scend18: %t71 = load i32, ptr %t46 %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t45 br i1 %t72, label %scend20, label %sc19 sc19: %t74 = load ptr, ptr %t0 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str301) %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t45 br label %scend20 scend20: %t78 = load i32, ptr %t45 %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t44 br i1 %t79, label %scend22, label %sc21 sc21: %t81 = load ptr, ptr %t0 %t82 = call i32 @lp_str_eq(ptr %t81, ptr @.str302) %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t44 br label %scend22 scend22: %t85 = load i32, ptr %t44 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then23, label %ifend25 then23: store i32 1, ptr %retval br label %ret ifend25: %t92 = load ptr, ptr %t0 %t93 = call i32 @lp_str_eq(ptr %t92, ptr @.str303) %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t91 br i1 %t94, label %scend27, label %sc26 sc26: %t96 = load ptr, ptr %t0 %t97 = call i32 @lp_str_eq(ptr %t96, ptr @.str304) %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t91 br label %scend27 scend27: %t100 = load i32, ptr %t91 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t90 br i1 %t101, label %scend29, label %sc28 sc28: %t103 = load ptr, ptr %t0 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str305) %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t90 br label %scend29 scend29: %t107 = load i32, ptr %t90 %t108 = icmp ne i32 %t107, 0 %t109 = zext i1 %t108 to i32 store i32 %t109, ptr %t89 br i1 %t108, label %scend31, label %sc30 sc30: %t110 = load ptr, ptr %t0 %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str306) %t112 = icmp ne i32 %t111, 0 %t113 = zext i1 %t112 to i32 store i32 %t113, ptr %t89 br label %scend31 scend31: %t114 = load i32, ptr %t89 %t115 = icmp ne i32 %t114, 0 %t116 = zext i1 %t115 to i32 store i32 %t116, ptr %t88 br i1 %t115, label %scend33, label %sc32 sc32: %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str307) %t119 = icmp ne i32 %t118, 0 %t120 = zext i1 %t119 to i32 store i32 %t120, ptr %t88 br label %scend33 scend33: %t121 = load i32, ptr %t88 %t122 = icmp ne i32 %t121, 0 %t123 = zext i1 %t122 to i32 store i32 %t123, ptr %t87 br i1 %t122, label %scend35, label %sc34 sc34: %t124 = load ptr, ptr %t0 %t125 = call i32 @lp_str_eq(ptr %t124, ptr @.str308) %t126 = icmp ne i32 %t125, 0 %t127 = zext i1 %t126 to i32 store i32 %t127, ptr %t87 br label %scend35 scend35: %t128 = load i32, ptr %t87 %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then36, label %ifend38 then36: store i32 1, ptr %retval br label %ret ifend38: %t130 = load ptr, ptr %t0 %t131 = call i32 @lp_str_eq(ptr %t130, ptr @.str309) %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then39, label %ifend41 then39: store i32 1, ptr %retval br label %ret ifend41: %t139 = load ptr, ptr %t0 %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str310) %t141 = icmp ne i32 %t140, 0 %t142 = zext i1 %t141 to i32 store i32 %t142, ptr %t138 br i1 %t141, label %scend43, label %sc42 sc42: %t143 = load ptr, ptr %t0 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str311) %t145 = icmp ne i32 %t144, 0 %t146 = zext i1 %t145 to i32 store i32 %t146, ptr %t138 br label %scend43 scend43: %t147 = load i32, ptr %t138 %t148 = icmp ne i32 %t147, 0 %t149 = zext i1 %t148 to i32 store i32 %t149, ptr %t137 br i1 %t148, label %scend45, label %sc44 sc44: %t150 = load ptr, ptr %t0 %t151 = call i32 @lp_str_eq(ptr %t150, ptr @.str312) %t152 = icmp ne i32 %t151, 0 %t153 = zext i1 %t152 to i32 store i32 %t153, ptr %t137 br label %scend45 scend45: %t154 = load i32, ptr %t137 %t155 = icmp ne i32 %t154, 0 %t156 = zext i1 %t155 to i32 store i32 %t156, ptr %t136 br i1 %t155, label %scend47, label %sc46 sc46: %t157 = load ptr, ptr %t0 %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str313) %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t136 br label %scend47 scend47: %t161 = load i32, ptr %t136 %t162 = icmp ne i32 %t161, 0 %t163 = zext i1 %t162 to i32 store i32 %t163, ptr %t135 br i1 %t162, label %scend49, label %sc48 sc48: %t164 = load ptr, ptr %t0 %t165 = call i32 @lp_str_eq(ptr %t164, ptr @.str314) %t166 = icmp ne i32 %t165, 0 %t167 = zext i1 %t166 to i32 store i32 %t167, ptr %t135 br label %scend49 scend49: %t168 = load i32, ptr %t135 %t169 = icmp ne i32 %t168, 0 %t170 = zext i1 %t169 to i32 store i32 %t170, ptr %t134 br i1 %t169, label %scend51, label %sc50 sc50: %t171 = load ptr, ptr %t0 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str315) %t173 = icmp ne i32 %t172, 0 %t174 = zext i1 %t173 to i32 store i32 %t174, ptr %t134 br label %scend51 scend51: %t175 = load i32, ptr %t134 %t176 = icmp ne i32 %t175, 0 %t177 = zext i1 %t176 to i32 store i32 %t177, ptr %t133 br i1 %t176, label %scend53, label %sc52 sc52: %t178 = load ptr, ptr %t0 %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str316) %t180 = icmp ne i32 %t179, 0 %t181 = zext i1 %t180 to i32 store i32 %t181, ptr %t133 br label %scend53 scend53: %t182 = load i32, ptr %t133 %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then54, label %ifend56 then54: store i32 1, ptr %retval br label %ret ifend56: %t189 = load ptr, ptr %t0 %t190 = call i32 @lp_str_eq(ptr %t189, ptr @.str317) %t191 = icmp ne i32 %t190, 0 %t192 = zext i1 %t191 to i32 store i32 %t192, ptr %t188 br i1 %t191, label %scend58, label %sc57 sc57: %t193 = load ptr, ptr %t0 %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str318) %t195 = icmp ne i32 %t194, 0 %t196 = zext i1 %t195 to i32 store i32 %t196, ptr %t188 br label %scend58 scend58: %t197 = load i32, ptr %t188 %t198 = icmp ne i32 %t197, 0 %t199 = zext i1 %t198 to i32 store i32 %t199, ptr %t187 br i1 %t198, label %scend60, label %sc59 sc59: %t200 = load ptr, ptr %t0 %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str319) %t202 = icmp ne i32 %t201, 0 %t203 = zext i1 %t202 to i32 store i32 %t203, ptr %t187 br label %scend60 scend60: %t204 = load i32, ptr %t187 %t205 = icmp ne i32 %t204, 0 %t206 = zext i1 %t205 to i32 store i32 %t206, ptr %t186 br i1 %t205, label %scend62, label %sc61 sc61: %t207 = load ptr, ptr %t0 %t208 = call i32 @lp_str_eq(ptr %t207, ptr @.str320) %t209 = icmp ne i32 %t208, 0 %t210 = zext i1 %t209 to i32 store i32 %t210, ptr %t186 br label %scend62 scend62: %t211 = load i32, ptr %t186 %t212 = icmp ne i32 %t211, 0 %t213 = zext i1 %t212 to i32 store i32 %t213, ptr %t185 br i1 %t212, label %scend64, label %sc63 sc63: %t214 = load ptr, ptr %t0 %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str321) %t216 = icmp ne i32 %t215, 0 %t217 = zext i1 %t216 to i32 store i32 %t217, ptr %t185 br label %scend64 scend64: %t218 = load i32, ptr %t185 %t219 = icmp ne i32 %t218, 0 %t220 = zext i1 %t219 to i32 store i32 %t220, ptr %t184 br i1 %t219, label %scend66, label %sc65 sc65: %t221 = load ptr, ptr %t0 %t222 = call i32 @lp_str_eq(ptr %t221, ptr @.str322) %t223 = icmp ne i32 %t222, 0 %t224 = zext i1 %t223 to i32 store i32 %t224, ptr %t184 br label %scend66 scend66: %t225 = load i32, ptr %t184 %t226 = icmp ne i32 %t225, 0 br i1 %t226, label %then67, label %ifend69 then67: store i32 1, ptr %retval br label %ret ifend69: %t232 = load ptr, ptr %t0 %t233 = call i32 @lp_str_eq(ptr %t232, ptr @.str323) %t234 = icmp ne i32 %t233, 0 %t235 = zext i1 %t234 to i32 store i32 %t235, ptr %t231 br i1 %t234, label %scend71, label %sc70 sc70: %t236 = load ptr, ptr %t0 %t237 = call i32 @lp_str_eq(ptr %t236, ptr @.str324) %t238 = icmp ne i32 %t237, 0 %t239 = zext i1 %t238 to i32 store i32 %t239, ptr %t231 br label %scend71 scend71: %t240 = load i32, ptr %t231 %t241 = icmp ne i32 %t240, 0 %t242 = zext i1 %t241 to i32 store i32 %t242, ptr %t230 br i1 %t241, label %scend73, label %sc72 sc72: %t243 = load ptr, ptr %t0 %t244 = call i32 @lp_str_eq(ptr %t243, ptr @.str325) %t245 = icmp ne i32 %t244, 0 %t246 = zext i1 %t245 to i32 store i32 %t246, ptr %t230 br label %scend73 scend73: %t247 = load i32, ptr %t230 %t248 = icmp ne i32 %t247, 0 %t249 = zext i1 %t248 to i32 store i32 %t249, ptr %t229 br i1 %t248, label %scend75, label %sc74 sc74: %t250 = load ptr, ptr %t0 %t251 = call i32 @lp_str_eq(ptr %t250, ptr @.str326) %t252 = icmp ne i32 %t251, 0 %t253 = zext i1 %t252 to i32 store i32 %t253, ptr %t229 br label %scend75 scend75: %t254 = load i32, ptr %t229 %t255 = icmp ne i32 %t254, 0 %t256 = zext i1 %t255 to i32 store i32 %t256, ptr %t228 br i1 %t255, label %scend77, label %sc76 sc76: %t257 = load ptr, ptr %t0 %t258 = call i32 @lp_str_eq(ptr %t257, ptr @.str327) %t259 = icmp ne i32 %t258, 0 %t260 = zext i1 %t259 to i32 store i32 %t260, ptr %t228 br label %scend77 scend77: %t261 = load i32, ptr %t228 %t262 = icmp ne i32 %t261, 0 %t263 = zext i1 %t262 to i32 store i32 %t263, ptr %t227 br i1 %t262, label %scend79, label %sc78 sc78: %t264 = load ptr, ptr %t0 %t265 = call i32 @lp_str_eq(ptr %t264, ptr @.str328) %t266 = icmp ne i32 %t265, 0 %t267 = zext i1 %t266 to i32 store i32 %t267, ptr %t227 br label %scend79 scend79: %t268 = load i32, ptr %t227 %t269 = icmp ne i32 %t268, 0 br i1 %t269, label %then80, label %ifend82 then80: store i32 1, ptr %retval br label %ret ifend82: store i32 0, ptr %retval br label %ret ret: %t270 = load i32, ptr %retval ret i32 %t270 } define ptr @fn_parse_fn() { entry: %retval = alloca ptr %t3 = alloca ptr %t22 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_node(i32 4) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 call void @fn_eat_op(ptr @.str329) %t7 = load ptr, ptr %t3 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 %t9 = load ptr, ptr %t8 %t10 = call i32 @fn_is_reserved_word(ptr %t9) %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then0, label %ifend2 then0: %t12 = load ptr, ptr %t3 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 %t14 = load ptr, ptr %t13 %t15 = call ptr @lp_str_concat(ptr @.str330, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str331) call void @fn_perr(ptr %t16) br label %ifend2 ifend2: br label %wcond3 wcond3: %t17 = call i32 @fn_is_op(ptr @.str332) %t18 = icmp eq i32 %t17, 0 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %wbody4, label %wend5 wbody4: %t21 = call ptr @fn_node(i32 5) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 %t25 = call ptr @fn_eat_id() store ptr %t25, ptr %t24 call void @fn_eat_op(ptr @.str333) %t26 = load ptr, ptr %t22 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 3 %t28 = call ptr @fn_ptype() store ptr %t28, ptr %t27 %t29 = load ptr, ptr %t3 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 %t31 = load ptr, ptr %t30 %t32 = load ptr, ptr %t22 %t33 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t34 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2 %t35 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t36 = load i32, ptr %t33 %t37 = load i32, ptr %t34 %t38 = icmp sge i32 %t36, %t37 br i1 %t38, label %grow6, label %put7 grow6: %t39 = mul i32 %t37, 2 %t40 = icmp eq i32 %t37, 0 %t41 = select i1 %t40, i32 8, i32 %t39 %t42 = getelementptr ptr, ptr null, i32 1 %t43 = ptrtoint ptr %t42 to i64 %t44 = zext i32 %t41 to i64 %t45 = mul i64 %t44, %t43 %t46 = load ptr, ptr %t35 %t47 = call ptr @realloc(ptr %t46, i64 %t45) store ptr %t47, ptr %t35 store i32 %t41, ptr %t34 br label %put7 put7: %t48 = load ptr, ptr %t35 %t49 = getelementptr inbounds ptr, ptr %t48, i32 %t36 store ptr %t32, ptr %t49 %t50 = add i32 %t36, 1 store i32 %t50, ptr %t33 %t51 = call i32 @fn_is_op(ptr @.str334) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then8, label %ifend10 then8: %t53 = load i32, ptr @g_pi %t54 = add i32 %t53, 1 store i32 %t54, ptr @g_pi br label %ifend10 ifend10: br label %wcond3 wend5: call void @fn_eat_op(ptr @.str335) %t55 = load ptr, ptr %t3 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3 store ptr @.str336, ptr %t56 %t57 = call i32 @fn_is_op(ptr @.str337) %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then11, label %ifend13 then11: %t59 = load i32, ptr @g_pi %t60 = add i32 %t59, 1 store i32 %t60, ptr @g_pi %t61 = load ptr, ptr %t3 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 3 %t63 = call ptr @fn_ptype() store ptr %t63, ptr %t62 br label %ifend13 ifend13: %t64 = load ptr, ptr %t3 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 4 %t66 = call ptr @fn_block() store ptr %t66, ptr %t65 %t67 = load ptr, ptr %t3 store ptr %t67, ptr %retval br label %ret ret: %t68 = load ptr, ptr %retval ret ptr %t68 } define ptr @fn_parse_main() { entry: %retval = alloca ptr %t3 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_node(i32 6) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 4 %t6 = call ptr @fn_block() store ptr %t6, ptr %t5 %t7 = load ptr, ptr %t3 store ptr %t7, ptr %retval br label %ret ret: %t8 = load ptr, ptr %retval ret ptr %t8 } define i32 @fn_ns_short_in(ptr %arg_names, ptr %arg_s) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_names, ptr %t0 store ptr %arg_s, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp slt i32 %t3, %t6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %wbody1, label %wend2 wbody1: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = load i32, ptr %t2 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t13, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str338, i32 %t13, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t12, i32 %t13 %t19 = load ptr, ptr %t18 %t20 = load ptr, ptr %t1 %t21 = call i32 @lp_str_eq(ptr %t19, ptr %t20) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t2 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t2 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } define void @fn_ns_rewrite_calls(ptr %arg_n, ptr %arg_shorts, ptr %arg_prefix) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t7 = alloca i32 %t8 = alloca i32 %t71 = alloca i32 store ptr %arg_n, ptr %t0 store ptr %arg_shorts, ptr %t1 store ptr %arg_prefix, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = icmp eq ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: br label %ret ifend2: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 0 %t11 = load i32, ptr %t10 %t12 = icmp eq i32 %t11, 34 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t8 br i1 %t14, label %sc3, label %scend4 sc3: %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 4 %t18 = load ptr, ptr %t17 %t19 = icmp ne ptr %t18, null %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t8 br label %scend4 scend4: %t23 = load i32, ptr %t8 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t7 br i1 %t24, label %sc5, label %scend6 sc5: %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 4 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 0 %t30 = load i32, ptr %t29 %t31 = icmp eq i32 %t30, 33 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t7 br label %scend6 scend6: %t35 = load i32, ptr %t7 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then7, label %ifend9 then7: %t37 = load ptr, ptr %t1 %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 4 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 %t43 = call i32 @fn_ns_short_in(ptr %t37, ptr %t42) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then10, label %ifend12 then10: %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 4 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t2 %t50 = load ptr, ptr %t0 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 4 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 1 %t54 = load ptr, ptr %t53 %t55 = call ptr @lp_str_concat(ptr %t49, ptr %t54) store ptr %t55, ptr %t48 br label %ifend12 ifend12: br label %ifend9 ifend9: %t56 = load ptr, ptr %t0 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 4 %t58 = load ptr, ptr %t57 %t59 = load ptr, ptr %t1 %t60 = load ptr, ptr %t2 call void @fn_ns_rewrite_calls(ptr %t58, ptr %t59, ptr %t60) %t61 = load ptr, ptr %t0 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 5 %t63 = load ptr, ptr %t62 %t64 = load ptr, ptr %t1 %t65 = load ptr, ptr %t2 call void @fn_ns_rewrite_calls(ptr %t63, ptr %t64, ptr %t65) %t66 = load ptr, ptr %t0 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 6 %t68 = load ptr, ptr %t67 %t69 = load ptr, ptr %t1 %t70 = load ptr, ptr %t2 call void @fn_ns_rewrite_calls(ptr %t68, ptr %t69, ptr %t70) store i32 0, ptr %t71 br label %wcond13 wcond13: %t72 = load i32, ptr %t71 %t73 = load ptr, ptr %t0 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 7 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t77 = load i32, ptr %t76 %t78 = icmp slt i32 %t72, %t77 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %wbody14, label %wend15 wbody14: %t81 = load ptr, ptr %t0 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 7 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = load i32, ptr %t71 %t87 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t88 = load i32, ptr %t87 %t89 = icmp ult i32 %t86, %t88 br i1 %t89, label %ixok16, label %ixbad17 ixbad17: %t90 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str339, i32 %t86, i32 %t88) call void @exit(i32 1) unreachable ixok16: %t91 = getelementptr inbounds ptr, ptr %t85, i32 %t86 %t92 = load ptr, ptr %t91 %t93 = load ptr, ptr %t1 %t94 = load ptr, ptr %t2 call void @fn_ns_rewrite_calls(ptr %t92, ptr %t93, ptr %t94) %t95 = load i32, ptr %t71 %t96 = add i32 %t95, 1 store i32 %t96, ptr %t71 br label %wcond13 wend15: br label %ret ret: ret void } define void @fn_parse_namespace() { entry: %t3 = alloca ptr %t10 = alloca ptr %t17 = alloca ptr %t24 = alloca ptr %t29 = alloca i32 %t43 = alloca ptr %t109 = alloca ptr %t110 = alloca i32 %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_eat_id() store ptr %t2, ptr %t3 call void @fn_eat_op(ptr @.str340) call void @fn_skipnl() %t4 = getelementptr %LSlice, ptr null, i32 1 %t5 = ptrtoint ptr %t4 to i64 %t6 = call ptr @malloc(i64 %t5) %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0 store ptr null, ptr %t7 %t8 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 store i32 0, ptr %t8 %t9 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 2 store i32 0, ptr %t9 store ptr %t6, ptr %t10 %t11 = getelementptr %LSlice, ptr null, i32 1 %t12 = ptrtoint ptr %t11 to i64 %t13 = call ptr @malloc(i64 %t12) %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 store ptr null, ptr %t14 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 store i32 0, ptr %t15 %t16 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 2 store i32 0, ptr %t16 store ptr %t13, ptr %t17 %t18 = getelementptr %LSlice, ptr null, i32 1 %t19 = ptrtoint ptr %t18 to i64 %t20 = call ptr @malloc(i64 %t19) %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 store ptr null, ptr %t21 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 store i32 0, ptr %t22 %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2 store i32 0, ptr %t23 store ptr %t20, ptr %t24 br label %wcond0 wcond0: %t25 = call i32 @fn_is_op(ptr @.str341) %t26 = icmp eq i32 %t25, 0 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %wbody1, label %wend2 wbody1: store i32 1, ptr %t29 %t30 = call i32 @fn_is_id(ptr @.str342) %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then3, label %else4 then3: %t32 = load i32, ptr @g_pi %t33 = add i32 %t32, 1 store i32 %t33, ptr @g_pi br label %ifend5 else4: %t34 = call i32 @fn_is_id(ptr @.str343) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then6, label %ifend8 then6: %t36 = load i32, ptr @g_pi %t37 = add i32 %t36, 1 store i32 %t37, ptr @g_pi store i32 0, ptr %t29 br label %ifend8 ifend8: br label %ifend5 ifend5: %t38 = call i32 @fn_is_id(ptr @.str344) %t39 = icmp eq i32 %t38, 0 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then9, label %ifend11 then9: call void @fn_perr(ptr @.str345) br label %ifend11 ifend11: %t42 = call ptr @fn_parse_fn() store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t10 %t45 = load ptr, ptr %t43 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t47 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 2 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t49 = load i32, ptr %t46 %t50 = load i32, ptr %t47 %t51 = icmp sge i32 %t49, %t50 br i1 %t51, label %grow12, label %put13 grow12: %t52 = mul i32 %t50, 2 %t53 = icmp eq i32 %t50, 0 %t54 = select i1 %t53, i32 8, i32 %t52 %t55 = getelementptr ptr, ptr null, i32 1 %t56 = ptrtoint ptr %t55 to i64 %t57 = zext i32 %t54 to i64 %t58 = mul i64 %t57, %t56 %t59 = load ptr, ptr %t48 %t60 = call ptr @realloc(ptr %t59, i64 %t58) store ptr %t60, ptr %t48 store i32 %t54, ptr %t47 br label %put13 put13: %t61 = load ptr, ptr %t48 %t62 = getelementptr inbounds ptr, ptr %t61, i32 %t49 store ptr %t45, ptr %t62 %t63 = add i32 %t49, 1 store i32 %t63, ptr %t46 %t64 = load ptr, ptr %t17 %t65 = load ptr, ptr %t43 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 1 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t69 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 2 %t70 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t71 = load i32, ptr %t68 %t72 = load i32, ptr %t69 %t73 = icmp sge i32 %t71, %t72 br i1 %t73, label %grow14, label %put15 grow14: %t74 = mul i32 %t72, 2 %t75 = icmp eq i32 %t72, 0 %t76 = select i1 %t75, i32 8, i32 %t74 %t77 = getelementptr ptr, ptr null, i32 1 %t78 = ptrtoint ptr %t77 to i64 %t79 = zext i32 %t76 to i64 %t80 = mul i64 %t79, %t78 %t81 = load ptr, ptr %t70 %t82 = call ptr @realloc(ptr %t81, i64 %t80) store ptr %t82, ptr %t70 store i32 %t76, ptr %t69 br label %put15 put15: %t83 = load ptr, ptr %t70 %t84 = getelementptr inbounds ptr, ptr %t83, i32 %t71 store ptr %t67, ptr %t84 %t85 = add i32 %t71, 1 store i32 %t85, ptr %t68 %t86 = load ptr, ptr %t24 %t87 = load i32, ptr %t29 %t88 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 %t89 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 2 %t90 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 0 %t91 = load i32, ptr %t88 %t92 = load i32, ptr %t89 %t93 = icmp sge i32 %t91, %t92 br i1 %t93, label %grow16, label %put17 grow16: %t94 = mul i32 %t92, 2 %t95 = icmp eq i32 %t92, 0 %t96 = select i1 %t95, i32 8, i32 %t94 %t97 = getelementptr i32, ptr null, i32 1 %t98 = ptrtoint ptr %t97 to i64 %t99 = zext i32 %t96 to i64 %t100 = mul i64 %t99, %t98 %t101 = load ptr, ptr %t90 %t102 = call ptr @realloc(ptr %t101, i64 %t100) store ptr %t102, ptr %t90 store i32 %t96, ptr %t89 br label %put17 put17: %t103 = load ptr, ptr %t90 %t104 = getelementptr inbounds i32, ptr %t103, i32 %t91 store i32 %t87, ptr %t104 %t105 = add i32 %t91, 1 store i32 %t105, ptr %t88 call void @fn_skipnl() br label %wcond0 wend2: call void @fn_eat_op(ptr @.str346) %t106 = load ptr, ptr %t3 %t107 = call ptr @fn_ns_lower(ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str347) store ptr %t108, ptr %t109 store i32 0, ptr %t110 br label %wcond18 wcond18: %t111 = load i32, ptr %t110 %t112 = load ptr, ptr %t10 %t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 %t114 = load i32, ptr %t113 %t115 = icmp slt i32 %t111, %t114 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %wbody19, label %wend20 wbody19: %t118 = load ptr, ptr %t10 %t119 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = load i32, ptr %t110 %t122 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 %t123 = load i32, ptr %t122 %t124 = icmp ult i32 %t121, %t123 br i1 %t124, label %ixok21, label %ixbad22 ixbad22: %t125 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t125, ptr @.fmt_bounds, ptr @.str348, i32 %t121, i32 %t123) call void @exit(i32 1) unreachable ixok21: %t126 = getelementptr inbounds ptr, ptr %t120, i32 %t121 %t127 = load ptr, ptr %t126 %t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 1 %t129 = load ptr, ptr %t109 %t130 = load ptr, ptr %t17 %t131 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = load i32, ptr %t110 %t134 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t135 = load i32, ptr %t134 %t136 = icmp ult i32 %t133, %t135 br i1 %t136, label %ixok23, label %ixbad24 ixbad24: %t137 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str349, i32 %t133, i32 %t135) call void @exit(i32 1) unreachable ixok23: %t138 = getelementptr inbounds ptr, ptr %t132, i32 %t133 %t139 = load ptr, ptr %t138 %t140 = call ptr @lp_str_concat(ptr %t129, ptr %t139) store ptr %t140, ptr %t128 %t141 = load i32, ptr %t110 %t142 = add i32 %t141, 1 store i32 %t142, ptr %t110 br label %wcond18 wend20: store i32 0, ptr %t110 br label %wcond25 wcond25: %t143 = load i32, ptr %t110 %t144 = load ptr, ptr %t10 %t145 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1 %t146 = load i32, ptr %t145 %t147 = icmp slt i32 %t143, %t146 %t148 = zext i1 %t147 to i32 %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %wbody26, label %wend27 wbody26: %t150 = load ptr, ptr %t10 %t151 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0 %t152 = load ptr, ptr %t151 %t153 = load i32, ptr %t110 %t154 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 1 %t155 = load i32, ptr %t154 %t156 = icmp ult i32 %t153, %t155 br i1 %t156, label %ixok28, label %ixbad29 ixbad29: %t157 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str350, i32 %t153, i32 %t155) call void @exit(i32 1) unreachable ixok28: %t158 = getelementptr inbounds ptr, ptr %t152, i32 %t153 %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 4 %t161 = load ptr, ptr %t160 %t162 = load ptr, ptr %t17 %t163 = load ptr, ptr %t109 call void @fn_ns_rewrite_calls(ptr %t161, ptr %t162, ptr %t163) %t164 = load i32, ptr %t110 %t165 = add i32 %t164, 1 store i32 %t165, ptr %t110 br label %wcond25 wend27: %t166 = load ptr, ptr %t3 call void @fn_register_namespace(ptr %t166) %t167 = load ptr, ptr @g_g_ns_blocks %t168 = load ptr, ptr %t3 %t169 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 1 %t170 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 2 %t171 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 0 %t172 = load i32, ptr %t169 %t173 = load i32, ptr %t170 %t174 = icmp sge i32 %t172, %t173 br i1 %t174, label %grow30, label %put31 grow30: %t175 = mul i32 %t173, 2 %t176 = icmp eq i32 %t173, 0 %t177 = select i1 %t176, i32 8, i32 %t175 %t178 = getelementptr ptr, ptr null, i32 1 %t179 = ptrtoint ptr %t178 to i64 %t180 = zext i32 %t177 to i64 %t181 = mul i64 %t180, %t179 %t182 = load ptr, ptr %t171 %t183 = call ptr @realloc(ptr %t182, i64 %t181) store ptr %t183, ptr %t171 store i32 %t177, ptr %t170 br label %put31 put31: %t184 = load ptr, ptr %t171 %t185 = getelementptr inbounds ptr, ptr %t184, i32 %t172 store ptr %t168, ptr %t185 %t186 = add i32 %t172, 1 store i32 %t186, ptr %t169 store i32 0, ptr %t110 br label %wcond32 wcond32: %t187 = load i32, ptr %t110 %t188 = load ptr, ptr %t10 %t189 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 1 %t190 = load i32, ptr %t189 %t191 = icmp slt i32 %t187, %t190 %t192 = zext i1 %t191 to i32 %t193 = icmp ne i32 %t192, 0 br i1 %t193, label %wbody33, label %wend34 wbody33: %t194 = load ptr, ptr %t24 %t195 = getelementptr inbounds %LSlice, ptr %t194, i32 0, i32 0 %t196 = load ptr, ptr %t195 %t197 = load i32, ptr %t110 %t198 = getelementptr inbounds %LSlice, ptr %t194, i32 0, i32 1 %t199 = load i32, ptr %t198 %t200 = icmp ult i32 %t197, %t199 br i1 %t200, label %ixok35, label %ixbad36 ixbad36: %t201 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t201, ptr @.fmt_bounds, ptr @.str351, i32 %t197, i32 %t199) call void @exit(i32 1) unreachable ixok35: %t202 = getelementptr inbounds i32, ptr %t196, i32 %t197 %t203 = load i32, ptr %t202 %t204 = icmp eq i32 %t203, 1 %t205 = zext i1 %t204 to i32 %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %then37, label %ifend39 then37: %t207 = load ptr, ptr @g_g_ns_exports %t208 = load ptr, ptr %t10 %t209 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 0 %t210 = load ptr, ptr %t209 %t211 = load i32, ptr %t110 %t212 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 1 %t213 = load i32, ptr %t212 %t214 = icmp ult i32 %t211, %t213 br i1 %t214, label %ixok40, label %ixbad41 ixbad41: %t215 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t215, ptr @.fmt_bounds, ptr @.str352, i32 %t211, i32 %t213) call void @exit(i32 1) unreachable ixok40: %t216 = getelementptr inbounds ptr, ptr %t210, i32 %t211 %t217 = load ptr, ptr %t216 %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 1 %t219 = load ptr, ptr %t218 %t220 = getelementptr inbounds %LSlice, ptr %t207, i32 0, i32 1 %t221 = getelementptr inbounds %LSlice, ptr %t207, i32 0, i32 2 %t222 = getelementptr inbounds %LSlice, ptr %t207, i32 0, i32 0 %t223 = load i32, ptr %t220 %t224 = load i32, ptr %t221 %t225 = icmp sge i32 %t223, %t224 br i1 %t225, label %grow42, label %put43 grow42: %t226 = mul i32 %t224, 2 %t227 = icmp eq i32 %t224, 0 %t228 = select i1 %t227, i32 8, i32 %t226 %t229 = getelementptr ptr, ptr null, i32 1 %t230 = ptrtoint ptr %t229 to i64 %t231 = zext i32 %t228 to i64 %t232 = mul i64 %t231, %t230 %t233 = load ptr, ptr %t222 %t234 = call ptr @realloc(ptr %t233, i64 %t232) store ptr %t234, ptr %t222 store i32 %t228, ptr %t221 br label %put43 put43: %t235 = load ptr, ptr %t222 %t236 = getelementptr inbounds ptr, ptr %t235, i32 %t223 store ptr %t219, ptr %t236 %t237 = add i32 %t223, 1 store i32 %t237, ptr %t220 br label %ifend39 ifend39: %t238 = load ptr, ptr @g_prog %t239 = load ptr, ptr %t10 %t240 = getelementptr inbounds %LSlice, ptr %t239, i32 0, i32 0 %t241 = load ptr, ptr %t240 %t242 = load i32, ptr %t110 %t243 = getelementptr inbounds %LSlice, ptr %t239, i32 0, i32 1 %t244 = load i32, ptr %t243 %t245 = icmp ult i32 %t242, %t244 br i1 %t245, label %ixok44, label %ixbad45 ixbad45: %t246 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t246, ptr @.fmt_bounds, ptr @.str353, i32 %t242, i32 %t244) call void @exit(i32 1) unreachable ixok44: %t247 = getelementptr inbounds ptr, ptr %t241, i32 %t242 %t248 = load ptr, ptr %t247 %t249 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 1 %t250 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 2 %t251 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 0 %t252 = load i32, ptr %t249 %t253 = load i32, ptr %t250 %t254 = icmp sge i32 %t252, %t253 br i1 %t254, label %grow46, label %put47 grow46: %t255 = mul i32 %t253, 2 %t256 = icmp eq i32 %t253, 0 %t257 = select i1 %t256, i32 8, i32 %t255 %t258 = getelementptr ptr, ptr null, i32 1 %t259 = ptrtoint ptr %t258 to i64 %t260 = zext i32 %t257 to i64 %t261 = mul i64 %t260, %t259 %t262 = load ptr, ptr %t251 %t263 = call ptr @realloc(ptr %t262, i64 %t261) store ptr %t263, ptr %t251 store i32 %t257, ptr %t250 br label %put47 put47: %t264 = load ptr, ptr %t251 %t265 = getelementptr inbounds ptr, ptr %t264, i32 %t252 store ptr %t248, ptr %t265 %t266 = add i32 %t252, 1 store i32 %t266, ptr %t249 %t267 = load i32, ptr %t110 %t268 = add i32 %t267, 1 store i32 %t268, ptr %t110 br label %wcond32 wend34: br label %ret ret: ret void } define i32 @fn_host_is_windows() { entry: %retval = alloca i32 %t1 = alloca ptr %t0 = call ptr @getenv(ptr @.str354) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp eq ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: store i32 0, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t1 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str355) store i32 %t7, ptr %retval br label %ret ret: %t8 = load i32, ptr %retval ret i32 %t8 } define i32 @fn_is_sep(i32 %arg_c) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 store i32 %arg_c, ptr %t0 %t2 = load i32, ptr %t0 %t3 = icmp eq i32 %t2, 47 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t1 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load i32, ptr %t0 %t8 = icmp eq i32 %t7, 92 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t1 br label %scend1 scend1: %t12 = load i32, ptr %t1 store i32 %t12, ptr %retval br label %ret ret: %t13 = load i32, ptr %retval ret i32 %t13 } define ptr @fn_fwd_slashes(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 %t9 = alloca ptr %t10 = alloca i32 store ptr %arg_s, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i64 @strlen(ptr %t1) %t3 = trunc i64 %t2 to i32 store i32 %t3, ptr %t4 %t5 = load i32, ptr %t4 %t6 = add i32 %t5, 1 %t7 = zext i32 %t6 to i64 %t8 = call ptr @malloc(i64 %t7) store ptr %t8, ptr %t9 store i32 0, ptr %t10 br label %wcond0 wcond0: %t11 = load i32, ptr %t10 %t12 = load i32, ptr %t4 %t13 = icmp slt i32 %t11, %t12 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %wbody1, label %wend2 wbody1: %t16 = load ptr, ptr %t0 %t17 = load i32, ptr %t10 %t18 = getelementptr inbounds i8, ptr %t16, i32 %t17 %t19 = load i8, ptr %t18 %t20 = zext i8 %t19 to i32 %t21 = icmp eq i32 %t20, 92 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %else4 then3: %t24 = load ptr, ptr %t9 %t25 = load i32, ptr %t10 %t26 = getelementptr inbounds i8, ptr %t24, i32 %t25 %t27 = trunc i32 47 to i8 store i8 %t27, ptr %t26 br label %ifend5 else4: %t28 = load ptr, ptr %t9 %t29 = load i32, ptr %t10 %t30 = getelementptr inbounds i8, ptr %t28, i32 %t29 %t31 = load ptr, ptr %t0 %t32 = load i32, ptr %t10 %t33 = getelementptr inbounds i8, ptr %t31, i32 %t32 %t34 = load i8, ptr %t33 %t35 = zext i8 %t34 to i32 %t36 = trunc i32 %t35 to i8 store i8 %t36, ptr %t30 br label %ifend5 ifend5: %t37 = load i32, ptr %t10 %t38 = add i32 %t37, 1 store i32 %t38, ptr %t10 br label %wcond0 wend2: %t39 = load ptr, ptr %t9 %t40 = load i32, ptr %t4 %t41 = getelementptr inbounds i8, ptr %t39, i32 %t40 %t42 = trunc i32 0 to i8 store i8 %t42, ptr %t41 %t43 = load ptr, ptr %t9 store ptr %t43, ptr %retval br label %ret ret: %t44 = load ptr, ptr %retval ret ptr %t44 } define ptr @fn_dir_of(ptr %arg_path) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_path, ptr %t0 %t1 = sub i32 0, 1 store i32 %t1, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load ptr, ptr %t0 %t5 = load i32, ptr %t3 %t6 = getelementptr inbounds i8, ptr %t4, i32 %t5 %t7 = load i8, ptr %t6 %t8 = zext i8 %t7 to i32 %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t12 = load ptr, ptr %t0 %t13 = load i32, ptr %t3 %t14 = getelementptr inbounds i8, ptr %t12, i32 %t13 %t15 = load i8, ptr %t14 %t16 = zext i8 %t15 to i32 %t17 = call i32 @fn_is_sep(i32 %t16) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t19 = load i32, ptr %t3 store i32 %t19, ptr %t2 br label %ifend5 ifend5: %t20 = load i32, ptr %t3 %t21 = add i32 %t20, 1 store i32 %t21, ptr %t3 br label %wcond0 wend2: %t22 = load i32, ptr %t2 %t23 = icmp slt i32 %t22, 0 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then6, label %ifend8 then6: store ptr @.str356, ptr %retval br label %ret ifend8: %t26 = load ptr, ptr %t0 %t27 = load i32, ptr %t2 %t28 = add i32 %t27, 1 %t29 = call ptr @lp_str_slice(ptr %t26, i32 0, i32 %t28) store ptr %t29, ptr %retval br label %ret ret: %t30 = load ptr, ptr %retval ret ptr %t30 } define ptr @fn_join_path(ptr %arg_dir, ptr %arg_rel) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_dir, ptr %t0 store ptr %arg_rel, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds i8, ptr %t2, i32 0 %t4 = load i8, ptr %t3 %t5 = zext i8 %t4 to i32 %t6 = call i32 @fn_is_sep(i32 %t5) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t1 store ptr %t8, ptr %retval br label %ret ifend2: %t9 = load ptr, ptr %t1 %t10 = getelementptr inbounds i8, ptr %t9, i32 0 %t11 = load i8, ptr %t10 %t12 = zext i8 %t11 to i32 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then3, label %ifend5 then3: %t16 = load ptr, ptr %t1 %t17 = getelementptr inbounds i8, ptr %t16, i32 1 %t18 = load i8, ptr %t17 %t19 = zext i8 %t18 to i32 %t20 = icmp eq i32 %t19, 58 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then6, label %ifend8 then6: %t23 = load ptr, ptr %t1 store ptr %t23, ptr %retval br label %ret ifend8: br label %ifend5 ifend5: %t24 = load ptr, ptr %t0 %t25 = load ptr, ptr %t1 %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) store ptr %t26, ptr %retval br label %ret ret: %t27 = load ptr, ptr %retval ret ptr %t27 } define ptr @fn_ludic_home() { entry: %retval = alloca ptr %t1 = alloca ptr %t14 = alloca ptr %t32 = alloca i32 %t0 = call ptr @getenv(ptr @.str357) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp ne ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t1 %t7 = call ptr @fn_fwd_slashes(ptr %t6) %t8 = call ptr @fn_ensure_slash(ptr %t7) store ptr %t8, ptr %retval br label %ret ifend2: %t9 = load ptr, ptr @L_argv %t10 = getelementptr ptr, ptr %t9, i32 0 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_dir_of(ptr %t11) %t13 = call ptr @fn_fwd_slashes(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = call i64 @strlen(ptr %t15) %t17 = trunc i64 %t16 to i32 %t18 = icmp eq i32 %t17, 0 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load ptr, ptr @L_argv %t22 = getelementptr ptr, ptr %t21, i32 0 %t23 = load ptr, ptr %t22 %t24 = call ptr @fn_base_name(ptr %t23) %t25 = call ptr @fn_path_lookup_dir(ptr %t24) store ptr %t25, ptr %t14 br label %ifend5 ifend5: %t26 = load ptr, ptr %t14 %t27 = call i64 @strlen(ptr %t26) %t28 = trunc i64 %t27 to i32 %t29 = icmp eq i32 %t28, 0 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then6, label %ifend8 then6: store ptr @.str358, ptr %retval br label %ret ifend8: %t33 = load ptr, ptr %t14 %t34 = call i64 @strlen(ptr %t33) %t35 = trunc i64 %t34 to i32 %t36 = icmp sge i32 %t35, 4 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t32 br i1 %t38, label %sc9, label %scend10 sc9: %t40 = load ptr, ptr %t14 %t41 = load ptr, ptr %t14 %t42 = call i64 @strlen(ptr %t41) %t43 = trunc i64 %t42 to i32 %t44 = sub i32 %t43, 4 %t45 = load ptr, ptr %t14 %t46 = call i64 @strlen(ptr %t45) %t47 = trunc i64 %t46 to i32 %t48 = call ptr @lp_str_slice(ptr %t40, i32 %t44, i32 %t47) %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str359) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t32 br label %scend10 scend10: %t52 = load i32, ptr %t32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then11, label %ifend13 then11: %t54 = load ptr, ptr %t14 %t55 = load ptr, ptr %t14 %t56 = call i64 @strlen(ptr %t55) %t57 = trunc i64 %t56 to i32 %t58 = sub i32 %t57, 4 %t59 = call ptr @lp_str_slice(ptr %t54, i32 0, i32 %t58) store ptr %t59, ptr %retval br label %ret ifend13: %t60 = load ptr, ptr %t14 store ptr %t60, ptr %retval br label %ret ret: %t61 = load ptr, ptr %retval ret ptr %t61 } define ptr @fn_path_lookup_dir(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t8 = alloca i32 %t9 = alloca i32 %t15 = alloca i32 %t16 = alloca i32 %t17 = alloca i32 %t23 = alloca i32 %t53 = alloca ptr %t58 = alloca ptr %t72 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = call ptr @getenv(ptr @.str360) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = icmp eq ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store ptr @.str361, ptr %retval br label %ret ifend2: %t7 = call i32 @fn_host_is_windows() store i32 %t7, ptr %t8 store i32 58, ptr %t9 %t10 = load i32, ptr %t8 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: store i32 59, ptr %t9 br label %ifend5 ifend5: %t12 = load ptr, ptr %t2 %t13 = call i64 @strlen(ptr %t12) %t14 = trunc i64 %t13 to i32 store i32 %t14, ptr %t15 store i32 0, ptr %t16 store i32 0, ptr %t17 br label %wcond6 wcond6: %t18 = load i32, ptr %t17 %t19 = load i32, ptr %t15 %t20 = icmp sle i32 %t18, %t19 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %wbody7, label %wend8 wbody7: %t24 = load i32, ptr %t17 %t25 = load i32, ptr %t15 %t26 = icmp eq i32 %t24, %t25 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t23 br i1 %t28, label %scend10, label %sc9 sc9: %t30 = load ptr, ptr %t2 %t31 = load i32, ptr %t17 %t32 = getelementptr inbounds i8, ptr %t30, i32 %t31 %t33 = load i8, ptr %t32 %t34 = zext i8 %t33 to i32 %t35 = load i32, ptr %t9 %t36 = icmp eq i32 %t34, %t35 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t23 br label %scend10 scend10: %t40 = load i32, ptr %t23 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then11, label %ifend13 then11: %t42 = load i32, ptr %t17 %t43 = load i32, ptr %t16 %t44 = icmp sgt i32 %t42, %t43 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then14, label %ifend16 then14: %t47 = load ptr, ptr %t2 %t48 = load i32, ptr %t16 %t49 = load i32, ptr %t17 %t50 = call ptr @lp_str_slice(ptr %t47, i32 %t48, i32 %t49) %t51 = call ptr @fn_fwd_slashes(ptr %t50) %t52 = call ptr @fn_ensure_slash(ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t53 %t55 = load ptr, ptr %t0 %t56 = call ptr @lp_str_concat(ptr %t54, ptr %t55) %t57 = call ptr @lp_pak_open(ptr %t56, ptr @.str362) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = icmp ne ptr %t59, null %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then17, label %ifend19 then17: %t63 = load ptr, ptr %t58 call i32 @fclose(ptr %t63) %t64 = load ptr, ptr %t53 store ptr %t64, ptr %retval br label %ret ifend19: %t65 = load i32, ptr %t8 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then20, label %ifend22 then20: %t67 = load ptr, ptr %t53 %t68 = load ptr, ptr %t0 %t69 = call ptr @lp_str_concat(ptr %t67, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str363) %t71 = call ptr @lp_pak_open(ptr %t70, ptr @.str364) store ptr %t71, ptr %t72 %t73 = load ptr, ptr %t72 %t74 = icmp ne ptr %t73, null %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then23, label %ifend25 then23: %t77 = load ptr, ptr %t72 call i32 @fclose(ptr %t77) %t78 = load ptr, ptr %t53 store ptr %t78, ptr %retval br label %ret ifend25: br label %ifend22 ifend22: br label %ifend16 ifend16: %t79 = load i32, ptr %t17 %t80 = add i32 %t79, 1 store i32 %t80, ptr %t16 br label %ifend13 ifend13: %t81 = load i32, ptr %t17 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t17 br label %wcond6 wend8: store ptr @.str365, ptr %retval br label %ret ret: %t83 = load ptr, ptr %retval ret ptr %t83 } define void @fn_warn_draw_sprite(ptr %arg_name) { entry: %t0 = alloca ptr %t6 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load i32, ptr @g_g_warned_draw_sprite %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %then0, label %ifend2 then0: br label %ret ifend2: store i32 1, ptr @g_g_warned_draw_sprite %t3 = load ptr, ptr %t0 %t4 = call ptr @lp_str_concat(ptr @.str366, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str367) store ptr %t5, ptr %t6 %t7 = load ptr, ptr @__stderrp %t8 = load ptr, ptr %t6 %t9 = load ptr, ptr %t6 %t10 = call i64 @strlen(ptr %t9) %t11 = trunc i64 %t10 to i32 %t12 = zext i32 %t11 to i64 %t13 = call i64 @fwrite(ptr %t8, i64 1, i64 %t12, ptr %t7) %t14 = trunc i64 %t13 to i32 br label %ret ret: ret void } define i32 @fn_is_ns_block(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_ns_blocks %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_ns_blocks %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str368, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t18, ptr %t19) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define i32 @fn_ns_export_has(ptr %arg_prefixed) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_prefixed, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_ns_exports %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_ns_exports %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str369, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t18, ptr %t19) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define i32 @fn_is_system_disabled(ptr %arg_fn) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_fn, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_disabled_sys %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_disabled_sys %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str370, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t18, ptr %t19) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define void @fn_register_namespace(ptr %arg_name) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_namespaces %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_namespaces %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str371, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t18, ptr %t19) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: %t24 = load ptr, ptr @g_g_namespaces %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 2 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t29 = load i32, ptr %t26 %t30 = load i32, ptr %t27 %t31 = icmp sge i32 %t29, %t30 br i1 %t31, label %grow8, label %put9 grow8: %t32 = mul i32 %t30, 2 %t33 = icmp eq i32 %t30, 0 %t34 = select i1 %t33, i32 8, i32 %t32 %t35 = getelementptr ptr, ptr null, i32 1 %t36 = ptrtoint ptr %t35 to i64 %t37 = zext i32 %t34 to i64 %t38 = mul i64 %t37, %t36 %t39 = load ptr, ptr %t28 %t40 = call ptr @realloc(ptr %t39, i64 %t38) store ptr %t40, ptr %t28 store i32 %t34, ptr %t27 br label %put9 put9: %t41 = load ptr, ptr %t28 %t42 = getelementptr inbounds ptr, ptr %t41, i32 %t29 store ptr %t25, ptr %t42 %t43 = add i32 %t29, 1 store i32 %t43, ptr %t26 br label %ret ret: ret void } define i32 @fn_is_registered_namespace(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_namespaces %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_namespaces %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str372, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t18, ptr %t19) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define i32 @fn_already_loaded(ptr %arg_full) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_full, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_loaded_paths %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_loaded_paths %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str373, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t18, ptr %t19) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define void @fn_parse_one_decl() { entry: %t0 = alloca i32 %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr %t6 = alloca ptr %t7 = alloca ptr %t8 = alloca ptr %t9 = alloca ptr %t10 = alloca i32 %t11 = alloca ptr %t12 = alloca i32 %t13 = alloca i32 %t14 = alloca ptr %t15 = alloca ptr %t16 = alloca ptr %t17 = alloca ptr %t18 = alloca ptr %t19 = alloca ptr %t20 = alloca i32 %t26 = alloca ptr %t121 = alloca i32 %t137 = alloca i32 %t200 = alloca ptr %t210 = alloca ptr %t239 = alloca ptr %t251 = alloca ptr %t254 = alloca i32 %t302 = alloca ptr %t354 = alloca ptr %t499 = alloca ptr %t616 = alloca ptr store i32 0, ptr %t0 store ptr null, ptr %t1 store ptr null, ptr %t2 store ptr null, ptr %t3 store ptr null, ptr %t4 store ptr null, ptr %t5 store ptr null, ptr %t6 store ptr null, ptr %t7 store ptr null, ptr %t8 store ptr null, ptr %t9 store i32 0, ptr %t10 store ptr null, ptr %t11 store i32 0, ptr %t12 store i32 0, ptr %t13 store ptr null, ptr %t14 store ptr null, ptr %t15 store ptr null, ptr %t16 store ptr null, ptr %t17 store ptr null, ptr %t18 store ptr null, ptr %t19 store i32 0, ptr %t20 br label %wcond0 wcond0: %t21 = call i32 @fn_is_op(ptr @.str374) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %wbody1, label %wend2 wbody1: %t23 = load i32, ptr @g_pi %t24 = add i32 %t23, 1 store i32 %t24, ptr @g_pi %t25 = call ptr @fn_eat_id() store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str375) %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then3, label %else4 then3: store i32 1, ptr %t0 br label %ifend5 else4: %t30 = load ptr, ptr %t26 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str376) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then6, label %else7 then6: store i32 1, ptr %t10 br label %ifend8 else7: %t33 = load ptr, ptr %t26 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str377) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then9, label %else10 then9: call void @fn_eat_op(ptr @.str378) %t36 = call ptr @fn_eat_id() store ptr %t36, ptr %t9 call void @fn_eat_op(ptr @.str379) br label %ifend11 else10: %t37 = load ptr, ptr %t26 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str380) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then12, label %else13 then12: %t40 = call ptr @fn_parse_queries_anno() store ptr %t40, ptr %t1 br label %ifend14 else13: %t41 = load ptr, ptr %t26 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str381) %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then15, label %else16 then15: call void @fn_eat_op(ptr @.str382) %t44 = call ptr @fn_eat_id() store ptr %t44, ptr %t2 call void @fn_eat_op(ptr @.str383) br label %ifend17 else16: %t45 = load ptr, ptr %t26 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str384) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then18, label %else19 then18: call void @fn_eat_op(ptr @.str385) %t48 = call ptr @fn_eat_id() store ptr %t48, ptr %t3 %t49 = call i32 @fn_is_op(ptr @.str386) %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then21, label %ifend23 then21: %t51 = load i32, ptr @g_pi %t52 = add i32 %t51, 1 store i32 %t52, ptr @g_pi %t53 = call ptr @fn_eat_id() call void @fn_eat_op(ptr @.str387) %t54 = call ptr @fn_eat_id() store ptr %t54, ptr %t4 br label %ifend23 ifend23: call void @fn_eat_op(ptr @.str388) br label %ifend20 else19: %t55 = load ptr, ptr %t26 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str389) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then24, label %else25 then24: call void @fn_eat_op(ptr @.str390) %t58 = call ptr @fn_eat_id() store ptr %t58, ptr %t5 call void @fn_eat_op(ptr @.str391) br label %ifend26 else25: %t59 = load ptr, ptr %t26 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str392) %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then27, label %else28 then27: call void @fn_eat_op(ptr @.str393) %t62 = call ptr @fn_eat_id() store ptr %t62, ptr %t6 call void @fn_eat_op(ptr @.str394) br label %ifend29 else28: %t63 = load ptr, ptr %t26 %t64 = call i32 @lp_str_eq(ptr %t63, ptr @.str395) %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then30, label %else31 then30: call void @fn_eat_op(ptr @.str396) %t66 = call ptr @fn_eat_id() store ptr %t66, ptr %t7 call void @fn_eat_op(ptr @.str397) br label %ifend32 else31: %t67 = load ptr, ptr %t26 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str398) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then33, label %else34 then33: call void @fn_eat_op(ptr @.str399) %t70 = call ptr @fn_eat_id() store ptr %t70, ptr %t8 call void @fn_eat_op(ptr @.str400) br label %ifend35 else34: %t71 = load ptr, ptr %t26 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str401) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then36, label %else37 then36: store ptr @.str402, ptr %t11 br label %ifend38 else37: %t74 = load ptr, ptr %t26 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str403) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then39, label %else40 then39: store ptr @.str404, ptr %t11 br label %ifend41 else40: %t77 = load ptr, ptr %t26 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str405) %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then42, label %else43 then42: store i32 1, ptr %t12 br label %ifend44 else43: %t80 = load ptr, ptr %t26 %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str406) %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then45, label %else46 then45: store i32 1, ptr %t13 br label %ifend47 else46: %t83 = load ptr, ptr %t26 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str407) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then48, label %else49 then48: store ptr @.str408, ptr %t14 br label %ifend50 else49: %t86 = load ptr, ptr %t26 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str409) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then51, label %else52 then51: store ptr @.str410, ptr %t14 br label %ifend53 else52: %t89 = load ptr, ptr %t26 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str411) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then54, label %else55 then54: store ptr @.str412, ptr %t15 br label %ifend56 else55: %t92 = load ptr, ptr %t26 %t93 = call i32 @lp_str_eq(ptr %t92, ptr @.str413) %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then57, label %else58 then57: store ptr @.str414, ptr %t15 br label %ifend59 else58: %t95 = load ptr, ptr %t26 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str415) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then60, label %else61 then60: store ptr @.str416, ptr %t16 %t98 = call i32 @fn_is_op(ptr @.str417) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then63, label %ifend65 then63: %t100 = load i32, ptr @g_pi %t101 = add i32 %t100, 1 store i32 %t101, ptr @g_pi %t102 = call ptr @fn_eat_id() store ptr %t102, ptr %t16 call void @fn_eat_op(ptr @.str418) br label %ifend65 ifend65: br label %ifend62 else61: %t103 = load ptr, ptr %t26 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str419) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then66, label %else67 then66: call void @fn_eat_op(ptr @.str420) %t106 = call ptr @fn_eat_id() store ptr %t106, ptr %t17 call void @fn_eat_op(ptr @.str421) %t107 = call ptr @fn_eat_id() store ptr %t107, ptr %t18 call void @fn_eat_op(ptr @.str422) br label %ifend68 else67: %t108 = load ptr, ptr %t26 %t109 = call i32 @lp_str_eq(ptr %t108, ptr @.str423) %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then69, label %else70 then69: call void @fn_eat_op(ptr @.str424) %t111 = call ptr @fn_eat_id() store ptr %t111, ptr %t19 call void @fn_eat_op(ptr @.str425) br label %ifend71 else70: %t112 = load ptr, ptr %t26 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str426) %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then72, label %else73 then72: store i32 1, ptr %t20 br label %ifend74 else73: %t115 = load ptr, ptr %t26 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str427) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then75, label %else76 then75: call void @fn_eat_op(ptr @.str428) %t118 = call ptr @fn_expr() store ptr %t118, ptr @g_g_clear_color store i32 1, ptr @g_g_has_clear_color call void @fn_eat_op(ptr @.str429) br label %ifend77 else76: %t119 = call i32 @fn_is_op(ptr @.str430) %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then78, label %ifend80 then78: store i32 0, ptr %t121 br label %wcond81 wcond81: %t122 = icmp ne i32 1, 0 br i1 %t122, label %wbody82, label %wend83 wbody82: %t123 = call i32 @fn_is_op(ptr @.str431) %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then84, label %ifend86 then84: %t125 = load i32, ptr %t121 %t126 = add i32 %t125, 1 store i32 %t126, ptr %t121 br label %ifend86 ifend86: %t127 = call i32 @fn_is_op(ptr @.str432) %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then87, label %ifend89 then87: %t129 = load i32, ptr %t121 %t130 = sub i32 %t129, 1 store i32 %t130, ptr %t121 br label %ifend89 ifend89: %t131 = load i32, ptr @g_pi %t132 = add i32 %t131, 1 store i32 %t132, ptr @g_pi %t133 = load i32, ptr %t121 %t134 = icmp eq i32 %t133, 0 %t135 = zext i1 %t134 to i32 %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then90, label %ifend92 then90: br label %wend83 ifend92: br label %wcond81 wend83: br label %ifend80 ifend80: br label %ifend77 ifend77: br label %ifend74 ifend74: br label %ifend71 ifend71: br label %ifend68 ifend68: br label %ifend62 ifend62: br label %ifend59 ifend59: br label %ifend56 ifend56: br label %ifend53 ifend53: br label %ifend50 ifend50: br label %ifend47 ifend47: br label %ifend44 ifend44: br label %ifend41 ifend41: br label %ifend38 ifend38: br label %ifend35 ifend35: br label %ifend32 ifend32: br label %ifend29 ifend29: br label %ifend26 ifend26: br label %ifend20 ifend20: br label %ifend17 ifend17: br label %ifend14 ifend14: br label %ifend11 ifend11: br label %ifend8 ifend8: br label %ifend5 ifend5: call void @fn_skipnl() br label %wcond0 wend2: %t138 = call i32 @fn_is_id(ptr @.str433) %t139 = icmp ne i32 %t138, 0 %t140 = zext i1 %t139 to i32 store i32 %t140, ptr %t137 br i1 %t139, label %sc93, label %scend94 sc93: %t141 = load ptr, ptr @g_toks %t142 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = load i32, ptr @g_pi %t145 = add i32 %t144, 1 %t146 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t147 = load i32, ptr %t146 %t148 = icmp ult i32 %t145, %t147 br i1 %t148, label %ixok95, label %ixbad96 ixbad96: %t149 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str434, i32 %t145, i32 %t147) call void @exit(i32 1) unreachable ixok95: %t150 = getelementptr inbounds ptr, ptr %t143, i32 %t145 %t151 = load ptr, ptr %t150 %t152 = getelementptr inbounds %Cmp_Tok, ptr %t151, i32 0, i32 1 %t153 = load ptr, ptr %t152 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str435) %t155 = icmp ne i32 %t154, 0 %t156 = zext i1 %t155 to i32 store i32 %t156, ptr %t137 br label %scend94 scend94: %t157 = load i32, ptr %t137 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then97, label %ifend99 then97: %t159 = load i32, ptr @g_pi %t160 = add i32 %t159, 2 store i32 %t160, ptr @g_pi %t161 = load ptr, ptr @g_g_parse_file %t162 = call i32 @fn_is_float_file(ptr %t161) %t163 = icmp eq i32 %t162, 0 %t164 = zext i1 %t163 to i32 %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then100, label %ifend102 then100: %t166 = load ptr, ptr @g_g_float_files %t167 = load ptr, ptr @g_g_parse_file %t168 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 1 %t169 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 2 %t170 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0 %t171 = load i32, ptr %t168 %t172 = load i32, ptr %t169 %t173 = icmp sge i32 %t171, %t172 br i1 %t173, label %grow103, label %put104 grow103: %t174 = mul i32 %t172, 2 %t175 = icmp eq i32 %t172, 0 %t176 = select i1 %t175, i32 8, i32 %t174 %t177 = getelementptr ptr, ptr null, i32 1 %t178 = ptrtoint ptr %t177 to i64 %t179 = zext i32 %t176 to i64 %t180 = mul i64 %t179, %t178 %t181 = load ptr, ptr %t170 %t182 = call ptr @realloc(ptr %t181, i64 %t180) store ptr %t182, ptr %t170 store i32 %t176, ptr %t169 br label %put104 put104: %t183 = load ptr, ptr %t170 %t184 = getelementptr inbounds ptr, ptr %t183, i32 %t171 store ptr %t167, ptr %t184 %t185 = add i32 %t171, 1 store i32 %t185, ptr %t168 br label %ifend102 ifend102: br label %ret ifend99: %t186 = call i32 @fn_is_id(ptr @.str436) %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then105, label %ifend107 then105: %t188 = load i32, ptr @g_pi %t189 = add i32 %t188, 1 store i32 %t189, ptr @g_pi %t190 = load ptr, ptr @g_toks %t191 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 0 %t192 = load ptr, ptr %t191 %t193 = load i32, ptr @g_pi %t194 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 1 %t195 = load i32, ptr %t194 %t196 = icmp ult i32 %t193, %t195 br i1 %t196, label %ixok108, label %ixbad109 ixbad109: %t197 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t197, ptr @.fmt_bounds, ptr @.str437, i32 %t193, i32 %t195) call void @exit(i32 1) unreachable ixok108: %t198 = getelementptr inbounds ptr, ptr %t192, i32 %t193 %t199 = load ptr, ptr %t198 store ptr %t199, ptr %t200 %t201 = load ptr, ptr %t200 %t202 = getelementptr inbounds %Cmp_Tok, ptr %t201, i32 0, i32 0 %t203 = load i32, ptr %t202 %t204 = icmp ne i32 %t203, 2 %t205 = zext i1 %t204 to i32 %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %then110, label %ifend112 then110: call void @fn_perr(ptr @.str438) br label %ifend112 ifend112: %t207 = load ptr, ptr %t200 %t208 = getelementptr inbounds %Cmp_Tok, ptr %t207, i32 0, i32 1 %t209 = load ptr, ptr %t208 store ptr %t209, ptr %t210 %t211 = load i32, ptr @g_pi %t212 = add i32 %t211, 1 store i32 %t212, ptr @g_pi %t213 = load ptr, ptr %t210 call void @fn_do_import(ptr %t213) br label %ret ifend107: %t214 = call i32 @fn_is_id(ptr @.str439) %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %then113, label %ifend115 then113: %t216 = load ptr, ptr @g_prog %t217 = call ptr @fn_parse_enum() %t218 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 1 %t219 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 2 %t220 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 0 %t221 = load i32, ptr %t218 %t222 = load i32, ptr %t219 %t223 = icmp sge i32 %t221, %t222 br i1 %t223, label %grow116, label %put117 grow116: %t224 = mul i32 %t222, 2 %t225 = icmp eq i32 %t222, 0 %t226 = select i1 %t225, i32 8, i32 %t224 %t227 = getelementptr ptr, ptr null, i32 1 %t228 = ptrtoint ptr %t227 to i64 %t229 = zext i32 %t226 to i64 %t230 = mul i64 %t229, %t228 %t231 = load ptr, ptr %t220 %t232 = call ptr @realloc(ptr %t231, i64 %t230) store ptr %t232, ptr %t220 store i32 %t226, ptr %t219 br label %put117 put117: %t233 = load ptr, ptr %t220 %t234 = getelementptr inbounds ptr, ptr %t233, i32 %t221 store ptr %t217, ptr %t234 %t235 = add i32 %t221, 1 store i32 %t235, ptr %t218 br label %ret ifend115: %t236 = call i32 @fn_is_id(ptr @.str440) %t237 = icmp ne i32 %t236, 0 br i1 %t237, label %then118, label %ifend120 then118: %t238 = call ptr @fn_parse_event() store ptr %t238, ptr %t239 %t240 = load ptr, ptr %t15 %t241 = icmp ne ptr %t240, null %t242 = zext i1 %t241 to i32 %t243 = icmp ne i32 %t242, 0 br i1 %t243, label %then121, label %ifend123 then121: %t244 = load ptr, ptr %t239 %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 3 %t246 = load ptr, ptr %t15 store ptr %t246, ptr %t245 br label %ifend123 ifend123: %t247 = load ptr, ptr %t239 call void @fn_register_event(ptr %t247) br label %ret ifend120: %t248 = call i32 @fn_is_id(ptr @.str441) %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then124, label %ifend126 then124: %t250 = call ptr @fn_parse_component() store ptr %t250, ptr %t251 %t252 = load i32, ptr %t12 %t253 = icmp ne i32 %t252, 0 br i1 %t253, label %then127, label %ifend129 then127: store i32 0, ptr %t254 br label %wcond130 wcond130: %t255 = load i32, ptr %t254 %t256 = load ptr, ptr %t251 %t257 = getelementptr inbounds %Cmp_Node, ptr %t256, i32 0, i32 7 %t258 = load ptr, ptr %t257 %t259 = getelementptr inbounds %LSlice, ptr %t258, i32 0, i32 1 %t260 = load i32, ptr %t259 %t261 = icmp slt i32 %t255, %t260 %t262 = zext i1 %t261 to i32 %t263 = icmp ne i32 %t262, 0 br i1 %t263, label %wbody131, label %wend132 wbody131: %t264 = load ptr, ptr %t251 %t265 = getelementptr inbounds %Cmp_Node, ptr %t264, i32 0, i32 7 %t266 = load ptr, ptr %t265 %t267 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 0 %t268 = load ptr, ptr %t267 %t269 = load i32, ptr %t254 %t270 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 1 %t271 = load i32, ptr %t270 %t272 = icmp ult i32 %t269, %t271 br i1 %t272, label %ixok133, label %ixbad134 ixbad134: %t273 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t273, ptr @.fmt_bounds, ptr @.str442, i32 %t269, i32 %t271) call void @exit(i32 1) unreachable ixok133: %t274 = getelementptr inbounds ptr, ptr %t268, i32 %t269 %t275 = load ptr, ptr %t274 %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 2 store i32 1, ptr %t276 %t277 = load i32, ptr %t254 %t278 = add i32 %t277, 1 store i32 %t278, ptr %t254 br label %wcond130 wend132: br label %ifend129 ifend129: %t279 = load ptr, ptr @g_prog %t280 = load ptr, ptr %t251 %t281 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 1 %t282 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 2 %t283 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 0 %t284 = load i32, ptr %t281 %t285 = load i32, ptr %t282 %t286 = icmp sge i32 %t284, %t285 br i1 %t286, label %grow135, label %put136 grow135: %t287 = mul i32 %t285, 2 %t288 = icmp eq i32 %t285, 0 %t289 = select i1 %t288, i32 8, i32 %t287 %t290 = getelementptr ptr, ptr null, i32 1 %t291 = ptrtoint ptr %t290 to i64 %t292 = zext i32 %t289 to i64 %t293 = mul i64 %t292, %t291 %t294 = load ptr, ptr %t283 %t295 = call ptr @realloc(ptr %t294, i64 %t293) store ptr %t295, ptr %t283 store i32 %t289, ptr %t282 br label %put136 put136: %t296 = load ptr, ptr %t283 %t297 = getelementptr inbounds ptr, ptr %t296, i32 %t284 store ptr %t280, ptr %t297 %t298 = add i32 %t284, 1 store i32 %t298, ptr %t281 br label %ret ifend126: %t299 = call i32 @fn_is_id(ptr @.str443) %t300 = icmp ne i32 %t299, 0 br i1 %t300, label %then137, label %ifend139 then137: %t301 = call ptr @fn_parse_archetype() store ptr %t301, ptr %t302 %t303 = load i32, ptr %t13 %t304 = icmp ne i32 %t303, 0 br i1 %t304, label %then140, label %ifend142 then140: %t305 = load ptr, ptr %t302 %t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 2 store i32 1, ptr %t306 br label %ifend142 ifend142: %t307 = load ptr, ptr @g_prog %t308 = load ptr, ptr %t302 %t309 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 1 %t310 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 2 %t311 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0 %t312 = load i32, ptr %t309 %t313 = load i32, ptr %t310 %t314 = icmp sge i32 %t312, %t313 br i1 %t314, label %grow143, label %put144 grow143: %t315 = mul i32 %t313, 2 %t316 = icmp eq i32 %t313, 0 %t317 = select i1 %t316, i32 8, i32 %t315 %t318 = getelementptr ptr, ptr null, i32 1 %t319 = ptrtoint ptr %t318 to i64 %t320 = zext i32 %t317 to i64 %t321 = mul i64 %t320, %t319 %t322 = load ptr, ptr %t311 %t323 = call ptr @realloc(ptr %t322, i64 %t321) store ptr %t323, ptr %t311 store i32 %t317, ptr %t310 br label %put144 put144: %t324 = load ptr, ptr %t311 %t325 = getelementptr inbounds ptr, ptr %t324, i32 %t312 store ptr %t308, ptr %t325 %t326 = add i32 %t312, 1 store i32 %t326, ptr %t309 br label %ret ifend139: %t327 = call i32 @fn_is_id(ptr @.str444) %t328 = icmp ne i32 %t327, 0 br i1 %t328, label %then145, label %ifend147 then145: call void @fn_parse_scene() br label %ret ifend147: %t329 = call i32 @fn_is_id(ptr @.str445) %t330 = icmp ne i32 %t329, 0 br i1 %t330, label %then148, label %ifend150 then148: %t331 = load ptr, ptr @g_prog %t332 = call ptr @fn_parse_prefab() %t333 = getelementptr inbounds %LSlice, ptr %t331, i32 0, i32 1 %t334 = getelementptr inbounds %LSlice, ptr %t331, i32 0, i32 2 %t335 = getelementptr inbounds %LSlice, ptr %t331, i32 0, i32 0 %t336 = load i32, ptr %t333 %t337 = load i32, ptr %t334 %t338 = icmp sge i32 %t336, %t337 br i1 %t338, label %grow151, label %put152 grow151: %t339 = mul i32 %t337, 2 %t340 = icmp eq i32 %t337, 0 %t341 = select i1 %t340, i32 8, i32 %t339 %t342 = getelementptr ptr, ptr null, i32 1 %t343 = ptrtoint ptr %t342 to i64 %t344 = zext i32 %t341 to i64 %t345 = mul i64 %t344, %t343 %t346 = load ptr, ptr %t335 %t347 = call ptr @realloc(ptr %t346, i64 %t345) store ptr %t347, ptr %t335 store i32 %t341, ptr %t334 br label %put152 put152: %t348 = load ptr, ptr %t335 %t349 = getelementptr inbounds ptr, ptr %t348, i32 %t336 store ptr %t332, ptr %t349 %t350 = add i32 %t336, 1 store i32 %t350, ptr %t333 br label %ret ifend150: %t351 = call i32 @fn_is_id(ptr @.str446) %t352 = icmp ne i32 %t351, 0 br i1 %t352, label %then153, label %ifend155 then153: %t353 = call ptr @fn_parse_system() store ptr %t353, ptr %t354 %t355 = load i32, ptr %t20 %t356 = icmp ne i32 %t355, 0 br i1 %t356, label %then156, label %ifend158 then156: %t357 = load ptr, ptr @g_g_det_names %t358 = load ptr, ptr %t354 %t359 = getelementptr inbounds %Cmp_Node, ptr %t358, i32 0, i32 1 %t360 = load ptr, ptr %t359 %t361 = getelementptr inbounds %LSlice, ptr %t357, i32 0, i32 1 %t362 = getelementptr inbounds %LSlice, ptr %t357, i32 0, i32 2 %t363 = getelementptr inbounds %LSlice, ptr %t357, i32 0, i32 0 %t364 = load i32, ptr %t361 %t365 = load i32, ptr %t362 %t366 = icmp sge i32 %t364, %t365 br i1 %t366, label %grow159, label %put160 grow159: %t367 = mul i32 %t365, 2 %t368 = icmp eq i32 %t365, 0 %t369 = select i1 %t368, i32 8, i32 %t367 %t370 = getelementptr ptr, ptr null, i32 1 %t371 = ptrtoint ptr %t370 to i64 %t372 = zext i32 %t369 to i64 %t373 = mul i64 %t372, %t371 %t374 = load ptr, ptr %t363 %t375 = call ptr @realloc(ptr %t374, i64 %t373) store ptr %t375, ptr %t363 store i32 %t369, ptr %t362 br label %put160 put160: %t376 = load ptr, ptr %t363 %t377 = getelementptr inbounds ptr, ptr %t376, i32 %t364 store ptr %t360, ptr %t377 %t378 = add i32 %t364, 1 store i32 %t378, ptr %t361 br label %ifend158 ifend158: %t379 = load ptr, ptr %t14 %t380 = icmp ne ptr %t379, null %t381 = zext i1 %t380 to i32 %t382 = icmp ne i32 %t381, 0 br i1 %t382, label %then161, label %ifend163 then161: %t383 = load ptr, ptr %t14 %t384 = call i32 @lp_str_eq(ptr %t383, ptr @.str447) %t385 = icmp ne i32 %t384, 0 br i1 %t385, label %then164, label %else165 then164: %t386 = load ptr, ptr %t354 %t387 = getelementptr inbounds %Cmp_Node, ptr %t386, i32 0, i32 2 store i32 1, ptr %t387 br label %ifend166 else165: %t388 = load ptr, ptr %t354 %t389 = getelementptr inbounds %Cmp_Node, ptr %t388, i32 0, i32 2 store i32 2, ptr %t389 br label %ifend166 ifend166: br label %ifend163 ifend163: %t390 = load ptr, ptr %t9 %t391 = icmp ne ptr %t390, null %t392 = zext i1 %t391 to i32 %t393 = icmp ne i32 %t392, 0 br i1 %t393, label %then167, label %ifend169 then167: %t394 = load ptr, ptr %t9 %t395 = load ptr, ptr %t354 %t396 = getelementptr inbounds %Cmp_Node, ptr %t395, i32 0, i32 4 %t397 = load ptr, ptr %t396 call void @fn_register_onlisten(ptr %t394, ptr %t397) br label %ret ifend169: %t398 = load ptr, ptr %t2 %t399 = icmp ne ptr %t398, null %t400 = zext i1 %t399 to i32 %t401 = icmp ne i32 %t400, 0 br i1 %t401, label %then170, label %ifend172 then170: %t402 = load ptr, ptr %t2 %t403 = load ptr, ptr %t354 %t404 = getelementptr inbounds %Cmp_Node, ptr %t403, i32 0, i32 4 %t405 = load ptr, ptr %t404 call void @fn_register_onspawn(ptr %t402, ptr %t405) %t406 = load i32, ptr %t10 %t407 = icmp ne i32 %t406, 0 br i1 %t407, label %then173, label %ifend175 then173: %t408 = load ptr, ptr %t2 %t409 = call ptr @lp_str_concat(ptr @.str448, ptr %t408) %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str449) call void @fn_ensure_event(ptr %t410, i32 0) br label %ifend175 ifend175: br label %ret ifend172: %t411 = load ptr, ptr %t3 %t412 = icmp ne ptr %t411, null %t413 = zext i1 %t412 to i32 %t414 = icmp ne i32 %t413, 0 br i1 %t414, label %then176, label %ifend178 then176: %t415 = load ptr, ptr %t3 %t416 = load ptr, ptr %t354 %t417 = getelementptr inbounds %Cmp_Node, ptr %t416, i32 0, i32 4 %t418 = load ptr, ptr %t417 %t419 = load ptr, ptr %t4 call void @fn_register_ondespawn(ptr %t415, ptr %t418, ptr %t419) %t420 = load i32, ptr %t10 %t421 = icmp ne i32 %t420, 0 br i1 %t421, label %then179, label %ifend181 then179: %t422 = load ptr, ptr %t3 %t423 = call ptr @lp_str_concat(ptr @.str450, ptr %t422) %t424 = call ptr @lp_str_concat(ptr %t423, ptr @.str451) call void @fn_ensure_event(ptr %t424, i32 1) br label %ifend181 ifend181: br label %ret ifend178: %t425 = load ptr, ptr %t5 %t426 = icmp ne ptr %t425, null %t427 = zext i1 %t426 to i32 %t428 = icmp ne i32 %t427, 0 br i1 %t428, label %then182, label %ifend184 then182: %t429 = load ptr, ptr %t5 %t430 = load ptr, ptr %t354 %t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 4 %t432 = load ptr, ptr %t431 call void @fn_register_onattach(ptr %t429, ptr %t432) %t433 = load i32, ptr %t10 %t434 = icmp ne i32 %t433, 0 br i1 %t434, label %then185, label %ifend187 then185: %t435 = load ptr, ptr %t5 %t436 = call ptr @lp_str_concat(ptr @.str452, ptr %t435) %t437 = call ptr @lp_str_concat(ptr %t436, ptr @.str453) call void @fn_ensure_event(ptr %t437, i32 0) br label %ifend187 ifend187: br label %ret ifend184: %t438 = load ptr, ptr %t6 %t439 = icmp ne ptr %t438, null %t440 = zext i1 %t439 to i32 %t441 = icmp ne i32 %t440, 0 br i1 %t441, label %then188, label %ifend190 then188: %t442 = load ptr, ptr %t6 %t443 = load ptr, ptr %t354 %t444 = getelementptr inbounds %Cmp_Node, ptr %t443, i32 0, i32 4 %t445 = load ptr, ptr %t444 call void @fn_register_ondetach(ptr %t442, ptr %t445) %t446 = load i32, ptr %t10 %t447 = icmp ne i32 %t446, 0 br i1 %t447, label %then191, label %ifend193 then191: %t448 = load ptr, ptr %t6 %t449 = call ptr @lp_str_concat(ptr @.str454, ptr %t448) %t450 = call ptr @lp_str_concat(ptr %t449, ptr @.str455) call void @fn_ensure_event(ptr %t450, i32 0) br label %ifend193 ifend193: br label %ret ifend190: %t451 = load ptr, ptr %t7 %t452 = icmp ne ptr %t451, null %t453 = zext i1 %t452 to i32 %t454 = icmp ne i32 %t453, 0 br i1 %t454, label %then194, label %ifend196 then194: %t455 = load ptr, ptr %t7 %t456 = load ptr, ptr %t354 %t457 = getelementptr inbounds %Cmp_Node, ptr %t456, i32 0, i32 4 %t458 = load ptr, ptr %t457 call void @fn_register_onenable(ptr %t455, ptr %t458) %t459 = load i32, ptr %t10 %t460 = icmp ne i32 %t459, 0 br i1 %t460, label %then197, label %ifend199 then197: %t461 = load ptr, ptr %t7 %t462 = call ptr @lp_str_concat(ptr @.str456, ptr %t461) %t463 = call ptr @lp_str_concat(ptr %t462, ptr @.str457) call void @fn_ensure_event(ptr %t463, i32 0) br label %ifend199 ifend199: br label %ret ifend196: %t464 = load ptr, ptr %t8 %t465 = icmp ne ptr %t464, null %t466 = zext i1 %t465 to i32 %t467 = icmp ne i32 %t466, 0 br i1 %t467, label %then200, label %ifend202 then200: %t468 = load ptr, ptr %t8 %t469 = load ptr, ptr %t354 %t470 = getelementptr inbounds %Cmp_Node, ptr %t469, i32 0, i32 4 %t471 = load ptr, ptr %t470 call void @fn_register_ondisable(ptr %t468, ptr %t471) %t472 = load i32, ptr %t10 %t473 = icmp ne i32 %t472, 0 br i1 %t473, label %then203, label %ifend205 then203: %t474 = load ptr, ptr %t8 %t475 = call ptr @lp_str_concat(ptr @.str458, ptr %t474) %t476 = call ptr @lp_str_concat(ptr %t475, ptr @.str459) call void @fn_ensure_event(ptr %t476, i32 0) br label %ifend205 ifend205: br label %ret ifend202: %t477 = load ptr, ptr %t11 %t478 = icmp ne ptr %t477, null %t479 = zext i1 %t478 to i32 %t480 = icmp ne i32 %t479, 0 br i1 %t480, label %then206, label %ifend208 then206: %t481 = load ptr, ptr %t354 %t482 = getelementptr inbounds %Cmp_Node, ptr %t481, i32 0, i32 3 %t483 = load ptr, ptr %t11 store ptr %t483, ptr %t482 %t484 = load i32, ptr %t10 %t485 = icmp ne i32 %t484, 0 br i1 %t485, label %then209, label %ifend211 then209: %t486 = load ptr, ptr %t11 %t487 = call i32 @lp_str_eq(ptr %t486, ptr @.str460) %t488 = icmp ne i32 %t487, 0 br i1 %t488, label %then212, label %else213 then212: call void @fn_ensure_event_empty(ptr @.str461) br label %ifend214 else213: call void @fn_ensure_event_empty(ptr @.str462) br label %ifend214 ifend214: br label %ifend211 ifend211: br label %ifend208 ifend208: %t489 = load ptr, ptr %t1 %t490 = icmp ne ptr %t489, null %t491 = zext i1 %t490 to i32 %t492 = icmp ne i32 %t491, 0 br i1 %t492, label %then215, label %ifend217 then215: %t493 = load ptr, ptr %t1 %t494 = getelementptr inbounds %Cmp_Node, ptr %t493, i32 0, i32 4 %t495 = load ptr, ptr %t354 %t496 = getelementptr inbounds %Cmp_Node, ptr %t495, i32 0, i32 4 %t497 = load ptr, ptr %t496 store ptr %t497, ptr %t494 %t498 = call ptr @fn_node(i32 7) store ptr %t498, ptr %t499 %t500 = load ptr, ptr %t499 %t501 = getelementptr inbounds %Cmp_Node, ptr %t500, i32 0, i32 7 %t502 = load ptr, ptr %t501 %t503 = load ptr, ptr %t1 %t504 = getelementptr inbounds %LSlice, ptr %t502, i32 0, i32 1 %t505 = getelementptr inbounds %LSlice, ptr %t502, i32 0, i32 2 %t506 = getelementptr inbounds %LSlice, ptr %t502, i32 0, i32 0 %t507 = load i32, ptr %t504 %t508 = load i32, ptr %t505 %t509 = icmp sge i32 %t507, %t508 br i1 %t509, label %grow218, label %put219 grow218: %t510 = mul i32 %t508, 2 %t511 = icmp eq i32 %t508, 0 %t512 = select i1 %t511, i32 8, i32 %t510 %t513 = getelementptr ptr, ptr null, i32 1 %t514 = ptrtoint ptr %t513 to i64 %t515 = zext i32 %t512 to i64 %t516 = mul i64 %t515, %t514 %t517 = load ptr, ptr %t506 %t518 = call ptr @realloc(ptr %t517, i64 %t516) store ptr %t518, ptr %t506 store i32 %t512, ptr %t505 br label %put219 put219: %t519 = load ptr, ptr %t506 %t520 = getelementptr inbounds ptr, ptr %t519, i32 %t507 store ptr %t503, ptr %t520 %t521 = add i32 %t507, 1 store i32 %t521, ptr %t504 %t522 = load ptr, ptr %t354 %t523 = getelementptr inbounds %Cmp_Node, ptr %t522, i32 0, i32 4 %t524 = load ptr, ptr %t499 store ptr %t524, ptr %t523 br label %ifend217 ifend217: %t525 = load ptr, ptr @g_prog %t526 = load ptr, ptr %t354 %t527 = getelementptr inbounds %LSlice, ptr %t525, i32 0, i32 1 %t528 = getelementptr inbounds %LSlice, ptr %t525, i32 0, i32 2 %t529 = getelementptr inbounds %LSlice, ptr %t525, i32 0, i32 0 %t530 = load i32, ptr %t527 %t531 = load i32, ptr %t528 %t532 = icmp sge i32 %t530, %t531 br i1 %t532, label %grow220, label %put221 grow220: %t533 = mul i32 %t531, 2 %t534 = icmp eq i32 %t531, 0 %t535 = select i1 %t534, i32 8, i32 %t533 %t536 = getelementptr ptr, ptr null, i32 1 %t537 = ptrtoint ptr %t536 to i64 %t538 = zext i32 %t535 to i64 %t539 = mul i64 %t538, %t537 %t540 = load ptr, ptr %t529 %t541 = call ptr @realloc(ptr %t540, i64 %t539) store ptr %t541, ptr %t529 store i32 %t535, ptr %t528 br label %put221 put221: %t542 = load ptr, ptr %t529 %t543 = getelementptr inbounds ptr, ptr %t542, i32 %t530 store ptr %t526, ptr %t543 %t544 = add i32 %t530, 1 store i32 %t544, ptr %t527 br label %ret ifend155: %t545 = call i32 @fn_is_id(ptr @.str463) %t546 = icmp ne i32 %t545, 0 br i1 %t546, label %then222, label %ifend224 then222: %t547 = load ptr, ptr @g_prog %t548 = call ptr @fn_parse_ui() %t549 = getelementptr inbounds %LSlice, ptr %t547, i32 0, i32 1 %t550 = getelementptr inbounds %LSlice, ptr %t547, i32 0, i32 2 %t551 = getelementptr inbounds %LSlice, ptr %t547, i32 0, i32 0 %t552 = load i32, ptr %t549 %t553 = load i32, ptr %t550 %t554 = icmp sge i32 %t552, %t553 br i1 %t554, label %grow225, label %put226 grow225: %t555 = mul i32 %t553, 2 %t556 = icmp eq i32 %t553, 0 %t557 = select i1 %t556, i32 8, i32 %t555 %t558 = getelementptr ptr, ptr null, i32 1 %t559 = ptrtoint ptr %t558 to i64 %t560 = zext i32 %t557 to i64 %t561 = mul i64 %t560, %t559 %t562 = load ptr, ptr %t551 %t563 = call ptr @realloc(ptr %t562, i64 %t561) store ptr %t563, ptr %t551 store i32 %t557, ptr %t550 br label %put226 put226: %t564 = load ptr, ptr %t551 %t565 = getelementptr inbounds ptr, ptr %t564, i32 %t552 store ptr %t548, ptr %t565 %t566 = add i32 %t552, 1 store i32 %t566, ptr %t549 br label %ret ifend224: %t567 = call i32 @fn_is_id(ptr @.str464) %t568 = icmp ne i32 %t567, 0 br i1 %t568, label %then227, label %ifend229 then227: call void @fn_parse_namespace() br label %ret ifend229: %t569 = call i32 @fn_is_id(ptr @.str465) %t570 = icmp ne i32 %t569, 0 br i1 %t570, label %then230, label %ifend232 then230: %t571 = load ptr, ptr @g_prog %t572 = call ptr @fn_parse_var() %t573 = getelementptr inbounds %LSlice, ptr %t571, i32 0, i32 1 %t574 = getelementptr inbounds %LSlice, ptr %t571, i32 0, i32 2 %t575 = getelementptr inbounds %LSlice, ptr %t571, i32 0, i32 0 %t576 = load i32, ptr %t573 %t577 = load i32, ptr %t574 %t578 = icmp sge i32 %t576, %t577 br i1 %t578, label %grow233, label %put234 grow233: %t579 = mul i32 %t577, 2 %t580 = icmp eq i32 %t577, 0 %t581 = select i1 %t580, i32 8, i32 %t579 %t582 = getelementptr ptr, ptr null, i32 1 %t583 = ptrtoint ptr %t582 to i64 %t584 = zext i32 %t581 to i64 %t585 = mul i64 %t584, %t583 %t586 = load ptr, ptr %t575 %t587 = call ptr @realloc(ptr %t586, i64 %t585) store ptr %t587, ptr %t575 store i32 %t581, ptr %t574 br label %put234 put234: %t588 = load ptr, ptr %t575 %t589 = getelementptr inbounds ptr, ptr %t588, i32 %t576 store ptr %t572, ptr %t589 %t590 = add i32 %t576, 1 store i32 %t590, ptr %t573 br label %ret ifend232: %t591 = call i32 @fn_is_id(ptr @.str466) %t592 = icmp ne i32 %t591, 0 br i1 %t592, label %then235, label %ifend237 then235: %t593 = load ptr, ptr @g_prog %t594 = call ptr @fn_parse_const() %t595 = getelementptr inbounds %LSlice, ptr %t593, i32 0, i32 1 %t596 = getelementptr inbounds %LSlice, ptr %t593, i32 0, i32 2 %t597 = getelementptr inbounds %LSlice, ptr %t593, i32 0, i32 0 %t598 = load i32, ptr %t595 %t599 = load i32, ptr %t596 %t600 = icmp sge i32 %t598, %t599 br i1 %t600, label %grow238, label %put239 grow238: %t601 = mul i32 %t599, 2 %t602 = icmp eq i32 %t599, 0 %t603 = select i1 %t602, i32 8, i32 %t601 %t604 = getelementptr ptr, ptr null, i32 1 %t605 = ptrtoint ptr %t604 to i64 %t606 = zext i32 %t603 to i64 %t607 = mul i64 %t606, %t605 %t608 = load ptr, ptr %t597 %t609 = call ptr @realloc(ptr %t608, i64 %t607) store ptr %t609, ptr %t597 store i32 %t603, ptr %t596 br label %put239 put239: %t610 = load ptr, ptr %t597 %t611 = getelementptr inbounds ptr, ptr %t610, i32 %t598 store ptr %t594, ptr %t611 %t612 = add i32 %t598, 1 store i32 %t612, ptr %t595 br label %ret ifend237: %t613 = call i32 @fn_is_id(ptr @.str467) %t614 = icmp ne i32 %t613, 0 br i1 %t614, label %then240, label %ifend242 then240: %t615 = call ptr @fn_parse_fn() store ptr %t615, ptr %t616 %t617 = load i32, ptr %t20 %t618 = icmp ne i32 %t617, 0 br i1 %t618, label %then243, label %ifend245 then243: %t619 = load ptr, ptr @g_g_det_names %t620 = load ptr, ptr %t616 %t621 = getelementptr inbounds %Cmp_Node, ptr %t620, i32 0, i32 1 %t622 = load ptr, ptr %t621 %t623 = getelementptr inbounds %LSlice, ptr %t619, i32 0, i32 1 %t624 = getelementptr inbounds %LSlice, ptr %t619, i32 0, i32 2 %t625 = getelementptr inbounds %LSlice, ptr %t619, i32 0, i32 0 %t626 = load i32, ptr %t623 %t627 = load i32, ptr %t624 %t628 = icmp sge i32 %t626, %t627 br i1 %t628, label %grow246, label %put247 grow246: %t629 = mul i32 %t627, 2 %t630 = icmp eq i32 %t627, 0 %t631 = select i1 %t630, i32 8, i32 %t629 %t632 = getelementptr ptr, ptr null, i32 1 %t633 = ptrtoint ptr %t632 to i64 %t634 = zext i32 %t631 to i64 %t635 = mul i64 %t634, %t633 %t636 = load ptr, ptr %t625 %t637 = call ptr @realloc(ptr %t636, i64 %t635) store ptr %t637, ptr %t625 store i32 %t631, ptr %t624 br label %put247 put247: %t638 = load ptr, ptr %t625 %t639 = getelementptr inbounds ptr, ptr %t638, i32 %t626 store ptr %t622, ptr %t639 %t640 = add i32 %t626, 1 store i32 %t640, ptr %t623 br label %ifend245 ifend245: %t641 = load i32, ptr %t0 %t642 = icmp ne i32 %t641, 0 br i1 %t642, label %then248, label %ifend250 then248: %t643 = load ptr, ptr %t616 %t644 = getelementptr inbounds %Cmp_Node, ptr %t643, i32 0, i32 2 store i32 1, ptr %t644 br label %ifend250 ifend250: %t645 = load ptr, ptr %t16 %t646 = icmp ne ptr %t645, null %t647 = zext i1 %t646 to i32 %t648 = icmp ne i32 %t647, 0 br i1 %t648, label %then251, label %ifend253 then251: %t649 = load ptr, ptr @g_g_mod_sys_fn %t650 = load ptr, ptr %t616 %t651 = getelementptr inbounds %Cmp_Node, ptr %t650, i32 0, i32 1 %t652 = load ptr, ptr %t651 %t653 = getelementptr inbounds %LSlice, ptr %t649, i32 0, i32 1 %t654 = getelementptr inbounds %LSlice, ptr %t649, i32 0, i32 2 %t655 = getelementptr inbounds %LSlice, ptr %t649, i32 0, i32 0 %t656 = load i32, ptr %t653 %t657 = load i32, ptr %t654 %t658 = icmp sge i32 %t656, %t657 br i1 %t658, label %grow254, label %put255 grow254: %t659 = mul i32 %t657, 2 %t660 = icmp eq i32 %t657, 0 %t661 = select i1 %t660, i32 8, i32 %t659 %t662 = getelementptr ptr, ptr null, i32 1 %t663 = ptrtoint ptr %t662 to i64 %t664 = zext i32 %t661 to i64 %t665 = mul i64 %t664, %t663 %t666 = load ptr, ptr %t655 %t667 = call ptr @realloc(ptr %t666, i64 %t665) store ptr %t667, ptr %t655 store i32 %t661, ptr %t654 br label %put255 put255: %t668 = load ptr, ptr %t655 %t669 = getelementptr inbounds ptr, ptr %t668, i32 %t656 store ptr %t652, ptr %t669 %t670 = add i32 %t656, 1 store i32 %t670, ptr %t653 %t671 = load ptr, ptr @g_g_mod_sys_phase %t672 = load ptr, ptr %t16 %t673 = getelementptr inbounds %LSlice, ptr %t671, i32 0, i32 1 %t674 = getelementptr inbounds %LSlice, ptr %t671, i32 0, i32 2 %t675 = getelementptr inbounds %LSlice, ptr %t671, i32 0, i32 0 %t676 = load i32, ptr %t673 %t677 = load i32, ptr %t674 %t678 = icmp sge i32 %t676, %t677 br i1 %t678, label %grow256, label %put257 grow256: %t679 = mul i32 %t677, 2 %t680 = icmp eq i32 %t677, 0 %t681 = select i1 %t680, i32 8, i32 %t679 %t682 = getelementptr ptr, ptr null, i32 1 %t683 = ptrtoint ptr %t682 to i64 %t684 = zext i32 %t681 to i64 %t685 = mul i64 %t684, %t683 %t686 = load ptr, ptr %t675 %t687 = call ptr @realloc(ptr %t686, i64 %t685) store ptr %t687, ptr %t675 store i32 %t681, ptr %t674 br label %put257 put257: %t688 = load ptr, ptr %t675 %t689 = getelementptr inbounds ptr, ptr %t688, i32 %t676 store ptr %t672, ptr %t689 %t690 = add i32 %t676, 1 store i32 %t690, ptr %t673 br label %ifend253 ifend253: %t691 = load ptr, ptr %t17 %t692 = icmp ne ptr %t691, null %t693 = zext i1 %t692 to i32 %t694 = icmp ne i32 %t693, 0 br i1 %t694, label %then258, label %ifend260 then258: %t695 = load ptr, ptr @g_g_esys_comp %t696 = load ptr, ptr %t17 %t697 = getelementptr inbounds %LSlice, ptr %t695, i32 0, i32 1 %t698 = getelementptr inbounds %LSlice, ptr %t695, i32 0, i32 2 %t699 = getelementptr inbounds %LSlice, ptr %t695, i32 0, i32 0 %t700 = load i32, ptr %t697 %t701 = load i32, ptr %t698 %t702 = icmp sge i32 %t700, %t701 br i1 %t702, label %grow261, label %put262 grow261: %t703 = mul i32 %t701, 2 %t704 = icmp eq i32 %t701, 0 %t705 = select i1 %t704, i32 8, i32 %t703 %t706 = getelementptr ptr, ptr null, i32 1 %t707 = ptrtoint ptr %t706 to i64 %t708 = zext i32 %t705 to i64 %t709 = mul i64 %t708, %t707 %t710 = load ptr, ptr %t699 %t711 = call ptr @realloc(ptr %t710, i64 %t709) store ptr %t711, ptr %t699 store i32 %t705, ptr %t698 br label %put262 put262: %t712 = load ptr, ptr %t699 %t713 = getelementptr inbounds ptr, ptr %t712, i32 %t700 store ptr %t696, ptr %t713 %t714 = add i32 %t700, 1 store i32 %t714, ptr %t697 %t715 = load ptr, ptr @g_g_esys_fn %t716 = load ptr, ptr %t616 %t717 = getelementptr inbounds %Cmp_Node, ptr %t716, i32 0, i32 1 %t718 = load ptr, ptr %t717 %t719 = getelementptr inbounds %LSlice, ptr %t715, i32 0, i32 1 %t720 = getelementptr inbounds %LSlice, ptr %t715, i32 0, i32 2 %t721 = getelementptr inbounds %LSlice, ptr %t715, i32 0, i32 0 %t722 = load i32, ptr %t719 %t723 = load i32, ptr %t720 %t724 = icmp sge i32 %t722, %t723 br i1 %t724, label %grow263, label %put264 grow263: %t725 = mul i32 %t723, 2 %t726 = icmp eq i32 %t723, 0 %t727 = select i1 %t726, i32 8, i32 %t725 %t728 = getelementptr ptr, ptr null, i32 1 %t729 = ptrtoint ptr %t728 to i64 %t730 = zext i32 %t727 to i64 %t731 = mul i64 %t730, %t729 %t732 = load ptr, ptr %t721 %t733 = call ptr @realloc(ptr %t732, i64 %t731) store ptr %t733, ptr %t721 store i32 %t727, ptr %t720 br label %put264 put264: %t734 = load ptr, ptr %t721 %t735 = getelementptr inbounds ptr, ptr %t734, i32 %t722 store ptr %t718, ptr %t735 %t736 = add i32 %t722, 1 store i32 %t736, ptr %t719 %t737 = load ptr, ptr @g_g_esys_phase %t738 = load ptr, ptr %t18 %t739 = getelementptr inbounds %LSlice, ptr %t737, i32 0, i32 1 %t740 = getelementptr inbounds %LSlice, ptr %t737, i32 0, i32 2 %t741 = getelementptr inbounds %LSlice, ptr %t737, i32 0, i32 0 %t742 = load i32, ptr %t739 %t743 = load i32, ptr %t740 %t744 = icmp sge i32 %t742, %t743 br i1 %t744, label %grow265, label %put266 grow265: %t745 = mul i32 %t743, 2 %t746 = icmp eq i32 %t743, 0 %t747 = select i1 %t746, i32 8, i32 %t745 %t748 = getelementptr ptr, ptr null, i32 1 %t749 = ptrtoint ptr %t748 to i64 %t750 = zext i32 %t747 to i64 %t751 = mul i64 %t750, %t749 %t752 = load ptr, ptr %t741 %t753 = call ptr @realloc(ptr %t752, i64 %t751) store ptr %t753, ptr %t741 store i32 %t747, ptr %t740 br label %put266 put266: %t754 = load ptr, ptr %t741 %t755 = getelementptr inbounds ptr, ptr %t754, i32 %t742 store ptr %t738, ptr %t755 %t756 = add i32 %t742, 1 store i32 %t756, ptr %t739 br label %ifend260 ifend260: %t757 = load ptr, ptr %t19 %t758 = icmp ne ptr %t757, null %t759 = zext i1 %t758 to i32 %t760 = icmp ne i32 %t759, 0 br i1 %t760, label %then267, label %ifend269 then267: %t761 = load ptr, ptr %t19 call void @fn_register_namespace(ptr %t761) br label %ifend269 ifend269: %t762 = load ptr, ptr @g_prog %t763 = load ptr, ptr %t616 %t764 = getelementptr inbounds %LSlice, ptr %t762, i32 0, i32 1 %t765 = getelementptr inbounds %LSlice, ptr %t762, i32 0, i32 2 %t766 = getelementptr inbounds %LSlice, ptr %t762, i32 0, i32 0 %t767 = load i32, ptr %t764 %t768 = load i32, ptr %t765 %t769 = icmp sge i32 %t767, %t768 br i1 %t769, label %grow270, label %put271 grow270: %t770 = mul i32 %t768, 2 %t771 = icmp eq i32 %t768, 0 %t772 = select i1 %t771, i32 8, i32 %t770 %t773 = getelementptr ptr, ptr null, i32 1 %t774 = ptrtoint ptr %t773 to i64 %t775 = zext i32 %t772 to i64 %t776 = mul i64 %t775, %t774 %t777 = load ptr, ptr %t766 %t778 = call ptr @realloc(ptr %t777, i64 %t776) store ptr %t778, ptr %t766 store i32 %t772, ptr %t765 br label %put271 put271: %t779 = load ptr, ptr %t766 %t780 = getelementptr inbounds ptr, ptr %t779, i32 %t767 store ptr %t763, ptr %t780 %t781 = add i32 %t767, 1 store i32 %t781, ptr %t764 br label %ret ifend242: %t782 = call i32 @fn_is_id(ptr @.str468) %t783 = icmp ne i32 %t782, 0 br i1 %t783, label %then272, label %ifend274 then272: %t784 = load ptr, ptr @g_prog %t785 = call ptr @fn_parse_extern() %t786 = getelementptr inbounds %LSlice, ptr %t784, i32 0, i32 1 %t787 = getelementptr inbounds %LSlice, ptr %t784, i32 0, i32 2 %t788 = getelementptr inbounds %LSlice, ptr %t784, i32 0, i32 0 %t789 = load i32, ptr %t786 %t790 = load i32, ptr %t787 %t791 = icmp sge i32 %t789, %t790 br i1 %t791, label %grow275, label %put276 grow275: %t792 = mul i32 %t790, 2 %t793 = icmp eq i32 %t790, 0 %t794 = select i1 %t793, i32 8, i32 %t792 %t795 = getelementptr ptr, ptr null, i32 1 %t796 = ptrtoint ptr %t795 to i64 %t797 = zext i32 %t794 to i64 %t798 = mul i64 %t797, %t796 %t799 = load ptr, ptr %t788 %t800 = call ptr @realloc(ptr %t799, i64 %t798) store ptr %t800, ptr %t788 store i32 %t794, ptr %t787 br label %put276 put276: %t801 = load ptr, ptr %t788 %t802 = getelementptr inbounds ptr, ptr %t801, i32 %t789 store ptr %t785, ptr %t802 %t803 = add i32 %t789, 1 store i32 %t803, ptr %t786 br label %ret ifend274: %t804 = call i32 @fn_is_id(ptr @.str469) %t805 = icmp ne i32 %t804, 0 br i1 %t805, label %then277, label %ifend279 then277: %t806 = load ptr, ptr @g_prog %t807 = call ptr @fn_parse_main() %t808 = getelementptr inbounds %LSlice, ptr %t806, i32 0, i32 1 %t809 = getelementptr inbounds %LSlice, ptr %t806, i32 0, i32 2 %t810 = getelementptr inbounds %LSlice, ptr %t806, i32 0, i32 0 %t811 = load i32, ptr %t808 %t812 = load i32, ptr %t809 %t813 = icmp sge i32 %t811, %t812 br i1 %t813, label %grow280, label %put281 grow280: %t814 = mul i32 %t812, 2 %t815 = icmp eq i32 %t812, 0 %t816 = select i1 %t815, i32 8, i32 %t814 %t817 = getelementptr ptr, ptr null, i32 1 %t818 = ptrtoint ptr %t817 to i64 %t819 = zext i32 %t816 to i64 %t820 = mul i64 %t819, %t818 %t821 = load ptr, ptr %t810 %t822 = call ptr @realloc(ptr %t821, i64 %t820) store ptr %t822, ptr %t810 store i32 %t816, ptr %t809 br label %put281 put281: %t823 = load ptr, ptr %t810 %t824 = getelementptr inbounds ptr, ptr %t823, i32 %t811 store ptr %t807, ptr %t824 %t825 = add i32 %t811, 1 store i32 %t825, ptr %t808 br label %ret ifend279: %t826 = call i32 @fn_is_id(ptr @.str470) %t827 = icmp ne i32 %t826, 0 br i1 %t827, label %then282, label %ifend284 then282: %t828 = load ptr, ptr @g_g_tests %t829 = call ptr @fn_parse_test() %t830 = getelementptr inbounds %LSlice, ptr %t828, i32 0, i32 1 %t831 = getelementptr inbounds %LSlice, ptr %t828, i32 0, i32 2 %t832 = getelementptr inbounds %LSlice, ptr %t828, i32 0, i32 0 %t833 = load i32, ptr %t830 %t834 = load i32, ptr %t831 %t835 = icmp sge i32 %t833, %t834 br i1 %t835, label %grow285, label %put286 grow285: %t836 = mul i32 %t834, 2 %t837 = icmp eq i32 %t834, 0 %t838 = select i1 %t837, i32 8, i32 %t836 %t839 = getelementptr ptr, ptr null, i32 1 %t840 = ptrtoint ptr %t839 to i64 %t841 = zext i32 %t838 to i64 %t842 = mul i64 %t841, %t840 %t843 = load ptr, ptr %t832 %t844 = call ptr @realloc(ptr %t843, i64 %t842) store ptr %t844, ptr %t832 store i32 %t838, ptr %t831 br label %put286 put286: %t845 = load ptr, ptr %t832 %t846 = getelementptr inbounds ptr, ptr %t845, i32 %t833 store ptr %t829, ptr %t846 %t847 = add i32 %t833, 1 store i32 %t847, ptr %t830 br label %ret ifend284: %t848 = call ptr @fn_tok_desc() %t849 = call ptr @lp_str_concat(ptr @.str471, ptr %t848) call void @fn_perr(ptr %t849) br label %ret ret: ret void } define ptr @fn_parse_test() { entry: %retval = alloca ptr %t12 = alloca i32 %t31 = alloca ptr %t0 = load ptr, ptr @g_toks %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0 %t2 = load ptr, ptr %t1 %t3 = load i32, ptr @g_pi %t4 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp ult i32 %t3, %t5 br i1 %t6, label %ixok0, label %ixbad1 ixbad1: %t7 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t7, ptr @.fmt_bounds, ptr @.str472, i32 %t3, i32 %t5) call void @exit(i32 1) unreachable ixok0: %t8 = getelementptr inbounds ptr, ptr %t2, i32 %t3 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %Cmp_Tok, ptr %t9, i32 0, i32 3 %t11 = load i32, ptr %t10 store i32 %t11, ptr %t12 %t13 = load i32, ptr @g_pi %t14 = add i32 %t13, 1 store i32 %t14, ptr @g_pi %t15 = load ptr, ptr @g_toks %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = load i32, ptr @g_pi %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t18, %t20 br i1 %t21, label %ixok2, label %ixbad3 ixbad3: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str473, i32 %t18, i32 %t20) call void @exit(i32 1) unreachable ixok2: %t23 = getelementptr inbounds ptr, ptr %t17, i32 %t18 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %Cmp_Tok, ptr %t24, i32 0, i32 0 %t26 = load i32, ptr %t25 %t27 = icmp ne i32 %t26, 2 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then4, label %ifend6 then4: call void @fn_perr(ptr @.str474) br label %ifend6 ifend6: %t30 = call ptr @fn_node(i32 51) store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1 %t34 = load ptr, ptr @g_toks %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = load i32, ptr @g_pi %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 %t37, %t39 br i1 %t40, label %ixok7, label %ixbad8 ixbad8: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str475, i32 %t37, i32 %t39) call void @exit(i32 1) unreachable ixok7: %t42 = getelementptr inbounds ptr, ptr %t36, i32 %t37 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %Cmp_Tok, ptr %t43, i32 0, i32 1 %t45 = load ptr, ptr %t44 store ptr %t45, ptr %t33 %t46 = load ptr, ptr %t31 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 8 %t48 = load i32, ptr %t12 store i32 %t48, ptr %t47 %t49 = load i32, ptr @g_pi %t50 = add i32 %t49, 1 store i32 %t50, ptr @g_pi %t51 = load ptr, ptr %t31 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 4 %t53 = call ptr @fn_block() store ptr %t53, ptr %t52 %t54 = load ptr, ptr %t31 store ptr %t54, ptr %retval br label %ret ret: %t55 = load ptr, ptr %retval ret ptr %t55 } define i32 @fn_is_runtime_path(ptr %arg_rel) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_rel, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_str_starts(ptr %t1, ptr @.str476) store i32 %t2, ptr %retval br label %ret ret: %t3 = load i32, ptr %retval ret i32 %t3 } define i32 @fn_str_less(ptr %arg_a, ptr %arg_b) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t9 = alloca i32 %t15 = alloca i32 store ptr %arg_a, ptr %t0 store ptr %arg_b, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = icmp ne i32 1, 0 br i1 %t3, label %wbody1, label %wend2 wbody1: %t4 = load ptr, ptr %t0 %t5 = load i32, ptr %t2 %t6 = getelementptr inbounds i8, ptr %t4, i32 %t5 %t7 = load i8, ptr %t6 %t8 = zext i8 %t7 to i32 store i32 %t8, ptr %t9 %t10 = load ptr, ptr %t1 %t11 = load i32, ptr %t2 %t12 = getelementptr inbounds i8, ptr %t10, i32 %t11 %t13 = load i8, ptr %t12 %t14 = zext i8 %t13 to i32 store i32 %t14, ptr %t15 %t16 = load i32, ptr %t9 %t17 = load i32, ptr %t15 %t18 = icmp ne i32 %t16, %t17 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load i32, ptr %t9 %t22 = load i32, ptr %t15 %t23 = icmp slt i32 %t21, %t22 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %retval br label %ret ifend5: %t25 = load i32, ptr %t9 %t26 = icmp eq i32 %t25, 0 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then6, label %ifend8 then6: store i32 0, ptr %retval br label %ret ifend8: %t29 = load i32, ptr %t2 %t30 = add i32 %t29, 1 store i32 %t30, ptr %t2 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t31 = load i32, ptr %retval ret i32 %t31 } define void @fn_do_import_dir(ptr %arg_rel) { entry: %t0 = alloca ptr %t7 = alloca ptr %t12 = alloca ptr %t19 = alloca i32 %t28 = alloca i32 %t31 = alloca i32 %t74 = alloca ptr %t123 = alloca ptr %t127 = alloca i32 %t128 = alloca i32 store ptr %arg_rel, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i64 @strlen(ptr %t2) %t4 = trunc i64 %t3 to i32 %t5 = sub i32 %t4, 8 %t6 = call ptr @lp_str_slice(ptr %t1, i32 0, i32 %t5) store ptr %t6, ptr %t7 %t8 = load ptr, ptr @g_cur_dir %t9 = load ptr, ptr %t7 %t10 = call ptr @fn_join_path(ptr %t8, ptr %t9) %t11 = call ptr @lp_fs_list(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = icmp eq ptr %t13, null %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then0, label %ifend2 then0: %t17 = load ptr, ptr %t7 %t18 = call ptr @lp_str_concat(ptr @.str477, ptr %t17) call void @fn_perr(ptr %t18) br label %ifend2 ifend2: store i32 0, ptr %t19 br label %wcond3 wcond3: %t20 = load i32, ptr %t19 %t21 = load ptr, ptr %t12 %t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp slt i32 %t20, %t23 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %wbody4, label %wend5 wbody4: %t27 = load i32, ptr %t19 store i32 %t27, ptr %t28 %t29 = load i32, ptr %t19 %t30 = add i32 %t29, 1 store i32 %t30, ptr %t31 br label %wcond6 wcond6: %t32 = load i32, ptr %t31 %t33 = load ptr, ptr %t12 %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp slt i32 %t32, %t35 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %wbody7, label %wend8 wbody7: %t39 = load ptr, ptr %t12 %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = load i32, ptr %t31 %t43 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t42, %t44 br i1 %t45, label %ixok9, label %ixbad10 ixbad10: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str478, i32 %t42, i32 %t44) call void @exit(i32 1) unreachable ixok9: %t47 = getelementptr inbounds ptr, ptr %t41, i32 %t42 %t48 = load ptr, ptr %t47 %t49 = load ptr, ptr %t12 %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t51 = load ptr, ptr %t50 %t52 = load i32, ptr %t28 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 %t52, %t54 br i1 %t55, label %ixok11, label %ixbad12 ixbad12: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str479, i32 %t52, i32 %t54) call void @exit(i32 1) unreachable ixok11: %t57 = getelementptr inbounds ptr, ptr %t51, i32 %t52 %t58 = load ptr, ptr %t57 %t59 = call i32 @fn_str_less(ptr %t48, ptr %t58) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then13, label %ifend15 then13: %t61 = load i32, ptr %t31 store i32 %t61, ptr %t28 br label %ifend15 ifend15: %t62 = load i32, ptr %t31 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t31 br label %wcond6 wend8: %t64 = load ptr, ptr %t12 %t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 %t66 = load ptr, ptr %t65 %t67 = load i32, ptr %t19 %t68 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp ult i32 %t67, %t69 br i1 %t70, label %ixok16, label %ixbad17 ixbad17: %t71 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t71, ptr @.fmt_bounds, ptr @.str480, i32 %t67, i32 %t69) call void @exit(i32 1) unreachable ixok16: %t72 = getelementptr inbounds ptr, ptr %t66, i32 %t67 %t73 = load ptr, ptr %t72 store ptr %t73, ptr %t74 %t75 = load ptr, ptr %t12 %t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 %t77 = load ptr, ptr %t76 %t78 = load i32, ptr %t19 %t79 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t80 = load i32, ptr %t79 %t81 = icmp ult i32 %t78, %t80 br i1 %t81, label %ixok18, label %ixbad19 ixbad19: %t82 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str481, i32 %t78, i32 %t80) call void @exit(i32 1) unreachable ixok18: %t83 = getelementptr inbounds ptr, ptr %t77, i32 %t78 %t84 = load ptr, ptr %t12 %t85 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 0 %t86 = load ptr, ptr %t85 %t87 = load i32, ptr %t28 %t88 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 1 %t89 = load i32, ptr %t88 %t90 = icmp ult i32 %t87, %t89 br i1 %t90, label %ixok20, label %ixbad21 ixbad21: %t91 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t91, ptr @.fmt_bounds, ptr @.str482, i32 %t87, i32 %t89) call void @exit(i32 1) unreachable ixok20: %t92 = getelementptr inbounds ptr, ptr %t86, i32 %t87 %t93 = load ptr, ptr %t92 store ptr %t93, ptr %t83 %t94 = load ptr, ptr %t12 %t95 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = load i32, ptr %t28 %t98 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 %t99 = load i32, ptr %t98 %t100 = icmp ult i32 %t97, %t99 br i1 %t100, label %ixok22, label %ixbad23 ixbad23: %t101 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str483, i32 %t97, i32 %t99) call void @exit(i32 1) unreachable ixok22: %t102 = getelementptr inbounds ptr, ptr %t96, i32 %t97 %t103 = load ptr, ptr %t74 store ptr %t103, ptr %t102 %t104 = load i32, ptr %t19 %t105 = add i32 %t104, 1 store i32 %t105, ptr %t19 br label %wcond3 wend5: store i32 0, ptr %t19 br label %wcond24 wcond24: %t106 = load i32, ptr %t19 %t107 = load ptr, ptr %t12 %t108 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 %t109 = load i32, ptr %t108 %t110 = icmp slt i32 %t106, %t109 %t111 = zext i1 %t110 to i32 %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %wbody25, label %wend26 wbody25: %t113 = load ptr, ptr %t12 %t114 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = load i32, ptr %t19 %t117 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 %t118 = load i32, ptr %t117 %t119 = icmp ult i32 %t116, %t118 br i1 %t119, label %ixok27, label %ixbad28 ixbad28: %t120 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str484, i32 %t116, i32 %t118) call void @exit(i32 1) unreachable ixok27: %t121 = getelementptr inbounds ptr, ptr %t115, i32 %t116 %t122 = load ptr, ptr %t121 store ptr %t122, ptr %t123 %t124 = load ptr, ptr %t123 %t125 = call i64 @strlen(ptr %t124) %t126 = trunc i64 %t125 to i32 store i32 %t126, ptr %t127 %t129 = load i32, ptr %t127 %t130 = icmp sgt i32 %t129, 6 %t131 = zext i1 %t130 to i32 %t132 = icmp ne i32 %t131, 0 %t133 = zext i1 %t132 to i32 store i32 %t133, ptr %t128 br i1 %t132, label %sc29, label %scend30 sc29: %t134 = load ptr, ptr %t123 %t135 = load i32, ptr %t127 %t136 = sub i32 %t135, 6 %t137 = load i32, ptr %t127 %t138 = call ptr @lp_str_slice(ptr %t134, i32 %t136, i32 %t137) %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str485) %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t128 br label %scend30 scend30: %t142 = load i32, ptr %t128 %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then31, label %ifend33 then31: %t144 = load ptr, ptr %t7 %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str486) %t146 = load ptr, ptr %t123 %t147 = call ptr @lp_str_concat(ptr %t145, ptr %t146) call void @fn_do_import(ptr %t147) br label %ifend33 ifend33: %t148 = load i32, ptr %t19 %t149 = add i32 %t148, 1 store i32 %t149, ptr %t19 br label %wcond24 wend26: br label %ret ret: ret void } define ptr @fn_barrel_of(ptr %arg_rel) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 store ptr %arg_rel, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i64 @strlen(ptr %t1) %t3 = trunc i64 %t2 to i32 store i32 %t3, ptr %t4 %t6 = load i32, ptr %t4 %t7 = icmp sgt i32 %t6, 6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t5 br i1 %t9, label %sc0, label %scend1 sc0: %t11 = load ptr, ptr %t0 %t12 = load i32, ptr %t4 %t13 = sub i32 %t12, 6 %t14 = load i32, ptr %t4 %t15 = call ptr @lp_str_slice(ptr %t11, i32 %t13, i32 %t14) %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str487) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t5 br label %scend1 scend1: %t19 = load i32, ptr %t5 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then2, label %ifend4 then2: store ptr @.str488, ptr %retval br label %ret ifend4: %t21 = load ptr, ptr %t0 %t22 = load i32, ptr %t4 %t23 = sub i32 %t22, 1 %t24 = getelementptr inbounds i8, ptr %t21, i32 %t23 %t25 = load i8, ptr %t24 %t26 = zext i8 %t25 to i32 %t27 = icmp eq i32 %t26, 47 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then5, label %ifend7 then5: %t30 = load ptr, ptr %t0 %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str489) store ptr %t31, ptr %retval br label %ret ifend7: %t32 = load ptr, ptr %t0 %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str490) store ptr %t33, ptr %retval br label %ret ret: %t34 = load ptr, ptr %retval ret ptr %t34 } define void @fn_do_import(ptr %arg_rel) { entry: %t0 = alloca ptr %t1 = alloca i32 %t26 = alloca ptr %t32 = alloca i32 %t59 = alloca ptr %t62 = alloca ptr %t63 = alloca i32 %t64 = alloca i32 %t90 = alloca ptr %t93 = alloca ptr %t100 = alloca i32 %t120 = alloca ptr %t123 = alloca ptr %t130 = alloca i32 %t150 = alloca ptr %t153 = alloca ptr %t183 = alloca i32 %t184 = alloca i32 %t232 = alloca ptr %t236 = alloca i32 %t237 = alloca i32 %t261 = alloca ptr %t263 = alloca i32 %t265 = alloca ptr %t267 = alloca ptr %t269 = alloca i32 store ptr %arg_rel, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i64 @strlen(ptr %t2) %t4 = trunc i64 %t3 to i32 %t5 = icmp sgt i32 %t4, 8 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t1 br i1 %t7, label %sc0, label %scend1 sc0: %t9 = load ptr, ptr %t0 %t10 = load ptr, ptr %t0 %t11 = call i64 @strlen(ptr %t10) %t12 = trunc i64 %t11 to i32 %t13 = sub i32 %t12, 8 %t14 = load ptr, ptr %t0 %t15 = call i64 @strlen(ptr %t14) %t16 = trunc i64 %t15 to i32 %t17 = call ptr @lp_str_slice(ptr %t9, i32 %t13, i32 %t16) %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str491) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t1 br label %scend1 scend1: %t21 = load i32, ptr %t1 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then2, label %ifend4 then2: %t23 = load ptr, ptr %t0 call void @fn_do_import_dir(ptr %t23) br label %ret ifend4: %t24 = load ptr, ptr %t0 %t25 = call ptr @fn_barrel_of(ptr %t24) store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str492) %t29 = icmp eq i32 %t28, 0 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then5, label %ifend7 then5: %t33 = load ptr, ptr @g_cur_dir %t34 = load ptr, ptr %t26 %t35 = call ptr @fn_join_path(ptr %t33, ptr %t34) %t36 = call ptr @fn_read_file(ptr %t35) %t37 = icmp eq ptr %t36, null %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t32 br i1 %t39, label %sc8, label %scend9 sc8: %t41 = load ptr, ptr @g_cur_dir %t42 = load ptr, ptr %t0 %t43 = call ptr @fn_join_path(ptr %t41, ptr %t42) %t44 = call i32 @lp_fs_is_dir(ptr %t43) %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t32 br label %scend9 scend9: %t47 = load i32, ptr %t32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then10, label %ifend12 then10: %t49 = load ptr, ptr %t0 %t50 = call ptr @lp_str_concat(ptr @.str493, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str494) %t52 = load ptr, ptr %t26 %t53 = call ptr @lp_str_concat(ptr %t51, ptr %t52) %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str495) call void @fn_perr(ptr %t54) br label %ifend12 ifend12: %t55 = load ptr, ptr %t26 call void @fn_do_import(ptr %t55) br label %ret ifend7: %t56 = load ptr, ptr @g_cur_dir %t57 = load ptr, ptr %t0 %t58 = call ptr @fn_join_path(ptr %t56, ptr %t57) store ptr %t58, ptr %t59 %t60 = load ptr, ptr %t59 %t61 = call ptr @fn_read_file(ptr %t60) store ptr %t61, ptr %t62 %t65 = load ptr, ptr %t62 %t66 = icmp eq ptr %t65, null %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t64 br i1 %t68, label %sc13, label %scend14 sc13: %t70 = load ptr, ptr %t0 %t71 = getelementptr inbounds i8, ptr %t70, i32 0 %t72 = load i8, ptr %t71 %t73 = zext i8 %t72 to i32 %t74 = icmp ne i32 %t73, 47 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t64 br label %scend14 scend14: %t78 = load i32, ptr %t64 %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t63 br i1 %t79, label %sc15, label %scend16 sc15: %t81 = load ptr, ptr %t0 %t82 = call i32 @fn_is_runtime_path(ptr %t81) %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t63 br label %scend16 scend16: %t85 = load i32, ptr %t63 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then17, label %ifend19 then17: %t87 = call ptr @fn_ludic_home() %t88 = load ptr, ptr %t0 %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) store ptr %t89, ptr %t90 %t91 = load ptr, ptr %t90 %t92 = call ptr @fn_read_file(ptr %t91) store ptr %t92, ptr %t93 %t94 = load ptr, ptr %t93 %t95 = icmp ne ptr %t94, null %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then20, label %ifend22 then20: %t98 = load ptr, ptr %t90 store ptr %t98, ptr %t59 %t99 = load ptr, ptr %t93 store ptr %t99, ptr %t62 br label %ifend22 ifend22: br label %ifend19 ifend19: %t101 = load ptr, ptr %t62 %t102 = icmp eq ptr %t101, null %t103 = zext i1 %t102 to i32 %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t100 br i1 %t104, label %sc23, label %scend24 sc23: %t106 = load ptr, ptr %t0 %t107 = getelementptr inbounds i8, ptr %t106, i32 0 %t108 = load i8, ptr %t107 %t109 = zext i8 %t108 to i32 %t110 = icmp ne i32 %t109, 47 %t111 = zext i1 %t110 to i32 %t112 = icmp ne i32 %t111, 0 %t113 = zext i1 %t112 to i32 store i32 %t113, ptr %t100 br label %scend24 scend24: %t114 = load i32, ptr %t100 %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then25, label %ifend27 then25: %t116 = call ptr @fn_getenv_or(ptr @.str496, ptr @.str497) %t117 = call ptr @fn_ensure_slash(ptr %t116) %t118 = load ptr, ptr %t0 %t119 = call ptr @lp_str_concat(ptr %t117, ptr %t118) store ptr %t119, ptr %t120 %t121 = load ptr, ptr %t120 %t122 = call ptr @fn_read_file(ptr %t121) store ptr %t122, ptr %t123 %t124 = load ptr, ptr %t123 %t125 = icmp ne ptr %t124, null %t126 = zext i1 %t125 to i32 %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then28, label %ifend30 then28: %t128 = load ptr, ptr %t120 store ptr %t128, ptr %t59 %t129 = load ptr, ptr %t123 store ptr %t129, ptr %t62 br label %ifend30 ifend30: br label %ifend27 ifend27: %t131 = load ptr, ptr %t62 %t132 = icmp eq ptr %t131, null %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t130 br i1 %t134, label %sc31, label %scend32 sc31: %t136 = load ptr, ptr %t0 %t137 = getelementptr inbounds i8, ptr %t136, i32 0 %t138 = load i8, ptr %t137 %t139 = zext i8 %t138 to i32 %t140 = icmp ne i32 %t139, 47 %t141 = zext i1 %t140 to i32 %t142 = icmp ne i32 %t141, 0 %t143 = zext i1 %t142 to i32 store i32 %t143, ptr %t130 br label %scend32 scend32: %t144 = load i32, ptr %t130 %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then33, label %ifend35 then33: %t146 = call ptr @fn_ludic_home() %t147 = call ptr @lp_str_concat(ptr %t146, ptr @.str498) %t148 = load ptr, ptr %t0 %t149 = call ptr @lp_str_concat(ptr %t147, ptr %t148) store ptr %t149, ptr %t150 %t151 = load ptr, ptr %t150 %t152 = call ptr @fn_read_file(ptr %t151) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t153 %t155 = icmp ne ptr %t154, null %t156 = zext i1 %t155 to i32 %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then36, label %ifend38 then36: %t158 = load ptr, ptr %t150 store ptr %t158, ptr %t59 %t159 = load ptr, ptr %t153 store ptr %t159, ptr %t62 br label %ifend38 ifend38: br label %ifend35 ifend35: %t160 = load ptr, ptr %t59 %t161 = call i32 @fn_already_loaded(ptr %t160) %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then39, label %ifend41 then39: br label %ret ifend41: %t163 = load ptr, ptr @g_loaded_paths %t164 = load ptr, ptr %t59 %t165 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 1 %t166 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 2 %t167 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0 %t168 = load i32, ptr %t165 %t169 = load i32, ptr %t166 %t170 = icmp sge i32 %t168, %t169 br i1 %t170, label %grow42, label %put43 grow42: %t171 = mul i32 %t169, 2 %t172 = icmp eq i32 %t169, 0 %t173 = select i1 %t172, i32 8, i32 %t171 %t174 = getelementptr ptr, ptr null, i32 1 %t175 = ptrtoint ptr %t174 to i64 %t176 = zext i32 %t173 to i64 %t177 = mul i64 %t176, %t175 %t178 = load ptr, ptr %t167 %t179 = call ptr @realloc(ptr %t178, i64 %t177) store ptr %t179, ptr %t167 store i32 %t173, ptr %t166 br label %put43 put43: %t180 = load ptr, ptr %t167 %t181 = getelementptr inbounds ptr, ptr %t180, i32 %t168 store ptr %t164, ptr %t181 %t182 = add i32 %t168, 1 store i32 %t182, ptr %t165 %t185 = load ptr, ptr @g_g_parse_file %t186 = call i32 @fn_is_float_file(ptr %t185) %t187 = icmp ne i32 %t186, 0 %t188 = zext i1 %t187 to i32 store i32 %t188, ptr %t184 br i1 %t187, label %sc44, label %scend45 sc44: %t189 = load ptr, ptr %t0 %t190 = call i32 @fn_is_runtime_path(ptr %t189) %t191 = icmp eq i32 %t190, 0 %t192 = zext i1 %t191 to i32 %t193 = icmp ne i32 %t192, 0 %t194 = zext i1 %t193 to i32 store i32 %t194, ptr %t184 br label %scend45 scend45: %t195 = load i32, ptr %t184 %t196 = icmp ne i32 %t195, 0 %t197 = zext i1 %t196 to i32 store i32 %t197, ptr %t183 br i1 %t196, label %sc46, label %scend47 sc46: %t198 = load ptr, ptr %t59 %t199 = call i32 @fn_is_float_file(ptr %t198) %t200 = icmp eq i32 %t199, 0 %t201 = zext i1 %t200 to i32 %t202 = icmp ne i32 %t201, 0 %t203 = zext i1 %t202 to i32 store i32 %t203, ptr %t183 br label %scend47 scend47: %t204 = load i32, ptr %t183 %t205 = icmp ne i32 %t204, 0 br i1 %t205, label %then48, label %ifend50 then48: %t206 = load ptr, ptr @g_g_float_files %t207 = load ptr, ptr %t59 %t208 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 1 %t209 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 2 %t210 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 0 %t211 = load i32, ptr %t208 %t212 = load i32, ptr %t209 %t213 = icmp sge i32 %t211, %t212 br i1 %t213, label %grow51, label %put52 grow51: %t214 = mul i32 %t212, 2 %t215 = icmp eq i32 %t212, 0 %t216 = select i1 %t215, i32 8, i32 %t214 %t217 = getelementptr ptr, ptr null, i32 1 %t218 = ptrtoint ptr %t217 to i64 %t219 = zext i32 %t216 to i64 %t220 = mul i64 %t219, %t218 %t221 = load ptr, ptr %t210 %t222 = call ptr @realloc(ptr %t221, i64 %t220) store ptr %t222, ptr %t210 store i32 %t216, ptr %t209 br label %put52 put52: %t223 = load ptr, ptr %t210 %t224 = getelementptr inbounds ptr, ptr %t223, i32 %t211 store ptr %t207, ptr %t224 %t225 = add i32 %t211, 1 store i32 %t225, ptr %t208 br label %ifend50 ifend50: %t226 = load ptr, ptr %t62 %t227 = icmp eq ptr %t226, null %t228 = zext i1 %t227 to i32 %t229 = icmp ne i32 %t228, 0 br i1 %t229, label %then53, label %ifend55 then53: %t230 = load ptr, ptr %t59 %t231 = call ptr @lp_str_concat(ptr @.str499, ptr %t230) call void @fn_perr(ptr %t231) br label %ifend55 ifend55: store ptr @.str500, ptr %t232 %t233 = load ptr, ptr %t59 %t234 = call i64 @strlen(ptr %t233) %t235 = trunc i64 %t234 to i32 store i32 %t235, ptr %t236 %t238 = load i32, ptr %t236 %t239 = load ptr, ptr %t232 %t240 = call i64 @strlen(ptr %t239) %t241 = trunc i64 %t240 to i32 %t242 = icmp sge i32 %t238, %t241 %t243 = zext i1 %t242 to i32 %t244 = icmp ne i32 %t243, 0 %t245 = zext i1 %t244 to i32 store i32 %t245, ptr %t237 br i1 %t244, label %sc56, label %scend57 sc56: %t246 = load ptr, ptr %t59 %t247 = load i32, ptr %t236 %t248 = load ptr, ptr %t232 %t249 = call i64 @strlen(ptr %t248) %t250 = trunc i64 %t249 to i32 %t251 = sub i32 %t247, %t250 %t252 = load i32, ptr %t236 %t253 = call ptr @lp_str_slice(ptr %t246, i32 %t251, i32 %t252) %t254 = load ptr, ptr %t232 %t255 = call i32 @lp_str_eq(ptr %t253, ptr %t254) %t256 = icmp ne i32 %t255, 0 %t257 = zext i1 %t256 to i32 store i32 %t257, ptr %t237 br label %scend57 scend57: %t258 = load i32, ptr %t237 %t259 = icmp ne i32 %t258, 0 br i1 %t259, label %then58, label %ifend60 then58: store i32 1, ptr @g_g_uses_audio br label %ifend60 ifend60: %t260 = load ptr, ptr @g_toks store ptr %t260, ptr %t261 %t262 = load i32, ptr @g_pi store i32 %t262, ptr %t263 %t264 = load ptr, ptr @g_cur_dir store ptr %t264, ptr %t265 %t266 = load ptr, ptr @g_g_parse_file store ptr %t266, ptr %t267 %t268 = load i32, ptr @g_g_parsing store i32 %t268, ptr %t269 %t270 = load ptr, ptr %t59 %t271 = call ptr @fn_dir_of(ptr %t270) store ptr %t271, ptr @g_cur_dir %t272 = load ptr, ptr %t59 store ptr %t272, ptr @g_g_parse_file store i32 1, ptr @g_g_parsing %t273 = load ptr, ptr %t62 call void @fn_lex(ptr %t273) store i32 0, ptr @g_pi call void @fn_skipnl() br label %wcond61 wcond61: %t274 = load ptr, ptr @g_toks %t275 = getelementptr inbounds %LSlice, ptr %t274, i32 0, i32 0 %t276 = load ptr, ptr %t275 %t277 = load i32, ptr @g_pi %t278 = getelementptr inbounds %LSlice, ptr %t274, i32 0, i32 1 %t279 = load i32, ptr %t278 %t280 = icmp ult i32 %t277, %t279 br i1 %t280, label %ixok64, label %ixbad65 ixbad65: %t281 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t281, ptr @.fmt_bounds, ptr @.str501, i32 %t277, i32 %t279) call void @exit(i32 1) unreachable ixok64: %t282 = getelementptr inbounds ptr, ptr %t276, i32 %t277 %t283 = load ptr, ptr %t282 %t284 = getelementptr inbounds %Cmp_Tok, ptr %t283, i32 0, i32 0 %t285 = load i32, ptr %t284 %t286 = icmp ne i32 %t285, 5 %t287 = zext i1 %t286 to i32 %t288 = icmp ne i32 %t287, 0 br i1 %t288, label %wbody62, label %wend63 wbody62: call void @fn_parse_one_decl() call void @fn_skipnl() br label %wcond61 wend63: %t289 = load ptr, ptr %t261 store ptr %t289, ptr @g_toks %t290 = load i32, ptr %t263 store i32 %t290, ptr @g_pi %t291 = load ptr, ptr %t265 store ptr %t291, ptr @g_cur_dir %t292 = load ptr, ptr %t267 store ptr %t292, ptr @g_g_parse_file %t293 = load i32, ptr %t269 store i32 %t293, ptr @g_g_parsing br label %ret ret: ret void } define void @fn_maybe_splice_runtime() { entry: %t1 = alloca ptr %t78 = alloca i32 %t107 = alloca i32 %t0 = load ptr, ptr @g_cur_dir store ptr %t0, ptr %t1 %t2 = call i32 @fn_has_ecs() %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str502, ptr @g_cur_dir call void @fn_do_import(ptr @.str503) %t4 = load ptr, ptr %t1 store ptr %t4, ptr @g_cur_dir br label %ifend2 ifend2: %t5 = load i32, ptr @g_g_uses_regex %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str504, ptr @g_cur_dir call void @fn_do_import(ptr @.str505) call void @fn_do_import(ptr @.str506) %t7 = load ptr, ptr %t1 store ptr %t7, ptr @g_cur_dir br label %ifend5 ifend5: %t8 = load i32, ptr @g_g_uses_bignum %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str507, ptr @g_cur_dir call void @fn_do_import(ptr @.str508) %t10 = load ptr, ptr %t1 store ptr %t10, ptr @g_cur_dir br label %ifend8 ifend8: %t11 = load i32, ptr @g_g_uses_dict %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str509, ptr @g_cur_dir call void @fn_do_import(ptr @.str510) %t13 = load ptr, ptr %t1 store ptr %t13, ptr @g_cur_dir br label %ifend11 ifend11: %t14 = load i32, ptr @g_g_uses_numeric %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str511, ptr @g_cur_dir call void @fn_do_import(ptr @.str512) %t16 = load ptr, ptr %t1 store ptr %t16, ptr @g_cur_dir br label %ifend14 ifend14: %t17 = load i32, ptr @g_g_uses_jobs %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: store ptr @.str513, ptr @g_cur_dir call void @fn_do_import(ptr @.str514) %t19 = load ptr, ptr %t1 store ptr %t19, ptr @g_cur_dir br label %ifend17 ifend17: %t20 = load i32, ptr @g_g_uses_query %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: store ptr @.str515, ptr @g_cur_dir call void @fn_do_import(ptr @.str516) %t22 = load ptr, ptr %t1 store ptr %t22, ptr @g_cur_dir br label %ifend20 ifend20: %t23 = load i32, ptr @g_g_uses_light %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: store ptr @.str517, ptr @g_cur_dir call void @fn_do_import(ptr @.str518) %t25 = load ptr, ptr %t1 store ptr %t25, ptr @g_cur_dir br label %ifend23 ifend23: %t26 = load i32, ptr @g_g_uses_value %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: store ptr @.str519, ptr @g_cur_dir call void @fn_do_import(ptr @.str520) %t28 = load ptr, ptr %t1 store ptr %t28, ptr @g_cur_dir br label %ifend26 ifend26: %t29 = load i32, ptr @g_g_uses_xml %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then27, label %ifend29 then27: store ptr @.str521, ptr @g_cur_dir call void @fn_do_import(ptr @.str522) %t31 = load ptr, ptr %t1 store ptr %t31, ptr @g_cur_dir br label %ifend29 ifend29: %t32 = load i32, ptr @g_g_uses_atlas %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then30, label %ifend32 then30: store ptr @.str523, ptr @g_cur_dir call void @fn_do_import(ptr @.str524) call void @fn_do_import(ptr @.str525) call void @fn_do_import(ptr @.str526) %t34 = load ptr, ptr %t1 store ptr %t34, ptr @g_cur_dir br label %ifend32 ifend32: %t35 = load i32, ptr @g_g_uses_fx %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then33, label %ifend35 then33: store ptr @.str527, ptr @g_cur_dir call void @fn_do_import(ptr @.str528) call void @fn_do_import(ptr @.str529) %t37 = load ptr, ptr %t1 store ptr %t37, ptr @g_cur_dir br label %ifend35 ifend35: %t38 = load i32, ptr @g_g_uses_base64 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then36, label %ifend38 then36: store ptr @.str530, ptr @g_cur_dir call void @fn_do_import(ptr @.str531) call void @fn_do_import(ptr @.str532) call void @fn_do_import(ptr @.str533) %t40 = load ptr, ptr %t1 store ptr %t40, ptr @g_cur_dir br label %ifend38 ifend38: %t41 = load i32, ptr @g_g_uses_tiled %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then39, label %ifend41 then39: store ptr @.str534, ptr @g_cur_dir call void @fn_do_import(ptr @.str535) call void @fn_do_import(ptr @.str536) call void @fn_do_import(ptr @.str537) call void @fn_do_import(ptr @.str538) call void @fn_do_import(ptr @.str539) call void @fn_do_import(ptr @.str540) call void @fn_do_import(ptr @.str541) %t43 = call i32 @fn_has_ecs() %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then42, label %ifend44 then42: call void @fn_do_import(ptr @.str542) br label %ifend44 ifend44: %t45 = load ptr, ptr %t1 store ptr %t45, ptr @g_cur_dir br label %ifend41 ifend41: %t46 = load i32, ptr @g_g_uses_reflect_io %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then45, label %ifend47 then45: store ptr @.str543, ptr @g_cur_dir call void @fn_do_import(ptr @.str544) %t48 = load ptr, ptr %t1 store ptr %t48, ptr @g_cur_dir br label %ifend47 ifend47: %t49 = load i32, ptr @g_g_uses_input %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then48, label %ifend50 then48: store ptr @.str545, ptr @g_cur_dir call void @fn_do_import(ptr @.str546) call void @fn_do_import(ptr @.str547) %t51 = load ptr, ptr %t1 store ptr %t51, ptr @g_cur_dir br label %ifend50 ifend50: %t52 = load i32, ptr @g_g_uses_tween_rt %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then51, label %ifend53 then51: store ptr @.str548, ptr @g_cur_dir call void @fn_do_import(ptr @.str549) call void @fn_do_import(ptr @.str550) %t54 = load ptr, ptr %t1 store ptr %t54, ptr @g_cur_dir br label %ifend53 ifend53: %t55 = load i32, ptr @g_g_uses_audio %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then54, label %ifend56 then54: store ptr @.str551, ptr @g_cur_dir call void @fn_do_import(ptr @.str552) %t57 = load ptr, ptr %t1 store ptr %t57, ptr @g_cur_dir br label %ifend56 ifend56: %t58 = load i32, ptr @g_g_uses_http %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then57, label %ifend59 then57: store ptr @.str553, ptr @g_cur_dir call void @fn_do_import(ptr @.str554) %t60 = load ptr, ptr %t1 store ptr %t60, ptr @g_cur_dir br label %ifend59 ifend59: %t61 = load i32, ptr @g_g_uses_udp %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then60, label %ifend62 then60: store ptr @.str555, ptr @g_cur_dir call void @fn_do_import(ptr @.str556) %t63 = load ptr, ptr %t1 store ptr %t63, ptr @g_cur_dir br label %ifend62 ifend62: %t64 = load i32, ptr @g_g_uses_process %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then63, label %ifend65 then63: store ptr @.str557, ptr @g_cur_dir call void @fn_do_import(ptr @.str558) %t66 = load ptr, ptr %t1 store ptr %t66, ptr @g_cur_dir br label %ifend65 ifend65: %t67 = load i32, ptr @g_g_uses_gl %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then66, label %ifend68 then66: store ptr @.str559, ptr @g_cur_dir call void @fn_do_import(ptr @.str560) %t69 = load ptr, ptr %t1 store ptr %t69, ptr @g_cur_dir br label %ifend68 ifend68: %t70 = load i32, ptr @g_g_uses_vk %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then69, label %ifend71 then69: store ptr @.str561, ptr @g_cur_dir call void @fn_do_import(ptr @.str562) %t72 = load ptr, ptr %t1 store ptr %t72, ptr @g_cur_dir br label %ifend71 ifend71: %t73 = load i32, ptr @g_g_uses_anim_rt %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then72, label %ifend74 then72: store i32 1, ptr @g_g_uses_esys store ptr @.str563, ptr @g_cur_dir call void @fn_do_import(ptr @.str564) call void @fn_do_import(ptr @.str565) %t75 = load ptr, ptr %t1 store ptr %t75, ptr @g_cur_dir br label %ifend74 ifend74: %t76 = call i32 @fn_uses_engine_systems() %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then75, label %ifend77 then75: store i32 1, ptr @g_g_uses_esys store ptr @.str566, ptr @g_cur_dir %t79 = call ptr @fn_find_comp(ptr @.str567) %t80 = icmp ne ptr %t79, null %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t78 br i1 %t82, label %scend79, label %sc78 sc78: %t84 = call ptr @fn_find_comp(ptr @.str568) %t85 = icmp ne ptr %t84, null %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t78 br label %scend79 scend79: %t89 = load i32, ptr %t78 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then80, label %ifend82 then80: call void @fn_do_import(ptr @.str569) br label %ifend82 ifend82: %t91 = call ptr @fn_find_comp(ptr @.str570) %t92 = icmp ne ptr %t91, null %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then83, label %ifend85 then83: call void @fn_do_import(ptr @.str571) call void @fn_do_import(ptr @.str572) br label %ifend85 ifend85: %t95 = call ptr @fn_find_comp(ptr @.str573) %t96 = icmp ne ptr %t95, null %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then86, label %ifend88 then86: call void @fn_do_import(ptr @.str574) call void @fn_do_import(ptr @.str575) br label %ifend88 ifend88: %t99 = call ptr @fn_find_comp(ptr @.str576) %t100 = icmp ne ptr %t99, null %t101 = zext i1 %t100 to i32 %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then89, label %ifend91 then89: call void @fn_do_import(ptr @.str577) call void @fn_do_import(ptr @.str578) br label %ifend91 ifend91: %t103 = call ptr @fn_find_comp(ptr @.str579) %t104 = icmp ne ptr %t103, null %t105 = zext i1 %t104 to i32 %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then92, label %ifend94 then92: call void @fn_do_import(ptr @.str580) br label %ifend94 ifend94: %t108 = call ptr @fn_find_comp(ptr @.str581) %t109 = icmp ne ptr %t108, null %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t107 br i1 %t111, label %scend96, label %sc95 sc95: %t113 = call ptr @fn_find_comp(ptr @.str582) %t114 = icmp ne ptr %t113, null %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 %t117 = zext i1 %t116 to i32 store i32 %t117, ptr %t107 br label %scend96 scend96: %t118 = load i32, ptr %t107 %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then97, label %ifend99 then97: call void @fn_do_import(ptr @.str583) call void @fn_do_import(ptr @.str584) store i32 1, ptr @g_g_uses_light br label %ifend99 ifend99: %t120 = load ptr, ptr %t1 store ptr %t120, ptr @g_cur_dir br label %ifend77 ifend77: br label %ret ret: ret void } define void @fn_parse_program() { entry: %t551 = alloca ptr %t555 = alloca ptr %t564 = alloca ptr %t567 = alloca i32 %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 %t2 = call ptr @malloc(i64 %t1) %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 store ptr null, ptr %t3 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 store i32 0, ptr %t4 %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 store i32 0, ptr %t5 store ptr %t2, ptr @g_prog %t6 = getelementptr %LSlice, ptr null, i32 1 %t7 = ptrtoint ptr %t6 to i64 %t8 = call ptr @malloc(i64 %t7) %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 store ptr null, ptr %t9 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 store i32 0, ptr %t10 %t11 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 2 store i32 0, ptr %t11 store ptr %t8, ptr @g_g_computed %t12 = getelementptr %LSlice, ptr null, i32 1 %t13 = ptrtoint ptr %t12 to i64 %t14 = call ptr @malloc(i64 %t13) %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 store ptr null, ptr %t15 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 store i32 0, ptr %t16 %t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2 store i32 0, ptr %t17 store ptr %t14, ptr @g_g_onspawn %t18 = getelementptr %LSlice, ptr null, i32 1 %t19 = ptrtoint ptr %t18 to i64 %t20 = call ptr @malloc(i64 %t19) %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 store ptr null, ptr %t21 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 store i32 0, ptr %t22 %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2 store i32 0, ptr %t23 store ptr %t20, ptr @g_g_ondespawn %t24 = getelementptr %LSlice, ptr null, i32 1 %t25 = ptrtoint ptr %t24 to i64 %t26 = call ptr @malloc(i64 %t25) %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 store ptr null, ptr %t27 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 store i32 0, ptr %t28 %t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2 store i32 0, ptr %t29 store ptr %t26, ptr @g_g_onattach %t30 = getelementptr %LSlice, ptr null, i32 1 %t31 = ptrtoint ptr %t30 to i64 %t32 = call ptr @malloc(i64 %t31) %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 store ptr null, ptr %t33 %t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 store i32 0, ptr %t34 %t35 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 2 store i32 0, ptr %t35 store ptr %t32, ptr @g_g_ondetach %t36 = getelementptr %LSlice, ptr null, i32 1 %t37 = ptrtoint ptr %t36 to i64 %t38 = call ptr @malloc(i64 %t37) %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 store ptr null, ptr %t39 %t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 store i32 0, ptr %t40 %t41 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 2 store i32 0, ptr %t41 store ptr %t38, ptr @g_g_onenable %t42 = getelementptr %LSlice, ptr null, i32 1 %t43 = ptrtoint ptr %t42 to i64 %t44 = call ptr @malloc(i64 %t43) %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 store ptr null, ptr %t45 %t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 store i32 0, ptr %t46 %t47 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 2 store i32 0, ptr %t47 store ptr %t44, ptr @g_g_ondisable %t48 = getelementptr %LSlice, ptr null, i32 1 %t49 = ptrtoint ptr %t48 to i64 %t50 = call ptr @malloc(i64 %t49) %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 store ptr null, ptr %t51 %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 store i32 0, ptr %t52 %t53 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 2 store i32 0, ptr %t53 store ptr %t50, ptr @g_g_scenes store i32 0, ptr @g_g_scene_count store i32 0, ptr @g_g_start_scene %t54 = getelementptr %LSlice, ptr null, i32 1 %t55 = ptrtoint ptr %t54 to i64 %t56 = call ptr @malloc(i64 %t55) %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 store ptr null, ptr %t57 %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 store i32 0, ptr %t58 %t59 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 2 store i32 0, ptr %t59 store ptr %t56, ptr @g_g_events %t60 = getelementptr %LSlice, ptr null, i32 1 %t61 = ptrtoint ptr %t60 to i64 %t62 = call ptr @malloc(i64 %t61) %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 store ptr null, ptr %t63 %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 store i32 0, ptr %t64 %t65 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 2 store i32 0, ptr %t65 store ptr %t62, ptr @g_g_onlisten %t66 = getelementptr %LSlice, ptr null, i32 1 %t67 = ptrtoint ptr %t66 to i64 %t68 = call ptr @malloc(i64 %t67) %t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 store ptr null, ptr %t69 %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 store i32 0, ptr %t70 %t71 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 2 store i32 0, ptr %t71 store ptr %t68, ptr @g_g_toggled_layers store i32 0, ptr @g_g_uses_regex store i32 0, ptr @g_g_uses_gl store i32 0, ptr @g_g_uses_vk store i32 0, ptr @g_g_uses_bignum store i32 0, ptr @g_g_uses_dict store i32 0, ptr @g_g_uses_numeric store i32 0, ptr @g_g_uses_jobs store i32 0, ptr @g_g_uses_query store i32 0, ptr @g_g_uses_reflect store i32 0, ptr @g_g_uses_esys store i32 0, ptr @g_g_uses_input store i32 0, ptr @g_g_has_clear_color store ptr null, ptr @g_g_clear_color store i32 0, ptr @g_g_warned_draw_sprite store i32 0, ptr @g_g_uses_world_despawn store i32 0, ptr @g_g_uses_light store i32 0, ptr @g_g_uses_value store i32 0, ptr @g_g_uses_xml store i32 0, ptr @g_g_uses_base64 store i32 0, ptr @g_g_uses_tiled store i32 0, ptr @g_g_uses_atlas store i32 0, ptr @g_g_uses_fx store i32 0, ptr @g_g_uses_reflect_io %t72 = getelementptr %LSlice, ptr null, i32 1 %t73 = ptrtoint ptr %t72 to i64 %t74 = call ptr @malloc(i64 %t73) %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 store ptr null, ptr %t75 %t76 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 store i32 0, ptr %t76 %t77 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 2 store i32 0, ptr %t77 store ptr %t74, ptr @g_g_tests %t78 = getelementptr %LSlice, ptr null, i32 1 %t79 = ptrtoint ptr %t78 to i64 %t80 = call ptr @malloc(i64 %t79) %t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0 store ptr null, ptr %t81 %t82 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1 store i32 0, ptr %t82 %t83 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 2 store i32 0, ptr %t83 store ptr %t80, ptr @g_g_mod_sys_fn %t84 = getelementptr %LSlice, ptr null, i32 1 %t85 = ptrtoint ptr %t84 to i64 %t86 = call ptr @malloc(i64 %t85) %t87 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 0 store ptr null, ptr %t87 %t88 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 store i32 0, ptr %t88 %t89 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 2 store i32 0, ptr %t89 store ptr %t86, ptr @g_g_mod_sys_phase %t90 = getelementptr %LSlice, ptr null, i32 1 %t91 = ptrtoint ptr %t90 to i64 %t92 = call ptr @malloc(i64 %t91) %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 store ptr null, ptr %t93 %t94 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 store i32 0, ptr %t94 %t95 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 2 store i32 0, ptr %t95 store ptr %t92, ptr @g_g_esys_comp %t96 = getelementptr %LSlice, ptr null, i32 1 %t97 = ptrtoint ptr %t96 to i64 %t98 = call ptr @malloc(i64 %t97) %t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 store ptr null, ptr %t99 %t100 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 store i32 0, ptr %t100 %t101 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 2 store i32 0, ptr %t101 store ptr %t98, ptr @g_g_esys_fn %t102 = getelementptr %LSlice, ptr null, i32 1 %t103 = ptrtoint ptr %t102 to i64 %t104 = call ptr @malloc(i64 %t103) %t105 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0 store ptr null, ptr %t105 %t106 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 store i32 0, ptr %t106 %t107 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 2 store i32 0, ptr %t107 store ptr %t104, ptr @g_g_esys_phase %t108 = getelementptr %LSlice, ptr null, i32 1 %t109 = ptrtoint ptr %t108 to i64 %t110 = call ptr @malloc(i64 %t109) %t111 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 0 store ptr null, ptr %t111 %t112 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 1 store i32 0, ptr %t112 %t113 = getelementptr inbounds %LSlice, ptr %t110, i32 0, i32 2 store i32 0, ptr %t113 store ptr %t110, ptr @g_g_disabled_sys %t114 = load ptr, ptr @g_g_esys_comp %t115 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1 %t116 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 2 %t117 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0 %t118 = load i32, ptr %t115 %t119 = load i32, ptr %t116 %t120 = icmp sge i32 %t118, %t119 br i1 %t120, label %grow0, label %put1 grow0: %t121 = mul i32 %t119, 2 %t122 = icmp eq i32 %t119, 0 %t123 = select i1 %t122, i32 8, i32 %t121 %t124 = getelementptr ptr, ptr null, i32 1 %t125 = ptrtoint ptr %t124 to i64 %t126 = zext i32 %t123 to i64 %t127 = mul i64 %t126, %t125 %t128 = load ptr, ptr %t117 %t129 = call ptr @realloc(ptr %t128, i64 %t127) store ptr %t129, ptr %t117 store i32 %t123, ptr %t116 br label %put1 put1: %t130 = load ptr, ptr %t117 %t131 = getelementptr inbounds ptr, ptr %t130, i32 %t118 store ptr @.str585, ptr %t131 %t132 = add i32 %t118, 1 store i32 %t132, ptr %t115 %t133 = load ptr, ptr @g_g_esys_fn %t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 1 %t135 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 2 %t136 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 %t137 = load i32, ptr %t134 %t138 = load i32, ptr %t135 %t139 = icmp sge i32 %t137, %t138 br i1 %t139, label %grow2, label %put3 grow2: %t140 = mul i32 %t138, 2 %t141 = icmp eq i32 %t138, 0 %t142 = select i1 %t141, i32 8, i32 %t140 %t143 = getelementptr ptr, ptr null, i32 1 %t144 = ptrtoint ptr %t143 to i64 %t145 = zext i32 %t142 to i64 %t146 = mul i64 %t145, %t144 %t147 = load ptr, ptr %t136 %t148 = call ptr @realloc(ptr %t147, i64 %t146) store ptr %t148, ptr %t136 store i32 %t142, ptr %t135 br label %put3 put3: %t149 = load ptr, ptr %t136 %t150 = getelementptr inbounds ptr, ptr %t149, i32 %t137 store ptr @.str586, ptr %t150 %t151 = add i32 %t137, 1 store i32 %t151, ptr %t134 %t152 = load ptr, ptr @g_g_esys_phase %t153 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t154 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 2 %t155 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 %t156 = load i32, ptr %t153 %t157 = load i32, ptr %t154 %t158 = icmp sge i32 %t156, %t157 br i1 %t158, label %grow4, label %put5 grow4: %t159 = mul i32 %t157, 2 %t160 = icmp eq i32 %t157, 0 %t161 = select i1 %t160, i32 8, i32 %t159 %t162 = getelementptr ptr, ptr null, i32 1 %t163 = ptrtoint ptr %t162 to i64 %t164 = zext i32 %t161 to i64 %t165 = mul i64 %t164, %t163 %t166 = load ptr, ptr %t155 %t167 = call ptr @realloc(ptr %t166, i64 %t165) store ptr %t167, ptr %t155 store i32 %t161, ptr %t154 br label %put5 put5: %t168 = load ptr, ptr %t155 %t169 = getelementptr inbounds ptr, ptr %t168, i32 %t156 store ptr @.str587, ptr %t169 %t170 = add i32 %t156, 1 store i32 %t170, ptr %t153 %t171 = load ptr, ptr @g_g_esys_comp %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 %t173 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 2 %t174 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 %t175 = load i32, ptr %t172 %t176 = load i32, ptr %t173 %t177 = icmp sge i32 %t175, %t176 br i1 %t177, label %grow6, label %put7 grow6: %t178 = mul i32 %t176, 2 %t179 = icmp eq i32 %t176, 0 %t180 = select i1 %t179, i32 8, i32 %t178 %t181 = getelementptr ptr, ptr null, i32 1 %t182 = ptrtoint ptr %t181 to i64 %t183 = zext i32 %t180 to i64 %t184 = mul i64 %t183, %t182 %t185 = load ptr, ptr %t174 %t186 = call ptr @realloc(ptr %t185, i64 %t184) store ptr %t186, ptr %t174 store i32 %t180, ptr %t173 br label %put7 put7: %t187 = load ptr, ptr %t174 %t188 = getelementptr inbounds ptr, ptr %t187, i32 %t175 store ptr @.str588, ptr %t188 %t189 = add i32 %t175, 1 store i32 %t189, ptr %t172 %t190 = load ptr, ptr @g_g_esys_fn %t191 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 1 %t192 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 2 %t193 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 0 %t194 = load i32, ptr %t191 %t195 = load i32, ptr %t192 %t196 = icmp sge i32 %t194, %t195 br i1 %t196, label %grow8, label %put9 grow8: %t197 = mul i32 %t195, 2 %t198 = icmp eq i32 %t195, 0 %t199 = select i1 %t198, i32 8, i32 %t197 %t200 = getelementptr ptr, ptr null, i32 1 %t201 = ptrtoint ptr %t200 to i64 %t202 = zext i32 %t199 to i64 %t203 = mul i64 %t202, %t201 %t204 = load ptr, ptr %t193 %t205 = call ptr @realloc(ptr %t204, i64 %t203) store ptr %t205, ptr %t193 store i32 %t199, ptr %t192 br label %put9 put9: %t206 = load ptr, ptr %t193 %t207 = getelementptr inbounds ptr, ptr %t206, i32 %t194 store ptr @.str589, ptr %t207 %t208 = add i32 %t194, 1 store i32 %t208, ptr %t191 %t209 = load ptr, ptr @g_g_esys_phase %t210 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 1 %t211 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 2 %t212 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0 %t213 = load i32, ptr %t210 %t214 = load i32, ptr %t211 %t215 = icmp sge i32 %t213, %t214 br i1 %t215, label %grow10, label %put11 grow10: %t216 = mul i32 %t214, 2 %t217 = icmp eq i32 %t214, 0 %t218 = select i1 %t217, i32 8, i32 %t216 %t219 = getelementptr ptr, ptr null, i32 1 %t220 = ptrtoint ptr %t219 to i64 %t221 = zext i32 %t218 to i64 %t222 = mul i64 %t221, %t220 %t223 = load ptr, ptr %t212 %t224 = call ptr @realloc(ptr %t223, i64 %t222) store ptr %t224, ptr %t212 store i32 %t218, ptr %t211 br label %put11 put11: %t225 = load ptr, ptr %t212 %t226 = getelementptr inbounds ptr, ptr %t225, i32 %t213 store ptr @.str590, ptr %t226 %t227 = add i32 %t213, 1 store i32 %t227, ptr %t210 %t228 = load ptr, ptr @g_g_esys_comp %t229 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 1 %t230 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 2 %t231 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0 %t232 = load i32, ptr %t229 %t233 = load i32, ptr %t230 %t234 = icmp sge i32 %t232, %t233 br i1 %t234, label %grow12, label %put13 grow12: %t235 = mul i32 %t233, 2 %t236 = icmp eq i32 %t233, 0 %t237 = select i1 %t236, i32 8, i32 %t235 %t238 = getelementptr ptr, ptr null, i32 1 %t239 = ptrtoint ptr %t238 to i64 %t240 = zext i32 %t237 to i64 %t241 = mul i64 %t240, %t239 %t242 = load ptr, ptr %t231 %t243 = call ptr @realloc(ptr %t242, i64 %t241) store ptr %t243, ptr %t231 store i32 %t237, ptr %t230 br label %put13 put13: %t244 = load ptr, ptr %t231 %t245 = getelementptr inbounds ptr, ptr %t244, i32 %t232 store ptr @.str591, ptr %t245 %t246 = add i32 %t232, 1 store i32 %t246, ptr %t229 %t247 = load ptr, ptr @g_g_esys_fn %t248 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 1 %t249 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 2 %t250 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 0 %t251 = load i32, ptr %t248 %t252 = load i32, ptr %t249 %t253 = icmp sge i32 %t251, %t252 br i1 %t253, label %grow14, label %put15 grow14: %t254 = mul i32 %t252, 2 %t255 = icmp eq i32 %t252, 0 %t256 = select i1 %t255, i32 8, i32 %t254 %t257 = getelementptr ptr, ptr null, i32 1 %t258 = ptrtoint ptr %t257 to i64 %t259 = zext i32 %t256 to i64 %t260 = mul i64 %t259, %t258 %t261 = load ptr, ptr %t250 %t262 = call ptr @realloc(ptr %t261, i64 %t260) store ptr %t262, ptr %t250 store i32 %t256, ptr %t249 br label %put15 put15: %t263 = load ptr, ptr %t250 %t264 = getelementptr inbounds ptr, ptr %t263, i32 %t251 store ptr @.str592, ptr %t264 %t265 = add i32 %t251, 1 store i32 %t265, ptr %t248 %t266 = load ptr, ptr @g_g_esys_phase %t267 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 1 %t268 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 2 %t269 = getelementptr inbounds %LSlice, ptr %t266, i32 0, i32 0 %t270 = load i32, ptr %t267 %t271 = load i32, ptr %t268 %t272 = icmp sge i32 %t270, %t271 br i1 %t272, label %grow16, label %put17 grow16: %t273 = mul i32 %t271, 2 %t274 = icmp eq i32 %t271, 0 %t275 = select i1 %t274, i32 8, i32 %t273 %t276 = getelementptr ptr, ptr null, i32 1 %t277 = ptrtoint ptr %t276 to i64 %t278 = zext i32 %t275 to i64 %t279 = mul i64 %t278, %t277 %t280 = load ptr, ptr %t269 %t281 = call ptr @realloc(ptr %t280, i64 %t279) store ptr %t281, ptr %t269 store i32 %t275, ptr %t268 br label %put17 put17: %t282 = load ptr, ptr %t269 %t283 = getelementptr inbounds ptr, ptr %t282, i32 %t270 store ptr @.str593, ptr %t283 %t284 = add i32 %t270, 1 store i32 %t284, ptr %t267 %t285 = load ptr, ptr @g_g_esys_comp %t286 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 1 %t287 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 2 %t288 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 0 %t289 = load i32, ptr %t286 %t290 = load i32, ptr %t287 %t291 = icmp sge i32 %t289, %t290 br i1 %t291, label %grow18, label %put19 grow18: %t292 = mul i32 %t290, 2 %t293 = icmp eq i32 %t290, 0 %t294 = select i1 %t293, i32 8, i32 %t292 %t295 = getelementptr ptr, ptr null, i32 1 %t296 = ptrtoint ptr %t295 to i64 %t297 = zext i32 %t294 to i64 %t298 = mul i64 %t297, %t296 %t299 = load ptr, ptr %t288 %t300 = call ptr @realloc(ptr %t299, i64 %t298) store ptr %t300, ptr %t288 store i32 %t294, ptr %t287 br label %put19 put19: %t301 = load ptr, ptr %t288 %t302 = getelementptr inbounds ptr, ptr %t301, i32 %t289 store ptr @.str594, ptr %t302 %t303 = add i32 %t289, 1 store i32 %t303, ptr %t286 %t304 = load ptr, ptr @g_g_esys_fn %t305 = getelementptr inbounds %LSlice, ptr %t304, i32 0, i32 1 %t306 = getelementptr inbounds %LSlice, ptr %t304, i32 0, i32 2 %t307 = getelementptr inbounds %LSlice, ptr %t304, i32 0, i32 0 %t308 = load i32, ptr %t305 %t309 = load i32, ptr %t306 %t310 = icmp sge i32 %t308, %t309 br i1 %t310, label %grow20, label %put21 grow20: %t311 = mul i32 %t309, 2 %t312 = icmp eq i32 %t309, 0 %t313 = select i1 %t312, i32 8, i32 %t311 %t314 = getelementptr ptr, ptr null, i32 1 %t315 = ptrtoint ptr %t314 to i64 %t316 = zext i32 %t313 to i64 %t317 = mul i64 %t316, %t315 %t318 = load ptr, ptr %t307 %t319 = call ptr @realloc(ptr %t318, i64 %t317) store ptr %t319, ptr %t307 store i32 %t313, ptr %t306 br label %put21 put21: %t320 = load ptr, ptr %t307 %t321 = getelementptr inbounds ptr, ptr %t320, i32 %t308 store ptr @.str595, ptr %t321 %t322 = add i32 %t308, 1 store i32 %t322, ptr %t305 %t323 = load ptr, ptr @g_g_esys_phase %t324 = getelementptr inbounds %LSlice, ptr %t323, i32 0, i32 1 %t325 = getelementptr inbounds %LSlice, ptr %t323, i32 0, i32 2 %t326 = getelementptr inbounds %LSlice, ptr %t323, i32 0, i32 0 %t327 = load i32, ptr %t324 %t328 = load i32, ptr %t325 %t329 = icmp sge i32 %t327, %t328 br i1 %t329, label %grow22, label %put23 grow22: %t330 = mul i32 %t328, 2 %t331 = icmp eq i32 %t328, 0 %t332 = select i1 %t331, i32 8, i32 %t330 %t333 = getelementptr ptr, ptr null, i32 1 %t334 = ptrtoint ptr %t333 to i64 %t335 = zext i32 %t332 to i64 %t336 = mul i64 %t335, %t334 %t337 = load ptr, ptr %t326 %t338 = call ptr @realloc(ptr %t337, i64 %t336) store ptr %t338, ptr %t326 store i32 %t332, ptr %t325 br label %put23 put23: %t339 = load ptr, ptr %t326 %t340 = getelementptr inbounds ptr, ptr %t339, i32 %t327 store ptr @.str596, ptr %t340 %t341 = add i32 %t327, 1 store i32 %t341, ptr %t324 %t342 = load ptr, ptr @g_g_esys_comp %t343 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 1 %t344 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 2 %t345 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 0 %t346 = load i32, ptr %t343 %t347 = load i32, ptr %t344 %t348 = icmp sge i32 %t346, %t347 br i1 %t348, label %grow24, label %put25 grow24: %t349 = mul i32 %t347, 2 %t350 = icmp eq i32 %t347, 0 %t351 = select i1 %t350, i32 8, i32 %t349 %t352 = getelementptr ptr, ptr null, i32 1 %t353 = ptrtoint ptr %t352 to i64 %t354 = zext i32 %t351 to i64 %t355 = mul i64 %t354, %t353 %t356 = load ptr, ptr %t345 %t357 = call ptr @realloc(ptr %t356, i64 %t355) store ptr %t357, ptr %t345 store i32 %t351, ptr %t344 br label %put25 put25: %t358 = load ptr, ptr %t345 %t359 = getelementptr inbounds ptr, ptr %t358, i32 %t346 store ptr @.str597, ptr %t359 %t360 = add i32 %t346, 1 store i32 %t360, ptr %t343 %t361 = load ptr, ptr @g_g_esys_fn %t362 = getelementptr inbounds %LSlice, ptr %t361, i32 0, i32 1 %t363 = getelementptr inbounds %LSlice, ptr %t361, i32 0, i32 2 %t364 = getelementptr inbounds %LSlice, ptr %t361, i32 0, i32 0 %t365 = load i32, ptr %t362 %t366 = load i32, ptr %t363 %t367 = icmp sge i32 %t365, %t366 br i1 %t367, label %grow26, label %put27 grow26: %t368 = mul i32 %t366, 2 %t369 = icmp eq i32 %t366, 0 %t370 = select i1 %t369, i32 8, i32 %t368 %t371 = getelementptr ptr, ptr null, i32 1 %t372 = ptrtoint ptr %t371 to i64 %t373 = zext i32 %t370 to i64 %t374 = mul i64 %t373, %t372 %t375 = load ptr, ptr %t364 %t376 = call ptr @realloc(ptr %t375, i64 %t374) store ptr %t376, ptr %t364 store i32 %t370, ptr %t363 br label %put27 put27: %t377 = load ptr, ptr %t364 %t378 = getelementptr inbounds ptr, ptr %t377, i32 %t365 store ptr @.str598, ptr %t378 %t379 = add i32 %t365, 1 store i32 %t379, ptr %t362 %t380 = load ptr, ptr @g_g_esys_phase %t381 = getelementptr inbounds %LSlice, ptr %t380, i32 0, i32 1 %t382 = getelementptr inbounds %LSlice, ptr %t380, i32 0, i32 2 %t383 = getelementptr inbounds %LSlice, ptr %t380, i32 0, i32 0 %t384 = load i32, ptr %t381 %t385 = load i32, ptr %t382 %t386 = icmp sge i32 %t384, %t385 br i1 %t386, label %grow28, label %put29 grow28: %t387 = mul i32 %t385, 2 %t388 = icmp eq i32 %t385, 0 %t389 = select i1 %t388, i32 8, i32 %t387 %t390 = getelementptr ptr, ptr null, i32 1 %t391 = ptrtoint ptr %t390 to i64 %t392 = zext i32 %t389 to i64 %t393 = mul i64 %t392, %t391 %t394 = load ptr, ptr %t383 %t395 = call ptr @realloc(ptr %t394, i64 %t393) store ptr %t395, ptr %t383 store i32 %t389, ptr %t382 br label %put29 put29: %t396 = load ptr, ptr %t383 %t397 = getelementptr inbounds ptr, ptr %t396, i32 %t384 store ptr @.str599, ptr %t397 %t398 = add i32 %t384, 1 store i32 %t398, ptr %t381 %t399 = load ptr, ptr @g_g_esys_comp %t400 = getelementptr inbounds %LSlice, ptr %t399, i32 0, i32 1 %t401 = getelementptr inbounds %LSlice, ptr %t399, i32 0, i32 2 %t402 = getelementptr inbounds %LSlice, ptr %t399, i32 0, i32 0 %t403 = load i32, ptr %t400 %t404 = load i32, ptr %t401 %t405 = icmp sge i32 %t403, %t404 br i1 %t405, label %grow30, label %put31 grow30: %t406 = mul i32 %t404, 2 %t407 = icmp eq i32 %t404, 0 %t408 = select i1 %t407, i32 8, i32 %t406 %t409 = getelementptr ptr, ptr null, i32 1 %t410 = ptrtoint ptr %t409 to i64 %t411 = zext i32 %t408 to i64 %t412 = mul i64 %t411, %t410 %t413 = load ptr, ptr %t402 %t414 = call ptr @realloc(ptr %t413, i64 %t412) store ptr %t414, ptr %t402 store i32 %t408, ptr %t401 br label %put31 put31: %t415 = load ptr, ptr %t402 %t416 = getelementptr inbounds ptr, ptr %t415, i32 %t403 store ptr @.str600, ptr %t416 %t417 = add i32 %t403, 1 store i32 %t417, ptr %t400 %t418 = load ptr, ptr @g_g_esys_fn %t419 = getelementptr inbounds %LSlice, ptr %t418, i32 0, i32 1 %t420 = getelementptr inbounds %LSlice, ptr %t418, i32 0, i32 2 %t421 = getelementptr inbounds %LSlice, ptr %t418, i32 0, i32 0 %t422 = load i32, ptr %t419 %t423 = load i32, ptr %t420 %t424 = icmp sge i32 %t422, %t423 br i1 %t424, label %grow32, label %put33 grow32: %t425 = mul i32 %t423, 2 %t426 = icmp eq i32 %t423, 0 %t427 = select i1 %t426, i32 8, i32 %t425 %t428 = getelementptr ptr, ptr null, i32 1 %t429 = ptrtoint ptr %t428 to i64 %t430 = zext i32 %t427 to i64 %t431 = mul i64 %t430, %t429 %t432 = load ptr, ptr %t421 %t433 = call ptr @realloc(ptr %t432, i64 %t431) store ptr %t433, ptr %t421 store i32 %t427, ptr %t420 br label %put33 put33: %t434 = load ptr, ptr %t421 %t435 = getelementptr inbounds ptr, ptr %t434, i32 %t422 store ptr @.str601, ptr %t435 %t436 = add i32 %t422, 1 store i32 %t436, ptr %t419 %t437 = load ptr, ptr @g_g_esys_phase %t438 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 1 %t439 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 2 %t440 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 0 %t441 = load i32, ptr %t438 %t442 = load i32, ptr %t439 %t443 = icmp sge i32 %t441, %t442 br i1 %t443, label %grow34, label %put35 grow34: %t444 = mul i32 %t442, 2 %t445 = icmp eq i32 %t442, 0 %t446 = select i1 %t445, i32 8, i32 %t444 %t447 = getelementptr ptr, ptr null, i32 1 %t448 = ptrtoint ptr %t447 to i64 %t449 = zext i32 %t446 to i64 %t450 = mul i64 %t449, %t448 %t451 = load ptr, ptr %t440 %t452 = call ptr @realloc(ptr %t451, i64 %t450) store ptr %t452, ptr %t440 store i32 %t446, ptr %t439 br label %put35 put35: %t453 = load ptr, ptr %t440 %t454 = getelementptr inbounds ptr, ptr %t453, i32 %t441 store ptr @.str602, ptr %t454 %t455 = add i32 %t441, 1 store i32 %t455, ptr %t438 %t456 = load ptr, ptr @g_g_esys_comp %t457 = getelementptr inbounds %LSlice, ptr %t456, i32 0, i32 1 %t458 = getelementptr inbounds %LSlice, ptr %t456, i32 0, i32 2 %t459 = getelementptr inbounds %LSlice, ptr %t456, i32 0, i32 0 %t460 = load i32, ptr %t457 %t461 = load i32, ptr %t458 %t462 = icmp sge i32 %t460, %t461 br i1 %t462, label %grow36, label %put37 grow36: %t463 = mul i32 %t461, 2 %t464 = icmp eq i32 %t461, 0 %t465 = select i1 %t464, i32 8, i32 %t463 %t466 = getelementptr ptr, ptr null, i32 1 %t467 = ptrtoint ptr %t466 to i64 %t468 = zext i32 %t465 to i64 %t469 = mul i64 %t468, %t467 %t470 = load ptr, ptr %t459 %t471 = call ptr @realloc(ptr %t470, i64 %t469) store ptr %t471, ptr %t459 store i32 %t465, ptr %t458 br label %put37 put37: %t472 = load ptr, ptr %t459 %t473 = getelementptr inbounds ptr, ptr %t472, i32 %t460 store ptr @.str603, ptr %t473 %t474 = add i32 %t460, 1 store i32 %t474, ptr %t457 %t475 = load ptr, ptr @g_g_esys_fn %t476 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 1 %t477 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 2 %t478 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 0 %t479 = load i32, ptr %t476 %t480 = load i32, ptr %t477 %t481 = icmp sge i32 %t479, %t480 br i1 %t481, label %grow38, label %put39 grow38: %t482 = mul i32 %t480, 2 %t483 = icmp eq i32 %t480, 0 %t484 = select i1 %t483, i32 8, i32 %t482 %t485 = getelementptr ptr, ptr null, i32 1 %t486 = ptrtoint ptr %t485 to i64 %t487 = zext i32 %t484 to i64 %t488 = mul i64 %t487, %t486 %t489 = load ptr, ptr %t478 %t490 = call ptr @realloc(ptr %t489, i64 %t488) store ptr %t490, ptr %t478 store i32 %t484, ptr %t477 br label %put39 put39: %t491 = load ptr, ptr %t478 %t492 = getelementptr inbounds ptr, ptr %t491, i32 %t479 store ptr @.str604, ptr %t492 %t493 = add i32 %t479, 1 store i32 %t493, ptr %t476 %t494 = load ptr, ptr @g_g_esys_phase %t495 = getelementptr inbounds %LSlice, ptr %t494, i32 0, i32 1 %t496 = getelementptr inbounds %LSlice, ptr %t494, i32 0, i32 2 %t497 = getelementptr inbounds %LSlice, ptr %t494, i32 0, i32 0 %t498 = load i32, ptr %t495 %t499 = load i32, ptr %t496 %t500 = icmp sge i32 %t498, %t499 br i1 %t500, label %grow40, label %put41 grow40: %t501 = mul i32 %t499, 2 %t502 = icmp eq i32 %t499, 0 %t503 = select i1 %t502, i32 8, i32 %t501 %t504 = getelementptr ptr, ptr null, i32 1 %t505 = ptrtoint ptr %t504 to i64 %t506 = zext i32 %t503 to i64 %t507 = mul i64 %t506, %t505 %t508 = load ptr, ptr %t497 %t509 = call ptr @realloc(ptr %t508, i64 %t507) store ptr %t509, ptr %t497 store i32 %t503, ptr %t496 br label %put41 put41: %t510 = load ptr, ptr %t497 %t511 = getelementptr inbounds ptr, ptr %t510, i32 %t498 store ptr @.str605, ptr %t511 %t512 = add i32 %t498, 1 store i32 %t512, ptr %t495 %t513 = getelementptr %LSlice, ptr null, i32 1 %t514 = ptrtoint ptr %t513 to i64 %t515 = call ptr @malloc(i64 %t514) %t516 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 0 store ptr null, ptr %t516 %t517 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 1 store i32 0, ptr %t517 %t518 = getelementptr inbounds %LSlice, ptr %t515, i32 0, i32 2 store i32 0, ptr %t518 store ptr %t515, ptr @g_g_namespaces %t519 = getelementptr %LSlice, ptr null, i32 1 %t520 = ptrtoint ptr %t519 to i64 %t521 = call ptr @malloc(i64 %t520) %t522 = getelementptr inbounds %LSlice, ptr %t521, i32 0, i32 0 store ptr null, ptr %t522 %t523 = getelementptr inbounds %LSlice, ptr %t521, i32 0, i32 1 store i32 0, ptr %t523 %t524 = getelementptr inbounds %LSlice, ptr %t521, i32 0, i32 2 store i32 0, ptr %t524 store ptr %t521, ptr @g_g_ns_blocks %t525 = getelementptr %LSlice, ptr null, i32 1 %t526 = ptrtoint ptr %t525 to i64 %t527 = call ptr @malloc(i64 %t526) %t528 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 0 store ptr null, ptr %t528 %t529 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 1 store i32 0, ptr %t529 %t530 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 2 store i32 0, ptr %t530 store ptr %t527, ptr @g_g_ns_exports %t531 = getelementptr %LSlice, ptr null, i32 1 %t532 = ptrtoint ptr %t531 to i64 %t533 = call ptr @malloc(i64 %t532) %t534 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 0 store ptr null, ptr %t534 %t535 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 1 store i32 0, ptr %t535 %t536 = getelementptr inbounds %LSlice, ptr %t533, i32 0, i32 2 store i32 0, ptr %t536 store ptr %t533, ptr @g_loaded_paths call void @fn_skipnl() store ptr @.str606, ptr @g_g_game_name br label %wcond42 wcond42: %t537 = call i32 @fn_is_id(ptr @.str607) %t538 = icmp ne i32 %t537, 0 br i1 %t538, label %wbody43, label %wend44 wbody43: %t539 = load i32, ptr @g_pi %t540 = add i32 %t539, 1 store i32 %t540, ptr @g_pi %t541 = load ptr, ptr @g_toks %t542 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 0 %t543 = load ptr, ptr %t542 %t544 = load i32, ptr @g_pi %t545 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 1 %t546 = load i32, ptr %t545 %t547 = icmp ult i32 %t544, %t546 br i1 %t547, label %ixok45, label %ixbad46 ixbad46: %t548 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t548, ptr @.fmt_bounds, ptr @.str608, i32 %t544, i32 %t546) call void @exit(i32 1) unreachable ixok45: %t549 = getelementptr inbounds ptr, ptr %t543, i32 %t544 %t550 = load ptr, ptr %t549 store ptr %t550, ptr %t551 %t552 = load ptr, ptr %t551 %t553 = getelementptr inbounds %Cmp_Tok, ptr %t552, i32 0, i32 1 %t554 = load ptr, ptr %t553 store ptr %t554, ptr %t555 %t556 = load i32, ptr @g_pi %t557 = add i32 %t556, 1 store i32 %t557, ptr @g_pi %t558 = load ptr, ptr %t555 call void @fn_do_import(ptr %t558) call void @fn_skipnl() br label %wcond42 wend44: br label %wcond47 wcond47: %t559 = call i32 @fn_is_op(ptr @.str609) %t560 = icmp ne i32 %t559, 0 br i1 %t560, label %wbody48, label %wend49 wbody48: %t561 = load i32, ptr @g_pi %t562 = add i32 %t561, 1 store i32 %t562, ptr @g_pi %t563 = call ptr @fn_eat_id() store ptr %t563, ptr %t564 %t565 = call i32 @fn_is_op(ptr @.str610) %t566 = icmp ne i32 %t565, 0 br i1 %t566, label %then50, label %ifend52 then50: store i32 0, ptr %t567 br label %wcond53 wcond53: %t568 = icmp ne i32 1, 0 br i1 %t568, label %wbody54, label %wend55 wbody54: %t569 = call i32 @fn_is_op(ptr @.str611) %t570 = icmp ne i32 %t569, 0 br i1 %t570, label %then56, label %ifend58 then56: %t571 = load i32, ptr %t567 %t572 = add i32 %t571, 1 store i32 %t572, ptr %t567 br label %ifend58 ifend58: %t573 = call i32 @fn_is_op(ptr @.str612) %t574 = icmp ne i32 %t573, 0 br i1 %t574, label %then59, label %ifend61 then59: %t575 = load i32, ptr %t567 %t576 = sub i32 %t575, 1 store i32 %t576, ptr %t567 br label %ifend61 ifend61: %t577 = load i32, ptr @g_pi %t578 = add i32 %t577, 1 store i32 %t578, ptr @g_pi %t579 = load i32, ptr %t567 %t580 = icmp eq i32 %t579, 0 %t581 = zext i1 %t580 to i32 %t582 = icmp ne i32 %t581, 0 br i1 %t582, label %then62, label %ifend64 then62: br label %wend55 ifend64: br label %wcond53 wend55: br label %ifend52 ifend52: call void @fn_skipnl() br label %wcond47 wend49: %t583 = call i32 @fn_is_id(ptr @.str613) %t584 = icmp ne i32 %t583, 0 br i1 %t584, label %then65, label %ifend67 then65: %t585 = load i32, ptr @g_pi %t586 = add i32 %t585, 1 store i32 %t586, ptr @g_pi %t587 = call ptr @fn_eat_id() store ptr %t587, ptr @g_g_game_name call void @fn_skipnl() call void @fn_eat_op(ptr @.str614) br label %ifend67 ifend67: br label %wcond68 wcond68: %t588 = icmp ne i32 1, 0 br i1 %t588, label %wbody69, label %wend70 wbody69: call void @fn_skipnl() %t589 = load ptr, ptr @g_toks %t590 = getelementptr inbounds %LSlice, ptr %t589, i32 0, i32 0 %t591 = load ptr, ptr %t590 %t592 = load i32, ptr @g_pi %t593 = getelementptr inbounds %LSlice, ptr %t589, i32 0, i32 1 %t594 = load i32, ptr %t593 %t595 = icmp ult i32 %t592, %t594 br i1 %t595, label %ixok71, label %ixbad72 ixbad72: %t596 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t596, ptr @.fmt_bounds, ptr @.str615, i32 %t592, i32 %t594) call void @exit(i32 1) unreachable ixok71: %t597 = getelementptr inbounds ptr, ptr %t591, i32 %t592 %t598 = load ptr, ptr %t597 %t599 = getelementptr inbounds %Cmp_Tok, ptr %t598, i32 0, i32 0 %t600 = load i32, ptr %t599 %t601 = icmp eq i32 %t600, 5 %t602 = zext i1 %t601 to i32 %t603 = icmp ne i32 %t602, 0 br i1 %t603, label %then73, label %ifend75 then73: br label %wend70 ifend75: %t604 = call i32 @fn_is_op(ptr @.str616) %t605 = icmp ne i32 %t604, 0 br i1 %t605, label %then76, label %ifend78 then76: br label %wend70 ifend78: call void @fn_parse_one_decl() br label %wcond68 wend70: br label %ret ret: ret void } define ptr @fn_parse_component() { entry: %retval = alloca ptr %t3 = alloca ptr %t10 = alloca i32 %t11 = alloca i32 %t17 = alloca ptr %t25 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_node(i32 8) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 call void @fn_skipnl() call void @fn_eat_op(ptr @.str617) br label %wcond0 wcond0: %t7 = icmp ne i32 1, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: call void @fn_skipnl() %t8 = call i32 @fn_is_op(ptr @.str618) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: br label %wend2 ifend5: store i32 0, ptr %t10 store i32 0, ptr %t11 %t12 = call i32 @fn_is_op(ptr @.str619) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: %t14 = load i32, ptr @g_pi %t15 = add i32 %t14, 1 store i32 %t15, ptr @g_pi %t16 = call ptr @fn_eat_id() store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str620) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then9, label %else10 then9: store i32 1, ptr %t10 br label %ifend11 else10: %t21 = load ptr, ptr %t17 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str621) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then12, label %ifend14 then12: store i32 1, ptr %t11 br label %ifend14 ifend14: br label %ifend11 ifend11: call void @fn_skipnl() br label %ifend8 ifend8: %t24 = call ptr @fn_node(i32 1) store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1 %t28 = call ptr @fn_eat_id() store ptr %t28, ptr %t27 call void @fn_eat_op(ptr @.str622) %t29 = load ptr, ptr %t25 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 3 %t31 = call ptr @fn_ptype() store ptr %t31, ptr %t30 %t32 = call i32 @fn_is_op(ptr @.str623) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then15, label %ifend17 then15: %t34 = load i32, ptr @g_pi %t35 = add i32 %t34, 1 store i32 %t35, ptr @g_pi %t36 = load ptr, ptr %t25 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 4 %t38 = call ptr @fn_expr() store ptr %t38, ptr %t37 br label %ifend17 ifend17: %t39 = load i32, ptr %t11 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then18, label %ifend20 then18: %t41 = load ptr, ptr %t25 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 2 store i32 1, ptr %t42 br label %ifend20 ifend20: %t43 = load i32, ptr %t10 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then21, label %else22 then21: %t45 = load ptr, ptr %t3 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 %t48 = load ptr, ptr %t25 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 1 %t50 = load ptr, ptr %t49 %t51 = load ptr, ptr %t25 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 3 %t53 = load ptr, ptr %t52 %t54 = load ptr, ptr %t25 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4 %t56 = load ptr, ptr %t55 call void @fn_register_computed(ptr %t47, ptr %t50, ptr %t53, ptr %t56) br label %ifend23 else22: %t57 = load ptr, ptr %t3 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 7 %t59 = load ptr, ptr %t58 %t60 = load ptr, ptr %t25 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t62 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 2 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t64 = load i32, ptr %t61 %t65 = load i32, ptr %t62 %t66 = icmp sge i32 %t64, %t65 br i1 %t66, label %grow24, label %put25 grow24: %t67 = mul i32 %t65, 2 %t68 = icmp eq i32 %t65, 0 %t69 = select i1 %t68, i32 8, i32 %t67 %t70 = getelementptr ptr, ptr null, i32 1 %t71 = ptrtoint ptr %t70 to i64 %t72 = zext i32 %t69 to i64 %t73 = mul i64 %t72, %t71 %t74 = load ptr, ptr %t63 %t75 = call ptr @realloc(ptr %t74, i64 %t73) store ptr %t75, ptr %t63 store i32 %t69, ptr %t62 br label %put25 put25: %t76 = load ptr, ptr %t63 %t77 = getelementptr inbounds ptr, ptr %t76, i32 %t64 store ptr %t60, ptr %t77 %t78 = add i32 %t64, 1 store i32 %t78, ptr %t61 br label %ifend23 ifend23: %t79 = call i32 @fn_is_op(ptr @.str624) %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then26, label %ifend28 then26: %t81 = load i32, ptr @g_pi %t82 = add i32 %t81, 1 store i32 %t82, ptr @g_pi br label %ifend28 ifend28: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str625) %t83 = load ptr, ptr %t3 store ptr %t83, ptr %retval br label %ret ret: %t84 = load ptr, ptr %retval ret ptr %t84 } define ptr @fn_parse_event() { entry: %retval = alloca ptr %t3 = alloca ptr %t17 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_node(i32 48) store ptr %t2, ptr %t3 %t4 = call i32 @fn_is_id(ptr @.str626) %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load i32, ptr @g_pi %t7 = add i32 %t6, 1 store i32 %t7, ptr @g_pi %t8 = load ptr, ptr %t3 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 2 store i32 1, ptr %t9 br label %ifend2 ifend2: %t10 = load ptr, ptr %t3 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 1 %t12 = call ptr @fn_eat_id() store ptr %t12, ptr %t11 call void @fn_skipnl() call void @fn_eat_op(ptr @.str627) br label %wcond3 wcond3: %t13 = icmp ne i32 1, 0 br i1 %t13, label %wbody4, label %wend5 wbody4: call void @fn_skipnl() %t14 = call i32 @fn_is_op(ptr @.str628) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then6, label %ifend8 then6: br label %wend5 ifend8: %t16 = call ptr @fn_node(i32 1) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = call ptr @fn_eat_id() store ptr %t20, ptr %t19 call void @fn_eat_op(ptr @.str629) %t21 = load ptr, ptr %t17 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 3 %t23 = call ptr @fn_ptype() store ptr %t23, ptr %t22 %t24 = call i32 @fn_is_op(ptr @.str630) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then9, label %ifend11 then9: %t26 = load i32, ptr @g_pi %t27 = add i32 %t26, 1 store i32 %t27, ptr @g_pi %t28 = load ptr, ptr %t17 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4 %t30 = call ptr @fn_expr() store ptr %t30, ptr %t29 br label %ifend11 ifend11: %t31 = load ptr, ptr %t3 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 %t33 = load ptr, ptr %t32 %t34 = load ptr, ptr %t17 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 2 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t38 = load i32, ptr %t35 %t39 = load i32, ptr %t36 %t40 = icmp sge i32 %t38, %t39 br i1 %t40, label %grow12, label %put13 grow12: %t41 = mul i32 %t39, 2 %t42 = icmp eq i32 %t39, 0 %t43 = select i1 %t42, i32 8, i32 %t41 %t44 = getelementptr ptr, ptr null, i32 1 %t45 = ptrtoint ptr %t44 to i64 %t46 = zext i32 %t43 to i64 %t47 = mul i64 %t46, %t45 %t48 = load ptr, ptr %t37 %t49 = call ptr @realloc(ptr %t48, i64 %t47) store ptr %t49, ptr %t37 store i32 %t43, ptr %t36 br label %put13 put13: %t50 = load ptr, ptr %t37 %t51 = getelementptr inbounds ptr, ptr %t50, i32 %t38 store ptr %t34, ptr %t51 %t52 = add i32 %t38, 1 store i32 %t52, ptr %t35 %t53 = call i32 @fn_is_op(ptr @.str631) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then14, label %ifend16 then14: %t55 = load i32, ptr @g_pi %t56 = add i32 %t55, 1 store i32 %t56, ptr @g_pi br label %ifend16 ifend16: br label %wcond3 wend5: call void @fn_eat_op(ptr @.str632) %t57 = load ptr, ptr %t3 store ptr %t57, ptr %retval br label %ret ret: %t58 = load ptr, ptr %retval ret ptr %t58 } define ptr @fn_parse_system() { entry: %retval = alloca ptr %t3 = alloca ptr %t15 = alloca ptr %t18 = alloca i32 %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_node(i32 9) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 %t7 = load ptr, ptr %t3 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3 store ptr @.str633, ptr %t8 br label %wcond0 wcond0: %t9 = icmp ne i32 1, 0 br i1 %t9, label %wbody1, label %wend2 wbody1: call void @fn_skipnl() %t10 = call i32 @fn_is_op(ptr @.str634) %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: %t12 = load i32, ptr @g_pi %t13 = add i32 %t12, 1 store i32 %t13, ptr @g_pi %t14 = call ptr @fn_eat_id() store ptr %t14, ptr %t15 %t16 = call i32 @fn_is_op(ptr @.str635) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then6, label %ifend8 then6: store i32 0, ptr %t18 br label %wcond9 wcond9: %t19 = icmp ne i32 1, 0 br i1 %t19, label %wbody10, label %wend11 wbody10: %t20 = call i32 @fn_is_op(ptr @.str636) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then12, label %ifend14 then12: %t22 = load i32, ptr %t18 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t18 br label %ifend14 ifend14: %t24 = call i32 @fn_is_op(ptr @.str637) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then15, label %ifend17 then15: %t26 = load i32, ptr %t18 %t27 = sub i32 %t26, 1 store i32 %t27, ptr %t18 br label %ifend17 ifend17: %t28 = load i32, ptr @g_pi %t29 = add i32 %t28, 1 store i32 %t29, ptr @g_pi %t30 = load i32, ptr %t18 %t31 = icmp eq i32 %t30, 0 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then18, label %ifend20 then18: br label %wend11 ifend20: br label %wcond9 wend11: br label %ifend8 ifend8: br label %wcond0 ifend5: %t34 = call i32 @fn_is_id(ptr @.str638) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then21, label %ifend23 then21: %t36 = load i32, ptr @g_pi %t37 = add i32 %t36, 1 store i32 %t37, ptr @g_pi %t38 = load ptr, ptr %t3 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 3 %t40 = call ptr @fn_eat_id() store ptr %t40, ptr %t39 %t41 = load ptr, ptr %t3 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 3 %t43 = load ptr, ptr %t42 %t44 = call i32 @fn_is_phase_name(ptr %t43) %t45 = icmp eq i32 %t44, 0 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then24, label %ifend26 then24: %t48 = load ptr, ptr %t3 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 3 %t50 = load ptr, ptr %t49 %t51 = call ptr @lp_str_concat(ptr @.str639, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str640) call void @fn_perr(ptr %t52) br label %ifend26 ifend26: br label %wcond0 ifend23: br label %wend2 wend2: call void @fn_skipnl() %t53 = load ptr, ptr %t3 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 4 %t55 = call ptr @fn_block() store ptr %t55, ptr %t54 %t56 = load ptr, ptr %t3 store ptr %t56, ptr %retval br label %ret ret: %t57 = load ptr, ptr %retval ret ptr %t57 } define ptr @fn_parse_query_tail() { entry: %retval = alloca ptr %t1 = alloca ptr %t11 = alloca ptr %t40 = alloca ptr call void @fn_eat_op(ptr @.str641) %t0 = call ptr @fn_node(i32 7) store ptr %t0, ptr %t1 br label %wcond0 wcond0: %t2 = call i32 @fn_is_op(ptr @.str642) %t3 = icmp eq i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %wbody1, label %wend2 wbody1: %t6 = call i32 @fn_is_op(ptr @.str643) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then3, label %else4 then3: %t8 = load i32, ptr @g_pi %t9 = add i32 %t8, 1 store i32 %t9, ptr @g_pi %t10 = call ptr @fn_node(i32 33) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 %t14 = call ptr @fn_eat_id() store ptr %t14, ptr %t13 %t15 = load ptr, ptr %t11 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 2 store i32 1, ptr %t16 %t17 = load ptr, ptr %t1 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7 %t19 = load ptr, ptr %t18 %t20 = load ptr, ptr %t11 %t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 2 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t24 = load i32, ptr %t21 %t25 = load i32, ptr %t22 %t26 = icmp sge i32 %t24, %t25 br i1 %t26, label %grow6, label %put7 grow6: %t27 = mul i32 %t25, 2 %t28 = icmp eq i32 %t25, 0 %t29 = select i1 %t28, i32 8, i32 %t27 %t30 = getelementptr ptr, ptr null, i32 1 %t31 = ptrtoint ptr %t30 to i64 %t32 = zext i32 %t29 to i64 %t33 = mul i64 %t32, %t31 %t34 = load ptr, ptr %t23 %t35 = call ptr @realloc(ptr %t34, i64 %t33) store ptr %t35, ptr %t23 store i32 %t29, ptr %t22 br label %put7 put7: %t36 = load ptr, ptr %t23 %t37 = getelementptr inbounds ptr, ptr %t36, i32 %t24 store ptr %t20, ptr %t37 %t38 = add i32 %t24, 1 store i32 %t38, ptr %t21 call void @fn_eat_op(ptr @.str644) br label %ifend5 else4: %t39 = call ptr @fn_node(i32 33) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 %t43 = call ptr @fn_eat_id() store ptr %t43, ptr %t42 %t44 = load ptr, ptr %t40 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 2 store i32 0, ptr %t45 %t46 = load ptr, ptr %t1 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 7 %t48 = load ptr, ptr %t47 %t49 = load ptr, ptr %t40 %t50 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t51 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 2 %t52 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 %t53 = load i32, ptr %t50 %t54 = load i32, ptr %t51 %t55 = icmp sge i32 %t53, %t54 br i1 %t55, label %grow8, label %put9 grow8: %t56 = mul i32 %t54, 2 %t57 = icmp eq i32 %t54, 0 %t58 = select i1 %t57, i32 8, i32 %t56 %t59 = getelementptr ptr, ptr null, i32 1 %t60 = ptrtoint ptr %t59 to i64 %t61 = zext i32 %t58 to i64 %t62 = mul i64 %t61, %t60 %t63 = load ptr, ptr %t52 %t64 = call ptr @realloc(ptr %t63, i64 %t62) store ptr %t64, ptr %t52 store i32 %t58, ptr %t51 br label %put9 put9: %t65 = load ptr, ptr %t52 %t66 = getelementptr inbounds ptr, ptr %t65, i32 %t53 store ptr %t49, ptr %t66 %t67 = add i32 %t53, 1 store i32 %t67, ptr %t50 br label %ifend5 ifend5: %t68 = call i32 @fn_is_op(ptr @.str645) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then10, label %ifend12 then10: %t70 = load i32, ptr @g_pi %t71 = add i32 %t70, 1 store i32 %t71, ptr @g_pi br label %ifend12 ifend12: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str646) %t72 = call i32 @fn_is_id(ptr @.str647) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then13, label %ifend15 then13: %t74 = load i32, ptr @g_pi %t75 = add i32 %t74, 1 store i32 %t75, ptr @g_pi %t76 = load ptr, ptr %t1 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 4 %t78 = call ptr @fn_expr() store ptr %t78, ptr %t77 br label %ifend15 ifend15: %t79 = load ptr, ptr %t1 store ptr %t79, ptr %retval br label %ret ret: %t80 = load ptr, ptr %retval ret ptr %t80 } define ptr @fn_parse_query_for() { entry: %retval = alloca ptr %t1 = alloca ptr %t7 = alloca ptr %t38 = alloca ptr %t0 = call ptr @fn_node(i32 21) store ptr %t0, ptr %t1 call void @fn_eat_op(ptr @.str648) br label %wcond0 wcond0: %t2 = call i32 @fn_is_op(ptr @.str649) %t3 = icmp eq i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %wbody1, label %wend2 wbody1: %t6 = call ptr @fn_node(i32 33) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 %t10 = call ptr @fn_eat_id() store ptr %t10, ptr %t9 %t11 = load ptr, ptr %t1 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7 %t13 = load ptr, ptr %t12 %t14 = load ptr, ptr %t7 %t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t16 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 2 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t18 = load i32, ptr %t15 %t19 = load i32, ptr %t16 %t20 = icmp sge i32 %t18, %t19 br i1 %t20, label %grow3, label %put4 grow3: %t21 = mul i32 %t19, 2 %t22 = icmp eq i32 %t19, 0 %t23 = select i1 %t22, i32 8, i32 %t21 %t24 = getelementptr ptr, ptr null, i32 1 %t25 = ptrtoint ptr %t24 to i64 %t26 = zext i32 %t23 to i64 %t27 = mul i64 %t26, %t25 %t28 = load ptr, ptr %t17 %t29 = call ptr @realloc(ptr %t28, i64 %t27) store ptr %t29, ptr %t17 store i32 %t23, ptr %t16 br label %put4 put4: %t30 = load ptr, ptr %t17 %t31 = getelementptr inbounds ptr, ptr %t30, i32 %t18 store ptr %t14, ptr %t31 %t32 = add i32 %t18, 1 store i32 %t32, ptr %t15 %t33 = call i32 @fn_is_op(ptr @.str650) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: %t35 = load i32, ptr @g_pi %t36 = add i32 %t35, 1 store i32 %t36, ptr @g_pi br label %ifend7 ifend7: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str651) %t37 = call ptr @fn_eat_id() store ptr %t37, ptr %t38 %t39 = call i32 @fn_is_id(ptr @.str652) %t40 = icmp eq i32 %t39, 0 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then8, label %ifend10 then8: call void @fn_perr(ptr @.str653) br label %ifend10 ifend10: %t43 = load i32, ptr @g_pi %t44 = add i32 %t43, 1 store i32 %t44, ptr @g_pi %t45 = load ptr, ptr %t1 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 6 %t47 = call ptr @fn_parse_query_tail() store ptr %t47, ptr %t46 %t48 = load ptr, ptr %t1 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 5 %t50 = load ptr, ptr %t1 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 6 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4 %t54 = load ptr, ptr %t53 store ptr %t54, ptr %t49 %t55 = load ptr, ptr %t1 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 4 %t57 = call ptr @fn_block() store ptr %t57, ptr %t56 %t58 = load ptr, ptr %t1 store ptr %t58, ptr %retval br label %ret ret: %t59 = load ptr, ptr %retval ret ptr %t59 } define ptr @fn_mk_and(ptr %arg_a, ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t8 = alloca ptr store ptr %arg_a, ptr %t0 store ptr %arg_b, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = icmp eq ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t1 store ptr %t6, ptr %retval br label %ret ifend2: %t7 = call ptr @fn_node(i32 37) store ptr %t7, ptr %t8 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 1 store ptr @.str654, ptr %t10 %t11 = load ptr, ptr %t8 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4 %t13 = load ptr, ptr %t0 store ptr %t13, ptr %t12 %t14 = load ptr, ptr %t8 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 5 %t16 = load ptr, ptr %t1 store ptr %t16, ptr %t15 %t17 = load ptr, ptr %t8 store ptr %t17, ptr %retval br label %ret ret: %t18 = load ptr, ptr %retval ret ptr %t18 } define ptr @fn_qualify_fields(ptr %arg_e, ptr %arg_base) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t14 = alloca ptr %t31 = alloca ptr %t59 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_base, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = icmp eq ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t0 store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0 %t9 = load i32, ptr %t8 %t10 = icmp eq i32 %t9, 33 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: %t13 = call ptr @fn_node(i32 35) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4 %t17 = load ptr, ptr %t1 store ptr %t17, ptr %t16 %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t0 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 1 %t22 = load ptr, ptr %t21 store ptr %t22, ptr %t19 %t23 = load ptr, ptr %t14 store ptr %t23, ptr %retval br label %ret ifend5: %t24 = load ptr, ptr %t0 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0 %t26 = load i32, ptr %t25 %t27 = icmp eq i32 %t26, 37 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then6, label %ifend8 then6: %t30 = call ptr @fn_node(i32 37) store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1 %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1 %t36 = load ptr, ptr %t35 store ptr %t36, ptr %t33 %t37 = load ptr, ptr %t31 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 4 %t39 = load ptr, ptr %t0 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 4 %t41 = load ptr, ptr %t40 %t42 = load ptr, ptr %t1 %t43 = call ptr @fn_qualify_fields(ptr %t41, ptr %t42) store ptr %t43, ptr %t38 %t44 = load ptr, ptr %t31 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 5 %t46 = load ptr, ptr %t0 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 5 %t48 = load ptr, ptr %t47 %t49 = load ptr, ptr %t1 %t50 = call ptr @fn_qualify_fields(ptr %t48, ptr %t49) store ptr %t50, ptr %t45 %t51 = load ptr, ptr %t31 store ptr %t51, ptr %retval br label %ret ifend8: %t52 = load ptr, ptr %t0 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 0 %t54 = load i32, ptr %t53 %t55 = icmp eq i32 %t54, 38 %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then9, label %ifend11 then9: %t58 = call ptr @fn_node(i32 38) store ptr %t58, ptr %t59 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1 %t62 = load ptr, ptr %t0 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 store ptr %t64, ptr %t61 %t65 = load ptr, ptr %t59 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 4 %t67 = load ptr, ptr %t0 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 %t69 = load ptr, ptr %t68 %t70 = load ptr, ptr %t1 %t71 = call ptr @fn_qualify_fields(ptr %t69, ptr %t70) store ptr %t71, ptr %t66 %t72 = load ptr, ptr %t59 store ptr %t72, ptr %retval br label %ret ifend11: %t73 = load ptr, ptr %t0 store ptr %t73, ptr %retval br label %ret ret: %t74 = load ptr, ptr %retval ret ptr %t74 } define ptr @fn_parse_queries_anno() { entry: %retval = alloca ptr %t1 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t12 = alloca ptr %t21 = alloca ptr %t23 = alloca ptr %t50 = alloca ptr %t83 = alloca ptr %t85 = alloca ptr %t102 = alloca ptr %t104 = alloca ptr call void @fn_eat_op(ptr @.str655) %t0 = call ptr @fn_node(i32 21) store ptr %t0, ptr %t1 %t2 = call ptr @fn_node(i32 7) store ptr %t2, ptr %t3 store ptr null, ptr %t4 br label %wcond0 wcond0: %t5 = call i32 @fn_is_op(ptr @.str656) %t6 = icmp eq i32 %t5, 0 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: call void @fn_skipnl() %t9 = call i32 @fn_is_op(ptr @.str657) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: br label %wend2 ifend5: %t11 = call ptr @fn_eat_id() store ptr %t11, ptr %t12 call void @fn_eat_op(ptr @.str658) %t13 = load ptr, ptr %t12 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str659) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then6, label %else7 then6: call void @fn_eat_op(ptr @.str660) call void @fn_skipnl() br label %wcond9 wcond9: %t16 = call i32 @fn_is_op(ptr @.str661) %t17 = icmp eq i32 %t16, 0 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %wbody10, label %wend11 wbody10: %t20 = call ptr @fn_eat_id() store ptr %t20, ptr %t21 %t22 = call ptr @fn_node(i32 33) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1 %t26 = load ptr, ptr %t21 store ptr %t26, ptr %t25 %t27 = load ptr, ptr %t1 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 7 %t29 = load ptr, ptr %t28 %t30 = load ptr, ptr %t23 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t32 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 2 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t34 = load i32, ptr %t31 %t35 = load i32, ptr %t32 %t36 = icmp sge i32 %t34, %t35 br i1 %t36, label %grow12, label %put13 grow12: %t37 = mul i32 %t35, 2 %t38 = icmp eq i32 %t35, 0 %t39 = select i1 %t38, i32 8, i32 %t37 %t40 = getelementptr ptr, ptr null, i32 1 %t41 = ptrtoint ptr %t40 to i64 %t42 = zext i32 %t39 to i64 %t43 = mul i64 %t42, %t41 %t44 = load ptr, ptr %t33 %t45 = call ptr @realloc(ptr %t44, i64 %t43) store ptr %t45, ptr %t33 store i32 %t39, ptr %t32 br label %put13 put13: %t46 = load ptr, ptr %t33 %t47 = getelementptr inbounds ptr, ptr %t46, i32 %t34 store ptr %t30, ptr %t47 %t48 = add i32 %t34, 1 store i32 %t48, ptr %t31 %t49 = call ptr @fn_node(i32 33) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 %t53 = load ptr, ptr %t21 store ptr %t53, ptr %t52 %t54 = load ptr, ptr %t50 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 2 store i32 0, ptr %t55 %t56 = load ptr, ptr %t3 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7 %t58 = load ptr, ptr %t57 %t59 = load ptr, ptr %t50 %t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t61 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 2 %t62 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 %t63 = load i32, ptr %t60 %t64 = load i32, ptr %t61 %t65 = icmp sge i32 %t63, %t64 br i1 %t65, label %grow14, label %put15 grow14: %t66 = mul i32 %t64, 2 %t67 = icmp eq i32 %t64, 0 %t68 = select i1 %t67, i32 8, i32 %t66 %t69 = getelementptr ptr, ptr null, i32 1 %t70 = ptrtoint ptr %t69 to i64 %t71 = zext i32 %t68 to i64 %t72 = mul i64 %t71, %t70 %t73 = load ptr, ptr %t62 %t74 = call ptr @realloc(ptr %t73, i64 %t72) store ptr %t74, ptr %t62 store i32 %t68, ptr %t61 br label %put15 put15: %t75 = load ptr, ptr %t62 %t76 = getelementptr inbounds ptr, ptr %t75, i32 %t63 store ptr %t59, ptr %t76 %t77 = add i32 %t63, 1 store i32 %t77, ptr %t60 %t78 = call i32 @fn_is_op(ptr @.str662) %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then16, label %ifend18 then16: %t80 = load i32, ptr @g_pi %t81 = add i32 %t80, 1 store i32 %t81, ptr @g_pi %t82 = call ptr @fn_expr() store ptr %t82, ptr %t83 call void @fn_eat_op(ptr @.str663) %t84 = call ptr @fn_node(i32 33) store ptr %t84, ptr %t85 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t21 store ptr %t88, ptr %t87 %t89 = load ptr, ptr %t4 %t90 = load ptr, ptr %t83 %t91 = load ptr, ptr %t85 %t92 = call ptr @fn_qualify_fields(ptr %t90, ptr %t91) %t93 = call ptr @fn_mk_and(ptr %t89, ptr %t92) store ptr %t93, ptr %t4 br label %ifend18 ifend18: %t94 = call i32 @fn_is_op(ptr @.str664) %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then19, label %ifend21 then19: %t96 = load i32, ptr @g_pi %t97 = add i32 %t96, 1 store i32 %t97, ptr @g_pi br label %ifend21 ifend21: call void @fn_skipnl() br label %wcond9 wend11: call void @fn_eat_op(ptr @.str665) br label %ifend8 else7: %t98 = load ptr, ptr %t12 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str666) %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then22, label %else23 then22: %t101 = call ptr @fn_eat_id() store ptr %t101, ptr %t102 %t103 = call ptr @fn_node(i32 33) store ptr %t103, ptr %t104 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 1 %t107 = load ptr, ptr %t102 store ptr %t107, ptr %t106 %t108 = load ptr, ptr %t104 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 2 store i32 1, ptr %t109 %t110 = load ptr, ptr %t3 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 7 %t112 = load ptr, ptr %t111 %t113 = load ptr, ptr %t104 %t114 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 %t115 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 2 %t116 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0 %t117 = load i32, ptr %t114 %t118 = load i32, ptr %t115 %t119 = icmp sge i32 %t117, %t118 br i1 %t119, label %grow25, label %put26 grow25: %t120 = mul i32 %t118, 2 %t121 = icmp eq i32 %t118, 0 %t122 = select i1 %t121, i32 8, i32 %t120 %t123 = getelementptr ptr, ptr null, i32 1 %t124 = ptrtoint ptr %t123 to i64 %t125 = zext i32 %t122 to i64 %t126 = mul i64 %t125, %t124 %t127 = load ptr, ptr %t116 %t128 = call ptr @realloc(ptr %t127, i64 %t126) store ptr %t128, ptr %t116 store i32 %t122, ptr %t115 br label %put26 put26: %t129 = load ptr, ptr %t116 %t130 = getelementptr inbounds ptr, ptr %t129, i32 %t117 store ptr %t113, ptr %t130 %t131 = add i32 %t117, 1 store i32 %t131, ptr %t114 br label %ifend24 else23: %t132 = call ptr @fn_expr() br label %ifend24 ifend24: br label %ifend8 ifend8: %t133 = call i32 @fn_is_op(ptr @.str667) %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then27, label %ifend29 then27: %t135 = load i32, ptr @g_pi %t136 = add i32 %t135, 1 store i32 %t136, ptr @g_pi br label %ifend29 ifend29: call void @fn_skipnl() br label %wcond0 wend2: call void @fn_eat_op(ptr @.str668) %t137 = load ptr, ptr %t1 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 6 %t139 = load ptr, ptr %t3 store ptr %t139, ptr %t138 %t140 = load ptr, ptr %t1 %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 5 %t142 = load ptr, ptr %t4 store ptr %t142, ptr %t141 %t143 = load ptr, ptr %t1 store ptr %t143, ptr %retval br label %ret ret: %t144 = load ptr, ptr %retval ret ptr %t144 } define ptr @fn_parse_spawn() { entry: %retval = alloca ptr %t3 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_node(i32 22) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 call void @fn_skipnl() call void @fn_eat_op(ptr @.str669) %t7 = load ptr, ptr %t3 call void @fn_parse_component_records(ptr %t7) call void @fn_eat_op(ptr @.str670) %t8 = load ptr, ptr %t3 store ptr %t8, ptr %retval br label %ret ret: %t9 = load ptr, ptr %retval ret ptr %t9 } define void @fn_parse_component_records(ptr %arg_n) { entry: %t0 = alloca ptr %t5 = alloca ptr store ptr %arg_n, ptr %t0 br label %wcond0 wcond0: %t1 = icmp ne i32 1, 0 br i1 %t1, label %wbody1, label %wend2 wbody1: call void @fn_skipnl() %t2 = call i32 @fn_is_op(ptr @.str671) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then3, label %ifend5 then3: br label %wend2 ifend5: %t4 = call ptr @fn_node(i32 42) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 %t8 = call ptr @fn_eat_id() store ptr %t8, ptr %t7 %t9 = load ptr, ptr %t5 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 %t11 = call ptr @fn_record() store ptr %t11, ptr %t10 %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 %t14 = load ptr, ptr %t13 %t15 = load ptr, ptr %t5 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t19 = load i32, ptr %t16 %t20 = load i32, ptr %t17 %t21 = icmp sge i32 %t19, %t20 br i1 %t21, label %grow6, label %put7 grow6: %t22 = mul i32 %t20, 2 %t23 = icmp eq i32 %t20, 0 %t24 = select i1 %t23, i32 8, i32 %t22 %t25 = getelementptr ptr, ptr null, i32 1 %t26 = ptrtoint ptr %t25 to i64 %t27 = zext i32 %t24 to i64 %t28 = mul i64 %t27, %t26 %t29 = load ptr, ptr %t18 %t30 = call ptr @realloc(ptr %t29, i64 %t28) store ptr %t30, ptr %t18 store i32 %t24, ptr %t17 br label %put7 put7: %t31 = load ptr, ptr %t18 %t32 = getelementptr inbounds ptr, ptr %t31, i32 %t19 store ptr %t15, ptr %t32 %t33 = add i32 %t19, 1 store i32 %t33, ptr %t16 %t34 = call i32 @fn_is_op(ptr @.str672) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then8, label %ifend10 then8: %t36 = load i32, ptr @g_pi %t37 = add i32 %t36, 1 store i32 %t37, ptr @g_pi br label %ifend10 ifend10: br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_parse_prefab() { entry: %retval = alloca ptr %t3 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_node(i32 53) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 call void @fn_eat_op(ptr @.str673) %t7 = load ptr, ptr %t3 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3 %t9 = call ptr @fn_eat_id() store ptr %t9, ptr %t8 call void @fn_skipnl() call void @fn_eat_op(ptr @.str674) %t10 = load ptr, ptr %t3 call void @fn_parse_component_records(ptr %t10) call void @fn_eat_op(ptr @.str675) %t11 = load ptr, ptr %t3 store ptr %t11, ptr %retval br label %ret ret: %t12 = load ptr, ptr %retval ret ptr %t12 } define void @fn_parse_scene() { entry: %t3 = alloca ptr %t10 = alloca i32 %t11 = alloca ptr %t12 = alloca ptr %t13 = alloca ptr %t14 = alloca i32 %t15 = alloca i32 %t16 = alloca i32 %t17 = alloca i32 %t103 = alloca ptr %t121 = alloca ptr %t133 = alloca ptr %t140 = alloca ptr %t146 = alloca ptr %t159 = alloca ptr %t170 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_node(i32 45) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 %t7 = load ptr, ptr %t3 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 2 %t9 = load i32, ptr @g_g_scene_count store i32 %t9, ptr %t8 store i32 0, ptr %t10 store ptr null, ptr %t11 store ptr null, ptr %t12 store ptr null, ptr %t13 br label %wcond0 wcond0: %t18 = call i32 @fn_is_id(ptr @.str676) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t17 br i1 %t19, label %scend4, label %sc3 sc3: %t21 = call i32 @fn_is_id(ptr @.str677) %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t17 br label %scend4 scend4: %t24 = load i32, ptr %t17 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t16 br i1 %t25, label %scend6, label %sc5 sc5: %t27 = call i32 @fn_is_id(ptr @.str678) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t16 br label %scend6 scend6: %t30 = load i32, ptr %t16 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t15 br i1 %t31, label %scend8, label %sc7 sc7: %t33 = call i32 @fn_is_id(ptr @.str679) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t15 br label %scend8 scend8: %t36 = load i32, ptr %t15 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t14 br i1 %t37, label %scend10, label %sc9 sc9: %t39 = call i32 @fn_is_id(ptr @.str680) %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t14 br label %scend10 scend10: %t42 = load i32, ptr %t14 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %wbody1, label %wend2 wbody1: %t44 = call i32 @fn_is_id(ptr @.str681) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then11, label %else12 then11: %t46 = load i32, ptr @g_pi %t47 = add i32 %t46, 1 store i32 %t47, ptr @g_pi %t48 = load i32, ptr @g_g_scene_count store i32 %t48, ptr @g_g_start_scene br label %ifend13 else12: %t49 = call i32 @fn_is_id(ptr @.str682) %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then14, label %else15 then14: %t51 = load i32, ptr @g_pi %t52 = add i32 %t51, 1 store i32 %t52, ptr @g_pi %t53 = load ptr, ptr %t3 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 3 %t55 = call ptr @fn_eat_id() store ptr %t55, ptr %t54 br label %ifend16 else15: %t56 = call i32 @fn_is_id(ptr @.str683) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then17, label %else18 then17: %t58 = load i32, ptr @g_pi %t59 = add i32 %t58, 1 store i32 %t59, ptr @g_pi %t60 = call ptr @fn_expr() store ptr %t60, ptr %t11 %t61 = call i32 @fn_is_id(ptr @.str684) %t62 = icmp eq i32 %t61, 0 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then20, label %ifend22 then20: call void @fn_perr(ptr @.str685) br label %ifend22 ifend22: %t65 = load i32, ptr @g_pi %t66 = add i32 %t65, 1 store i32 %t66, ptr @g_pi %t67 = call ptr @fn_eat_id() store ptr %t67, ptr %t12 br label %ifend19 else18: %t68 = call i32 @fn_is_id(ptr @.str686) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then23, label %else24 then23: %t70 = load i32, ptr @g_pi %t71 = add i32 %t70, 1 store i32 %t71, ptr @g_pi %t72 = call i32 @fn_is_id(ptr @.str687) %t73 = icmp eq i32 %t72, 0 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then26, label %ifend28 then26: call void @fn_perr(ptr @.str688) br label %ifend28 ifend28: %t76 = load i32, ptr @g_pi %t77 = add i32 %t76, 1 store i32 %t77, ptr @g_pi %t78 = call ptr @fn_eat_id() store ptr %t78, ptr %t13 store i32 1, ptr @g_g_uses_atlas br label %ifend25 else24: %t79 = load i32, ptr @g_pi %t80 = add i32 %t79, 1 store i32 %t80, ptr @g_pi store i32 1, ptr %t10 br label %ifend25 ifend25: br label %ifend19 ifend19: br label %ifend16 ifend16: br label %ifend13 ifend13: br label %wcond0 wend2: %t81 = load i32, ptr @g_g_scene_count %t82 = add i32 %t81, 1 store i32 %t82, ptr @g_g_scene_count %t83 = load i32, ptr %t10 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then29, label %ifend31 then29: %t85 = load ptr, ptr %t3 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 1 %t87 = load ptr, ptr %t86 %t88 = call ptr @lp_str_concat(ptr @.str689, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str690) call void @fn_ensure_event_empty(ptr %t89) %t90 = load ptr, ptr %t3 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 %t92 = load ptr, ptr %t91 %t93 = call ptr @lp_str_concat(ptr @.str691, ptr %t92) %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str692) call void @fn_ensure_event_empty(ptr %t94) br label %ifend31 ifend31: call void @fn_skipnl() call void @fn_eat_op(ptr @.str693) br label %wcond32 wcond32: %t95 = icmp ne i32 1, 0 br i1 %t95, label %wbody33, label %wend34 wbody33: call void @fn_skipnl() %t96 = call i32 @fn_is_op(ptr @.str694) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then35, label %ifend37 then35: br label %wend34 ifend37: %t98 = call i32 @fn_is_id(ptr @.str695) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then38, label %ifend40 then38: %t100 = load i32, ptr @g_pi %t101 = add i32 %t100, 1 store i32 %t101, ptr @g_pi %t102 = call ptr @fn_eat_id() store ptr %t102, ptr %t103 call void @fn_skipnl() %t104 = load ptr, ptr %t103 %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str696) %t106 = icmp ne i32 %t105, 0 br i1 %t106, label %then41, label %else42 then41: %t107 = load ptr, ptr %t3 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 4 %t109 = call ptr @fn_block() store ptr %t109, ptr %t108 br label %ifend43 else42: %t110 = load ptr, ptr %t103 %t111 = call i32 @lp_str_eq(ptr %t110, ptr @.str697) %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %then44, label %else45 then44: %t113 = load ptr, ptr %t3 %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 5 %t115 = call ptr @fn_block() store ptr %t115, ptr %t114 br label %ifend46 else45: call void @fn_perr(ptr @.str698) br label %ifend46 ifend46: br label %ifend43 ifend43: br label %wcond32 ifend40: %t116 = call i32 @fn_is_id(ptr @.str699) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then47, label %ifend49 then47: %t118 = load i32, ptr @g_pi %t119 = add i32 %t118, 1 store i32 %t119, ptr @g_pi %t120 = call ptr @fn_eat_id() store ptr %t120, ptr %t121 %t122 = call i32 @fn_is_id(ptr @.str700) %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then50, label %ifend52 then50: %t124 = load i32, ptr @g_pi %t125 = add i32 %t124, 1 store i32 %t125, ptr @g_pi %t126 = load ptr, ptr %t121 %t127 = call ptr @lp_str_concat(ptr @.str701, ptr %t126) %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str702) call void @fn_ensure_event_empty(ptr %t128) %t129 = load ptr, ptr %t121 %t130 = call ptr @lp_str_concat(ptr @.str703, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str704) call void @fn_ensure_event_empty(ptr %t131) br label %ifend52 ifend52: call void @fn_skipnl() call void @fn_eat_op(ptr @.str705) %t132 = call ptr @fn_node(i32 33) store ptr %t132, ptr %t133 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 1 %t136 = load ptr, ptr %t121 store ptr %t136, ptr %t135 br label %wcond53 wcond53: %t137 = icmp ne i32 1, 0 br i1 %t137, label %wbody54, label %wend55 wbody54: call void @fn_skipnl() %t138 = call i32 @fn_is_op(ptr @.str706) %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then56, label %ifend58 then56: br label %wend55 ifend58: store ptr null, ptr %t140 br label %wcond59 wcond59: %t141 = call i32 @fn_is_op(ptr @.str707) %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %wbody60, label %wend61 wbody60: %t143 = load i32, ptr @g_pi %t144 = add i32 %t143, 1 store i32 %t144, ptr @g_pi %t145 = call ptr @fn_eat_id() store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t146 %t148 = call i32 @lp_str_eq(ptr %t147, ptr @.str708) %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then62, label %else63 then62: %t150 = call ptr @fn_parse_queries_anno() store ptr %t150, ptr %t140 br label %ifend64 else63: %t151 = load ptr, ptr %t146 %t152 = call ptr @lp_str_concat(ptr @.str709, ptr %t151) %t153 = call ptr @lp_str_concat(ptr %t152, ptr @.str710) call void @fn_perr(ptr %t153) br label %ifend64 ifend64: call void @fn_skipnl() br label %wcond59 wend61: %t154 = call i32 @fn_is_id(ptr @.str711) %t155 = icmp eq i32 %t154, 0 %t156 = zext i1 %t155 to i32 %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then65, label %ifend67 then65: call void @fn_perr(ptr @.str712) br label %ifend67 ifend67: %t158 = call ptr @fn_parse_system() store ptr %t158, ptr %t159 %t160 = load ptr, ptr %t140 %t161 = icmp ne ptr %t160, null %t162 = zext i1 %t161 to i32 %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then68, label %ifend70 then68: %t164 = load ptr, ptr %t140 %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 4 %t166 = load ptr, ptr %t159 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 4 %t168 = load ptr, ptr %t167 store ptr %t168, ptr %t165 %t169 = call ptr @fn_node(i32 7) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t170 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 7 %t173 = load ptr, ptr %t172 %t174 = load ptr, ptr %t140 %t175 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 1 %t176 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 2 %t177 = getelementptr inbounds %LSlice, ptr %t173, i32 0, i32 0 %t178 = load i32, ptr %t175 %t179 = load i32, ptr %t176 %t180 = icmp sge i32 %t178, %t179 br i1 %t180, label %grow71, label %put72 grow71: %t181 = mul i32 %t179, 2 %t182 = icmp eq i32 %t179, 0 %t183 = select i1 %t182, i32 8, i32 %t181 %t184 = getelementptr ptr, ptr null, i32 1 %t185 = ptrtoint ptr %t184 to i64 %t186 = zext i32 %t183 to i64 %t187 = mul i64 %t186, %t185 %t188 = load ptr, ptr %t177 %t189 = call ptr @realloc(ptr %t188, i64 %t187) store ptr %t189, ptr %t177 store i32 %t183, ptr %t176 br label %put72 put72: %t190 = load ptr, ptr %t177 %t191 = getelementptr inbounds ptr, ptr %t190, i32 %t178 store ptr %t174, ptr %t191 %t192 = add i32 %t178, 1 store i32 %t192, ptr %t175 %t193 = load ptr, ptr %t159 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 4 %t195 = load ptr, ptr %t170 store ptr %t195, ptr %t194 br label %ifend70 ifend70: %t196 = load ptr, ptr %t159 %t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 1 %t198 = load ptr, ptr %t3 %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 1 %t200 = load ptr, ptr %t199 %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str713) %t202 = load ptr, ptr %t159 %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 1 %t204 = load ptr, ptr %t203 %t205 = call ptr @lp_str_concat(ptr %t201, ptr %t204) store ptr %t205, ptr %t197 %t206 = load ptr, ptr %t159 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 6 %t208 = load ptr, ptr %t3 store ptr %t208, ptr %t207 %t209 = load ptr, ptr %t159 %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 5 %t211 = load ptr, ptr %t133 store ptr %t211, ptr %t210 %t212 = load ptr, ptr @g_prog %t213 = load ptr, ptr %t159 %t214 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 1 %t215 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 2 %t216 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 0 %t217 = load i32, ptr %t214 %t218 = load i32, ptr %t215 %t219 = icmp sge i32 %t217, %t218 br i1 %t219, label %grow73, label %put74 grow73: %t220 = mul i32 %t218, 2 %t221 = icmp eq i32 %t218, 0 %t222 = select i1 %t221, i32 8, i32 %t220 %t223 = getelementptr ptr, ptr null, i32 1 %t224 = ptrtoint ptr %t223 to i64 %t225 = zext i32 %t222 to i64 %t226 = mul i64 %t225, %t224 %t227 = load ptr, ptr %t216 %t228 = call ptr @realloc(ptr %t227, i64 %t226) store ptr %t228, ptr %t216 store i32 %t222, ptr %t215 br label %put74 put74: %t229 = load ptr, ptr %t216 %t230 = getelementptr inbounds ptr, ptr %t229, i32 %t217 store ptr %t213, ptr %t230 %t231 = add i32 %t217, 1 store i32 %t231, ptr %t214 call void @fn_skipnl() br label %wcond53 wend55: call void @fn_eat_op(ptr @.str714) br label %wcond32 ifend49: call void @fn_perr(ptr @.str715) br label %wcond32 wend34: call void @fn_eat_op(ptr @.str716) %t232 = load ptr, ptr %t11 %t233 = icmp ne ptr %t232, null %t234 = zext i1 %t233 to i32 %t235 = icmp ne i32 %t234, 0 br i1 %t235, label %then75, label %ifend77 then75: %t236 = load ptr, ptr %t3 %t237 = load ptr, ptr %t11 %t238 = load ptr, ptr %t12 call void @fn_scene_add_timer(ptr %t236, ptr %t237, ptr %t238) br label %ifend77 ifend77: %t239 = load ptr, ptr %t13 %t240 = icmp ne ptr %t239, null %t241 = zext i1 %t240 to i32 %t242 = icmp ne i32 %t241, 0 br i1 %t242, label %then78, label %ifend80 then78: %t243 = load ptr, ptr %t3 %t244 = load ptr, ptr %t13 call void @fn_scene_add_loader(ptr %t243, ptr %t244) br label %ifend80 ifend80: %t245 = load ptr, ptr @g_g_scenes %t246 = load ptr, ptr %t3 %t247 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 1 %t248 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 2 %t249 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 0 %t250 = load i32, ptr %t247 %t251 = load i32, ptr %t248 %t252 = icmp sge i32 %t250, %t251 br i1 %t252, label %grow81, label %put82 grow81: %t253 = mul i32 %t251, 2 %t254 = icmp eq i32 %t251, 0 %t255 = select i1 %t254, i32 8, i32 %t253 %t256 = getelementptr ptr, ptr null, i32 1 %t257 = ptrtoint ptr %t256 to i64 %t258 = zext i32 %t255 to i64 %t259 = mul i64 %t258, %t257 %t260 = load ptr, ptr %t249 %t261 = call ptr @realloc(ptr %t260, i64 %t259) store ptr %t261, ptr %t249 store i32 %t255, ptr %t248 br label %put82 put82: %t262 = load ptr, ptr %t249 %t263 = getelementptr inbounds ptr, ptr %t262, i32 %t250 store ptr %t246, ptr %t263 %t264 = add i32 %t250, 1 store i32 %t264, ptr %t247 br label %ret ret: ret void } define void @fn_scene_add_loader(ptr %arg_sc, ptr %arg_next) { entry: %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca ptr %t16 = alloca ptr %t18 = alloca ptr %t20 = alloca ptr %t22 = alloca ptr %t24 = alloca ptr %t36 = alloca ptr %t87 = alloca ptr %t89 = alloca ptr %t91 = alloca ptr %t93 = alloca ptr %t111 = alloca ptr %t185 = alloca ptr %t198 = alloca ptr %t200 = alloca ptr %t202 = alloca ptr %t209 = alloca ptr store ptr %arg_sc, ptr %t0 store ptr %arg_next, ptr %t1 %t2 = call ptr @fn_node(i32 9) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str717) store ptr %t9, ptr %t5 %t10 = load ptr, ptr %t3 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 3 store ptr @.str718, ptr %t11 %t12 = load ptr, ptr %t3 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 6 %t14 = load ptr, ptr %t0 store ptr %t14, ptr %t13 %t15 = call ptr @fn_node(i32 7) store ptr %t15, ptr %t16 %t17 = call ptr @fn_node(i32 16) store ptr %t17, ptr %t18 %t19 = call ptr @fn_node(i32 34) store ptr %t19, ptr %t20 %t21 = call ptr @fn_node(i32 35) store ptr %t21, ptr %t22 %t23 = call ptr @fn_node(i32 33) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 store ptr @.str719, ptr %t26 %t27 = load ptr, ptr %t22 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 4 %t29 = load ptr, ptr %t24 store ptr %t29, ptr %t28 %t30 = load ptr, ptr %t22 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 1 store ptr @.str720, ptr %t31 %t32 = load ptr, ptr %t20 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 4 %t34 = load ptr, ptr %t22 store ptr %t34, ptr %t33 %t35 = call ptr @fn_node(i32 30) store ptr %t35, ptr %t36 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 2 store i32 4, ptr %t38 %t39 = load ptr, ptr %t20 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 7 %t41 = load ptr, ptr %t40 %t42 = load ptr, ptr %t36 %t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t44 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 2 %t45 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0 %t46 = load i32, ptr %t43 %t47 = load i32, ptr %t44 %t48 = icmp sge i32 %t46, %t47 br i1 %t48, label %grow0, label %put1 grow0: %t49 = mul i32 %t47, 2 %t50 = icmp eq i32 %t47, 0 %t51 = select i1 %t50, i32 8, i32 %t49 %t52 = getelementptr ptr, ptr null, i32 1 %t53 = ptrtoint ptr %t52 to i64 %t54 = zext i32 %t51 to i64 %t55 = mul i64 %t54, %t53 %t56 = load ptr, ptr %t45 %t57 = call ptr @realloc(ptr %t56, i64 %t55) store ptr %t57, ptr %t45 store i32 %t51, ptr %t44 br label %put1 put1: %t58 = load ptr, ptr %t45 %t59 = getelementptr inbounds ptr, ptr %t58, i32 %t46 store ptr %t42, ptr %t59 %t60 = add i32 %t46, 1 store i32 %t60, ptr %t43 %t61 = load ptr, ptr %t18 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 4 %t63 = load ptr, ptr %t20 store ptr %t63, ptr %t62 %t64 = load ptr, ptr %t16 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 %t66 = load ptr, ptr %t65 %t67 = load ptr, ptr %t18 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t69 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 2 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t71 = load i32, ptr %t68 %t72 = load i32, ptr %t69 %t73 = icmp sge i32 %t71, %t72 br i1 %t73, label %grow2, label %put3 grow2: %t74 = mul i32 %t72, 2 %t75 = icmp eq i32 %t72, 0 %t76 = select i1 %t75, i32 8, i32 %t74 %t77 = getelementptr ptr, ptr null, i32 1 %t78 = ptrtoint ptr %t77 to i64 %t79 = zext i32 %t76 to i64 %t80 = mul i64 %t79, %t78 %t81 = load ptr, ptr %t70 %t82 = call ptr @realloc(ptr %t81, i64 %t80) store ptr %t82, ptr %t70 store i32 %t76, ptr %t69 br label %put3 put3: %t83 = load ptr, ptr %t70 %t84 = getelementptr inbounds ptr, ptr %t83, i32 %t71 store ptr %t67, ptr %t84 %t85 = add i32 %t71, 1 store i32 %t85, ptr %t68 %t86 = call ptr @fn_node(i32 12) store ptr %t86, ptr %t87 %t88 = call ptr @fn_node(i32 34) store ptr %t88, ptr %t89 %t90 = call ptr @fn_node(i32 35) store ptr %t90, ptr %t91 %t92 = call ptr @fn_node(i32 33) store ptr %t92, ptr %t93 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 1 store ptr @.str721, ptr %t95 %t96 = load ptr, ptr %t91 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 4 %t98 = load ptr, ptr %t93 store ptr %t98, ptr %t97 %t99 = load ptr, ptr %t91 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 store ptr @.str722, ptr %t100 %t101 = load ptr, ptr %t89 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 4 %t103 = load ptr, ptr %t91 store ptr %t103, ptr %t102 %t104 = load ptr, ptr %t87 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 4 %t106 = load ptr, ptr %t89 store ptr %t106, ptr %t105 %t107 = load ptr, ptr %t87 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 5 %t109 = call ptr @fn_node(i32 7) store ptr %t109, ptr %t108 %t110 = call ptr @fn_node(i32 26) store ptr %t110, ptr %t111 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 1 %t114 = load ptr, ptr %t1 store ptr %t114, ptr %t113 %t115 = load ptr, ptr %t87 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 5 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 7 %t119 = load ptr, ptr %t118 %t120 = load ptr, ptr %t111 %t121 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t122 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 2 %t123 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 %t124 = load i32, ptr %t121 %t125 = load i32, ptr %t122 %t126 = icmp sge i32 %t124, %t125 br i1 %t126, label %grow4, label %put5 grow4: %t127 = mul i32 %t125, 2 %t128 = icmp eq i32 %t125, 0 %t129 = select i1 %t128, i32 8, i32 %t127 %t130 = getelementptr ptr, ptr null, i32 1 %t131 = ptrtoint ptr %t130 to i64 %t132 = zext i32 %t129 to i64 %t133 = mul i64 %t132, %t131 %t134 = load ptr, ptr %t123 %t135 = call ptr @realloc(ptr %t134, i64 %t133) store ptr %t135, ptr %t123 store i32 %t129, ptr %t122 br label %put5 put5: %t136 = load ptr, ptr %t123 %t137 = getelementptr inbounds ptr, ptr %t136, i32 %t124 store ptr %t120, ptr %t137 %t138 = add i32 %t124, 1 store i32 %t138, ptr %t121 %t139 = load ptr, ptr %t16 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 7 %t141 = load ptr, ptr %t140 %t142 = load ptr, ptr %t87 %t143 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t144 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 2 %t145 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0 %t146 = load i32, ptr %t143 %t147 = load i32, ptr %t144 %t148 = icmp sge i32 %t146, %t147 br i1 %t148, label %grow6, label %put7 grow6: %t149 = mul i32 %t147, 2 %t150 = icmp eq i32 %t147, 0 %t151 = select i1 %t150, i32 8, i32 %t149 %t152 = getelementptr ptr, ptr null, i32 1 %t153 = ptrtoint ptr %t152 to i64 %t154 = zext i32 %t151 to i64 %t155 = mul i64 %t154, %t153 %t156 = load ptr, ptr %t145 %t157 = call ptr @realloc(ptr %t156, i64 %t155) store ptr %t157, ptr %t145 store i32 %t151, ptr %t144 br label %put7 put7: %t158 = load ptr, ptr %t145 %t159 = getelementptr inbounds ptr, ptr %t158, i32 %t146 store ptr %t142, ptr %t159 %t160 = add i32 %t146, 1 store i32 %t160, ptr %t143 %t161 = load ptr, ptr %t3 %t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 4 %t163 = load ptr, ptr %t16 store ptr %t163, ptr %t162 %t164 = load ptr, ptr @g_prog %t165 = load ptr, ptr %t3 %t166 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 1 %t167 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 2 %t168 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0 %t169 = load i32, ptr %t166 %t170 = load i32, ptr %t167 %t171 = icmp sge i32 %t169, %t170 br i1 %t171, label %grow8, label %put9 grow8: %t172 = mul i32 %t170, 2 %t173 = icmp eq i32 %t170, 0 %t174 = select i1 %t173, i32 8, i32 %t172 %t175 = getelementptr ptr, ptr null, i32 1 %t176 = ptrtoint ptr %t175 to i64 %t177 = zext i32 %t174 to i64 %t178 = mul i64 %t177, %t176 %t179 = load ptr, ptr %t168 %t180 = call ptr @realloc(ptr %t179, i64 %t178) store ptr %t180, ptr %t168 store i32 %t174, ptr %t167 br label %put9 put9: %t181 = load ptr, ptr %t168 %t182 = getelementptr inbounds ptr, ptr %t181, i32 %t169 store ptr %t165, ptr %t182 %t183 = add i32 %t169, 1 store i32 %t183, ptr %t166 %t184 = call ptr @fn_node(i32 9) store ptr %t184, ptr %t185 %t186 = load ptr, ptr %t185 %t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 1 %t188 = load ptr, ptr %t0 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 1 %t190 = load ptr, ptr %t189 %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str723) store ptr %t191, ptr %t187 %t192 = load ptr, ptr %t185 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 3 store ptr @.str724, ptr %t193 %t194 = load ptr, ptr %t185 %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 6 %t196 = load ptr, ptr %t0 store ptr %t196, ptr %t195 %t197 = call ptr @fn_node(i32 7) store ptr %t197, ptr %t198 %t199 = call ptr @fn_node(i32 34) store ptr %t199, ptr %t200 %t201 = call ptr @fn_node(i32 33) store ptr %t201, ptr %t202 %t203 = load ptr, ptr %t202 %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 1 store ptr @.str725, ptr %t204 %t205 = load ptr, ptr %t200 %t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 4 %t207 = load ptr, ptr %t202 store ptr %t207, ptr %t206 %t208 = call ptr @fn_node(i32 16) store ptr %t208, ptr %t209 %t210 = load ptr, ptr %t209 %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 4 %t212 = load ptr, ptr %t200 store ptr %t212, ptr %t211 %t213 = load ptr, ptr %t198 %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 7 %t215 = load ptr, ptr %t214 %t216 = load ptr, ptr %t209 %t217 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 1 %t218 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 2 %t219 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0 %t220 = load i32, ptr %t217 %t221 = load i32, ptr %t218 %t222 = icmp sge i32 %t220, %t221 br i1 %t222, label %grow10, label %put11 grow10: %t223 = mul i32 %t221, 2 %t224 = icmp eq i32 %t221, 0 %t225 = select i1 %t224, i32 8, i32 %t223 %t226 = getelementptr ptr, ptr null, i32 1 %t227 = ptrtoint ptr %t226 to i64 %t228 = zext i32 %t225 to i64 %t229 = mul i64 %t228, %t227 %t230 = load ptr, ptr %t219 %t231 = call ptr @realloc(ptr %t230, i64 %t229) store ptr %t231, ptr %t219 store i32 %t225, ptr %t218 br label %put11 put11: %t232 = load ptr, ptr %t219 %t233 = getelementptr inbounds ptr, ptr %t232, i32 %t220 store ptr %t216, ptr %t233 %t234 = add i32 %t220, 1 store i32 %t234, ptr %t217 %t235 = load ptr, ptr %t185 %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 4 %t237 = load ptr, ptr %t198 store ptr %t237, ptr %t236 %t238 = load ptr, ptr @g_prog %t239 = load ptr, ptr %t185 %t240 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 1 %t241 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 2 %t242 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 0 %t243 = load i32, ptr %t240 %t244 = load i32, ptr %t241 %t245 = icmp sge i32 %t243, %t244 br i1 %t245, label %grow12, label %put13 grow12: %t246 = mul i32 %t244, 2 %t247 = icmp eq i32 %t244, 0 %t248 = select i1 %t247, i32 8, i32 %t246 %t249 = getelementptr ptr, ptr null, i32 1 %t250 = ptrtoint ptr %t249 to i64 %t251 = zext i32 %t248 to i64 %t252 = mul i64 %t251, %t250 %t253 = load ptr, ptr %t242 %t254 = call ptr @realloc(ptr %t253, i64 %t252) store ptr %t254, ptr %t242 store i32 %t248, ptr %t241 br label %put13 put13: %t255 = load ptr, ptr %t242 %t256 = getelementptr inbounds ptr, ptr %t255, i32 %t243 store ptr %t239, ptr %t256 %t257 = add i32 %t243, 1 store i32 %t257, ptr %t240 br label %ret ret: ret void } define void @fn_scene_add_timer(ptr %arg_sc, ptr %arg_frames, ptr %arg_next) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t8 = alloca ptr %t10 = alloca ptr %t46 = alloca ptr %t50 = alloca ptr %t66 = alloca ptr %t87 = alloca i32 %t140 = alloca ptr %t153 = alloca ptr %t155 = alloca ptr %t159 = alloca ptr %t167 = alloca ptr %t196 = alloca ptr %t200 = alloca ptr %t208 = alloca ptr %t215 = alloca ptr %t223 = alloca ptr store ptr %arg_sc, ptr %t0 store ptr %arg_frames, ptr %t1 store ptr %arg_next, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1 %t5 = load ptr, ptr %t4 %t6 = call ptr @lp_str_concat(ptr @.str726, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str727) store ptr %t7, ptr %t8 %t9 = call ptr @fn_node(i32 2) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 1 %t13 = load ptr, ptr %t8 store ptr %t13, ptr %t12 %t14 = load ptr, ptr %t10 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 3 store ptr @.str728, ptr %t15 %t16 = load ptr, ptr @g_prog %t17 = load ptr, ptr %t10 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 2 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t21 = load i32, ptr %t18 %t22 = load i32, ptr %t19 %t23 = icmp sge i32 %t21, %t22 br i1 %t23, label %grow0, label %put1 grow0: %t24 = mul i32 %t22, 2 %t25 = icmp eq i32 %t22, 0 %t26 = select i1 %t25, i32 8, i32 %t24 %t27 = getelementptr ptr, ptr null, i32 1 %t28 = ptrtoint ptr %t27 to i64 %t29 = zext i32 %t26 to i64 %t30 = mul i64 %t29, %t28 %t31 = load ptr, ptr %t20 %t32 = call ptr @realloc(ptr %t31, i64 %t30) store ptr %t32, ptr %t20 store i32 %t26, ptr %t19 br label %put1 put1: %t33 = load ptr, ptr %t20 %t34 = getelementptr inbounds ptr, ptr %t33, i32 %t21 store ptr %t17, ptr %t34 %t35 = add i32 %t21, 1 store i32 %t35, ptr %t18 %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 4 %t38 = load ptr, ptr %t37 %t39 = icmp eq ptr %t38, null %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then2, label %ifend4 then2: %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 4 %t44 = call ptr @fn_node(i32 7) store ptr %t44, ptr %t43 br label %ifend4 ifend4: %t45 = call ptr @fn_node(i32 11) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 1 store ptr @.str729, ptr %t48 %t49 = call ptr @fn_node(i32 33) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 %t53 = load ptr, ptr %t8 store ptr %t53, ptr %t52 %t54 = load ptr, ptr %t46 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4 %t56 = load ptr, ptr %t50 store ptr %t56, ptr %t55 %t57 = load ptr, ptr %t46 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 5 %t59 = load ptr, ptr %t1 store ptr %t59, ptr %t58 %t60 = getelementptr %LSlice, ptr null, i32 1 %t61 = ptrtoint ptr %t60 to i64 %t62 = call ptr @malloc(i64 %t61) %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 store ptr null, ptr %t63 %t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 store i32 0, ptr %t64 %t65 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 2 store i32 0, ptr %t65 store ptr %t62, ptr %t66 %t67 = load ptr, ptr %t66 %t68 = load ptr, ptr %t46 %t69 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 1 %t70 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 2 %t71 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 0 %t72 = load i32, ptr %t69 %t73 = load i32, ptr %t70 %t74 = icmp sge i32 %t72, %t73 br i1 %t74, label %grow5, label %put6 grow5: %t75 = mul i32 %t73, 2 %t76 = icmp eq i32 %t73, 0 %t77 = select i1 %t76, i32 8, i32 %t75 %t78 = getelementptr ptr, ptr null, i32 1 %t79 = ptrtoint ptr %t78 to i64 %t80 = zext i32 %t77 to i64 %t81 = mul i64 %t80, %t79 %t82 = load ptr, ptr %t71 %t83 = call ptr @realloc(ptr %t82, i64 %t81) store ptr %t83, ptr %t71 store i32 %t77, ptr %t70 br label %put6 put6: %t84 = load ptr, ptr %t71 %t85 = getelementptr inbounds ptr, ptr %t84, i32 %t72 store ptr %t68, ptr %t85 %t86 = add i32 %t72, 1 store i32 %t86, ptr %t69 store i32 0, ptr %t87 br label %wcond7 wcond7: %t88 = load i32, ptr %t87 %t89 = load ptr, ptr %t0 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 4 %t91 = load ptr, ptr %t90 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 7 %t93 = load ptr, ptr %t92 %t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t95 = load i32, ptr %t94 %t96 = icmp slt i32 %t88, %t95 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %wbody8, label %wend9 wbody8: %t99 = load ptr, ptr %t66 %t100 = load ptr, ptr %t0 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 4 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 7 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0 %t106 = load ptr, ptr %t105 %t107 = load i32, ptr %t87 %t108 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 %t109 = load i32, ptr %t108 %t110 = icmp ult i32 %t107, %t109 br i1 %t110, label %ixok10, label %ixbad11 ixbad11: %t111 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t111, ptr @.fmt_bounds, ptr @.str730, i32 %t107, i32 %t109) call void @exit(i32 1) unreachable ixok10: %t112 = getelementptr inbounds ptr, ptr %t106, i32 %t107 %t113 = load ptr, ptr %t112 %t114 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1 %t115 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 2 %t116 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 0 %t117 = load i32, ptr %t114 %t118 = load i32, ptr %t115 %t119 = icmp sge i32 %t117, %t118 br i1 %t119, label %grow12, label %put13 grow12: %t120 = mul i32 %t118, 2 %t121 = icmp eq i32 %t118, 0 %t122 = select i1 %t121, i32 8, i32 %t120 %t123 = getelementptr ptr, ptr null, i32 1 %t124 = ptrtoint ptr %t123 to i64 %t125 = zext i32 %t122 to i64 %t126 = mul i64 %t125, %t124 %t127 = load ptr, ptr %t116 %t128 = call ptr @realloc(ptr %t127, i64 %t126) store ptr %t128, ptr %t116 store i32 %t122, ptr %t115 br label %put13 put13: %t129 = load ptr, ptr %t116 %t130 = getelementptr inbounds ptr, ptr %t129, i32 %t117 store ptr %t113, ptr %t130 %t131 = add i32 %t117, 1 store i32 %t131, ptr %t114 %t132 = load i32, ptr %t87 %t133 = add i32 %t132, 1 store i32 %t133, ptr %t87 br label %wcond7 wend9: %t134 = load ptr, ptr %t0 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 4 %t136 = load ptr, ptr %t135 %t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 7 %t138 = load ptr, ptr %t66 store ptr %t138, ptr %t137 %t139 = call ptr @fn_node(i32 9) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t140 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 1 %t143 = load ptr, ptr %t0 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 1 %t145 = load ptr, ptr %t144 %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str731) store ptr %t146, ptr %t142 %t147 = load ptr, ptr %t140 %t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 3 store ptr @.str732, ptr %t148 %t149 = load ptr, ptr %t140 %t150 = getelementptr inbounds %Cmp_Node, ptr %t149, i32 0, i32 6 %t151 = load ptr, ptr %t0 store ptr %t151, ptr %t150 %t152 = call ptr @fn_node(i32 7) store ptr %t152, ptr %t153 %t154 = call ptr @fn_node(i32 11) store ptr %t154, ptr %t155 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 1 store ptr @.str733, ptr %t157 %t158 = call ptr @fn_node(i32 33) store ptr %t158, ptr %t159 %t160 = load ptr, ptr %t159 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 1 %t162 = load ptr, ptr %t8 store ptr %t162, ptr %t161 %t163 = load ptr, ptr %t155 %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 4 %t165 = load ptr, ptr %t159 store ptr %t165, ptr %t164 %t166 = call ptr @fn_node(i32 30) store ptr %t166, ptr %t167 %t168 = load ptr, ptr %t167 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 2 store i32 1, ptr %t169 %t170 = load ptr, ptr %t155 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 5 %t172 = load ptr, ptr %t167 store ptr %t172, ptr %t171 %t173 = load ptr, ptr %t153 %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 7 %t175 = load ptr, ptr %t174 %t176 = load ptr, ptr %t155 %t177 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 1 %t178 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 2 %t179 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 0 %t180 = load i32, ptr %t177 %t181 = load i32, ptr %t178 %t182 = icmp sge i32 %t180, %t181 br i1 %t182, label %grow14, label %put15 grow14: %t183 = mul i32 %t181, 2 %t184 = icmp eq i32 %t181, 0 %t185 = select i1 %t184, i32 8, i32 %t183 %t186 = getelementptr ptr, ptr null, i32 1 %t187 = ptrtoint ptr %t186 to i64 %t188 = zext i32 %t185 to i64 %t189 = mul i64 %t188, %t187 %t190 = load ptr, ptr %t179 %t191 = call ptr @realloc(ptr %t190, i64 %t189) store ptr %t191, ptr %t179 store i32 %t185, ptr %t178 br label %put15 put15: %t192 = load ptr, ptr %t179 %t193 = getelementptr inbounds ptr, ptr %t192, i32 %t180 store ptr %t176, ptr %t193 %t194 = add i32 %t180, 1 store i32 %t194, ptr %t177 %t195 = call ptr @fn_node(i32 37) store ptr %t195, ptr %t196 %t197 = load ptr, ptr %t196 %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 store ptr @.str734, ptr %t198 %t199 = call ptr @fn_node(i32 33) store ptr %t199, ptr %t200 %t201 = load ptr, ptr %t200 %t202 = getelementptr inbounds %Cmp_Node, ptr %t201, i32 0, i32 1 %t203 = load ptr, ptr %t8 store ptr %t203, ptr %t202 %t204 = load ptr, ptr %t196 %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 4 %t206 = load ptr, ptr %t200 store ptr %t206, ptr %t205 %t207 = call ptr @fn_node(i32 30) store ptr %t207, ptr %t208 %t209 = load ptr, ptr %t208 %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 2 store i32 0, ptr %t210 %t211 = load ptr, ptr %t196 %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 5 %t213 = load ptr, ptr %t208 store ptr %t213, ptr %t212 %t214 = call ptr @fn_node(i32 12) store ptr %t214, ptr %t215 %t216 = load ptr, ptr %t215 %t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 4 %t218 = load ptr, ptr %t196 store ptr %t218, ptr %t217 %t219 = load ptr, ptr %t215 %t220 = getelementptr inbounds %Cmp_Node, ptr %t219, i32 0, i32 5 %t221 = call ptr @fn_node(i32 7) store ptr %t221, ptr %t220 %t222 = call ptr @fn_node(i32 26) store ptr %t222, ptr %t223 %t224 = load ptr, ptr %t223 %t225 = getelementptr inbounds %Cmp_Node, ptr %t224, i32 0, i32 1 %t226 = load ptr, ptr %t2 store ptr %t226, ptr %t225 %t227 = load ptr, ptr %t215 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 5 %t229 = load ptr, ptr %t228 %t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 7 %t231 = load ptr, ptr %t230 %t232 = load ptr, ptr %t223 %t233 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 1 %t234 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 2 %t235 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 0 %t236 = load i32, ptr %t233 %t237 = load i32, ptr %t234 %t238 = icmp sge i32 %t236, %t237 br i1 %t238, label %grow16, label %put17 grow16: %t239 = mul i32 %t237, 2 %t240 = icmp eq i32 %t237, 0 %t241 = select i1 %t240, i32 8, i32 %t239 %t242 = getelementptr ptr, ptr null, i32 1 %t243 = ptrtoint ptr %t242 to i64 %t244 = zext i32 %t241 to i64 %t245 = mul i64 %t244, %t243 %t246 = load ptr, ptr %t235 %t247 = call ptr @realloc(ptr %t246, i64 %t245) store ptr %t247, ptr %t235 store i32 %t241, ptr %t234 br label %put17 put17: %t248 = load ptr, ptr %t235 %t249 = getelementptr inbounds ptr, ptr %t248, i32 %t236 store ptr %t232, ptr %t249 %t250 = add i32 %t236, 1 store i32 %t250, ptr %t233 %t251 = load ptr, ptr %t153 %t252 = getelementptr inbounds %Cmp_Node, ptr %t251, i32 0, i32 7 %t253 = load ptr, ptr %t252 %t254 = load ptr, ptr %t215 %t255 = getelementptr inbounds %LSlice, ptr %t253, i32 0, i32 1 %t256 = getelementptr inbounds %LSlice, ptr %t253, i32 0, i32 2 %t257 = getelementptr inbounds %LSlice, ptr %t253, i32 0, i32 0 %t258 = load i32, ptr %t255 %t259 = load i32, ptr %t256 %t260 = icmp sge i32 %t258, %t259 br i1 %t260, label %grow18, label %put19 grow18: %t261 = mul i32 %t259, 2 %t262 = icmp eq i32 %t259, 0 %t263 = select i1 %t262, i32 8, i32 %t261 %t264 = getelementptr ptr, ptr null, i32 1 %t265 = ptrtoint ptr %t264 to i64 %t266 = zext i32 %t263 to i64 %t267 = mul i64 %t266, %t265 %t268 = load ptr, ptr %t257 %t269 = call ptr @realloc(ptr %t268, i64 %t267) store ptr %t269, ptr %t257 store i32 %t263, ptr %t256 br label %put19 put19: %t270 = load ptr, ptr %t257 %t271 = getelementptr inbounds ptr, ptr %t270, i32 %t258 store ptr %t254, ptr %t271 %t272 = add i32 %t258, 1 store i32 %t272, ptr %t255 %t273 = load ptr, ptr %t140 %t274 = getelementptr inbounds %Cmp_Node, ptr %t273, i32 0, i32 4 %t275 = load ptr, ptr %t153 store ptr %t275, ptr %t274 %t276 = load ptr, ptr @g_prog %t277 = load ptr, ptr %t140 %t278 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 1 %t279 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 2 %t280 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 0 %t281 = load i32, ptr %t278 %t282 = load i32, ptr %t279 %t283 = icmp sge i32 %t281, %t282 br i1 %t283, label %grow20, label %put21 grow20: %t284 = mul i32 %t282, 2 %t285 = icmp eq i32 %t282, 0 %t286 = select i1 %t285, i32 8, i32 %t284 %t287 = getelementptr ptr, ptr null, i32 1 %t288 = ptrtoint ptr %t287 to i64 %t289 = zext i32 %t286 to i64 %t290 = mul i64 %t289, %t288 %t291 = load ptr, ptr %t280 %t292 = call ptr @realloc(ptr %t291, i64 %t290) store ptr %t292, ptr %t280 store i32 %t286, ptr %t279 br label %put21 put21: %t293 = load ptr, ptr %t280 %t294 = getelementptr inbounds ptr, ptr %t293, i32 %t281 store ptr %t277, ptr %t294 %t295 = add i32 %t281, 1 store i32 %t295, ptr %t278 br label %ret ret: ret void } define void @fn_ui_register_gotos() { entry: %t0 = alloca i32 %t8 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_prog %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_prog %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t0 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str735, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0 %t20 = load i32, ptr %t19 %t21 = icmp eq i32 %t20, 12 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t8 br i1 %t23, label %sc5, label %scend6 sc5: %t25 = load ptr, ptr @g_prog %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = load i32, ptr %t0 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t28, %t30 br i1 %t31, label %ixok7, label %ixbad8 ixbad8: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str736, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok7: %t33 = getelementptr inbounds ptr, ptr %t27, i32 %t28 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 2 %t36 = load i32, ptr %t35 %t37 = icmp eq i32 %t36, 1 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t8 br label %scend6 scend6: %t41 = load i32, ptr %t8 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then9, label %ifend11 then9: %t43 = load ptr, ptr @g_prog %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = load i32, ptr %t0 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 %t46, %t48 br i1 %t49, label %ixok12, label %ixbad13 ixbad13: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str737, i32 %t46, i32 %t48) call void @exit(i32 1) unreachable ixok12: %t51 = getelementptr inbounds ptr, ptr %t45, i32 %t46 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4 %t54 = load ptr, ptr %t53 call void @fn_ui_gotos_in(ptr %t54) br label %ifend11 ifend11: %t55 = load i32, ptr %t0 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_ui_gotos_in(ptr %arg_w) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t29 = alloca ptr %t30 = alloca i32 %t53 = alloca i32 %t78 = alloca i32 %t92 = alloca ptr %t94 = alloca ptr %t98 = alloca ptr %t105 = alloca ptr %t114 = alloca ptr %t122 = alloca ptr %t173 = alloca i32 store ptr %arg_w, ptr %t0 store ptr null, ptr %t1 store ptr null, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load i32, ptr %t3 %t5 = load ptr, ptr %t0 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 5 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 7 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp slt i32 %t4, %t11 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %wbody1, label %wend2 wbody1: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 5 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = load i32, ptr %t3 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t22, %t24 br i1 %t25, label %ixok3, label %ixbad4 ixbad4: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str738, i32 %t22, i32 %t24) call void @exit(i32 1) unreachable ixok3: %t27 = getelementptr inbounds ptr, ptr %t21, i32 %t22 %t28 = load ptr, ptr %t27 store ptr %t28, ptr %t29 %t31 = load ptr, ptr %t29 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 %t33 = load ptr, ptr %t32 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str739) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t30 br i1 %t35, label %sc5, label %scend6 sc5: %t37 = load ptr, ptr %t29 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 4 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0 %t41 = load i32, ptr %t40 %t42 = icmp eq i32 %t41, 33 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t30 br label %scend6 scend6: %t46 = load i32, ptr %t30 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then7, label %ifend9 then7: %t48 = load ptr, ptr %t29 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 4 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 %t52 = load ptr, ptr %t51 store ptr %t52, ptr %t1 br label %ifend9 ifend9: %t54 = load ptr, ptr %t29 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str740) %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t53 br i1 %t58, label %sc10, label %scend11 sc10: %t60 = load ptr, ptr %t29 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 4 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 0 %t64 = load i32, ptr %t63 %t65 = icmp eq i32 %t64, 33 %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t53 br label %scend11 scend11: %t69 = load i32, ptr %t53 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then12, label %ifend14 then12: %t71 = load ptr, ptr %t29 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 4 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 1 %t75 = load ptr, ptr %t74 store ptr %t75, ptr %t2 br label %ifend14 ifend14: %t76 = load i32, ptr %t3 %t77 = add i32 %t76, 1 store i32 %t77, ptr %t3 br label %wcond0 wend2: %t79 = load ptr, ptr %t1 %t80 = icmp ne ptr %t79, null %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t78 br i1 %t82, label %sc15, label %scend16 sc15: %t84 = load ptr, ptr %t2 %t85 = icmp ne ptr %t84, null %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t78 br label %scend16 scend16: %t89 = load i32, ptr %t78 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then17, label %ifend19 then17: %t91 = call ptr @fn_node(i32 7) store ptr %t91, ptr %t92 %t93 = call ptr @fn_node(i32 37) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t94 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 store ptr @.str741, ptr %t96 %t97 = call ptr @fn_node(i32 33) store ptr %t97, ptr %t98 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 store ptr @.str742, ptr %t100 %t101 = load ptr, ptr %t94 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 4 %t103 = load ptr, ptr %t98 store ptr %t103, ptr %t102 %t104 = call ptr @fn_node(i32 33) store ptr %t104, ptr %t105 %t106 = load ptr, ptr %t105 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 1 %t108 = load ptr, ptr %t1 %t109 = call ptr @lp_str_concat(ptr @.str743, ptr %t108) store ptr %t109, ptr %t107 %t110 = load ptr, ptr %t94 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 5 %t112 = load ptr, ptr %t105 store ptr %t112, ptr %t111 %t113 = call ptr @fn_node(i32 12) store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 4 %t117 = load ptr, ptr %t94 store ptr %t117, ptr %t116 %t118 = load ptr, ptr %t114 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 5 %t120 = call ptr @fn_node(i32 7) store ptr %t120, ptr %t119 %t121 = call ptr @fn_node(i32 26) store ptr %t121, ptr %t122 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1 %t125 = load ptr, ptr %t2 store ptr %t125, ptr %t124 %t126 = load ptr, ptr %t114 %t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 5 %t128 = load ptr, ptr %t127 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 7 %t130 = load ptr, ptr %t129 %t131 = load ptr, ptr %t122 %t132 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t133 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 2 %t134 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t135 = load i32, ptr %t132 %t136 = load i32, ptr %t133 %t137 = icmp sge i32 %t135, %t136 br i1 %t137, label %grow20, label %put21 grow20: %t138 = mul i32 %t136, 2 %t139 = icmp eq i32 %t136, 0 %t140 = select i1 %t139, i32 8, i32 %t138 %t141 = getelementptr ptr, ptr null, i32 1 %t142 = ptrtoint ptr %t141 to i64 %t143 = zext i32 %t140 to i64 %t144 = mul i64 %t143, %t142 %t145 = load ptr, ptr %t134 %t146 = call ptr @realloc(ptr %t145, i64 %t144) store ptr %t146, ptr %t134 store i32 %t140, ptr %t133 br label %put21 put21: %t147 = load ptr, ptr %t134 %t148 = getelementptr inbounds ptr, ptr %t147, i32 %t135 store ptr %t131, ptr %t148 %t149 = add i32 %t135, 1 store i32 %t149, ptr %t132 %t150 = load ptr, ptr %t92 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 7 %t152 = load ptr, ptr %t151 %t153 = load ptr, ptr %t114 %t154 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t155 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 2 %t156 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 %t157 = load i32, ptr %t154 %t158 = load i32, ptr %t155 %t159 = icmp sge i32 %t157, %t158 br i1 %t159, label %grow22, label %put23 grow22: %t160 = mul i32 %t158, 2 %t161 = icmp eq i32 %t158, 0 %t162 = select i1 %t161, i32 8, i32 %t160 %t163 = getelementptr ptr, ptr null, i32 1 %t164 = ptrtoint ptr %t163 to i64 %t165 = zext i32 %t162 to i64 %t166 = mul i64 %t165, %t164 %t167 = load ptr, ptr %t156 %t168 = call ptr @realloc(ptr %t167, i64 %t166) store ptr %t168, ptr %t156 store i32 %t162, ptr %t155 br label %put23 put23: %t169 = load ptr, ptr %t156 %t170 = getelementptr inbounds ptr, ptr %t169, i32 %t157 store ptr %t153, ptr %t170 %t171 = add i32 %t157, 1 store i32 %t171, ptr %t154 %t172 = load ptr, ptr %t92 call void @fn_register_onlisten(ptr @.str744, ptr %t172) br label %ifend19 ifend19: store i32 0, ptr %t173 br label %wcond24 wcond24: %t174 = load i32, ptr %t173 %t175 = load ptr, ptr %t0 %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 7 %t177 = load ptr, ptr %t176 %t178 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 1 %t179 = load i32, ptr %t178 %t180 = icmp slt i32 %t174, %t179 %t181 = zext i1 %t180 to i32 %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %wbody25, label %wend26 wbody25: %t183 = load ptr, ptr %t0 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 7 %t185 = load ptr, ptr %t184 %t186 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 0 %t187 = load ptr, ptr %t186 %t188 = load i32, ptr %t173 %t189 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 1 %t190 = load i32, ptr %t189 %t191 = icmp ult i32 %t188, %t190 br i1 %t191, label %ixok27, label %ixbad28 ixbad28: %t192 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t192, ptr @.fmt_bounds, ptr @.str745, i32 %t188, i32 %t190) call void @exit(i32 1) unreachable ixok27: %t193 = getelementptr inbounds ptr, ptr %t187, i32 %t188 %t194 = load ptr, ptr %t193 call void @fn_ui_gotos_in(ptr %t194) %t195 = load i32, ptr %t173 %t196 = add i32 %t195, 1 store i32 %t196, ptr %t173 br label %wcond24 wend26: br label %ret ret: ret void } define ptr @fn_parse_enum() { entry: %retval = alloca ptr %t3 = alloca ptr %t11 = alloca ptr %t24 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_node(i32 27) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 call void @fn_skipnl() call void @fn_eat_op(ptr @.str746) br label %wcond0 wcond0: %t7 = icmp ne i32 1, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: call void @fn_skipnl() %t8 = call i32 @fn_is_op(ptr @.str747) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: br label %wend2 ifend5: %t10 = call ptr @fn_node(i32 33) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 %t14 = call ptr @fn_eat_id() store ptr %t14, ptr %t13 %t15 = call i32 @fn_is_op(ptr @.str748) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then6, label %ifend8 then6: %t17 = load i32, ptr @g_pi %t18 = add i32 %t17, 1 store i32 %t18, ptr @g_pi call void @fn_skipnl() br label %wcond9 wcond9: %t19 = call i32 @fn_is_op(ptr @.str749) %t20 = icmp eq i32 %t19, 0 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %wbody10, label %wend11 wbody10: %t23 = call ptr @fn_node(i32 5) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 3 %t27 = call ptr @fn_ptype() store ptr %t27, ptr %t26 %t28 = load ptr, ptr %t11 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t24 %t32 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t33 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 2 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t35 = load i32, ptr %t32 %t36 = load i32, ptr %t33 %t37 = icmp sge i32 %t35, %t36 br i1 %t37, label %grow12, label %put13 grow12: %t38 = mul i32 %t36, 2 %t39 = icmp eq i32 %t36, 0 %t40 = select i1 %t39, i32 8, i32 %t38 %t41 = getelementptr ptr, ptr null, i32 1 %t42 = ptrtoint ptr %t41 to i64 %t43 = zext i32 %t40 to i64 %t44 = mul i64 %t43, %t42 %t45 = load ptr, ptr %t34 %t46 = call ptr @realloc(ptr %t45, i64 %t44) store ptr %t46, ptr %t34 store i32 %t40, ptr %t33 br label %put13 put13: %t47 = load ptr, ptr %t34 %t48 = getelementptr inbounds ptr, ptr %t47, i32 %t35 store ptr %t31, ptr %t48 %t49 = add i32 %t35, 1 store i32 %t49, ptr %t32 %t50 = call i32 @fn_is_op(ptr @.str750) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then14, label %ifend16 then14: %t52 = load i32, ptr @g_pi %t53 = add i32 %t52, 1 store i32 %t53, ptr @g_pi br label %ifend16 ifend16: call void @fn_skipnl() br label %wcond9 wend11: call void @fn_eat_op(ptr @.str751) br label %ifend8 ifend8: %t54 = load ptr, ptr %t3 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 7 %t56 = load ptr, ptr %t55 %t57 = load ptr, ptr %t11 %t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t59 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 2 %t60 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t61 = load i32, ptr %t58 %t62 = load i32, ptr %t59 %t63 = icmp sge i32 %t61, %t62 br i1 %t63, label %grow17, label %put18 grow17: %t64 = mul i32 %t62, 2 %t65 = icmp eq i32 %t62, 0 %t66 = select i1 %t65, i32 8, i32 %t64 %t67 = getelementptr ptr, ptr null, i32 1 %t68 = ptrtoint ptr %t67 to i64 %t69 = zext i32 %t66 to i64 %t70 = mul i64 %t69, %t68 %t71 = load ptr, ptr %t60 %t72 = call ptr @realloc(ptr %t71, i64 %t70) store ptr %t72, ptr %t60 store i32 %t66, ptr %t59 br label %put18 put18: %t73 = load ptr, ptr %t60 %t74 = getelementptr inbounds ptr, ptr %t73, i32 %t61 store ptr %t57, ptr %t74 %t75 = add i32 %t61, 1 store i32 %t75, ptr %t58 %t76 = call i32 @fn_is_op(ptr @.str752) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then19, label %ifend21 then19: %t78 = load i32, ptr @g_pi %t79 = add i32 %t78, 1 store i32 %t79, ptr @g_pi br label %ifend21 ifend21: call void @fn_skipnl() br label %wcond0 wend2: call void @fn_eat_op(ptr @.str753) %t80 = load ptr, ptr %t3 store ptr %t80, ptr %retval br label %ret ret: %t81 = load ptr, ptr %retval ret ptr %t81 } define ptr @fn_parse_archetype() { entry: %retval = alloca ptr %t3 = alloca ptr %t11 = alloca ptr %t17 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_node(i32 10) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 call void @fn_skipnl() call void @fn_eat_op(ptr @.str754) br label %wcond0 wcond0: %t7 = icmp ne i32 1, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: call void @fn_skipnl() %t8 = call i32 @fn_is_op(ptr @.str755) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: br label %wend2 ifend5: %t10 = call ptr @fn_node(i32 33) store ptr %t10, ptr %t11 %t12 = call i32 @fn_is_op(ptr @.str756) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: %t14 = load i32, ptr @g_pi %t15 = add i32 %t14, 1 store i32 %t15, ptr @g_pi %t16 = call ptr @fn_eat_id() store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str757) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then9, label %ifend11 then9: %t21 = load ptr, ptr %t11 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 2 store i32 1, ptr %t22 br label %ifend11 ifend11: call void @fn_skipnl() br label %ifend8 ifend8: %t23 = load ptr, ptr %t11 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 %t25 = call ptr @fn_eat_id() store ptr %t25, ptr %t24 %t26 = load ptr, ptr %t3 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7 %t28 = load ptr, ptr %t27 %t29 = load ptr, ptr %t11 %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t31 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 2 %t32 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t33 = load i32, ptr %t30 %t34 = load i32, ptr %t31 %t35 = icmp sge i32 %t33, %t34 br i1 %t35, label %grow12, label %put13 grow12: %t36 = mul i32 %t34, 2 %t37 = icmp eq i32 %t34, 0 %t38 = select i1 %t37, i32 8, i32 %t36 %t39 = getelementptr ptr, ptr null, i32 1 %t40 = ptrtoint ptr %t39 to i64 %t41 = zext i32 %t38 to i64 %t42 = mul i64 %t41, %t40 %t43 = load ptr, ptr %t32 %t44 = call ptr @realloc(ptr %t43, i64 %t42) store ptr %t44, ptr %t32 store i32 %t38, ptr %t31 br label %put13 put13: %t45 = load ptr, ptr %t32 %t46 = getelementptr inbounds ptr, ptr %t45, i32 %t33 store ptr %t29, ptr %t46 %t47 = add i32 %t33, 1 store i32 %t47, ptr %t30 %t48 = call i32 @fn_is_op(ptr @.str758) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then14, label %ifend16 then14: %t50 = load i32, ptr @g_pi %t51 = add i32 %t50, 1 store i32 %t51, ptr @g_pi br label %ifend16 ifend16: call void @fn_skipnl() br label %wcond0 wend2: call void @fn_eat_op(ptr @.str759) %t52 = load ptr, ptr %t3 store ptr %t52, ptr %retval br label %ret ret: %t53 = load ptr, ptr %retval ret ptr %t53 } define ptr @fn_parse_extern() { entry: %retval = alloca ptr %t3 = alloca ptr %t5 = alloca ptr %t14 = alloca ptr %t66 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_eat_id() store ptr %t2, ptr %t3 %t4 = call ptr @fn_node(i32 11) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 %t8 = call ptr @fn_eat_id() store ptr %t8, ptr %t7 call void @fn_eat_op(ptr @.str760) br label %wcond0 wcond0: %t9 = call i32 @fn_is_op(ptr @.str761) %t10 = icmp eq i32 %t9, 0 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %wbody1, label %wend2 wbody1: %t13 = call ptr @fn_node(i32 5) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 %t17 = call ptr @fn_eat_id() store ptr %t17, ptr %t16 call void @fn_eat_op(ptr @.str762) %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 3 %t20 = call ptr @fn_ptype() store ptr %t20, ptr %t19 %t21 = load ptr, ptr %t5 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 7 %t23 = load ptr, ptr %t22 %t24 = load ptr, ptr %t14 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t26 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 2 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t28 = load i32, ptr %t25 %t29 = load i32, ptr %t26 %t30 = icmp sge i32 %t28, %t29 br i1 %t30, label %grow3, label %put4 grow3: %t31 = mul i32 %t29, 2 %t32 = icmp eq i32 %t29, 0 %t33 = select i1 %t32, i32 8, i32 %t31 %t34 = getelementptr ptr, ptr null, i32 1 %t35 = ptrtoint ptr %t34 to i64 %t36 = zext i32 %t33 to i64 %t37 = mul i64 %t36, %t35 %t38 = load ptr, ptr %t27 %t39 = call ptr @realloc(ptr %t38, i64 %t37) store ptr %t39, ptr %t27 store i32 %t33, ptr %t26 br label %put4 put4: %t40 = load ptr, ptr %t27 %t41 = getelementptr inbounds ptr, ptr %t40, i32 %t28 store ptr %t24, ptr %t41 %t42 = add i32 %t28, 1 store i32 %t42, ptr %t25 %t43 = call i32 @fn_is_op(ptr @.str763) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then5, label %ifend7 then5: %t45 = load i32, ptr @g_pi %t46 = add i32 %t45, 1 store i32 %t46, ptr @g_pi br label %ifend7 ifend7: br label %wcond0 wend2: call void @fn_eat_op(ptr @.str764) %t47 = load ptr, ptr %t5 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 store ptr @.str765, ptr %t48 %t49 = call i32 @fn_is_op(ptr @.str766) %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then8, label %ifend10 then8: %t51 = load i32, ptr @g_pi %t52 = add i32 %t51, 1 store i32 %t52, ptr @g_pi %t53 = load ptr, ptr %t5 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 3 %t55 = call ptr @fn_ptype() store ptr %t55, ptr %t54 br label %ifend10 ifend10: call void @fn_eat_op(ptr @.str767) %t56 = load ptr, ptr @g_toks %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = load i32, ptr @g_pi %t60 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp ult i32 %t59, %t61 br i1 %t62, label %ixok11, label %ixbad12 ixbad12: %t63 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str768, i32 %t59, i32 %t61) call void @exit(i32 1) unreachable ixok11: %t64 = getelementptr inbounds ptr, ptr %t58, i32 %t59 %t65 = load ptr, ptr %t64 store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t5 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 %t69 = call ptr @fn_node(i32 31) store ptr %t69, ptr %t68 %t70 = load ptr, ptr %t5 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 4 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 %t74 = load ptr, ptr %t66 %t75 = getelementptr inbounds %Cmp_Tok, ptr %t74, i32 0, i32 1 %t76 = load ptr, ptr %t75 store ptr %t76, ptr %t73 %t77 = load i32, ptr @g_pi %t78 = add i32 %t77, 1 store i32 %t78, ptr @g_pi %t79 = load ptr, ptr %t5 store ptr %t79, ptr %retval br label %ret ret: %t80 = load ptr, ptr %retval ret ptr %t80 } define ptr @fn_parse_widget() { entry: %retval = alloca ptr %t1 = alloca ptr %t8 = alloca i32 %t9 = alloca i32 %t65 = alloca ptr %t0 = call ptr @fn_node(i32 12) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 1 %t4 = call ptr @fn_eat_id() store ptr %t4, ptr %t3 %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 5 %t7 = call ptr @fn_node(i32 7) store ptr %t7, ptr %t6 br label %wcond0 wcond0: %t10 = load ptr, ptr @g_toks %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = load i32, ptr @g_pi %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t13, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str769, i32 %t13, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t12, i32 %t13 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Tok, ptr %t19, i32 0, i32 0 %t21 = load i32, ptr %t20 %t22 = icmp eq i32 %t21, 0 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t9 br i1 %t24, label %sc5, label %scend6 sc5: %t26 = load ptr, ptr @g_toks %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = load i32, ptr @g_pi %t30 = add i32 %t29, 1 %t31 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t30, %t32 br i1 %t33, label %ixok7, label %ixbad8 ixbad8: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str770, i32 %t30, i32 %t32) call void @exit(i32 1) unreachable ixok7: %t35 = getelementptr inbounds ptr, ptr %t28, i32 %t30 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %Cmp_Tok, ptr %t36, i32 0, i32 0 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 3 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t9 br label %scend6 scend6: %t43 = load i32, ptr %t9 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t8 br i1 %t44, label %sc9, label %scend10 sc9: %t46 = load ptr, ptr @g_toks %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = load i32, ptr @g_pi %t50 = add i32 %t49, 1 %t51 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 %t50, %t52 br i1 %t53, label %ixok11, label %ixbad12 ixbad12: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str771, i32 %t50, i32 %t52) call void @exit(i32 1) unreachable ixok11: %t55 = getelementptr inbounds ptr, ptr %t48, i32 %t50 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %Cmp_Tok, ptr %t56, i32 0, i32 1 %t58 = load ptr, ptr %t57 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str772) %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t8 br label %scend10 scend10: %t62 = load i32, ptr %t8 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %wbody1, label %wend2 wbody1: %t64 = call ptr @fn_node(i32 42) store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1 %t68 = call ptr @fn_eat_id() store ptr %t68, ptr %t67 call void @fn_eat_op(ptr @.str773) %t69 = load ptr, ptr %t65 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 4 %t71 = call ptr @fn_expr() store ptr %t71, ptr %t70 %t72 = load ptr, ptr %t1 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 5 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 7 %t76 = load ptr, ptr %t75 %t77 = load ptr, ptr %t65 %t78 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t79 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 2 %t80 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t81 = load i32, ptr %t78 %t82 = load i32, ptr %t79 %t83 = icmp sge i32 %t81, %t82 br i1 %t83, label %grow13, label %put14 grow13: %t84 = mul i32 %t82, 2 %t85 = icmp eq i32 %t82, 0 %t86 = select i1 %t85, i32 8, i32 %t84 %t87 = getelementptr ptr, ptr null, i32 1 %t88 = ptrtoint ptr %t87 to i64 %t89 = zext i32 %t86 to i64 %t90 = mul i64 %t89, %t88 %t91 = load ptr, ptr %t80 %t92 = call ptr @realloc(ptr %t91, i64 %t90) store ptr %t92, ptr %t80 store i32 %t86, ptr %t79 br label %put14 put14: %t93 = load ptr, ptr %t80 %t94 = getelementptr inbounds ptr, ptr %t93, i32 %t81 store ptr %t77, ptr %t94 %t95 = add i32 %t81, 1 store i32 %t95, ptr %t78 br label %wcond0 wend2: call void @fn_skipnl() %t96 = call i32 @fn_is_op(ptr @.str774) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then15, label %ifend17 then15: %t98 = load i32, ptr @g_pi %t99 = add i32 %t98, 1 store i32 %t99, ptr @g_pi br label %wcond18 wcond18: %t100 = icmp ne i32 1, 0 br i1 %t100, label %wbody19, label %wend20 wbody19: call void @fn_skipnl() %t101 = call i32 @fn_is_op(ptr @.str775) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then21, label %ifend23 then21: br label %wend20 ifend23: %t103 = load ptr, ptr %t1 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 7 %t105 = load ptr, ptr %t104 %t106 = call ptr @fn_parse_widget() %t107 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 %t108 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 2 %t109 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0 %t110 = load i32, ptr %t107 %t111 = load i32, ptr %t108 %t112 = icmp sge i32 %t110, %t111 br i1 %t112, label %grow24, label %put25 grow24: %t113 = mul i32 %t111, 2 %t114 = icmp eq i32 %t111, 0 %t115 = select i1 %t114, i32 8, i32 %t113 %t116 = getelementptr ptr, ptr null, i32 1 %t117 = ptrtoint ptr %t116 to i64 %t118 = zext i32 %t115 to i64 %t119 = mul i64 %t118, %t117 %t120 = load ptr, ptr %t109 %t121 = call ptr @realloc(ptr %t120, i64 %t119) store ptr %t121, ptr %t109 store i32 %t115, ptr %t108 br label %put25 put25: %t122 = load ptr, ptr %t109 %t123 = getelementptr inbounds ptr, ptr %t122, i32 %t110 store ptr %t106, ptr %t123 %t124 = add i32 %t110, 1 store i32 %t124, ptr %t107 br label %wcond18 wend20: call void @fn_eat_op(ptr @.str776) br label %ifend17 ifend17: %t125 = load ptr, ptr %t1 store ptr %t125, ptr %retval br label %ret ret: %t126 = load ptr, ptr %retval ret ptr %t126 } define ptr @fn_parse_ui() { entry: %retval = alloca ptr %t3 = alloca ptr %t0 = load i32, ptr @g_pi %t1 = add i32 %t0, 1 store i32 %t1, ptr @g_pi %t2 = call ptr @fn_node(i32 12) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = call ptr @fn_eat_id() store ptr %t6, ptr %t5 %t7 = load ptr, ptr %t3 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 2 store i32 1, ptr %t8 call void @fn_skipnl() call void @fn_eat_op(ptr @.str777) call void @fn_skipnl() %t9 = load ptr, ptr %t3 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 %t11 = call ptr @fn_parse_widget() store ptr %t11, ptr %t10 call void @fn_skipnl() call void @fn_eat_op(ptr @.str778) %t12 = load ptr, ptr %t3 store ptr %t12, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define ptr @fn_val(ptr %arg_code, ptr %arg_ty) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t8 = alloca ptr store ptr %arg_code, ptr %t0 store ptr %arg_ty, ptr %t1 %t2 = getelementptr %Cmp_Val, ptr null, i32 1 %t3 = ptrtoint ptr %t2 to i64 %t4 = call ptr @malloc(i64 %t3) %t5 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 0 store ptr null, ptr %t5 %t6 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 1 store ptr null, ptr %t6 %t7 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 2 store ptr null, ptr %t7 store ptr %t4, ptr %t8 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %Cmp_Val, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t0 store ptr %t11, ptr %t10 %t12 = load ptr, ptr %t8 %t13 = getelementptr inbounds %Cmp_Val, ptr %t12, i32 0, i32 1 %t14 = load ptr, ptr %t1 store ptr %t14, ptr %t13 %t15 = load ptr, ptr %t8 %t16 = getelementptr inbounds %Cmp_Val, ptr %t15, i32 0, i32 2 store ptr null, ptr %t16 %t17 = load ptr, ptr %t8 store ptr %t17, ptr %retval br label %ret ret: %t18 = load ptr, ptr %retval ret ptr %t18 } define i32 @fn_cov_slot(i32 %arg_line) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 store i32 %arg_line, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_cov_lines %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_cov_lines %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str779, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds i32, ptr %t11, i32 %t12 %t18 = load i32, ptr %t17 %t19 = load i32, ptr %t0 %t20 = icmp eq i32 %t18, %t19 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load i32, ptr %t1 store i32 %t23, ptr %retval br label %ret ifend7: %t24 = load i32, ptr %t1 %t25 = add i32 %t24, 1 store i32 %t25, ptr %t1 br label %wcond0 wend2: %t26 = load ptr, ptr @g_g_cov_lines %t27 = load i32, ptr %t0 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t31 = load i32, ptr %t28 %t32 = load i32, ptr %t29 %t33 = icmp sge i32 %t31, %t32 br i1 %t33, label %grow8, label %put9 grow8: %t34 = mul i32 %t32, 2 %t35 = icmp eq i32 %t32, 0 %t36 = select i1 %t35, i32 8, i32 %t34 %t37 = getelementptr i32, ptr null, i32 1 %t38 = ptrtoint ptr %t37 to i64 %t39 = zext i32 %t36 to i64 %t40 = mul i64 %t39, %t38 %t41 = load ptr, ptr %t30 %t42 = call ptr @realloc(ptr %t41, i64 %t40) store ptr %t42, ptr %t30 store i32 %t36, ptr %t29 br label %put9 put9: %t43 = load ptr, ptr %t30 %t44 = getelementptr inbounds i32, ptr %t43, i32 %t31 store i32 %t27, ptr %t44 %t45 = add i32 %t31, 1 store i32 %t45, ptr %t28 %t46 = load ptr, ptr @g_g_cov_lines %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = sub i32 %t48, 1 store i32 %t49, ptr %retval br label %ret ret: %t50 = load i32, ptr %retval ret i32 %t50 } define void @fn_emit_cov_hit(i32 %arg_line) { entry: %t0 = alloca i32 %t15 = alloca i32 %t17 = alloca ptr %t24 = alloca ptr %t29 = alloca ptr store i32 %arg_line, ptr %t0 %t1 = load i32, ptr @g_g_coverage %t2 = icmp eq i32 %t1, 0 %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: br label %ret ifend2: %t5 = load i32, ptr @g_g_cov_active %t6 = icmp eq i32 %t5, 0 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then3, label %ifend5 then3: br label %ret ifend5: %t9 = load i32, ptr %t0 %t10 = icmp sle i32 %t9, 0 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then6, label %ifend8 then6: br label %ret ifend8: %t13 = load i32, ptr %t0 %t14 = call i32 @fn_cov_slot(i32 %t13) store i32 %t14, ptr %t15 %t16 = call ptr @fn_nreg() store ptr %t16, ptr %t17 call void @fn_emit(ptr @.str780) %t18 = load ptr, ptr %t17 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str781) %t19 = load i32, ptr %t15 %t20 = call ptr @fn_itoa(i32 %t19) call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str782) %t21 = load ptr, ptr %t17 %t22 = call ptr @lp_str_concat(ptr @.str783, ptr %t21) %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str784, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str785) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str786) %t30 = load ptr, ptr %t29 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str787) %t31 = load ptr, ptr %t17 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str788) br label %ret ret: ret void } define ptr @fn_find_scene(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_scenes %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_scenes %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str789, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_scenes %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = load i32, ptr %t1 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t27, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str790, i32 %t27, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t26, i32 %t27 %t33 = load ptr, ptr %t32 store ptr %t33, ptr %retval br label %ret ifend7: %t34 = load i32, ptr %t1 %t35 = add i32 %t34, 1 store i32 %t35, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t36 = load ptr, ptr %retval ret ptr %t36 } define void @fn_emit(ptr %arg_s) { entry: %t0 = alloca ptr store ptr %arg_s, ptr %t0 %t1 = load ptr, ptr @g_code %t2 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t1, ptr %t2) br label %ret ret: ret void } define void @fn_emith(ptr %arg_s) { entry: %t0 = alloca ptr store ptr %arg_s, ptr %t0 %t1 = load ptr, ptr @g_head %t2 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t1, ptr %t2) br label %ret ret: ret void } define ptr @fn_emit_alloca(ptr %arg_llt) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca ptr store ptr %arg_llt, ptr %t0 %t1 = load i32, ptr @g_ll_t %t2 = call ptr @fn_itoa(i32 %t1) %t3 = call ptr @lp_str_concat(ptr @.str791, ptr %t2) store ptr %t3, ptr %t4 %t5 = load i32, ptr @g_ll_t %t6 = add i32 %t5, 1 store i32 %t6, ptr @g_ll_t %t7 = load ptr, ptr @g_falloc call void @fn_buf_puts(ptr %t7, ptr @.str792) %t8 = load ptr, ptr @g_falloc %t9 = load ptr, ptr %t4 call void @fn_buf_puts(ptr %t8, ptr %t9) %t10 = load ptr, ptr @g_falloc call void @fn_buf_puts(ptr %t10, ptr @.str793) %t11 = load ptr, ptr @g_falloc %t12 = load ptr, ptr %t0 call void @fn_buf_puts(ptr %t11, ptr %t12) %t13 = load ptr, ptr @g_falloc call void @fn_buf_puts(ptr %t13, ptr @.str794) %t14 = load ptr, ptr %t4 store ptr %t14, ptr %retval br label %ret ret: %t15 = load ptr, ptr %retval ret ptr %t15 } define ptr @fn_nreg() { entry: %retval = alloca ptr %t3 = alloca ptr %t0 = load i32, ptr @g_ll_t %t1 = call ptr @fn_itoa(i32 %t0) %t2 = call ptr @lp_str_concat(ptr @.str795, ptr %t1) store ptr %t2, ptr %t3 %t4 = load i32, ptr @g_ll_t %t5 = add i32 %t4, 1 store i32 %t5, ptr @g_ll_t %t6 = load ptr, ptr %t3 store ptr %t6, ptr %retval br label %ret ret: %t7 = load ptr, ptr %retval ret ptr %t7 } define ptr @fn_lbl(ptr %arg_pfx) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr store ptr %arg_pfx, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = load i32, ptr @g_ll_lbl %t3 = call ptr @fn_itoa(i32 %t2) %t4 = call ptr @lp_str_concat(ptr %t1, ptr %t3) store ptr %t4, ptr %t5 %t6 = load i32, ptr @g_ll_lbl %t7 = add i32 %t6, 1 store i32 %t7, ptr @g_ll_lbl %t8 = load ptr, ptr %t5 store ptr %t8, ptr %retval br label %ret ret: %t9 = load ptr, ptr %retval ret ptr %t9 } define ptr @fn_llty(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t55 = alloca i32 %t56 = alloca i32 %t57 = alloca i32 %t58 = alloca i32 store ptr %arg_t, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str796) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t3 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str797) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 br label %scend1 scend1: %t12 = load i32, ptr %t3 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str798) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br label %scend3 scend3: %t19 = load i32, ptr %t2 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t1 br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str799) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 br label %scend5 scend5: %t26 = load i32, ptr %t1 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %ifend8 then6: store ptr @.str800, ptr %retval br label %ret ifend8: %t28 = load ptr, ptr %t0 %t29 = call i32 @fn_is_bare_enum(ptr %t28) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then9, label %ifend11 then9: store ptr @.str801, ptr %retval br label %ret ifend11: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str802) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then12, label %ifend14 then12: store ptr @.str803, ptr %retval br label %ret ifend14: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str804) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then15, label %ifend17 then15: store ptr @.str805, ptr %retval br label %ret ifend17: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str806) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then18, label %ifend20 then18: store ptr @.str807, ptr %retval br label %ret ifend20: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str808) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then21, label %ifend23 then21: store ptr @.str809, ptr %retval br label %ret ifend23: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str810) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then24, label %ifend26 then24: store ptr @.str811, ptr %retval br label %ret ifend26: %t46 = load ptr, ptr %t0 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str812) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then27, label %ifend29 then27: store ptr @.str813, ptr %retval br label %ret ifend29: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str814) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then30, label %ifend32 then30: store ptr @.str815, ptr %retval br label %ret ifend32: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str816) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then33, label %ifend35 then33: store ptr @.str817, ptr %retval br label %ret ifend35: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str818) %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t58 br i1 %t61, label %scend37, label %sc36 sc36: %t63 = load ptr, ptr %t0 %t64 = call i32 @lp_str_eq(ptr %t63, ptr @.str819) %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t58 br label %scend37 scend37: %t67 = load i32, ptr %t58 %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t57 br i1 %t68, label %scend39, label %sc38 sc38: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str820) %t72 = icmp ne i32 %t71, 0 %t73 = zext i1 %t72 to i32 store i32 %t73, ptr %t57 br label %scend39 scend39: %t74 = load i32, ptr %t57 %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t56 br i1 %t75, label %scend41, label %sc40 sc40: %t77 = load ptr, ptr %t0 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str821) %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t56 br label %scend41 scend41: %t81 = load i32, ptr %t56 %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t55 br i1 %t82, label %scend43, label %sc42 sc42: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str822) %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t55 br label %scend43 scend43: %t88 = load i32, ptr %t55 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then44, label %ifend46 then44: store ptr @.str823, ptr %retval br label %ret ifend46: %t90 = load ptr, ptr %t0 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str824) %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then47, label %ifend49 then47: store ptr @.str825, ptr %retval br label %ret ifend49: store ptr @.str826, ptr %retval br label %ret ret: %t93 = load ptr, ptr %retval ret ptr %t93 } define i32 @fn_is_slice_ty(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_t, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds i8, ptr %t2, i32 0 %t4 = load i8, ptr %t3 %t5 = zext i8 %t4 to i32 %t6 = icmp eq i32 %t5, 91 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t1 br i1 %t8, label %sc0, label %scend1 sc0: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds i8, ptr %t10, i32 1 %t12 = load i8, ptr %t11 %t13 = zext i8 %t12 to i32 %t14 = icmp eq i32 %t13, 93 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend1 scend1: %t18 = load i32, ptr %t1 store i32 %t18, ptr %retval br label %ret ret: %t19 = load i32, ptr %retval ret i32 %t19 } define ptr @fn_slice_elem(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_t, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i64 @strlen(ptr %t2) %t4 = trunc i64 %t3 to i32 %t5 = call ptr @lp_str_slice(ptr %t1, i32 2, i32 %t4) store ptr %t5, ptr %retval br label %ret ret: %t6 = load ptr, ptr %retval ret ptr %t6 } define ptr @fn_find_arch(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t20 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_prog %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_prog %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str827, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t21 = load ptr, ptr %t19 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 10 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t20 br i1 %t26, label %sc5, label %scend6 sc5: %t28 = load ptr, ptr %t19 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t30, ptr %t31) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t20 br label %scend6 scend6: %t35 = load i32, ptr %t20 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then7, label %ifend9 then7: %t37 = load ptr, ptr %t19 store ptr %t37, ptr %retval br label %ret ifend9: %t38 = load i32, ptr %t1 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define ptr @fn_find_comp(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t20 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_prog %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_prog %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str828, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t21 = load ptr, ptr %t19 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 8 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t20 br i1 %t26, label %sc5, label %scend6 sc5: %t28 = load ptr, ptr %t19 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t30, ptr %t31) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t20 br label %scend6 scend6: %t35 = load i32, ptr %t20 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then7, label %ifend9 then7: %t37 = load ptr, ptr %t19 store ptr %t37, ptr %retval br label %ret ifend9: %t38 = load i32, ptr %t1 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define ptr @fn_layout_node(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_find_comp(ptr %t1) store ptr %t2, ptr %retval br label %ret ret: %t3 = load ptr, ptr %retval ret ptr %t3 } define ptr @fn_layout_ty(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @lp_str_concat(ptr @.str829, ptr %t1) store ptr %t2, ptr %retval br label %ret ret: %t3 = load ptr, ptr %retval ret ptr %t3 } define i32 @fn_field_index(ptr %arg_s, ptr %arg_fname) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_s, ptr %t0 store ptr %arg_fname, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp slt i32 %t3, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = load i32, ptr %t2 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t17, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str830, i32 %t17, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t16, i32 %t17 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 %t26 = load ptr, ptr %t1 %t27 = call i32 @lp_str_eq(ptr %t25, ptr %t26) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then5, label %ifend7 then5: %t29 = load i32, ptr %t2 store i32 %t29, ptr %retval br label %ret ifend7: %t30 = load i32, ptr %t2 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t2 br label %wcond0 wend2: %t32 = sub i32 0, 1 store i32 %t32, ptr %retval br label %ret ret: %t33 = load i32, ptr %retval ret i32 %t33 } define ptr @fn_field_type(ptr %arg_s, ptr %arg_fname) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_s, ptr %t0 store ptr %arg_fname, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp slt i32 %t3, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = load i32, ptr %t2 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t17, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str831, i32 %t17, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t16, i32 %t17 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 %t26 = load ptr, ptr %t1 %t27 = call i32 @lp_str_eq(ptr %t25, ptr %t26) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then5, label %ifend7 then5: %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = load i32, ptr %t2 %t35 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = icmp ult i32 %t34, %t36 br i1 %t37, label %ixok8, label %ixbad9 ixbad9: %t38 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str832, i32 %t34, i32 %t36) call void @exit(i32 1) unreachable ixok8: %t39 = getelementptr inbounds ptr, ptr %t33, i32 %t34 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 3 %t42 = load ptr, ptr %t41 store ptr %t42, ptr %retval br label %ret ifend7: %t43 = load i32, ptr %t2 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t2 br label %wcond0 wend2: store ptr @.str833, ptr %retval br label %ret ret: %t45 = load ptr, ptr %retval ret ptr %t45 } define ptr @fn_find_global(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t20 = alloca i32 %t38 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_prog %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_prog %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str834, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t21 = load ptr, ptr %t19 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 2 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t20 br i1 %t26, label %sc5, label %scend6 sc5: %t28 = load ptr, ptr %t19 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t30, ptr %t31) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t20 br label %scend6 scend6: %t35 = load i32, ptr %t20 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then7, label %ifend9 then7: %t37 = load ptr, ptr %t19 store ptr %t37, ptr %retval br label %ret ifend9: %t39 = load ptr, ptr %t19 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0 %t41 = load i32, ptr %t40 %t42 = icmp eq i32 %t41, 3 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t38 br i1 %t44, label %sc10, label %scend11 sc10: %t46 = load ptr, ptr %t19 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 1 %t48 = load ptr, ptr %t47 %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t48, ptr %t49) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t38 br label %scend11 scend11: %t53 = load i32, ptr %t38 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then12, label %ifend14 then12: %t55 = load ptr, ptr %t19 store ptr %t55, ptr %retval br label %ret ifend14: %t56 = load i32, ptr %t1 %t57 = add i32 %t56, 1 store i32 %t57, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t58 = load ptr, ptr %retval ret ptr %t58 } define i32 @fn_enum_ordinal(ptr %arg_ename, ptr %arg_vname) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t20 = alloca ptr %t21 = alloca i32 %t38 = alloca i32 store ptr %arg_ename, ptr %t0 store ptr %arg_vname, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr @g_prog %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp slt i32 %t3, %t6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %wbody1, label %wend2 wbody1: %t10 = load ptr, ptr @g_prog %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = load i32, ptr %t2 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t13, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str835, i32 %t13, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t12, i32 %t13 %t19 = load ptr, ptr %t18 store ptr %t19, ptr %t20 %t22 = load ptr, ptr %t20 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 0 %t24 = load i32, ptr %t23 %t25 = icmp eq i32 %t24, 27 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t21 br i1 %t27, label %sc5, label %scend6 sc5: %t29 = load ptr, ptr %t20 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 %t32 = load ptr, ptr %t0 %t33 = call i32 @lp_str_eq(ptr %t31, ptr %t32) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t21 br label %scend6 scend6: %t36 = load i32, ptr %t21 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then7, label %ifend9 then7: store i32 0, ptr %t38 br label %wcond10 wcond10: %t39 = load i32, ptr %t38 %t40 = load ptr, ptr %t20 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 7 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp slt i32 %t39, %t44 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %wbody11, label %wend12 wbody11: %t48 = load ptr, ptr %t20 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = load i32, ptr %t38 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t53, %t55 br i1 %t56, label %ixok13, label %ixbad14 ixbad14: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str836, i32 %t53, i32 %t55) call void @exit(i32 1) unreachable ixok13: %t58 = getelementptr inbounds ptr, ptr %t52, i32 %t53 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 %t62 = load ptr, ptr %t1 %t63 = call i32 @lp_str_eq(ptr %t61, ptr %t62) %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then15, label %ifend17 then15: %t65 = load i32, ptr %t38 store i32 %t65, ptr %retval br label %ret ifend17: %t66 = load i32, ptr %t38 %t67 = add i32 %t66, 1 store i32 %t67, ptr %t38 br label %wcond10 wend12: br label %ifend9 ifend9: %t68 = load i32, ptr %t2 %t69 = add i32 %t68, 1 store i32 %t69, ptr %t2 br label %wcond0 wend2: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str837) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then18, label %ifend20 then18: %t73 = load ptr, ptr %t1 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str838) %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then21, label %ifend23 then21: store i32 0, ptr %retval br label %ret ifend23: %t76 = load ptr, ptr %t1 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str839) %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then24, label %ifend26 then24: store i32 1, ptr %retval br label %ret ifend26: %t79 = load ptr, ptr %t1 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str840) %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then27, label %ifend29 then27: store i32 2, ptr %retval br label %ret ifend29: br label %ifend20 ifend20: %t82 = sub i32 0, 1 store i32 %t82, ptr %retval br label %ret ret: %t83 = load i32, ptr %retval ret i32 %t83 } define i32 @fn_is_bare_enum(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t3 = alloca ptr %t8 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_find_enum(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = icmp eq ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store i32 0, ptr %retval br label %ret ifend2: store i32 0, ptr %t8 br label %wcond3 wcond3: %t9 = load i32, ptr %t8 %t10 = load ptr, ptr %t3 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp slt i32 %t9, %t14 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %wbody4, label %wend5 wbody4: %t18 = load ptr, ptr %t3 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t8 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t23, %t25 br i1 %t26, label %ixok6, label %ixbad7 ixbad7: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str841, i32 %t23, i32 %t25) call void @exit(i32 1) unreachable ixok6: %t28 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp sgt i32 %t33, 0 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then8, label %ifend10 then8: store i32 0, ptr %retval br label %ret ifend10: %t37 = load i32, ptr %t8 %t38 = add i32 %t37, 1 store i32 %t38, ptr %t8 br label %wcond3 wend5: store i32 1, ptr %retval br label %ret ret: %t39 = load i32, ptr %retval ret i32 %t39 } define ptr @fn_find_prefab(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t20 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_prog %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_prog %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str842, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t21 = load ptr, ptr %t19 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 53 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t20 br i1 %t26, label %sc5, label %scend6 sc5: %t28 = load ptr, ptr %t19 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t30, ptr %t31) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t20 br label %scend6 scend6: %t35 = load i32, ptr %t20 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then7, label %ifend9 then7: %t37 = load ptr, ptr %t19 store ptr %t37, ptr %retval br label %ret ifend9: %t38 = load i32, ptr %t1 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define i32 @fn_has_prefabs() { entry: %retval = alloca i32 %t0 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_prog %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_prog %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str843, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 53 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t0 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } define i32 @fn_has_countdowns() { entry: %retval = alloca i32 %t0 = alloca i32 %t18 = alloca ptr %t25 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_prog %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_prog %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str844, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0 %t21 = load i32, ptr %t20 %t22 = icmp eq i32 %t21, 8 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then5, label %ifend7 then5: store i32 0, ptr %t25 br label %wcond8 wcond8: %t26 = load i32, ptr %t25 %t27 = load ptr, ptr %t18 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 7 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp slt i32 %t26, %t31 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %wbody9, label %wend10 wbody9: %t35 = load ptr, ptr %t18 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 7 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = load i32, ptr %t25 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t40, %t42 br i1 %t43, label %ixok11, label %ixbad12 ixbad12: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str845, i32 %t40, i32 %t42) call void @exit(i32 1) unreachable ixok11: %t45 = getelementptr inbounds ptr, ptr %t39, i32 %t40 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 %t48 = load ptr, ptr %t47 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str846) %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then13, label %ifend15 then13: store i32 1, ptr %retval br label %ret ifend15: %t51 = load i32, ptr %t25 %t52 = add i32 %t51, 1 store i32 %t52, ptr %t25 br label %wcond8 wend10: br label %ifend7 ifend7: %t53 = load i32, ptr %t0 %t54 = add i32 %t53, 1 store i32 %t54, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t55 = load i32, ptr %retval ret i32 %t55 } define ptr @fn_find_fn(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t20 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_prog %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_prog %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str847, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t21 = load ptr, ptr %t19 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 4 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t20 br i1 %t26, label %sc5, label %scend6 sc5: %t28 = load ptr, ptr %t19 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t30, ptr %t31) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t20 br label %scend6 scend6: %t35 = load i32, ptr %t20 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then7, label %ifend9 then7: %t37 = load ptr, ptr %t19 store ptr %t37, ptr %retval br label %ret ifend9: %t38 = load i32, ptr %t1 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define ptr @fn_find_enum(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t20 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_prog %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_prog %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str848, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t21 = load ptr, ptr %t19 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 27 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t20 br i1 %t26, label %sc5, label %scend6 sc5: %t28 = load ptr, ptr %t19 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t30, ptr %t31) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t20 br label %scend6 scend6: %t35 = load i32, ptr %t20 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then7, label %ifend9 then7: %t37 = load ptr, ptr %t19 store ptr %t37, ptr %retval br label %ret ifend9: %t38 = load i32, ptr %t1 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define i32 @fn_enum_is_tagged(ptr %arg_en) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_en, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp slt i32 %t2, %t7 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %wbody1, label %wend2 wbody1: %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = load i32, ptr %t1 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t16, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str849, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t15, i32 %t16 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t26 = load i32, ptr %t25 %t27 = icmp sgt i32 %t26, 0 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t30 = load i32, ptr %t1 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t32 = load i32, ptr %retval ret i32 %t32 } define ptr @fn_tagged_enum_of(ptr %arg_ty) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr store ptr %arg_ty, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_find_enum(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = icmp eq ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store ptr null, ptr %retval br label %ret ifend2: %t8 = load ptr, ptr %t3 %t9 = call i32 @fn_enum_is_tagged(ptr %t8) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: %t11 = load ptr, ptr %t3 store ptr %t11, ptr %retval br label %ret ifend5: store ptr null, ptr %retval br label %ret ret: %t12 = load ptr, ptr %retval ret ptr %t12 } define i32 @fn_variant_ordinal(ptr %arg_en, ptr %arg_vname) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_en, ptr %t0 store ptr %arg_vname, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp slt i32 %t3, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = load i32, ptr %t2 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t17, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str850, i32 %t17, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t16, i32 %t17 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 %t26 = load ptr, ptr %t1 %t27 = call i32 @lp_str_eq(ptr %t25, ptr %t26) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then5, label %ifend7 then5: %t29 = load i32, ptr %t2 store i32 %t29, ptr %retval br label %ret ifend7: %t30 = load i32, ptr %t2 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t2 br label %wcond0 wend2: %t32 = sub i32 0, 1 store i32 %t32, ptr %retval br label %ret ret: %t33 = load i32, ptr %retval ret i32 %t33 } define ptr @fn_variant_enum(ptr %arg_vname) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t32 = alloca i32 store ptr %arg_vname, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_prog %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_prog %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str851, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 0 %t22 = load i32, ptr %t21 %t23 = icmp eq i32 %t22, 27 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then5, label %ifend7 then5: %t26 = load ptr, ptr %t19 %t27 = call i32 @fn_enum_is_tagged(ptr %t26) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then8, label %ifend10 then8: %t29 = load ptr, ptr %t19 %t30 = load ptr, ptr %t0 %t31 = call i32 @fn_variant_ordinal(ptr %t29, ptr %t30) store i32 %t31, ptr %t32 %t33 = load i32, ptr %t32 %t34 = icmp sge i32 %t33, 0 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then11, label %ifend13 then11: %t37 = load i32, ptr %t32 store i32 %t37, ptr @g_g_var_ord %t38 = load ptr, ptr %t19 store ptr %t38, ptr %retval br label %ret ifend13: br label %ifend10 ifend10: br label %ifend7 ifend7: %t39 = load i32, ptr %t1 %t40 = add i32 %t39, 1 store i32 %t40, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t41 = load ptr, ptr %retval ret ptr %t41 } define i32 @fn_enum_max_arity(ptr %arg_en) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t28 = alloca i32 store ptr %arg_en, ptr %t0 store i32 0, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp slt i32 %t3, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = load i32, ptr %t2 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t17, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str852, i32 %t17, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t16, i32 %t17 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t27 = load i32, ptr %t26 store i32 %t27, ptr %t28 %t29 = load i32, ptr %t28 %t30 = load i32, ptr %t1 %t31 = icmp sgt i32 %t29, %t30 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then5, label %ifend7 then5: %t34 = load i32, ptr %t28 store i32 %t34, ptr %t1 br label %ifend7 ifend7: %t35 = load i32, ptr %t2 %t36 = add i32 %t35, 1 store i32 %t36, ptr %t2 br label %wcond0 wend2: %t37 = load i32, ptr %t1 store i32 %t37, ptr %retval br label %ret ret: %t38 = load i32, ptr %retval ret i32 %t38 } define i32 @fn_enum_box_size(ptr %arg_en) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_en, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_enum_max_arity(ptr %t1) %t3 = add i32 1, %t2 %t4 = mul i32 8, %t3 store i32 %t4, ptr %retval br label %ret ret: %t5 = load i32, ptr %retval ret i32 %t5 } define ptr @fn_find_extern(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t20 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_prog %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_prog %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str853, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t21 = load ptr, ptr %t19 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 11 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t20 br i1 %t26, label %sc5, label %scend6 sc5: %t28 = load ptr, ptr %t19 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t30, ptr %t31) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t20 br label %scend6 scend6: %t35 = load i32, ptr %t20 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then7, label %ifend9 then7: %t37 = load ptr, ptr %t19 store ptr %t37, ptr %retval br label %ret ifend9: %t38 = load i32, ptr %t1 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define void @fn_register_computed(ptr %arg_prop, ptr %arg_field, ptr %arg_ty, ptr %arg_e) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t5 = alloca ptr store ptr %arg_prop, ptr %t0 store ptr %arg_field, ptr %t1 store ptr %arg_ty, ptr %t2 store ptr %arg_e, ptr %t3 %t4 = call ptr @fn_node(i32 1) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str854) %t10 = load ptr, ptr %t1 %t11 = call ptr @lp_str_concat(ptr %t9, ptr %t10) store ptr %t11, ptr %t7 %t12 = load ptr, ptr %t5 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 3 %t14 = load ptr, ptr %t2 store ptr %t14, ptr %t13 %t15 = load ptr, ptr %t5 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4 %t17 = load ptr, ptr %t3 store ptr %t17, ptr %t16 %t18 = load ptr, ptr @g_g_computed %t19 = load ptr, ptr %t5 %t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t21 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 2 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t23 = load i32, ptr %t20 %t24 = load i32, ptr %t21 %t25 = icmp sge i32 %t23, %t24 br i1 %t25, label %grow0, label %put1 grow0: %t26 = mul i32 %t24, 2 %t27 = icmp eq i32 %t24, 0 %t28 = select i1 %t27, i32 8, i32 %t26 %t29 = getelementptr ptr, ptr null, i32 1 %t30 = ptrtoint ptr %t29 to i64 %t31 = zext i32 %t28 to i64 %t32 = mul i64 %t31, %t30 %t33 = load ptr, ptr %t22 %t34 = call ptr @realloc(ptr %t33, i64 %t32) store ptr %t34, ptr %t22 store i32 %t28, ptr %t21 br label %put1 put1: %t35 = load ptr, ptr %t22 %t36 = getelementptr inbounds ptr, ptr %t35, i32 %t23 store ptr %t19, ptr %t36 %t37 = add i32 %t23, 1 store i32 %t37, ptr %t20 br label %ret ret: ret void } define ptr @fn_computed_expr(ptr %arg_prop, ptr %arg_field) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t10 = alloca ptr %t11 = alloca i32 store ptr %arg_prop, ptr %t0 store ptr %arg_field, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = icmp eq ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: store ptr null, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str855) %t8 = load ptr, ptr %t1 %t9 = call ptr @lp_str_concat(ptr %t7, ptr %t8) store ptr %t9, ptr %t10 store i32 0, ptr %t11 br label %wcond3 wcond3: %t12 = load i32, ptr %t11 %t13 = load ptr, ptr @g_g_computed %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp slt i32 %t12, %t15 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %wbody4, label %wend5 wbody4: %t19 = load ptr, ptr @g_g_computed %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = load i32, ptr %t11 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t22, %t24 br i1 %t25, label %ixok6, label %ixbad7 ixbad7: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str856, i32 %t22, i32 %t24) call void @exit(i32 1) unreachable ixok6: %t27 = getelementptr inbounds ptr, ptr %t21, i32 %t22 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t10 %t32 = call i32 @lp_str_eq(ptr %t30, ptr %t31) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then8, label %ifend10 then8: %t34 = load ptr, ptr @g_g_computed %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = load i32, ptr %t11 %t38 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 %t37, %t39 br i1 %t40, label %ixok11, label %ixbad12 ixbad12: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str857, i32 %t37, i32 %t39) call void @exit(i32 1) unreachable ixok11: %t42 = getelementptr inbounds ptr, ptr %t36, i32 %t37 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 4 %t45 = load ptr, ptr %t44 store ptr %t45, ptr %retval br label %ret ifend10: %t46 = load i32, ptr %t11 %t47 = add i32 %t46, 1 store i32 %t47, ptr %t11 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t48 = load ptr, ptr %retval ret ptr %t48 } define ptr @fn_static_type(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t11 = alloca i32 %t30 = alloca ptr %t58 = alloca ptr %t66 = alloca i32 %t89 = alloca i32 %t119 = alloca i32 %t130 = alloca i32 %t131 = alloca i32 %t132 = alloca i32 %t133 = alloca i32 %t134 = alloca i32 %t135 = alloca i32 %t212 = alloca i32 %t223 = alloca i32 %t224 = alloca i32 %t257 = alloca i32 %t278 = alloca i32 %t315 = alloca ptr %t333 = alloca ptr %t340 = alloca ptr %t360 = alloca ptr %t361 = alloca i32 %t384 = alloca i32 %t415 = alloca ptr %t422 = alloca i32 %t445 = alloca i32 store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 0 %t3 = load i32, ptr %t2 %t4 = icmp eq i32 %t3, 33 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 %t9 = load ptr, ptr %t8 %t10 = call i32 @fn_loc_find(ptr %t9) store i32 %t10, ptr %t11 %t12 = load i32, ptr %t11 %t13 = icmp sge i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then3, label %ifend5 then3: %t16 = load ptr, ptr @g_loc_ty %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = load i32, ptr %t11 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t19, %t21 br i1 %t22, label %ixok6, label %ixbad7 ixbad7: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str858, i32 %t19, i32 %t21) call void @exit(i32 1) unreachable ixok6: %t24 = getelementptr inbounds ptr, ptr %t18, i32 %t19 %t25 = load ptr, ptr %t24 store ptr %t25, ptr %retval br label %ret ifend5: %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_find_global(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t30 %t32 = icmp ne ptr %t31, null %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then8, label %ifend10 then8: %t35 = load ptr, ptr %t30 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 3 %t37 = load ptr, ptr %t36 store ptr %t37, ptr %retval br label %ret ifend10: br label %ifend2 ifend2: %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 0 %t40 = load i32, ptr %t39 %t41 = icmp eq i32 %t40, 34 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then11, label %ifend13 then11: %t44 = load ptr, ptr %t0 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 4 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 0 %t48 = load i32, ptr %t47 %t49 = icmp eq i32 %t48, 33 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then14, label %ifend16 then14: %t52 = load ptr, ptr %t0 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_find_fn(ptr %t56) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = icmp ne ptr %t59, null %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then17, label %ifend19 then17: %t63 = load ptr, ptr %t58 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 3 %t65 = load ptr, ptr %t64 store ptr %t65, ptr %retval br label %ret ifend19: br label %ifend16 ifend16: %t67 = load ptr, ptr %t0 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 0 %t71 = load i32, ptr %t70 %t72 = icmp eq i32 %t71, 35 %t73 = zext i1 %t72 to i32 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t66 br i1 %t74, label %sc20, label %scend21 sc20: %t76 = load ptr, ptr %t0 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 4 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 4 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 0 %t82 = load i32, ptr %t81 %t83 = icmp eq i32 %t82, 33 %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t66 br label %scend21 scend21: %t87 = load i32, ptr %t66 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then22, label %ifend24 then22: %t90 = load ptr, ptr %t0 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 4 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 4 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 1 %t96 = load ptr, ptr %t95 %t97 = call ptr @fn_find_comp(ptr %t96) %t98 = icmp ne ptr %t97, null %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t89 br i1 %t100, label %sc25, label %scend26 sc25: %t102 = load ptr, ptr %t0 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 4 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 1 %t106 = load ptr, ptr %t105 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str859) %t108 = icmp ne i32 %t107, 0 %t109 = zext i1 %t108 to i32 store i32 %t109, ptr %t89 br label %scend26 scend26: %t110 = load i32, ptr %t89 %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then27, label %ifend29 then27: %t112 = load ptr, ptr %t0 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 4 %t114 = load ptr, ptr %t113 %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 4 %t116 = load ptr, ptr %t115 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 1 %t118 = load ptr, ptr %t117 store ptr %t118, ptr %retval br label %ret ifend29: %t120 = load ptr, ptr %t0 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 4 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 4 %t124 = load ptr, ptr %t123 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 1 %t126 = load ptr, ptr %t125 %t127 = call i32 @lp_str_eq(ptr %t126, ptr @.str860) %t128 = icmp ne i32 %t127, 0 %t129 = zext i1 %t128 to i32 store i32 %t129, ptr %t119 br i1 %t128, label %sc30, label %scend31 sc30: %t136 = load ptr, ptr %t0 %t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 4 %t138 = load ptr, ptr %t137 %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 1 %t140 = load ptr, ptr %t139 %t141 = call i32 @lp_str_eq(ptr %t140, ptr @.str861) %t142 = icmp ne i32 %t141, 0 %t143 = zext i1 %t142 to i32 store i32 %t143, ptr %t135 br i1 %t142, label %scend33, label %sc32 sc32: %t144 = load ptr, ptr %t0 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 4 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %Cmp_Node, ptr %t146, i32 0, i32 1 %t148 = load ptr, ptr %t147 %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str862) %t150 = icmp ne i32 %t149, 0 %t151 = zext i1 %t150 to i32 store i32 %t151, ptr %t135 br label %scend33 scend33: %t152 = load i32, ptr %t135 %t153 = icmp ne i32 %t152, 0 %t154 = zext i1 %t153 to i32 store i32 %t154, ptr %t134 br i1 %t153, label %scend35, label %sc34 sc34: %t155 = load ptr, ptr %t0 %t156 = getelementptr inbounds %Cmp_Node, ptr %t155, i32 0, i32 4 %t157 = load ptr, ptr %t156 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 1 %t159 = load ptr, ptr %t158 %t160 = call i32 @lp_str_eq(ptr %t159, ptr @.str863) %t161 = icmp ne i32 %t160, 0 %t162 = zext i1 %t161 to i32 store i32 %t162, ptr %t134 br label %scend35 scend35: %t163 = load i32, ptr %t134 %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t133 br i1 %t164, label %scend37, label %sc36 sc36: %t166 = load ptr, ptr %t0 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 4 %t168 = load ptr, ptr %t167 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 1 %t170 = load ptr, ptr %t169 %t171 = call i32 @lp_str_eq(ptr %t170, ptr @.str864) %t172 = icmp ne i32 %t171, 0 %t173 = zext i1 %t172 to i32 store i32 %t173, ptr %t133 br label %scend37 scend37: %t174 = load i32, ptr %t133 %t175 = icmp ne i32 %t174, 0 %t176 = zext i1 %t175 to i32 store i32 %t176, ptr %t132 br i1 %t175, label %scend39, label %sc38 sc38: %t177 = load ptr, ptr %t0 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 4 %t179 = load ptr, ptr %t178 %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 1 %t181 = load ptr, ptr %t180 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str865) %t183 = icmp ne i32 %t182, 0 %t184 = zext i1 %t183 to i32 store i32 %t184, ptr %t132 br label %scend39 scend39: %t185 = load i32, ptr %t132 %t186 = icmp ne i32 %t185, 0 %t187 = zext i1 %t186 to i32 store i32 %t187, ptr %t131 br i1 %t186, label %scend41, label %sc40 sc40: %t188 = load ptr, ptr %t0 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 4 %t190 = load ptr, ptr %t189 %t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 1 %t192 = load ptr, ptr %t191 %t193 = call i32 @lp_str_eq(ptr %t192, ptr @.str866) %t194 = icmp ne i32 %t193, 0 %t195 = zext i1 %t194 to i32 store i32 %t195, ptr %t131 br label %scend41 scend41: %t196 = load i32, ptr %t131 %t197 = icmp ne i32 %t196, 0 %t198 = zext i1 %t197 to i32 store i32 %t198, ptr %t130 br i1 %t197, label %scend43, label %sc42 sc42: %t199 = load ptr, ptr %t0 %t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 4 %t201 = load ptr, ptr %t200 %t202 = getelementptr inbounds %Cmp_Node, ptr %t201, i32 0, i32 1 %t203 = load ptr, ptr %t202 %t204 = call i32 @lp_str_eq(ptr %t203, ptr @.str867) %t205 = icmp ne i32 %t204, 0 %t206 = zext i1 %t205 to i32 store i32 %t206, ptr %t130 br label %scend43 scend43: %t207 = load i32, ptr %t130 %t208 = icmp ne i32 %t207, 0 %t209 = zext i1 %t208 to i32 store i32 %t209, ptr %t119 br label %scend31 scend31: %t210 = load i32, ptr %t119 %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %then44, label %ifend46 then44: store ptr @.str868, ptr %retval br label %ret ifend46: %t213 = load ptr, ptr %t0 %t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 4 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 4 %t217 = load ptr, ptr %t216 %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 1 %t219 = load ptr, ptr %t218 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str869) %t221 = icmp ne i32 %t220, 0 %t222 = zext i1 %t221 to i32 store i32 %t222, ptr %t212 br i1 %t221, label %sc47, label %scend48 sc47: %t225 = load ptr, ptr %t0 %t226 = getelementptr inbounds %Cmp_Node, ptr %t225, i32 0, i32 4 %t227 = load ptr, ptr %t226 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 1 %t229 = load ptr, ptr %t228 %t230 = call i32 @lp_str_eq(ptr %t229, ptr @.str870) %t231 = icmp ne i32 %t230, 0 %t232 = zext i1 %t231 to i32 store i32 %t232, ptr %t224 br i1 %t231, label %scend50, label %sc49 sc49: %t233 = load ptr, ptr %t0 %t234 = getelementptr inbounds %Cmp_Node, ptr %t233, i32 0, i32 4 %t235 = load ptr, ptr %t234 %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 1 %t237 = load ptr, ptr %t236 %t238 = call i32 @lp_str_eq(ptr %t237, ptr @.str871) %t239 = icmp ne i32 %t238, 0 %t240 = zext i1 %t239 to i32 store i32 %t240, ptr %t224 br label %scend50 scend50: %t241 = load i32, ptr %t224 %t242 = icmp ne i32 %t241, 0 %t243 = zext i1 %t242 to i32 store i32 %t243, ptr %t223 br i1 %t242, label %scend52, label %sc51 sc51: %t244 = load ptr, ptr %t0 %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 4 %t246 = load ptr, ptr %t245 %t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 1 %t248 = load ptr, ptr %t247 %t249 = call i32 @lp_str_eq(ptr %t248, ptr @.str872) %t250 = icmp ne i32 %t249, 0 %t251 = zext i1 %t250 to i32 store i32 %t251, ptr %t223 br label %scend52 scend52: %t252 = load i32, ptr %t223 %t253 = icmp ne i32 %t252, 0 %t254 = zext i1 %t253 to i32 store i32 %t254, ptr %t212 br label %scend48 scend48: %t255 = load i32, ptr %t212 %t256 = icmp ne i32 %t255, 0 br i1 %t256, label %then53, label %ifend55 then53: store ptr @.str873, ptr %retval br label %ret ifend55: %t258 = load ptr, ptr %t0 %t259 = getelementptr inbounds %Cmp_Node, ptr %t258, i32 0, i32 4 %t260 = load ptr, ptr %t259 %t261 = getelementptr inbounds %Cmp_Node, ptr %t260, i32 0, i32 4 %t262 = load ptr, ptr %t261 %t263 = getelementptr inbounds %Cmp_Node, ptr %t262, i32 0, i32 1 %t264 = load ptr, ptr %t263 %t265 = call i32 @lp_str_eq(ptr %t264, ptr @.str874) %t266 = icmp ne i32 %t265, 0 %t267 = zext i1 %t266 to i32 store i32 %t267, ptr %t257 br i1 %t266, label %sc56, label %scend57 sc56: %t268 = load ptr, ptr %t0 %t269 = getelementptr inbounds %Cmp_Node, ptr %t268, i32 0, i32 4 %t270 = load ptr, ptr %t269 %t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 1 %t272 = load ptr, ptr %t271 %t273 = call i32 @lp_str_eq(ptr %t272, ptr @.str875) %t274 = icmp ne i32 %t273, 0 %t275 = zext i1 %t274 to i32 store i32 %t275, ptr %t257 br label %scend57 scend57: %t276 = load i32, ptr %t257 %t277 = icmp ne i32 %t276, 0 br i1 %t277, label %then58, label %ifend60 then58: store ptr @.str876, ptr %retval br label %ret ifend60: %t279 = load ptr, ptr %t0 %t280 = getelementptr inbounds %Cmp_Node, ptr %t279, i32 0, i32 4 %t281 = load ptr, ptr %t280 %t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 4 %t283 = load ptr, ptr %t282 %t284 = getelementptr inbounds %Cmp_Node, ptr %t283, i32 0, i32 1 %t285 = load ptr, ptr %t284 %t286 = call i32 @lp_str_eq(ptr %t285, ptr @.str877) %t287 = icmp ne i32 %t286, 0 %t288 = zext i1 %t287 to i32 store i32 %t288, ptr %t278 br i1 %t287, label %sc61, label %scend62 sc61: %t289 = load ptr, ptr %t0 %t290 = getelementptr inbounds %Cmp_Node, ptr %t289, i32 0, i32 4 %t291 = load ptr, ptr %t290 %t292 = getelementptr inbounds %Cmp_Node, ptr %t291, i32 0, i32 1 %t293 = load ptr, ptr %t292 %t294 = call i32 @lp_str_eq(ptr %t293, ptr @.str878) %t295 = icmp ne i32 %t294, 0 %t296 = zext i1 %t295 to i32 store i32 %t296, ptr %t278 br label %scend62 scend62: %t297 = load i32, ptr %t278 %t298 = icmp ne i32 %t297, 0 br i1 %t298, label %then63, label %ifend65 then63: store ptr @.str879, ptr %retval br label %ret ifend65: %t299 = load ptr, ptr %t0 %t300 = getelementptr inbounds %Cmp_Node, ptr %t299, i32 0, i32 4 %t301 = load ptr, ptr %t300 %t302 = getelementptr inbounds %Cmp_Node, ptr %t301, i32 0, i32 4 %t303 = load ptr, ptr %t302 %t304 = getelementptr inbounds %Cmp_Node, ptr %t303, i32 0, i32 1 %t305 = load ptr, ptr %t304 %t306 = call ptr @fn_ns_lower(ptr %t305) %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str880) %t308 = load ptr, ptr %t0 %t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 4 %t310 = load ptr, ptr %t309 %t311 = getelementptr inbounds %Cmp_Node, ptr %t310, i32 0, i32 1 %t312 = load ptr, ptr %t311 %t313 = call ptr @lp_str_concat(ptr %t307, ptr %t312) %t314 = call ptr @fn_find_fn(ptr %t313) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t315 %t317 = icmp ne ptr %t316, null %t318 = zext i1 %t317 to i32 %t319 = icmp ne i32 %t318, 0 br i1 %t319, label %then66, label %ifend68 then66: %t320 = load ptr, ptr %t315 %t321 = getelementptr inbounds %Cmp_Node, ptr %t320, i32 0, i32 3 %t322 = load ptr, ptr %t321 store ptr %t322, ptr %retval br label %ret ifend68: br label %ifend24 ifend24: br label %ifend13 ifend13: %t323 = load ptr, ptr %t0 %t324 = getelementptr inbounds %Cmp_Node, ptr %t323, i32 0, i32 0 %t325 = load i32, ptr %t324 %t326 = icmp eq i32 %t325, 35 %t327 = zext i1 %t326 to i32 %t328 = icmp ne i32 %t327, 0 br i1 %t328, label %then69, label %ifend71 then69: %t329 = load ptr, ptr %t0 %t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 4 %t331 = load ptr, ptr %t330 %t332 = call ptr @fn_static_type(ptr %t331) store ptr %t332, ptr %t333 %t334 = load ptr, ptr %t333 %t335 = icmp ne ptr %t334, null %t336 = zext i1 %t335 to i32 %t337 = icmp ne i32 %t336, 0 br i1 %t337, label %then72, label %ifend74 then72: %t338 = load ptr, ptr %t333 %t339 = call ptr @fn_layout_node(ptr %t338) store ptr %t339, ptr %t340 %t341 = load ptr, ptr %t340 %t342 = icmp ne ptr %t341, null %t343 = zext i1 %t342 to i32 %t344 = icmp ne i32 %t343, 0 br i1 %t344, label %then75, label %ifend77 then75: %t345 = load ptr, ptr %t340 %t346 = load ptr, ptr %t0 %t347 = getelementptr inbounds %Cmp_Node, ptr %t346, i32 0, i32 1 %t348 = load ptr, ptr %t347 %t349 = call ptr @fn_field_type(ptr %t345, ptr %t348) store ptr %t349, ptr %retval br label %ret ifend77: br label %ifend74 ifend74: br label %ifend71 ifend71: %t350 = load ptr, ptr %t0 %t351 = getelementptr inbounds %Cmp_Node, ptr %t350, i32 0, i32 0 %t352 = load i32, ptr %t351 %t353 = icmp eq i32 %t352, 36 %t354 = zext i1 %t353 to i32 %t355 = icmp ne i32 %t354, 0 br i1 %t355, label %then78, label %ifend80 then78: %t356 = load ptr, ptr %t0 %t357 = getelementptr inbounds %Cmp_Node, ptr %t356, i32 0, i32 4 %t358 = load ptr, ptr %t357 %t359 = call ptr @fn_static_type(ptr %t358) store ptr %t359, ptr %t360 %t362 = load ptr, ptr %t360 %t363 = icmp ne ptr %t362, null %t364 = zext i1 %t363 to i32 %t365 = icmp ne i32 %t364, 0 %t366 = zext i1 %t365 to i32 store i32 %t366, ptr %t361 br i1 %t365, label %sc81, label %scend82 sc81: %t367 = load ptr, ptr %t360 %t368 = call i32 @fn_is_slice_ty(ptr %t367) %t369 = icmp ne i32 %t368, 0 %t370 = zext i1 %t369 to i32 store i32 %t370, ptr %t361 br label %scend82 scend82: %t371 = load i32, ptr %t361 %t372 = icmp ne i32 %t371, 0 br i1 %t372, label %then83, label %ifend85 then83: %t373 = load ptr, ptr %t360 %t374 = call ptr @fn_slice_elem(ptr %t373) store ptr %t374, ptr %retval br label %ret ifend85: br label %ifend80 ifend80: %t375 = load ptr, ptr %t0 %t376 = getelementptr inbounds %Cmp_Node, ptr %t375, i32 0, i32 0 %t377 = load i32, ptr %t376 %t378 = icmp eq i32 %t377, 39 %t379 = zext i1 %t378 to i32 %t380 = icmp ne i32 %t379, 0 br i1 %t380, label %then86, label %ifend88 then86: %t381 = load ptr, ptr %t0 %t382 = getelementptr inbounds %Cmp_Node, ptr %t381, i32 0, i32 1 %t383 = load ptr, ptr %t382 store ptr %t383, ptr %retval br label %ret ifend88: %t385 = load ptr, ptr %t0 %t386 = getelementptr inbounds %Cmp_Node, ptr %t385, i32 0, i32 0 %t387 = load i32, ptr %t386 %t388 = icmp eq i32 %t387, 54 %t389 = zext i1 %t388 to i32 %t390 = icmp ne i32 %t389, 0 %t391 = zext i1 %t390 to i32 store i32 %t391, ptr %t384 br i1 %t390, label %sc89, label %scend90 sc89: %t392 = load ptr, ptr %t0 %t393 = getelementptr inbounds %Cmp_Node, ptr %t392, i32 0, i32 7 %t394 = load ptr, ptr %t393 %t395 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 1 %t396 = load i32, ptr %t395 %t397 = icmp sgt i32 %t396, 0 %t398 = zext i1 %t397 to i32 %t399 = icmp ne i32 %t398, 0 %t400 = zext i1 %t399 to i32 store i32 %t400, ptr %t384 br label %scend90 scend90: %t401 = load i32, ptr %t384 %t402 = icmp ne i32 %t401, 0 br i1 %t402, label %then91, label %ifend93 then91: %t403 = load ptr, ptr %t0 %t404 = getelementptr inbounds %Cmp_Node, ptr %t403, i32 0, i32 7 %t405 = load ptr, ptr %t404 %t406 = getelementptr inbounds %LSlice, ptr %t405, i32 0, i32 0 %t407 = load ptr, ptr %t406 %t408 = getelementptr inbounds %LSlice, ptr %t405, i32 0, i32 1 %t409 = load i32, ptr %t408 %t410 = icmp ult i32 0, %t409 br i1 %t410, label %ixok94, label %ixbad95 ixbad95: %t411 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t411, ptr @.fmt_bounds, ptr @.str881, i32 0, i32 %t409) call void @exit(i32 1) unreachable ixok94: %t412 = getelementptr inbounds ptr, ptr %t407, i32 0 %t413 = load ptr, ptr %t412 %t414 = call ptr @fn_static_type(ptr %t413) store ptr %t414, ptr %t415 %t416 = load ptr, ptr %t415 %t417 = icmp ne ptr %t416, null %t418 = zext i1 %t417 to i32 %t419 = icmp ne i32 %t418, 0 br i1 %t419, label %then96, label %ifend98 then96: %t420 = load ptr, ptr %t415 %t421 = call ptr @lp_str_concat(ptr @.str882, ptr %t420) store ptr %t421, ptr %retval br label %ret ifend98: br label %ifend93 ifend93: %t423 = load ptr, ptr %t0 %t424 = getelementptr inbounds %Cmp_Node, ptr %t423, i32 0, i32 0 %t425 = load i32, ptr %t424 %t426 = icmp eq i32 %t425, 31 %t427 = zext i1 %t426 to i32 %t428 = icmp ne i32 %t427, 0 %t429 = zext i1 %t428 to i32 store i32 %t429, ptr %t422 br i1 %t428, label %scend100, label %sc99 sc99: %t430 = load ptr, ptr %t0 %t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 0 %t432 = load i32, ptr %t431 %t433 = icmp eq i32 %t432, 44 %t434 = zext i1 %t433 to i32 %t435 = icmp ne i32 %t434, 0 %t436 = zext i1 %t435 to i32 store i32 %t436, ptr %t422 br label %scend100 scend100: %t437 = load i32, ptr %t422 %t438 = icmp ne i32 %t437, 0 br i1 %t438, label %then101, label %ifend103 then101: store ptr @.str883, ptr %retval br label %ret ifend103: %t439 = load ptr, ptr %t0 %t440 = getelementptr inbounds %Cmp_Node, ptr %t439, i32 0, i32 0 %t441 = load i32, ptr %t440 %t442 = icmp eq i32 %t441, 30 %t443 = zext i1 %t442 to i32 %t444 = icmp ne i32 %t443, 0 br i1 %t444, label %then104, label %ifend106 then104: store ptr @.str884, ptr %retval br label %ret ifend106: %t446 = load ptr, ptr %t0 %t447 = getelementptr inbounds %Cmp_Node, ptr %t446, i32 0, i32 0 %t448 = load i32, ptr %t447 %t449 = icmp eq i32 %t448, 40 %t450 = zext i1 %t449 to i32 %t451 = icmp ne i32 %t450, 0 %t452 = zext i1 %t451 to i32 store i32 %t452, ptr %t445 br i1 %t451, label %sc107, label %scend108 sc107: %t453 = load ptr, ptr %t0 %t454 = getelementptr inbounds %Cmp_Node, ptr %t453, i32 0, i32 9 %t455 = load ptr, ptr %t454 %t456 = call i32 @fn_is_float_file(ptr %t455) %t457 = icmp ne i32 %t456, 0 %t458 = zext i1 %t457 to i32 store i32 %t458, ptr %t445 br label %scend108 scend108: %t459 = load i32, ptr %t445 %t460 = icmp ne i32 %t459, 0 br i1 %t460, label %then109, label %ifend111 then109: store ptr @.str885, ptr %retval br label %ret ifend111: %t461 = load ptr, ptr %t0 %t462 = getelementptr inbounds %Cmp_Node, ptr %t461, i32 0, i32 0 %t463 = load i32, ptr %t462 %t464 = icmp eq i32 %t463, 40 %t465 = zext i1 %t464 to i32 %t466 = icmp ne i32 %t465, 0 br i1 %t466, label %then112, label %ifend114 then112: store ptr @.str886, ptr %retval br label %ret ifend114: %t467 = load ptr, ptr %t0 %t468 = getelementptr inbounds %Cmp_Node, ptr %t467, i32 0, i32 0 %t469 = load i32, ptr %t468 %t470 = icmp eq i32 %t469, 32 %t471 = zext i1 %t470 to i32 %t472 = icmp ne i32 %t471, 0 br i1 %t472, label %then115, label %ifend117 then115: store ptr @.str887, ptr %retval br label %ret ifend117: store ptr null, ptr %retval br label %ret ret: %t473 = load ptr, ptr %retval ret ptr %t473 } define void @fn_register_onspawn(ptr %arg_model, ptr %arg_body) { entry: %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca ptr store ptr %arg_model, ptr %t0 store ptr %arg_body, ptr %t1 %t2 = call ptr @fn_node(i32 7) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t0 store ptr %t6, ptr %t5 %t7 = load ptr, ptr %t3 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 %t9 = load ptr, ptr %t1 store ptr %t9, ptr %t8 %t10 = load ptr, ptr @g_g_onspawn %t11 = load ptr, ptr %t3 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t15 = load i32, ptr %t12 %t16 = load i32, ptr %t13 %t17 = icmp sge i32 %t15, %t16 br i1 %t17, label %grow0, label %put1 grow0: %t18 = mul i32 %t16, 2 %t19 = icmp eq i32 %t16, 0 %t20 = select i1 %t19, i32 8, i32 %t18 %t21 = getelementptr ptr, ptr null, i32 1 %t22 = ptrtoint ptr %t21 to i64 %t23 = zext i32 %t20 to i64 %t24 = mul i64 %t23, %t22 %t25 = load ptr, ptr %t14 %t26 = call ptr @realloc(ptr %t25, i64 %t24) store ptr %t26, ptr %t14 store i32 %t20, ptr %t13 br label %put1 put1: %t27 = load ptr, ptr %t14 %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t15 store ptr %t11, ptr %t28 %t29 = add i32 %t15, 1 store i32 %t29, ptr %t12 br label %ret ret: ret void } define ptr @fn_onspawn_body(ptr %arg_model) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_model, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_onspawn %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_onspawn %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str888, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_onspawn %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = load i32, ptr %t1 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t27, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str889, i32 %t27, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t26, i32 %t27 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %retval br label %ret ifend7: %t36 = load i32, ptr %t1 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t38 = load ptr, ptr %retval ret ptr %t38 } define void @fn_register_ondespawn(ptr %arg_model, ptr %arg_body, ptr %arg_reason) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr store ptr %arg_model, ptr %t0 store ptr %arg_body, ptr %t1 store ptr %arg_reason, ptr %t2 %t3 = call ptr @fn_node(i32 7) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 1 %t7 = load ptr, ptr %t0 store ptr %t7, ptr %t6 %t8 = load ptr, ptr %t4 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4 %t10 = load ptr, ptr %t1 store ptr %t10, ptr %t9 %t11 = load ptr, ptr %t4 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 3 %t13 = load ptr, ptr %t2 store ptr %t13, ptr %t12 %t14 = load ptr, ptr @g_g_ondespawn %t15 = load ptr, ptr %t4 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t19 = load i32, ptr %t16 %t20 = load i32, ptr %t17 %t21 = icmp sge i32 %t19, %t20 br i1 %t21, label %grow0, label %put1 grow0: %t22 = mul i32 %t20, 2 %t23 = icmp eq i32 %t20, 0 %t24 = select i1 %t23, i32 8, i32 %t22 %t25 = getelementptr ptr, ptr null, i32 1 %t26 = ptrtoint ptr %t25 to i64 %t27 = zext i32 %t24 to i64 %t28 = mul i64 %t27, %t26 %t29 = load ptr, ptr %t18 %t30 = call ptr @realloc(ptr %t29, i64 %t28) store ptr %t30, ptr %t18 store i32 %t24, ptr %t17 br label %put1 put1: %t31 = load ptr, ptr %t18 %t32 = getelementptr inbounds ptr, ptr %t31, i32 %t19 store ptr %t15, ptr %t32 %t33 = add i32 %t19, 1 store i32 %t33, ptr %t16 br label %ret ret: ret void } define ptr @fn_ondespawn_body(ptr %arg_model) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_model, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_ondespawn %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_ondespawn %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str890, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_ondespawn %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = load i32, ptr %t1 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t27, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str891, i32 %t27, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t26, i32 %t27 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %retval br label %ret ifend7: %t36 = load i32, ptr %t1 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t38 = load ptr, ptr %retval ret ptr %t38 } define void @fn_register_onattach(ptr %arg_prop, ptr %arg_body) { entry: %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca ptr store ptr %arg_prop, ptr %t0 store ptr %arg_body, ptr %t1 %t2 = call ptr @fn_node(i32 7) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t0 store ptr %t6, ptr %t5 %t7 = load ptr, ptr %t3 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 %t9 = load ptr, ptr %t1 store ptr %t9, ptr %t8 %t10 = load ptr, ptr @g_g_onattach %t11 = load ptr, ptr %t3 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t15 = load i32, ptr %t12 %t16 = load i32, ptr %t13 %t17 = icmp sge i32 %t15, %t16 br i1 %t17, label %grow0, label %put1 grow0: %t18 = mul i32 %t16, 2 %t19 = icmp eq i32 %t16, 0 %t20 = select i1 %t19, i32 8, i32 %t18 %t21 = getelementptr ptr, ptr null, i32 1 %t22 = ptrtoint ptr %t21 to i64 %t23 = zext i32 %t20 to i64 %t24 = mul i64 %t23, %t22 %t25 = load ptr, ptr %t14 %t26 = call ptr @realloc(ptr %t25, i64 %t24) store ptr %t26, ptr %t14 store i32 %t20, ptr %t13 br label %put1 put1: %t27 = load ptr, ptr %t14 %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t15 store ptr %t11, ptr %t28 %t29 = add i32 %t15, 1 store i32 %t29, ptr %t12 br label %ret ret: ret void } define ptr @fn_onattach_body(ptr %arg_prop) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_prop, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_onattach %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_onattach %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str892, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_onattach %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = load i32, ptr %t1 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t27, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str893, i32 %t27, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t26, i32 %t27 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %retval br label %ret ifend7: %t36 = load i32, ptr %t1 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t38 = load ptr, ptr %retval ret ptr %t38 } define void @fn_register_ondetach(ptr %arg_prop, ptr %arg_body) { entry: %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca ptr store ptr %arg_prop, ptr %t0 store ptr %arg_body, ptr %t1 %t2 = call ptr @fn_node(i32 7) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t0 store ptr %t6, ptr %t5 %t7 = load ptr, ptr %t3 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 %t9 = load ptr, ptr %t1 store ptr %t9, ptr %t8 %t10 = load ptr, ptr @g_g_ondetach %t11 = load ptr, ptr %t3 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t15 = load i32, ptr %t12 %t16 = load i32, ptr %t13 %t17 = icmp sge i32 %t15, %t16 br i1 %t17, label %grow0, label %put1 grow0: %t18 = mul i32 %t16, 2 %t19 = icmp eq i32 %t16, 0 %t20 = select i1 %t19, i32 8, i32 %t18 %t21 = getelementptr ptr, ptr null, i32 1 %t22 = ptrtoint ptr %t21 to i64 %t23 = zext i32 %t20 to i64 %t24 = mul i64 %t23, %t22 %t25 = load ptr, ptr %t14 %t26 = call ptr @realloc(ptr %t25, i64 %t24) store ptr %t26, ptr %t14 store i32 %t20, ptr %t13 br label %put1 put1: %t27 = load ptr, ptr %t14 %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t15 store ptr %t11, ptr %t28 %t29 = add i32 %t15, 1 store i32 %t29, ptr %t12 br label %ret ret: ret void } define ptr @fn_ondetach_body(ptr %arg_prop) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_prop, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_ondetach %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_ondetach %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str894, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_ondetach %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = load i32, ptr %t1 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t27, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str895, i32 %t27, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t26, i32 %t27 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %retval br label %ret ifend7: %t36 = load i32, ptr %t1 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t38 = load ptr, ptr %retval ret ptr %t38 } define void @fn_register_onenable(ptr %arg_prop, ptr %arg_body) { entry: %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca ptr store ptr %arg_prop, ptr %t0 store ptr %arg_body, ptr %t1 %t2 = call ptr @fn_node(i32 7) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t0 store ptr %t6, ptr %t5 %t7 = load ptr, ptr %t3 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 %t9 = load ptr, ptr %t1 store ptr %t9, ptr %t8 %t10 = load ptr, ptr @g_g_onenable %t11 = load ptr, ptr %t3 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t15 = load i32, ptr %t12 %t16 = load i32, ptr %t13 %t17 = icmp sge i32 %t15, %t16 br i1 %t17, label %grow0, label %put1 grow0: %t18 = mul i32 %t16, 2 %t19 = icmp eq i32 %t16, 0 %t20 = select i1 %t19, i32 8, i32 %t18 %t21 = getelementptr ptr, ptr null, i32 1 %t22 = ptrtoint ptr %t21 to i64 %t23 = zext i32 %t20 to i64 %t24 = mul i64 %t23, %t22 %t25 = load ptr, ptr %t14 %t26 = call ptr @realloc(ptr %t25, i64 %t24) store ptr %t26, ptr %t14 store i32 %t20, ptr %t13 br label %put1 put1: %t27 = load ptr, ptr %t14 %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t15 store ptr %t11, ptr %t28 %t29 = add i32 %t15, 1 store i32 %t29, ptr %t12 br label %ret ret: ret void } define void @fn_register_ondisable(ptr %arg_prop, ptr %arg_body) { entry: %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca ptr store ptr %arg_prop, ptr %t0 store ptr %arg_body, ptr %t1 %t2 = call ptr @fn_node(i32 7) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t0 store ptr %t6, ptr %t5 %t7 = load ptr, ptr %t3 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 %t9 = load ptr, ptr %t1 store ptr %t9, ptr %t8 %t10 = load ptr, ptr @g_g_ondisable %t11 = load ptr, ptr %t3 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t15 = load i32, ptr %t12 %t16 = load i32, ptr %t13 %t17 = icmp sge i32 %t15, %t16 br i1 %t17, label %grow0, label %put1 grow0: %t18 = mul i32 %t16, 2 %t19 = icmp eq i32 %t16, 0 %t20 = select i1 %t19, i32 8, i32 %t18 %t21 = getelementptr ptr, ptr null, i32 1 %t22 = ptrtoint ptr %t21 to i64 %t23 = zext i32 %t20 to i64 %t24 = mul i64 %t23, %t22 %t25 = load ptr, ptr %t14 %t26 = call ptr @realloc(ptr %t25, i64 %t24) store ptr %t26, ptr %t14 store i32 %t20, ptr %t13 br label %put1 put1: %t27 = load ptr, ptr %t14 %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t15 store ptr %t11, ptr %t28 %t29 = add i32 %t15, 1 store i32 %t29, ptr %t12 br label %ret ret: ret void } define ptr @fn_onenable_body(ptr %arg_prop) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_prop, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_onenable %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_onenable %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str896, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_onenable %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = load i32, ptr %t1 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t27, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str897, i32 %t27, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t26, i32 %t27 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %retval br label %ret ifend7: %t36 = load i32, ptr %t1 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t38 = load ptr, ptr %retval ret ptr %t38 } define ptr @fn_ondisable_body(ptr %arg_prop) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_prop, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_ondisable %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_ondisable %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str898, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_ondisable %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = load i32, ptr %t1 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t27, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str899, i32 %t27, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t26, i32 %t27 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %t35 = load ptr, ptr %t34 store ptr %t35, ptr %retval br label %ret ifend7: %t36 = load i32, ptr %t1 %t37 = add i32 %t36, 1 store i32 %t37, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t38 = load ptr, ptr %retval ret ptr %t38 } define void @fn_register_event(ptr %arg_n) { entry: %t0 = alloca ptr store ptr %arg_n, ptr %t0 %t1 = load ptr, ptr @g_g_events %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t4 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 2 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t6 = load i32, ptr %t3 %t7 = load i32, ptr %t4 %t8 = icmp sge i32 %t6, %t7 br i1 %t8, label %grow0, label %put1 grow0: %t9 = mul i32 %t7, 2 %t10 = icmp eq i32 %t7, 0 %t11 = select i1 %t10, i32 8, i32 %t9 %t12 = getelementptr ptr, ptr null, i32 1 %t13 = ptrtoint ptr %t12 to i64 %t14 = zext i32 %t11 to i64 %t15 = mul i64 %t14, %t13 %t16 = load ptr, ptr %t5 %t17 = call ptr @realloc(ptr %t16, i64 %t15) store ptr %t17, ptr %t5 store i32 %t11, ptr %t4 br label %put1 put1: %t18 = load ptr, ptr %t5 %t19 = getelementptr inbounds ptr, ptr %t18, i32 %t6 store ptr %t2, ptr %t19 %t20 = add i32 %t6, 1 store i32 %t20, ptr %t3 br label %ret ret: ret void } define ptr @fn_find_event(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_events %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_events %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str900, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load ptr, ptr @g_g_events %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = load i32, ptr %t1 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t29 = load i32, ptr %t28 %t30 = icmp ult i32 %t27, %t29 br i1 %t30, label %ixok8, label %ixbad9 ixbad9: %t31 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t31, ptr @.fmt_bounds, ptr @.str901, i32 %t27, i32 %t29) call void @exit(i32 1) unreachable ixok8: %t32 = getelementptr inbounds ptr, ptr %t26, i32 %t27 %t33 = load ptr, ptr %t32 store ptr %t33, ptr %retval br label %ret ifend7: %t34 = load i32, ptr %t1 %t35 = add i32 %t34, 1 store i32 %t35, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t36 = load ptr, ptr %retval ret ptr %t36 } define void @fn_register_onlisten(ptr %arg_evt, ptr %arg_body) { entry: %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca ptr store ptr %arg_evt, ptr %t0 store ptr %arg_body, ptr %t1 %t2 = call ptr @fn_node(i32 7) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t0 store ptr %t6, ptr %t5 %t7 = load ptr, ptr %t3 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4 %t9 = load ptr, ptr %t1 store ptr %t9, ptr %t8 %t10 = load ptr, ptr @g_g_onlisten %t11 = load ptr, ptr %t3 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t15 = load i32, ptr %t12 %t16 = load i32, ptr %t13 %t17 = icmp sge i32 %t15, %t16 br i1 %t17, label %grow0, label %put1 grow0: %t18 = mul i32 %t16, 2 %t19 = icmp eq i32 %t16, 0 %t20 = select i1 %t19, i32 8, i32 %t18 %t21 = getelementptr ptr, ptr null, i32 1 %t22 = ptrtoint ptr %t21 to i64 %t23 = zext i32 %t20 to i64 %t24 = mul i64 %t23, %t22 %t25 = load ptr, ptr %t14 %t26 = call ptr @realloc(ptr %t25, i64 %t24) store ptr %t26, ptr %t14 store i32 %t20, ptr %t13 br label %put1 put1: %t27 = load ptr, ptr %t14 %t28 = getelementptr inbounds ptr, ptr %t27, i32 %t15 store ptr %t11, ptr %t28 %t29 = add i32 %t15, 1 store i32 %t29, ptr %t12 br label %ret ret: ret void } define void @fn_ensure_event(ptr %arg_name, i32 %arg_with_reason) { entry: %t0 = alloca ptr %t1 = alloca i32 %t8 = alloca ptr %t13 = alloca ptr %t43 = alloca ptr store ptr %arg_name, ptr %t0 store i32 %arg_with_reason, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @fn_find_event(ptr %t2) %t4 = icmp ne ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: br label %ret ifend2: %t7 = call ptr @fn_node(i32 48) store ptr %t7, ptr %t8 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 1 %t11 = load ptr, ptr %t0 store ptr %t11, ptr %t10 %t12 = call ptr @fn_node(i32 1) store ptr %t12, ptr %t13 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1 store ptr @.str902, ptr %t15 %t16 = load ptr, ptr %t13 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 store ptr @.str903, ptr %t17 %t18 = load ptr, ptr %t8 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t13 %t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t25 = load i32, ptr %t22 %t26 = load i32, ptr %t23 %t27 = icmp sge i32 %t25, %t26 br i1 %t27, label %grow3, label %put4 grow3: %t28 = mul i32 %t26, 2 %t29 = icmp eq i32 %t26, 0 %t30 = select i1 %t29, i32 8, i32 %t28 %t31 = getelementptr ptr, ptr null, i32 1 %t32 = ptrtoint ptr %t31 to i64 %t33 = zext i32 %t30 to i64 %t34 = mul i64 %t33, %t32 %t35 = load ptr, ptr %t24 %t36 = call ptr @realloc(ptr %t35, i64 %t34) store ptr %t36, ptr %t24 store i32 %t30, ptr %t23 br label %put4 put4: %t37 = load ptr, ptr %t24 %t38 = getelementptr inbounds ptr, ptr %t37, i32 %t25 store ptr %t21, ptr %t38 %t39 = add i32 %t25, 1 store i32 %t39, ptr %t22 %t40 = load i32, ptr %t1 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then5, label %ifend7 then5: %t42 = call ptr @fn_node(i32 1) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 store ptr @.str904, ptr %t45 %t46 = load ptr, ptr %t43 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3 store ptr @.str905, ptr %t47 %t48 = load ptr, ptr %t8 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7 %t50 = load ptr, ptr %t49 %t51 = load ptr, ptr %t43 %t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t53 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 2 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t55 = load i32, ptr %t52 %t56 = load i32, ptr %t53 %t57 = icmp sge i32 %t55, %t56 br i1 %t57, label %grow8, label %put9 grow8: %t58 = mul i32 %t56, 2 %t59 = icmp eq i32 %t56, 0 %t60 = select i1 %t59, i32 8, i32 %t58 %t61 = getelementptr ptr, ptr null, i32 1 %t62 = ptrtoint ptr %t61 to i64 %t63 = zext i32 %t60 to i64 %t64 = mul i64 %t63, %t62 %t65 = load ptr, ptr %t54 %t66 = call ptr @realloc(ptr %t65, i64 %t64) store ptr %t66, ptr %t54 store i32 %t60, ptr %t53 br label %put9 put9: %t67 = load ptr, ptr %t54 %t68 = getelementptr inbounds ptr, ptr %t67, i32 %t55 store ptr %t51, ptr %t68 %t69 = add i32 %t55, 1 store i32 %t69, ptr %t52 br label %ifend7 ifend7: %t70 = load ptr, ptr %t8 call void @fn_register_event(ptr %t70) br label %ret ret: ret void } define void @fn_ensure_event_empty(ptr %arg_name) { entry: %t0 = alloca ptr %t7 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_find_event(ptr %t1) %t3 = icmp ne ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: br label %ret ifend2: %t6 = call ptr @fn_node(i32 48) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 %t10 = load ptr, ptr %t0 store ptr %t10, ptr %t9 %t11 = load ptr, ptr %t7 call void @fn_register_event(ptr %t11) br label %ret ret: ret void } define void @fn_note_toggled_layer(ptr %arg_name) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_toggled_layers %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_toggled_layers %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str906, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t18, ptr %t19) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: %t24 = load ptr, ptr @g_g_toggled_layers %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 2 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t29 = load i32, ptr %t26 %t30 = load i32, ptr %t27 %t31 = icmp sge i32 %t29, %t30 br i1 %t31, label %grow8, label %put9 grow8: %t32 = mul i32 %t30, 2 %t33 = icmp eq i32 %t30, 0 %t34 = select i1 %t33, i32 8, i32 %t32 %t35 = getelementptr ptr, ptr null, i32 1 %t36 = ptrtoint ptr %t35 to i64 %t37 = zext i32 %t34 to i64 %t38 = mul i64 %t37, %t36 %t39 = load ptr, ptr %t28 %t40 = call ptr @realloc(ptr %t39, i64 %t38) store ptr %t40, ptr %t28 store i32 %t34, ptr %t27 br label %put9 put9: %t41 = load ptr, ptr %t28 %t42 = getelementptr inbounds ptr, ptr %t41, i32 %t29 store ptr %t25, ptr %t42 %t43 = add i32 %t29, 1 store i32 %t43, ptr %t26 br label %ret ret: ret void } define i32 @fn_is_toggled_layer(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_toggled_layers %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_toggled_layers %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str907, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t18, ptr %t19) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t24 = load i32, ptr %retval ret i32 %t24 } define i32 @fn_is_model(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_find_arch_id(ptr %t1) %t3 = icmp sgt i32 %t2, 0 %t4 = zext i1 %t3 to i32 store i32 %t4, ptr %retval br label %ret ret: %t5 = load i32, ptr %retval ret i32 %t5 } define void @fn_loc_reset() { entry: store i32 0, ptr @g_nloc br label %ret ret: ret void } define void @fn_loc_push(ptr %arg_name, ptr %arg_r, ptr %arg_ty) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_r, ptr %t1 store ptr %arg_ty, ptr %t2 %t3 = load ptr, ptr @g_loc_blk %t4 = icmp eq ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: %t7 = getelementptr %LSlice, ptr null, i32 1 %t8 = ptrtoint ptr %t7 to i64 %t9 = call ptr @malloc(i64 %t8) %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 store ptr null, ptr %t10 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 store i32 0, ptr %t11 %t12 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 2 store i32 0, ptr %t12 store ptr %t9, ptr @g_loc_blk br label %ifend2 ifend2: %t13 = load i32, ptr @g_nloc %t14 = load ptr, ptr @g_loc_name %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp slt i32 %t13, %t16 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then3, label %else4 then3: %t20 = load ptr, ptr @g_loc_name %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr @g_nloc %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t23, %t25 br i1 %t26, label %ixok6, label %ixbad7 ixbad7: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str908, i32 %t23, i32 %t25) call void @exit(i32 1) unreachable ixok6: %t28 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t29 = load ptr, ptr %t0 store ptr %t29, ptr %t28 %t30 = load ptr, ptr @g_loc_reg %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = load i32, ptr @g_nloc %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t33, %t35 br i1 %t36, label %ixok8, label %ixbad9 ixbad9: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str909, i32 %t33, i32 %t35) call void @exit(i32 1) unreachable ixok8: %t38 = getelementptr inbounds ptr, ptr %t32, i32 %t33 %t39 = load ptr, ptr %t1 store ptr %t39, ptr %t38 %t40 = load ptr, ptr @g_loc_ty %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = load i32, ptr @g_nloc %t44 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t45 = load i32, ptr %t44 %t46 = icmp ult i32 %t43, %t45 br i1 %t46, label %ixok10, label %ixbad11 ixbad11: %t47 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str910, i32 %t43, i32 %t45) call void @exit(i32 1) unreachable ixok10: %t48 = getelementptr inbounds ptr, ptr %t42, i32 %t43 %t49 = load ptr, ptr %t2 store ptr %t49, ptr %t48 %t50 = load ptr, ptr @g_loc_mut %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = load i32, ptr @g_nloc %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t53, %t55 br i1 %t56, label %ixok12, label %ixbad13 ixbad13: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str911, i32 %t53, i32 %t55) call void @exit(i32 1) unreachable ixok12: %t58 = getelementptr inbounds i32, ptr %t52, i32 %t53 store i32 1, ptr %t58 br label %ifend5 else4: %t59 = load ptr, ptr @g_loc_name %t60 = load ptr, ptr %t0 %t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t62 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 2 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t64 = load i32, ptr %t61 %t65 = load i32, ptr %t62 %t66 = icmp sge i32 %t64, %t65 br i1 %t66, label %grow14, label %put15 grow14: %t67 = mul i32 %t65, 2 %t68 = icmp eq i32 %t65, 0 %t69 = select i1 %t68, i32 8, i32 %t67 %t70 = getelementptr ptr, ptr null, i32 1 %t71 = ptrtoint ptr %t70 to i64 %t72 = zext i32 %t69 to i64 %t73 = mul i64 %t72, %t71 %t74 = load ptr, ptr %t63 %t75 = call ptr @realloc(ptr %t74, i64 %t73) store ptr %t75, ptr %t63 store i32 %t69, ptr %t62 br label %put15 put15: %t76 = load ptr, ptr %t63 %t77 = getelementptr inbounds ptr, ptr %t76, i32 %t64 store ptr %t60, ptr %t77 %t78 = add i32 %t64, 1 store i32 %t78, ptr %t61 %t79 = load ptr, ptr @g_loc_reg %t80 = load ptr, ptr %t1 %t81 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 %t82 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 2 %t83 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 %t84 = load i32, ptr %t81 %t85 = load i32, ptr %t82 %t86 = icmp sge i32 %t84, %t85 br i1 %t86, label %grow16, label %put17 grow16: %t87 = mul i32 %t85, 2 %t88 = icmp eq i32 %t85, 0 %t89 = select i1 %t88, i32 8, i32 %t87 %t90 = getelementptr ptr, ptr null, i32 1 %t91 = ptrtoint ptr %t90 to i64 %t92 = zext i32 %t89 to i64 %t93 = mul i64 %t92, %t91 %t94 = load ptr, ptr %t83 %t95 = call ptr @realloc(ptr %t94, i64 %t93) store ptr %t95, ptr %t83 store i32 %t89, ptr %t82 br label %put17 put17: %t96 = load ptr, ptr %t83 %t97 = getelementptr inbounds ptr, ptr %t96, i32 %t84 store ptr %t80, ptr %t97 %t98 = add i32 %t84, 1 store i32 %t98, ptr %t81 %t99 = load ptr, ptr @g_loc_ty %t100 = load ptr, ptr %t2 %t101 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1 %t102 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 2 %t103 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 0 %t104 = load i32, ptr %t101 %t105 = load i32, ptr %t102 %t106 = icmp sge i32 %t104, %t105 br i1 %t106, label %grow18, label %put19 grow18: %t107 = mul i32 %t105, 2 %t108 = icmp eq i32 %t105, 0 %t109 = select i1 %t108, i32 8, i32 %t107 %t110 = getelementptr ptr, ptr null, i32 1 %t111 = ptrtoint ptr %t110 to i64 %t112 = zext i32 %t109 to i64 %t113 = mul i64 %t112, %t111 %t114 = load ptr, ptr %t103 %t115 = call ptr @realloc(ptr %t114, i64 %t113) store ptr %t115, ptr %t103 store i32 %t109, ptr %t102 br label %put19 put19: %t116 = load ptr, ptr %t103 %t117 = getelementptr inbounds ptr, ptr %t116, i32 %t104 store ptr %t100, ptr %t117 %t118 = add i32 %t104, 1 store i32 %t118, ptr %t101 %t119 = load ptr, ptr @g_loc_mut %t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t121 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 2 %t122 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 %t123 = load i32, ptr %t120 %t124 = load i32, ptr %t121 %t125 = icmp sge i32 %t123, %t124 br i1 %t125, label %grow20, label %put21 grow20: %t126 = mul i32 %t124, 2 %t127 = icmp eq i32 %t124, 0 %t128 = select i1 %t127, i32 8, i32 %t126 %t129 = getelementptr i32, ptr null, i32 1 %t130 = ptrtoint ptr %t129 to i64 %t131 = zext i32 %t128 to i64 %t132 = mul i64 %t131, %t130 %t133 = load ptr, ptr %t122 %t134 = call ptr @realloc(ptr %t133, i64 %t132) store ptr %t134, ptr %t122 store i32 %t128, ptr %t121 br label %put21 put21: %t135 = load ptr, ptr %t122 %t136 = getelementptr inbounds i32, ptr %t135, i32 %t123 store i32 1, ptr %t136 %t137 = add i32 %t123, 1 store i32 %t137, ptr %t120 br label %ifend5 ifend5: br label %wcond22 wcond22: %t138 = load ptr, ptr @g_loc_blk %t139 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 1 %t140 = load i32, ptr %t139 %t141 = load i32, ptr @g_nloc %t142 = icmp sle i32 %t140, %t141 %t143 = zext i1 %t142 to i32 %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %wbody23, label %wend24 wbody23: %t145 = load ptr, ptr @g_loc_blk %t146 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 1 %t147 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 2 %t148 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 0 %t149 = load i32, ptr %t146 %t150 = load i32, ptr %t147 %t151 = icmp sge i32 %t149, %t150 br i1 %t151, label %grow25, label %put26 grow25: %t152 = mul i32 %t150, 2 %t153 = icmp eq i32 %t150, 0 %t154 = select i1 %t153, i32 8, i32 %t152 %t155 = getelementptr i32, ptr null, i32 1 %t156 = ptrtoint ptr %t155 to i64 %t157 = zext i32 %t154 to i64 %t158 = mul i64 %t157, %t156 %t159 = load ptr, ptr %t148 %t160 = call ptr @realloc(ptr %t159, i64 %t158) store ptr %t160, ptr %t148 store i32 %t154, ptr %t147 br label %put26 put26: %t161 = load ptr, ptr %t148 %t162 = getelementptr inbounds i32, ptr %t161, i32 %t149 store i32 0, ptr %t162 %t163 = add i32 %t149, 1 store i32 %t163, ptr %t146 br label %wcond22 wend24: %t164 = load ptr, ptr @g_loc_blk %t165 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0 %t166 = load ptr, ptr %t165 %t167 = load i32, ptr @g_nloc %t168 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 1 %t169 = load i32, ptr %t168 %t170 = icmp ult i32 %t167, %t169 br i1 %t170, label %ixok27, label %ixbad28 ixbad28: %t171 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t171, ptr @.fmt_bounds, ptr @.str912, i32 %t167, i32 %t169) call void @exit(i32 1) unreachable ixok27: %t172 = getelementptr inbounds i32, ptr %t166, i32 %t167 %t173 = sub i32 0, 1 store i32 %t173, ptr %t172 %t174 = load i32, ptr @g_nloc %t175 = add i32 %t174, 1 store i32 %t175, ptr @g_nloc br label %ret ret: ret void } define void @fn_loc_mark_declared() { entry: %t0 = load i32, ptr @g_nloc %t1 = icmp sgt i32 %t0, 0 %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: %t4 = load ptr, ptr @g_loc_blk %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = load i32, ptr @g_nloc %t8 = sub i32 %t7, 1 %t9 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t10 = load i32, ptr %t9 %t11 = icmp ult i32 %t8, %t10 br i1 %t11, label %ixok3, label %ixbad4 ixbad4: %t12 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t12, ptr @.fmt_bounds, ptr @.str913, i32 %t8, i32 %t10) call void @exit(i32 1) unreachable ixok3: %t13 = getelementptr inbounds i32, ptr %t6, i32 %t8 %t14 = load i32, ptr @g_g_blk_cur store i32 %t14, ptr %t13 br label %ifend2 ifend2: br label %ret ret: ret void } define void @fn_loc_check_redeclared(ptr %arg_name) { entry: %t0 = alloca ptr %t5 = alloca i32 %t11 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr @g_loc_blk %t2 = icmp eq ptr %t1, null %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: br label %ret ifend2: store i32 0, ptr %t5 br label %wcond3 wcond3: %t6 = load i32, ptr %t5 %t7 = load i32, ptr @g_nloc %t8 = icmp slt i32 %t6, %t7 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %wbody4, label %wend5 wbody4: %t12 = load ptr, ptr @g_loc_name %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = load i32, ptr %t5 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t15, %t17 br i1 %t18, label %ixok6, label %ixbad7 ixbad7: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str914, i32 %t15, i32 %t17) call void @exit(i32 1) unreachable ixok6: %t20 = getelementptr inbounds ptr, ptr %t14, i32 %t15 %t21 = load ptr, ptr %t20 %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t21, ptr %t22) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t11 br i1 %t24, label %sc8, label %scend9 sc8: %t26 = load ptr, ptr @g_loc_blk %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = load i32, ptr %t5 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t29, %t31 br i1 %t32, label %ixok10, label %ixbad11 ixbad11: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str915, i32 %t29, i32 %t31) call void @exit(i32 1) unreachable ixok10: %t34 = getelementptr inbounds i32, ptr %t28, i32 %t29 %t35 = load i32, ptr %t34 %t36 = load i32, ptr @g_g_blk_cur %t37 = icmp eq i32 %t35, %t36 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t11 br label %scend9 scend9: %t41 = load i32, ptr %t11 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then12, label %ifend14 then12: %t43 = load ptr, ptr %t0 %t44 = call ptr @lp_str_concat(ptr @.str916, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str917) call void @fn_perr(ptr %t45) br label %ifend14 ifend14: %t46 = load i32, ptr %t5 %t47 = add i32 %t46, 1 store i32 %t47, ptr %t5 br label %wcond3 wend5: br label %ret ret: ret void } define void @fn_loc_set_mut(i32 %arg_m) { entry: %t0 = alloca i32 store i32 %arg_m, ptr %t0 %t1 = load i32, ptr @g_nloc %t2 = icmp sgt i32 %t1, 0 %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr @g_loc_mut %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 %t7 = load ptr, ptr %t6 %t8 = load i32, ptr @g_nloc %t9 = sub i32 %t8, 1 %t10 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 %t9, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str918, i32 %t9, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds i32, ptr %t7, i32 %t9 %t15 = load i32, ptr %t0 store i32 %t15, ptr %t14 br label %ifend2 ifend2: br label %ret ret: ret void } define i32 @fn_loc_find(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t3 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load i32, ptr @g_nloc %t2 = sub i32 %t1, 1 store i32 %t2, ptr %t3 br label %wcond0 wcond0: %t4 = load i32, ptr %t3 %t5 = icmp sge i32 %t4, 0 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_loc_name %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t3 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str919, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 %t18 = load ptr, ptr %t0 %t19 = call i32 @lp_str_eq(ptr %t17, ptr %t18) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then5, label %ifend7 then5: %t21 = load i32, ptr %t3 store i32 %t21, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t3 %t23 = sub i32 %t22, 1 store i32 %t23, ptr %t3 br label %wcond0 wend2: %t24 = sub i32 0, 1 store i32 %t24, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } define i32 @fn_hexdig(i32 %arg_n) { entry: %retval = alloca i32 %t0 = alloca i32 store i32 %arg_n, ptr %t0 %t1 = load i32, ptr %t0 %t2 = icmp slt i32 %t1, 10 %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load i32, ptr %t0 %t6 = add i32 48, %t5 store i32 %t6, ptr %retval br label %ret ifend2: %t7 = load i32, ptr %t0 %t8 = add i32 55, %t7 store i32 %t8, ptr %retval br label %ret ret: %t9 = load i32, ptr %retval ret i32 %t9 } define ptr @fn_emit_str_const(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca ptr %t10 = alloca i32 store ptr %arg_s, ptr %t0 %t1 = load i32, ptr @g_ll_str %t2 = call ptr @fn_itoa(i32 %t1) %t3 = call ptr @lp_str_concat(ptr @.str920, ptr %t2) store ptr %t3, ptr %t4 %t5 = load i32, ptr @g_ll_str %t6 = add i32 %t5, 1 store i32 %t6, ptr @g_ll_str %t7 = load ptr, ptr %t0 %t8 = call i64 @strlen(ptr %t7) %t9 = trunc i64 %t8 to i32 store i32 %t9, ptr %t10 %t11 = load ptr, ptr %t4 call void @fn_emith(ptr %t11) call void @fn_emith(ptr @.str921) %t12 = load i32, ptr %t10 %t13 = add i32 %t12, 1 %t14 = call ptr @fn_itoa(i32 %t13) call void @fn_emith(ptr %t14) call void @fn_emith(ptr @.str922) %t15 = load ptr, ptr %t0 call void @fn_emit_escaped(ptr %t15) call void @fn_emith(ptr @.str923) %t16 = load ptr, ptr %t4 store ptr %t16, ptr %retval br label %ret ret: %t17 = load ptr, ptr %retval ret ptr %t17 } define void @fn_emit_escaped(ptr %arg_s) { entry: %t0 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t16 = alloca i32 %t17 = alloca i32 %t18 = alloca i32 %t19 = alloca i32 store ptr %arg_s, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i64 @strlen(ptr %t1) %t3 = trunc i64 %t2 to i32 store i32 %t3, ptr %t4 store i32 0, ptr %t5 br label %wcond0 wcond0: %t6 = load i32, ptr %t5 %t7 = load i32, ptr %t4 %t8 = icmp slt i32 %t6, %t7 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %wbody1, label %wend2 wbody1: %t11 = load ptr, ptr %t0 %t12 = load i32, ptr %t5 %t13 = getelementptr inbounds i8, ptr %t11, i32 %t12 %t14 = load i8, ptr %t13 %t15 = zext i8 %t14 to i32 store i32 %t15, ptr %t16 %t20 = load i32, ptr %t16 %t21 = icmp eq i32 %t20, 34 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t19 br i1 %t23, label %scend4, label %sc3 sc3: %t25 = load i32, ptr %t16 %t26 = icmp eq i32 %t25, 92 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t19 br label %scend4 scend4: %t30 = load i32, ptr %t19 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t18 br i1 %t31, label %scend6, label %sc5 sc5: %t33 = load i32, ptr %t16 %t34 = icmp slt i32 %t33, 32 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t18 br label %scend6 scend6: %t38 = load i32, ptr %t18 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t17 br i1 %t39, label %scend8, label %sc7 sc7: %t41 = load i32, ptr %t16 %t42 = icmp sgt i32 %t41, 126 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t17 br label %scend8 scend8: %t46 = load i32, ptr %t17 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then9, label %else10 then9: %t48 = load ptr, ptr @g_head call void @fn_buf_putc(ptr %t48, i32 92) %t49 = load ptr, ptr @g_head %t50 = load i32, ptr %t16 %t51 = sdiv i32 %t50, 16 %t52 = call i32 @fn_hexdig(i32 %t51) call void @fn_buf_putc(ptr %t49, i32 %t52) %t53 = load ptr, ptr @g_head %t54 = load i32, ptr %t16 %t55 = srem i32 %t54, 16 %t56 = call i32 @fn_hexdig(i32 %t55) call void @fn_buf_putc(ptr %t53, i32 %t56) br label %ifend11 else10: %t57 = load ptr, ptr @g_head %t58 = load i32, ptr %t16 call void @fn_buf_putc(ptr %t57, i32 %t58) br label %ifend11 ifend11: %t59 = load i32, ptr %t5 %t60 = add i32 %t59, 1 store i32 %t60, ptr %t5 br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_global_init(ptr %arg_d) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t25 = alloca ptr %t26 = alloca i32 %t27 = alloca i32 %t58 = alloca i32 %t59 = alloca i32 %t94 = alloca i32 %t122 = alloca i32 store ptr %arg_d, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 4 %t4 = load ptr, ptr %t3 %t5 = icmp eq ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t1 br i1 %t7, label %scend1, label %sc0 sc0: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 3 %t11 = load ptr, ptr %t10 %t12 = call i32 @fn_is_fp(ptr %t11) %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t1 br label %scend1 scend1: %t15 = load i32, ptr %t1 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: %t17 = load ptr, ptr %t0 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 3 %t19 = load ptr, ptr %t18 %t20 = call ptr @fn_llty(ptr %t19) %t21 = call ptr @fn_zero_of(ptr %t20) store ptr %t21, ptr %retval br label %ret ifend4: %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 4 %t24 = load ptr, ptr %t23 store ptr %t24, ptr %t25 %t28 = load ptr, ptr %t25 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 0 %t30 = load i32, ptr %t29 %t31 = icmp eq i32 %t30, 30 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t27 br i1 %t33, label %scend6, label %sc5 sc5: %t35 = load ptr, ptr %t25 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 0 %t37 = load i32, ptr %t36 %t38 = icmp eq i32 %t37, 40 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t27 br label %scend6 scend6: %t42 = load i32, ptr %t27 %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t26 br i1 %t43, label %scend8, label %sc7 sc7: %t45 = load ptr, ptr %t25 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 0 %t47 = load i32, ptr %t46 %t48 = icmp eq i32 %t47, 32 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t26 br label %scend8 scend8: %t52 = load i32, ptr %t26 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then9, label %ifend11 then9: %t54 = load ptr, ptr %t25 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 2 %t56 = load i32, ptr %t55 %t57 = call ptr @fn_itoa(i32 %t56) store ptr %t57, ptr %retval br label %ret ifend11: %t60 = load ptr, ptr %t25 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 0 %t62 = load i32, ptr %t61 %t63 = icmp eq i32 %t62, 38 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t59 br i1 %t65, label %sc12, label %scend13 sc12: %t67 = load ptr, ptr %t25 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 1 %t69 = load ptr, ptr %t68 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str924) %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t59 br label %scend13 scend13: %t73 = load i32, ptr %t59 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t58 br i1 %t74, label %sc14, label %scend15 sc14: %t76 = load ptr, ptr %t25 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 4 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 0 %t80 = load i32, ptr %t79 %t81 = icmp eq i32 %t80, 30 %t82 = zext i1 %t81 to i32 %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t58 br label %scend15 scend15: %t85 = load i32, ptr %t58 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then16, label %ifend18 then16: %t87 = load ptr, ptr %t25 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 4 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 2 %t91 = load i32, ptr %t90 %t92 = call ptr @fn_itoa(i32 %t91) %t93 = call ptr @lp_str_concat(ptr @.str925, ptr %t92) store ptr %t93, ptr %retval br label %ret ifend18: %t95 = load ptr, ptr %t25 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 0 %t97 = load i32, ptr %t96 %t98 = icmp eq i32 %t97, 35 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t94 br i1 %t100, label %sc19, label %scend20 sc19: %t102 = load ptr, ptr %t25 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 4 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 0 %t106 = load i32, ptr %t105 %t107 = icmp eq i32 %t106, 33 %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t94 br label %scend20 scend20: %t111 = load i32, ptr %t94 %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %then21, label %ifend23 then21: %t113 = load ptr, ptr %t25 %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 4 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1 %t117 = load ptr, ptr %t116 %t118 = load ptr, ptr %t25 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 1 %t120 = load ptr, ptr %t119 %t121 = call i32 @fn_enum_ordinal(ptr %t117, ptr %t120) store i32 %t121, ptr %t122 %t123 = load i32, ptr %t122 %t124 = icmp sge i32 %t123, 0 %t125 = zext i1 %t124 to i32 %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then24, label %ifend26 then24: %t127 = load i32, ptr %t122 %t128 = call ptr @fn_itoa(i32 %t127) store ptr %t128, ptr %retval br label %ret ifend26: br label %ifend23 ifend23: %t129 = load ptr, ptr %t0 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 3 %t131 = load ptr, ptr %t130 %t132 = call ptr @fn_llty(ptr %t131) %t133 = call i32 @lp_str_eq(ptr %t132, ptr @.str926) %t134 = icmp ne i32 %t133, 0 br i1 %t134, label %then27, label %ifend29 then27: store ptr @.str927, ptr %retval br label %ret ifend29: store ptr @.str928, ptr %retval br label %ret ret: %t135 = load ptr, ptr %retval ret ptr %t135 } define i32 @fn_global_needs_init_code(ptr %arg_d) { entry: %retval = alloca i32 %t0 = alloca ptr %t15 = alloca ptr %t16 = alloca i32 %t17 = alloca i32 %t18 = alloca i32 %t55 = alloca i32 %t56 = alloca i32 %t84 = alloca i32 store ptr %arg_d, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 %t3 = load ptr, ptr %t2 %t4 = icmp eq ptr %t3, null %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store i32 0, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3 %t9 = load ptr, ptr %t8 %t10 = call i32 @fn_is_fp(ptr %t9) %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 4 %t14 = load ptr, ptr %t13 store ptr %t14, ptr %t15 %t19 = load ptr, ptr %t15 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0 %t21 = load i32, ptr %t20 %t22 = icmp eq i32 %t21, 30 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t18 br i1 %t24, label %scend7, label %sc6 sc6: %t26 = load ptr, ptr %t15 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0 %t28 = load i32, ptr %t27 %t29 = icmp eq i32 %t28, 40 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t18 br label %scend7 scend7: %t33 = load i32, ptr %t18 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t17 br i1 %t34, label %scend9, label %sc8 sc8: %t36 = load ptr, ptr %t15 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 0 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 32 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t17 br label %scend9 scend9: %t43 = load i32, ptr %t17 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t16 br i1 %t44, label %scend11, label %sc10 sc10: %t46 = load ptr, ptr %t15 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 0 %t48 = load i32, ptr %t47 %t49 = icmp eq i32 %t48, 43 %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t16 br label %scend11 scend11: %t53 = load i32, ptr %t16 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then12, label %ifend14 then12: store i32 0, ptr %retval br label %ret ifend14: %t57 = load ptr, ptr %t15 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 0 %t59 = load i32, ptr %t58 %t60 = icmp eq i32 %t59, 38 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t56 br i1 %t62, label %sc15, label %scend16 sc15: %t64 = load ptr, ptr %t15 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str929) %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t56 br label %scend16 scend16: %t70 = load i32, ptr %t56 %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t55 br i1 %t71, label %sc17, label %scend18 sc17: %t73 = load ptr, ptr %t15 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 4 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 0 %t77 = load i32, ptr %t76 %t78 = icmp eq i32 %t77, 30 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t55 br label %scend18 scend18: %t82 = load i32, ptr %t55 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then19, label %ifend21 then19: store i32 0, ptr %retval br label %ret ifend21: %t85 = load ptr, ptr %t15 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 0 %t87 = load i32, ptr %t86 %t88 = icmp eq i32 %t87, 35 %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 store i32 %t91, ptr %t84 br i1 %t90, label %sc22, label %scend23 sc22: %t92 = load ptr, ptr %t15 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 4 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 0 %t96 = load i32, ptr %t95 %t97 = icmp eq i32 %t96, 33 %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t84 br label %scend23 scend23: %t101 = load i32, ptr %t84 %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then24, label %ifend26 then24: %t103 = load ptr, ptr %t15 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 4 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 1 %t107 = load ptr, ptr %t106 %t108 = load ptr, ptr %t15 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 1 %t110 = load ptr, ptr %t109 %t111 = call i32 @fn_enum_ordinal(ptr %t107, ptr %t110) %t112 = icmp sge i32 %t111, 0 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then27, label %ifend29 then27: store i32 0, ptr %retval br label %ret ifend29: br label %ifend26 ifend26: store i32 1, ptr %retval br label %ret ret: %t115 = load i32, ptr %retval ret i32 %t115 } define void @fn_emit_global_init_fn() { entry: %t1 = alloca ptr %t4 = alloca ptr %t6 = alloca i32 %t24 = alloca ptr %t25 = alloca i32 %t43 = alloca ptr %t49 = alloca ptr store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself store ptr @.str930, ptr @g_ret_ty %t0 = call ptr @fn_buf_new() store ptr %t0, ptr %t1 %t2 = call ptr @fn_buf_new() store ptr %t2, ptr @g_falloc %t3 = load ptr, ptr @g_code store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t1 store ptr %t5, ptr @g_code store i32 0, ptr %t6 br label %wcond0 wcond0: %t7 = load i32, ptr %t6 %t8 = load ptr, ptr @g_prog %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t10 = load i32, ptr %t9 %t11 = icmp slt i32 %t7, %t10 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %wbody1, label %wend2 wbody1: %t14 = load ptr, ptr @g_prog %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = load i32, ptr %t6 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t17, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str931, i32 %t17, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t16, i32 %t17 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %t24 %t26 = load ptr, ptr %t24 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0 %t28 = load i32, ptr %t27 %t29 = icmp eq i32 %t28, 2 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t25 br i1 %t31, label %sc5, label %scend6 sc5: %t33 = load ptr, ptr %t24 %t34 = call i32 @fn_global_needs_init_code(ptr %t33) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t25 br label %scend6 scend6: %t37 = load i32, ptr %t25 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then7, label %ifend9 then7: %t39 = load ptr, ptr %t24 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 4 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_emit_expr(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = load ptr, ptr %t24 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 3 %t47 = load ptr, ptr %t46 %t48 = call ptr @fn_coerce_code(ptr %t44, ptr %t47) store ptr %t48, ptr %t49 call void @fn_emit(ptr @.str932) %t50 = load ptr, ptr %t24 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 3 %t52 = load ptr, ptr %t51 %t53 = call ptr @fn_llty(ptr %t52) call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str933) %t54 = load ptr, ptr %t49 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str934) %t55 = load ptr, ptr %t24 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1 %t57 = load ptr, ptr %t56 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str935) br label %ifend9 ifend9: %t58 = load i32, ptr %t6 %t59 = add i32 %t58, 1 store i32 %t59, ptr %t6 br label %wcond0 wend2: call void @fn_emit(ptr @.str936) %t60 = load ptr, ptr %t4 store ptr %t60, ptr @g_code call void @fn_emit(ptr @.str937) %t61 = load ptr, ptr @g_falloc %t62 = call ptr @fn_buf_str(ptr %t61) call void @fn_emit(ptr %t62) %t63 = load ptr, ptr %t1 %t64 = call ptr @fn_buf_str(ptr %t63) call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str938) br label %ret ret: ret void } define void @fn_emit_header() { entry: %t12 = alloca i32 %t30 = alloca ptr %t37 = alloca i32 %t43 = alloca i32 %t80 = alloca i32 %t119 = alloca i32 %t169 = alloca ptr %t176 = alloca i32 %t182 = alloca i32 %t219 = alloca i32 call void @fn_emith(ptr @.str939) call void @fn_emith(ptr @.str940) call void @fn_emith(ptr @.str941) call void @fn_emith(ptr @.str942) call void @fn_emith(ptr @.str943) call void @fn_emith(ptr @.str944) call void @fn_emith(ptr @.str945) call void @fn_emith(ptr @.str946) %t0 = load i32, ptr @g_g_target_win %t1 = icmp eq i32 %t0, 0 %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: call void @fn_emith(ptr @.str947) call void @fn_emith(ptr @.str948) call void @fn_emith(ptr @.str949) call void @fn_emith(ptr @.str950) br label %ifend2 ifend2: call void @fn_emith(ptr @.str951) call void @fn_emith(ptr @.str952) call void @fn_emith(ptr @.str953) call void @fn_emith(ptr @.str954) call void @fn_emith(ptr @.str955) call void @fn_emith(ptr @.str956) call void @fn_emith(ptr @.str957) call void @fn_emith(ptr @.str958) call void @fn_emith(ptr @.str959) call void @fn_emith(ptr @.str960) call void @fn_emith(ptr @.str961) call void @fn_emith(ptr @.str962) call void @fn_emith(ptr @.str963) call void @fn_emith(ptr @.str964) call void @fn_emith(ptr @.str965) call void @fn_emith(ptr @.str966) call void @fn_emith(ptr @.str967) call void @fn_emith(ptr @.str968) call void @fn_emith(ptr @.str969) call void @fn_emith(ptr @.str970) call void @fn_emith(ptr @.str971) call void @fn_emith(ptr @.str972) call void @fn_emith(ptr @.str973) call void @fn_emith(ptr @.str974) call void @fn_emith(ptr @.str975) call void @fn_emith(ptr @.str976) call void @fn_emith(ptr @.str977) call void @fn_emith(ptr @.str978) call void @fn_emith(ptr @.str979) call void @fn_emith(ptr @.str980) call void @fn_emith(ptr @.str981) call void @fn_emith(ptr @.str982) call void @fn_emith(ptr @.str983) call void @fn_emith(ptr @.str984) call void @fn_emith(ptr @.str985) call void @fn_emith(ptr @.str986) call void @fn_emith(ptr @.str987) call void @fn_emith(ptr @.str988) call void @fn_emith(ptr @.str989) call void @fn_emith(ptr @.str990) call void @fn_emith(ptr @.str991) %t4 = load i32, ptr @g_g_target_win %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then3, label %else4 then3: call void @fn_emit_win_prelude() br label %ifend5 else4: call void @fn_emith(ptr @.str992) call void @fn_emith(ptr @.str993) br label %ifend5 ifend5: call void @fn_emith(ptr @.str994) call void @fn_emith(ptr @.str995) call void @fn_emith(ptr @.str996) call void @fn_emith(ptr @.str997) call void @fn_emith(ptr @.str998) call void @fn_emith(ptr @.str999) call void @fn_emith(ptr @.str1000) %t6 = load ptr, ptr @g_g_game_name %t7 = call i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 %t9 = add i32 %t8, 1 %t10 = call ptr @fn_itoa(i32 %t9) call void @fn_emith(ptr %t10) call void @fn_emith(ptr @.str1001) %t11 = load ptr, ptr @g_g_game_name call void @fn_emit_escaped(ptr %t11) call void @fn_emith(ptr @.str1002) call void @fn_emith(ptr @.str1003) store i32 0, ptr %t12 br label %wcond6 wcond6: %t13 = load i32, ptr %t12 %t14 = load ptr, ptr @g_prog %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp slt i32 %t13, %t16 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %wbody7, label %wend8 wbody7: %t20 = load ptr, ptr @g_prog %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t12 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t23, %t25 br i1 %t26, label %ixok9, label %ixbad10 ixbad10: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str1004, i32 %t23, i32 %t25) call void @exit(i32 1) unreachable ixok9: %t28 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t29 = load ptr, ptr %t28 store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 %t33 = load i32, ptr %t32 %t34 = icmp eq i32 %t33, 8 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then11, label %ifend13 then11: store i32 0, ptr %t37 br label %wcond14 wcond14: %t38 = load i32, ptr %t37 %t39 = load i32, ptr %t12 %t40 = icmp slt i32 %t38, %t39 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %wbody15, label %wend16 wbody15: %t44 = load ptr, ptr @g_prog %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = load i32, ptr %t37 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t47, %t49 br i1 %t50, label %ixok17, label %ixbad18 ixbad18: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str1005, i32 %t47, i32 %t49) call void @exit(i32 1) unreachable ixok17: %t52 = getelementptr inbounds ptr, ptr %t46, i32 %t47 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 0 %t55 = load i32, ptr %t54 %t56 = icmp eq i32 %t55, 8 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t43 br i1 %t58, label %sc19, label %scend20 sc19: %t60 = load ptr, ptr @g_prog %t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = load i32, ptr %t37 %t64 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 %t63, %t65 br i1 %t66, label %ixok21, label %ixbad22 ixbad22: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str1006, i32 %t63, i32 %t65) call void @exit(i32 1) unreachable ixok21: %t68 = getelementptr inbounds ptr, ptr %t62, i32 %t63 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1 %t71 = load ptr, ptr %t70 %t72 = load ptr, ptr %t30 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 %t74 = load ptr, ptr %t73 %t75 = call i32 @lp_str_eq(ptr %t71, ptr %t74) %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t43 br label %scend20 scend20: %t78 = load i32, ptr %t43 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then23, label %ifend25 then23: %t81 = load i32, ptr %t37 %t82 = load i32, ptr @g_g_prog_user_end %t83 = icmp slt i32 %t81, %t82 %t84 = zext i1 %t83 to i32 %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t80 br i1 %t85, label %sc26, label %scend27 sc26: %t87 = load i32, ptr %t12 %t88 = load i32, ptr @g_g_prog_user_end %t89 = icmp sge i32 %t87, %t88 %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t80 br label %scend27 scend27: %t93 = load i32, ptr %t80 %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then28, label %ifend30 then28: %t95 = load ptr, ptr %t30 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 %t97 = load ptr, ptr %t96 %t98 = call ptr @lp_str_concat(ptr @.str1007, ptr %t97) %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str1008) call void @fn_perr(ptr %t99) br label %ifend30 ifend30: %t100 = load ptr, ptr %t30 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 1 %t102 = load ptr, ptr %t101 %t103 = call ptr @lp_str_concat(ptr @.str1009, ptr %t102) %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str1010) call void @fn_perr(ptr %t104) br label %ifend25 ifend25: %t105 = load i32, ptr %t37 %t106 = add i32 %t105, 1 store i32 %t106, ptr %t37 br label %wcond14 wend16: %t107 = load ptr, ptr %t30 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 1 %t109 = load ptr, ptr %t108 %t110 = call ptr @fn_layout_ty(ptr %t109) call void @fn_emith(ptr %t110) call void @fn_emith(ptr @.str1011) %t111 = load ptr, ptr %t30 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 7 %t113 = load ptr, ptr %t112 %t114 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 %t115 = load i32, ptr %t114 %t116 = icmp eq i32 %t115, 0 %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then31, label %ifend33 then31: call void @fn_emith(ptr @.str1012) br label %ifend33 ifend33: store i32 0, ptr %t119 br label %wcond34 wcond34: %t120 = load i32, ptr %t119 %t121 = load ptr, ptr %t30 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 7 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 1 %t125 = load i32, ptr %t124 %t126 = icmp slt i32 %t120, %t125 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %wbody35, label %wend36 wbody35: %t129 = load i32, ptr %t119 %t130 = icmp sgt i32 %t129, 0 %t131 = zext i1 %t130 to i32 %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then37, label %ifend39 then37: call void @fn_emith(ptr @.str1013) br label %ifend39 ifend39: %t133 = load ptr, ptr %t30 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 7 %t135 = load ptr, ptr %t134 %t136 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 0 %t137 = load ptr, ptr %t136 %t138 = load i32, ptr %t119 %t139 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t140 = load i32, ptr %t139 %t141 = icmp ult i32 %t138, %t140 br i1 %t141, label %ixok40, label %ixbad41 ixbad41: %t142 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str1014, i32 %t138, i32 %t140) call void @exit(i32 1) unreachable ixok40: %t143 = getelementptr inbounds ptr, ptr %t137, i32 %t138 %t144 = load ptr, ptr %t143 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 3 %t146 = load ptr, ptr %t145 %t147 = call ptr @fn_llty(ptr %t146) call void @fn_emith(ptr %t147) %t148 = load i32, ptr %t119 %t149 = add i32 %t148, 1 store i32 %t149, ptr %t119 br label %wcond34 wend36: call void @fn_emith(ptr @.str1015) br label %ifend13 ifend13: %t150 = load i32, ptr %t12 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t12 br label %wcond6 wend8: store i32 0, ptr %t12 br label %wcond42 wcond42: %t152 = load i32, ptr %t12 %t153 = load ptr, ptr @g_prog %t154 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 1 %t155 = load i32, ptr %t154 %t156 = icmp slt i32 %t152, %t155 %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %wbody43, label %wend44 wbody43: %t159 = load ptr, ptr @g_prog %t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0 %t161 = load ptr, ptr %t160 %t162 = load i32, ptr %t12 %t163 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 1 %t164 = load i32, ptr %t163 %t165 = icmp ult i32 %t162, %t164 br i1 %t165, label %ixok45, label %ixbad46 ixbad46: %t166 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str1016, i32 %t162, i32 %t164) call void @exit(i32 1) unreachable ixok45: %t167 = getelementptr inbounds ptr, ptr %t161, i32 %t162 %t168 = load ptr, ptr %t167 store ptr %t168, ptr %t169 %t170 = load ptr, ptr %t169 %t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 0 %t172 = load i32, ptr %t171 %t173 = icmp eq i32 %t172, 2 %t174 = zext i1 %t173 to i32 %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then47, label %ifend49 then47: store i32 0, ptr %t176 br label %wcond50 wcond50: %t177 = load i32, ptr %t176 %t178 = load i32, ptr %t12 %t179 = icmp slt i32 %t177, %t178 %t180 = zext i1 %t179 to i32 %t181 = icmp ne i32 %t180, 0 br i1 %t181, label %wbody51, label %wend52 wbody51: %t183 = load ptr, ptr @g_prog %t184 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 0 %t185 = load ptr, ptr %t184 %t186 = load i32, ptr %t176 %t187 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 1 %t188 = load i32, ptr %t187 %t189 = icmp ult i32 %t186, %t188 br i1 %t189, label %ixok53, label %ixbad54 ixbad54: %t190 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str1017, i32 %t186, i32 %t188) call void @exit(i32 1) unreachable ixok53: %t191 = getelementptr inbounds ptr, ptr %t185, i32 %t186 %t192 = load ptr, ptr %t191 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 0 %t194 = load i32, ptr %t193 %t195 = icmp eq i32 %t194, 2 %t196 = zext i1 %t195 to i32 %t197 = icmp ne i32 %t196, 0 %t198 = zext i1 %t197 to i32 store i32 %t198, ptr %t182 br i1 %t197, label %sc55, label %scend56 sc55: %t199 = load ptr, ptr @g_prog %t200 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 0 %t201 = load ptr, ptr %t200 %t202 = load i32, ptr %t176 %t203 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 1 %t204 = load i32, ptr %t203 %t205 = icmp ult i32 %t202, %t204 br i1 %t205, label %ixok57, label %ixbad58 ixbad58: %t206 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t206, ptr @.fmt_bounds, ptr @.str1018, i32 %t202, i32 %t204) call void @exit(i32 1) unreachable ixok57: %t207 = getelementptr inbounds ptr, ptr %t201, i32 %t202 %t208 = load ptr, ptr %t207 %t209 = getelementptr inbounds %Cmp_Node, ptr %t208, i32 0, i32 1 %t210 = load ptr, ptr %t209 %t211 = load ptr, ptr %t169 %t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 1 %t213 = load ptr, ptr %t212 %t214 = call i32 @lp_str_eq(ptr %t210, ptr %t213) %t215 = icmp ne i32 %t214, 0 %t216 = zext i1 %t215 to i32 store i32 %t216, ptr %t182 br label %scend56 scend56: %t217 = load i32, ptr %t182 %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %then59, label %ifend61 then59: %t220 = load i32, ptr %t176 %t221 = load i32, ptr @g_g_prog_user_end %t222 = icmp slt i32 %t220, %t221 %t223 = zext i1 %t222 to i32 %t224 = icmp ne i32 %t223, 0 %t225 = zext i1 %t224 to i32 store i32 %t225, ptr %t219 br i1 %t224, label %sc62, label %scend63 sc62: %t226 = load i32, ptr %t12 %t227 = load i32, ptr @g_g_prog_user_end %t228 = icmp sge i32 %t226, %t227 %t229 = zext i1 %t228 to i32 %t230 = icmp ne i32 %t229, 0 %t231 = zext i1 %t230 to i32 store i32 %t231, ptr %t219 br label %scend63 scend63: %t232 = load i32, ptr %t219 %t233 = icmp ne i32 %t232, 0 br i1 %t233, label %then64, label %ifend66 then64: %t234 = load ptr, ptr %t169 %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 1 %t236 = load ptr, ptr %t235 %t237 = call ptr @lp_str_concat(ptr @.str1019, ptr %t236) %t238 = call ptr @lp_str_concat(ptr %t237, ptr @.str1020) call void @fn_perr(ptr %t238) br label %ifend66 ifend66: %t239 = load ptr, ptr %t169 %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 1 %t241 = load ptr, ptr %t240 %t242 = call ptr @lp_str_concat(ptr @.str1021, ptr %t241) %t243 = call ptr @lp_str_concat(ptr %t242, ptr @.str1022) call void @fn_perr(ptr %t243) br label %ifend61 ifend61: %t244 = load i32, ptr %t176 %t245 = add i32 %t244, 1 store i32 %t245, ptr %t176 br label %wcond50 wend52: call void @fn_emith(ptr @.str1023) %t246 = load ptr, ptr %t169 %t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 1 %t248 = load ptr, ptr %t247 call void @fn_emith(ptr %t248) call void @fn_emith(ptr @.str1024) %t249 = load ptr, ptr %t169 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 3 %t251 = load ptr, ptr %t250 %t252 = call ptr @fn_llty(ptr %t251) call void @fn_emith(ptr %t252) call void @fn_emith(ptr @.str1025) %t253 = load ptr, ptr %t169 %t254 = call ptr @fn_global_init(ptr %t253) call void @fn_emith(ptr %t254) call void @fn_emith(ptr @.str1026) br label %ifend49 ifend49: %t255 = load i32, ptr %t12 %t256 = add i32 %t255, 1 store i32 %t256, ptr %t12 br label %wcond42 wend44: br label %ret ret: ret void } define void @fn_emit_extern_decls() { entry: %t0 = alloca i32 %t18 = alloca ptr %t34 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_prog %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_prog %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str1027, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0 %t21 = load i32, ptr %t20 %t22 = icmp eq i32 %t21, 11 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then5, label %ifend7 then5: call void @fn_emith(ptr @.str1028) %t25 = load ptr, ptr %t18 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 3 %t27 = load ptr, ptr %t26 %t28 = call ptr @fn_llty(ptr %t27) call void @fn_emith(ptr %t28) call void @fn_emith(ptr @.str1029) %t29 = load ptr, ptr %t18 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 4 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 %t33 = load ptr, ptr %t32 call void @fn_emith(ptr %t33) call void @fn_emith(ptr @.str1030) store i32 0, ptr %t34 br label %wcond8 wcond8: %t35 = load i32, ptr %t34 %t36 = load ptr, ptr %t18 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp slt i32 %t35, %t40 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %wbody9, label %wend10 wbody9: %t44 = load i32, ptr %t34 %t45 = icmp sgt i32 %t44, 0 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then11, label %ifend13 then11: call void @fn_emith(ptr @.str1031) br label %ifend13 ifend13: %t48 = load ptr, ptr %t18 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = load i32, ptr %t34 %t54 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp ult i32 %t53, %t55 br i1 %t56, label %ixok14, label %ixbad15 ixbad15: %t57 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t57, ptr @.fmt_bounds, ptr @.str1032, i32 %t53, i32 %t55) call void @exit(i32 1) unreachable ixok14: %t58 = getelementptr inbounds ptr, ptr %t52, i32 %t53 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 3 %t61 = load ptr, ptr %t60 %t62 = call ptr @fn_llty(ptr %t61) call void @fn_emith(ptr %t62) %t63 = load i32, ptr %t34 %t64 = add i32 %t63, 1 store i32 %t64, ptr %t34 br label %wcond8 wend10: call void @fn_emith(ptr @.str1033) br label %ifend7 ifend7: %t65 = load i32, ptr %t0 %t66 = add i32 %t65, 1 store i32 %t66, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_emit_str_prelude() { entry: call void @fn_emith(ptr @.str1034) call void @fn_emith(ptr @.str1035) call void @fn_emith(ptr @.str1036) call void @fn_emith(ptr @.str1037) call void @fn_emith(ptr @.str1038) call void @fn_emith(ptr @.str1039) call void @fn_emith(ptr @.str1040) call void @fn_emith(ptr @.str1041) call void @fn_emith(ptr @.str1042) call void @fn_emith(ptr @.str1043) call void @fn_emith(ptr @.str1044) call void @fn_emith(ptr @.str1045) call void @fn_emith(ptr @.str1046) call void @fn_emith(ptr @.str1047) call void @fn_emith(ptr @.str1048) call void @fn_emith(ptr @.str1049) call void @fn_emith(ptr @.str1050) call void @fn_emith(ptr @.str1051) call void @fn_emith(ptr @.str1052) call void @fn_emith(ptr @.str1053) call void @fn_emith(ptr @.str1054) call void @fn_emith(ptr @.str1055) call void @fn_emith(ptr @.str1056) call void @fn_emith(ptr @.str1057) call void @fn_emith(ptr @.str1058) call void @fn_emith(ptr @.str1059) call void @fn_emith(ptr @.str1060) call void @fn_emith(ptr @.str1061) call void @fn_emith(ptr @.str1062) call void @fn_emith(ptr @.str1063) call void @fn_emith(ptr @.str1064) call void @fn_emith(ptr @.str1065) call void @fn_emith(ptr @.str1066) call void @fn_emith(ptr @.str1067) call void @fn_emith(ptr @.str1068) br label %ret ret: ret void } define void @fn_emit_int_str() { entry: call void @fn_emith(ptr @.str1069) call void @fn_emith(ptr @.str1070) call void @fn_emith(ptr @.str1071) call void @fn_emith(ptr @.str1072) call void @fn_emith(ptr @.str1073) call void @fn_emith(ptr @.str1074) call void @fn_emith(ptr @.str1075) call void @fn_emith(ptr @.str1076) call void @fn_emith(ptr @.str1077) call void @fn_emith(ptr @.str1078) call void @fn_emith(ptr @.str1079) call void @fn_emith(ptr @.str1080) call void @fn_emith(ptr @.str1081) call void @fn_emith(ptr @.str1082) call void @fn_emith(ptr @.str1083) call void @fn_emith(ptr @.str1084) call void @fn_emith(ptr @.str1085) br label %ret ret: ret void } define void @fn_emit_long_str() { entry: call void @fn_emith(ptr @.str1086) call void @fn_emith(ptr @.str1087) call void @fn_emith(ptr @.str1088) call void @fn_emith(ptr @.str1089) call void @fn_emith(ptr @.str1090) call void @fn_emith(ptr @.str1091) call void @fn_emith(ptr @.str1092) call void @fn_emith(ptr @.str1093) call void @fn_emith(ptr @.str1094) call void @fn_emith(ptr @.str1095) call void @fn_emith(ptr @.str1096) call void @fn_emith(ptr @.str1097) call void @fn_emith(ptr @.str1098) call void @fn_emith(ptr @.str1099) call void @fn_emith(ptr @.str1100) call void @fn_emith(ptr @.str1101) call void @fn_emith(ptr @.str1102) br label %ret ret: ret void } define void @fn_emit_str_slice() { entry: call void @fn_emith(ptr @.str1103) call void @fn_emith(ptr @.str1104) call void @fn_emith(ptr @.str1105) call void @fn_emith(ptr @.str1106) call void @fn_emith(ptr @.str1107) call void @fn_emith(ptr @.str1108) call void @fn_emith(ptr @.str1109) call void @fn_emith(ptr @.str1110) br label %ret ret: ret void } define ptr @fn_emit_member_addr(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr %t10 = alloca ptr %t24 = alloca i32 %t39 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_emit_expr(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 1 %t8 = load ptr, ptr %t7 %t9 = call ptr @fn_layout_node(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = icmp eq ptr %t11, null %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then0, label %ifend2 then0: %t15 = load ptr, ptr %t5 %t16 = getelementptr inbounds %Cmp_Val, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t16 %t18 = call ptr @lp_str_concat(ptr @.str1111, ptr %t17) call void @fn_perr(ptr %t18) br label %ifend2 ifend2: %t19 = load ptr, ptr %t10 %t20 = load ptr, ptr %t0 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 1 %t22 = load ptr, ptr %t21 %t23 = call i32 @fn_field_index(ptr %t19, ptr %t22) store i32 %t23, ptr %t24 %t25 = load i32, ptr %t24 %t26 = icmp slt i32 %t25, 0 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then3, label %ifend5 then3: %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 %t32 = call ptr @lp_str_concat(ptr @.str1112, ptr %t31) call void @fn_perr(ptr %t32) br label %ifend5 ifend5: %t33 = load ptr, ptr %t10 %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1 %t36 = load ptr, ptr %t35 %t37 = call ptr @fn_field_type(ptr %t33, ptr %t36) store ptr %t37, ptr @g_g_addr_ty %t38 = call ptr @fn_nreg() store ptr %t38, ptr %t39 call void @fn_emit(ptr @.str1113) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str1114) %t41 = load ptr, ptr %t5 %t42 = getelementptr inbounds %Cmp_Val, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_layout_ty(ptr %t43) call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str1115) %t45 = load ptr, ptr %t5 %t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0 %t47 = load ptr, ptr %t46 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str1116) %t48 = load i32, ptr %t24 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str1117) %t50 = load ptr, ptr %t39 store ptr %t50, ptr %retval br label %ret ret: %t51 = load ptr, ptr %retval ret ptr %t51 } define ptr @fn_emit_index_addr(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr %t17 = alloca ptr %t33 = alloca ptr %t50 = alloca ptr %t52 = alloca i32 %t67 = alloca ptr %t86 = alloca ptr %t104 = alloca ptr %t116 = alloca ptr %t122 = alloca ptr %t124 = alloca ptr %t130 = alloca ptr %t137 = alloca ptr %t141 = alloca ptr %t149 = alloca ptr %t158 = alloca ptr %t160 = alloca ptr %t162 = alloca ptr %t183 = alloca ptr %t186 = alloca ptr %t204 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_emit_expr(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 1 %t8 = load ptr, ptr %t7 %t9 = call i32 @fn_is_slice_ty(ptr %t8) %t10 = icmp eq i32 %t9, 0 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 5 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t5 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str1118) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then3, label %ifend5 then3: %t23 = load ptr, ptr %t5 %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str1119, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str1120) %t28 = load ptr, ptr %t17 %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = call ptr @lp_str_concat(ptr %t27, ptr %t30) %t32 = call ptr @fn_emit_bind(ptr %t31) store ptr %t32, ptr %t33 store ptr @.str1121, ptr @g_g_addr_ty %t34 = load ptr, ptr %t33 store ptr %t34, ptr %retval br label %ret ifend5: %t35 = load ptr, ptr %t5 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str1122) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then6, label %ifend8 then6: %t40 = load ptr, ptr %t5 %t41 = getelementptr inbounds %Cmp_Val, ptr %t40, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = call ptr @lp_str_concat(ptr @.str1123, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str1124) %t45 = load ptr, ptr %t17 %t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = call ptr @lp_str_concat(ptr %t44, ptr %t47) %t49 = call ptr @fn_emit_bind(ptr %t48) store ptr %t49, ptr %t50 store ptr @.str1125, ptr @g_g_addr_ty %t51 = load ptr, ptr %t50 store ptr %t51, ptr %retval br label %ret ifend8: %t53 = load ptr, ptr %t5 %t54 = getelementptr inbounds %Cmp_Val, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str1126) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t52 br i1 %t57, label %scend10, label %sc9 sc9: %t59 = load ptr, ptr %t5 %t60 = getelementptr inbounds %Cmp_Val, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str1127) %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t52 br label %scend10 scend10: %t65 = load i32, ptr %t52 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then11, label %ifend13 then11: store ptr @.str1128, ptr %t67 %t68 = load ptr, ptr %t5 %t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t69 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str1129) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then14, label %ifend16 then14: store ptr @.str1130, ptr %t67 br label %ifend16 ifend16: %t73 = load ptr, ptr %t67 %t74 = call ptr @lp_str_concat(ptr @.str1131, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str1132) %t76 = load ptr, ptr %t5 %t77 = getelementptr inbounds %Cmp_Val, ptr %t76, i32 0, i32 0 %t78 = load ptr, ptr %t77 %t79 = call ptr @lp_str_concat(ptr %t75, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str1133) %t81 = load ptr, ptr %t17 %t82 = getelementptr inbounds %Cmp_Val, ptr %t81, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = call ptr @lp_str_concat(ptr %t80, ptr %t83) %t85 = call ptr @fn_emit_bind(ptr %t84) store ptr %t85, ptr %t86 %t87 = load ptr, ptr %t67 store ptr %t87, ptr @g_g_addr_ty %t88 = load ptr, ptr %t86 store ptr %t88, ptr %retval br label %ret ifend13: %t89 = load ptr, ptr %t5 %t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 1 %t91 = load ptr, ptr %t90 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str1134) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then17, label %ifend19 then17: %t94 = load ptr, ptr %t5 %t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = call ptr @lp_str_concat(ptr @.str1135, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str1136) %t99 = load ptr, ptr %t17 %t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0 %t101 = load ptr, ptr %t100 %t102 = call ptr @lp_str_concat(ptr %t98, ptr %t101) %t103 = call ptr @fn_emit_bind(ptr %t102) store ptr %t103, ptr %t104 store ptr @.str1137, ptr @g_g_addr_ty %t105 = load ptr, ptr %t104 store ptr %t105, ptr %retval br label %ret ifend19: %t106 = load ptr, ptr %t5 %t107 = getelementptr inbounds %Cmp_Val, ptr %t106, i32 0, i32 0 %t108 = load ptr, ptr %t107 %t109 = call ptr @lp_str_concat(ptr @.str1138, ptr %t108) %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str1139) %t111 = load ptr, ptr %t17 %t112 = getelementptr inbounds %Cmp_Val, ptr %t111, i32 0, i32 0 %t113 = load ptr, ptr %t112 %t114 = call ptr @lp_str_concat(ptr %t110, ptr %t113) %t115 = call ptr @fn_emit_bind(ptr %t114) store ptr %t115, ptr %t116 store ptr @.str1140, ptr @g_g_addr_ty %t117 = load ptr, ptr %t116 store ptr %t117, ptr %retval br label %ret ifend2: %t118 = load ptr, ptr %t5 %t119 = getelementptr inbounds %Cmp_Val, ptr %t118, i32 0, i32 1 %t120 = load ptr, ptr %t119 %t121 = call ptr @fn_slice_elem(ptr %t120) store ptr %t121, ptr %t122 %t123 = call ptr @fn_nreg() store ptr %t123, ptr %t124 call void @fn_emit(ptr @.str1141) %t125 = load ptr, ptr %t124 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str1142) %t126 = load ptr, ptr %t5 %t127 = getelementptr inbounds %Cmp_Val, ptr %t126, i32 0, i32 0 %t128 = load ptr, ptr %t127 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str1143) %t129 = call ptr @fn_nreg() store ptr %t129, ptr %t130 call void @fn_emit(ptr @.str1144) %t131 = load ptr, ptr %t130 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str1145) %t132 = load ptr, ptr %t124 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str1146) %t133 = load ptr, ptr %t0 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 5 %t135 = load ptr, ptr %t134 %t136 = call ptr @fn_emit_expr(ptr %t135) store ptr %t136, ptr %t137 %t138 = load i32, ptr @g_g_bounds %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then20, label %ifend22 then20: store i32 1, ptr @g_g_uses_bounds %t140 = call ptr @fn_nreg() store ptr %t140, ptr %t141 call void @fn_emit(ptr @.str1147) %t142 = load ptr, ptr %t141 call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str1148) %t143 = load ptr, ptr %t5 %t144 = getelementptr inbounds %Cmp_Val, ptr %t143, i32 0, i32 0 %t145 = load ptr, ptr %t144 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str1149) %t146 = load ptr, ptr %t141 %t147 = call ptr @lp_str_concat(ptr @.str1150, ptr %t146) %t148 = call ptr @fn_emit_bind(ptr %t147) store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t137 %t151 = getelementptr inbounds %Cmp_Val, ptr %t150, i32 0, i32 0 %t152 = load ptr, ptr %t151 %t153 = call ptr @lp_str_concat(ptr @.str1151, ptr %t152) %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str1152) %t155 = load ptr, ptr %t149 %t156 = call ptr @lp_str_concat(ptr %t154, ptr %t155) %t157 = call ptr @fn_emit_bind(ptr %t156) store ptr %t157, ptr %t158 %t159 = call ptr @fn_lbl(ptr @.str1153) store ptr %t159, ptr %t160 %t161 = call ptr @fn_lbl(ptr @.str1154) store ptr %t161, ptr %t162 %t163 = load ptr, ptr %t158 %t164 = call ptr @lp_str_concat(ptr @.str1155, ptr %t163) %t165 = call ptr @lp_str_concat(ptr %t164, ptr @.str1156) %t166 = load ptr, ptr %t160 %t167 = call ptr @lp_str_concat(ptr %t165, ptr %t166) %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str1157) %t169 = load ptr, ptr %t162 %t170 = call ptr @lp_str_concat(ptr %t168, ptr %t169) %t171 = call ptr @lp_str_concat(ptr %t170, ptr @.str1158) call void @fn_emit(ptr %t171) %t172 = load ptr, ptr %t162 %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str1159) call void @fn_emit(ptr %t173) %t174 = load ptr, ptr @g_g_src_name %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str1160) %t176 = load ptr, ptr %t0 %t177 = getelementptr inbounds %Cmp_Node, ptr %t176, i32 0, i32 8 %t178 = load i32, ptr %t177 %t179 = call ptr @fn_itoa(i32 %t178) %t180 = call ptr @lp_str_concat(ptr %t175, ptr %t179) %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str1161) %t182 = call ptr @fn_emit_str_const(ptr %t181) store ptr %t182, ptr %t183 %t184 = call ptr @fn_stdstream_rhs(i32 2) %t185 = call ptr @fn_emit_bind(ptr %t184) store ptr %t185, ptr %t186 %t187 = load ptr, ptr %t186 %t188 = call ptr @lp_str_concat(ptr @.str1162, ptr %t187) %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str1163) %t190 = load ptr, ptr %t183 %t191 = call ptr @lp_str_concat(ptr %t189, ptr %t190) %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str1164) %t193 = load ptr, ptr %t137 %t194 = getelementptr inbounds %Cmp_Val, ptr %t193, i32 0, i32 0 %t195 = load ptr, ptr %t194 %t196 = call ptr @lp_str_concat(ptr %t192, ptr %t195) %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str1165) %t198 = load ptr, ptr %t149 %t199 = call ptr @lp_str_concat(ptr %t197, ptr %t198) %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str1166) call void @fn_emit(ptr %t200) call void @fn_emit(ptr @.str1167) %t201 = load ptr, ptr %t160 %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str1168) call void @fn_emit(ptr %t202) br label %ifend22 ifend22: %t203 = call ptr @fn_nreg() store ptr %t203, ptr %t204 call void @fn_emit(ptr @.str1169) %t205 = load ptr, ptr %t204 call void @fn_emit(ptr %t205) call void @fn_emit(ptr @.str1170) %t206 = load ptr, ptr %t122 %t207 = call ptr @fn_llty(ptr %t206) call void @fn_emit(ptr %t207) call void @fn_emit(ptr @.str1171) %t208 = load ptr, ptr %t130 call void @fn_emit(ptr %t208) call void @fn_emit(ptr @.str1172) %t209 = load ptr, ptr %t137 %t210 = getelementptr inbounds %Cmp_Val, ptr %t209, i32 0, i32 0 %t211 = load ptr, ptr %t210 call void @fn_emit(ptr %t211) call void @fn_emit(ptr @.str1173) %t212 = load ptr, ptr %t122 store ptr %t212, ptr @g_g_addr_ty %t213 = load ptr, ptr %t204 store ptr %t213, ptr %retval br label %ret ret: %t214 = load ptr, ptr %retval ret ptr %t214 } define i32 @fn_is_intrinsic(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t23 = alloca i32 %t24 = alloca i32 %t42 = alloca i32 %t43 = alloca i32 %t61 = alloca i32 %t72 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str1174) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store i32 1, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str1175) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t5 br i1 %t8, label %scend4, label %sc3 sc3: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str1176) %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t5 br label %scend4 scend4: %t14 = load i32, ptr %t5 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t4 br i1 %t15, label %scend6, label %sc5 sc5: %t17 = load ptr, ptr %t0 %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str1177) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t4 br label %scend6 scend6: %t21 = load i32, ptr %t4 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then7, label %ifend9 then7: store i32 1, ptr %retval br label %ret ifend9: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str1178) %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t24 br i1 %t27, label %scend11, label %sc10 sc10: %t29 = load ptr, ptr %t0 %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str1179) %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t24 br label %scend11 scend11: %t33 = load i32, ptr %t24 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t23 br i1 %t34, label %scend13, label %sc12 sc12: %t36 = load ptr, ptr %t0 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str1180) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t23 br label %scend13 scend13: %t40 = load i32, ptr %t23 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then14, label %ifend16 then14: store i32 1, ptr %retval br label %ret ifend16: %t44 = load ptr, ptr %t0 %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str1181) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t43 br i1 %t46, label %scend18, label %sc17 sc17: %t48 = load ptr, ptr %t0 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str1182) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t43 br label %scend18 scend18: %t52 = load i32, ptr %t43 %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t42 br i1 %t53, label %scend20, label %sc19 sc19: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str1183) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t42 br label %scend20 scend20: %t59 = load i32, ptr %t42 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then21, label %ifend23 then21: store i32 1, ptr %retval br label %ret ifend23: %t62 = load ptr, ptr %t0 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str1184) %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t61 br i1 %t64, label %scend25, label %sc24 sc24: %t66 = load ptr, ptr %t0 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str1185) %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t61 br label %scend25 scend25: %t70 = load i32, ptr %t61 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then26, label %ifend28 then26: store i32 1, ptr %retval br label %ret ifend28: %t73 = load ptr, ptr %t0 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str1186) %t75 = icmp ne i32 %t74, 0 %t76 = zext i1 %t75 to i32 store i32 %t76, ptr %t72 br i1 %t75, label %scend30, label %sc29 sc29: %t77 = load ptr, ptr %t0 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str1187) %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t72 br label %scend30 scend30: %t81 = load i32, ptr %t72 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then31, label %ifend33 then31: store i32 1, ptr %retval br label %ret ifend33: %t83 = load ptr, ptr %t0 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str1188) %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then34, label %ifend36 then34: store i32 1, ptr %retval br label %ret ifend36: store i32 0, ptr %retval br label %ret ret: %t86 = load i32, ptr %retval ret i32 %t86 } define ptr @fn_emit_bind(ptr %arg_rest) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr store ptr %arg_rest, ptr %t0 %t1 = call ptr @fn_nreg() store ptr %t1, ptr %t2 call void @fn_emit(ptr @.str1189) %t3 = load ptr, ptr %t2 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str1190) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str1191) %t5 = load ptr, ptr %t2 store ptr %t5, ptr %retval br label %ret ret: %t6 = load ptr, ptr %retval ret ptr %t6 } define ptr @fn_arg_code(ptr %arg_e, i32 %arg_i) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t15 = alloca ptr store ptr %arg_e, ptr %t0 store i32 %arg_i, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = load i32, ptr %t1 %t8 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp ult i32 %t7, %t9 br i1 %t10, label %ixok0, label %ixbad1 ixbad1: %t11 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t11, ptr @.fmt_bounds, ptr @.str1192, i32 %t7, i32 %t9) call void @exit(i32 1) unreachable ixok0: %t12 = getelementptr inbounds ptr, ptr %t6, i32 %t7 %t13 = load ptr, ptr %t12 %t14 = call ptr @fn_emit_expr(ptr %t13) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %Cmp_Val, ptr %t16, i32 0, i32 0 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %retval br label %ret ret: %t19 = load ptr, ptr %retval ret ptr %t19 } define ptr @fn_emit_intrinsic(ptr %arg_name, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t7 = alloca ptr %t10 = alloca ptr %t15 = alloca ptr %t29 = alloca ptr %t32 = alloca ptr %t41 = alloca i32 %t54 = alloca ptr %t57 = alloca ptr %t60 = alloca ptr %t65 = alloca ptr %t66 = alloca ptr %t83 = alloca ptr %t94 = alloca ptr %t97 = alloca ptr %t100 = alloca ptr %t105 = alloca ptr %t122 = alloca ptr %t127 = alloca ptr %t138 = alloca ptr %t146 = alloca ptr %t159 = alloca ptr %t161 = alloca ptr %t168 = alloca ptr %t178 = alloca ptr %t198 = alloca ptr %t209 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_e, ptr %t1 store i32 1, ptr @g_g_intrin_ok %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1193) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t1 %t6 = call ptr @fn_arg_code(ptr %t5, i32 0) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t1 %t9 = call ptr @fn_arg_code(ptr %t8, i32 1) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = call ptr @lp_str_concat(ptr @.str1194, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1195) %t14 = call ptr @fn_emit_bind(ptr %t13) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t7 %t17 = call ptr @lp_str_concat(ptr @.str1196, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1197) %t19 = load ptr, ptr %t15 %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1198) %t22 = call ptr @fn_emit_bind(ptr %t21) %t23 = call ptr @fn_val(ptr %t22, ptr @.str1199) store ptr %t23, ptr %retval br label %ret ifend2: %t24 = load ptr, ptr %t0 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str1200) %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then3, label %ifend5 then3: call void @fn_use_pak() %t27 = load ptr, ptr %t1 %t28 = call ptr @fn_arg_code(ptr %t27, i32 0) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t1 %t31 = call ptr @fn_arg_code(ptr %t30, i32 1) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t29 %t34 = call ptr @lp_str_concat(ptr @.str1201, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str1202) %t36 = load ptr, ptr %t32 %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str1203) %t39 = call ptr @fn_emit_bind(ptr %t38) %t40 = call ptr @fn_val(ptr %t39, ptr @.str1204) store ptr %t40, ptr %retval br label %ret ifend5: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str1205) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t41 br i1 %t44, label %scend7, label %sc6 sc6: %t46 = load ptr, ptr %t0 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str1206) %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t41 br label %scend7 scend7: %t50 = load i32, ptr %t41 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then8, label %ifend10 then8: %t52 = load ptr, ptr %t1 %t53 = call ptr @fn_arg_code(ptr %t52, i32 0) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t1 %t56 = call ptr @fn_arg_code(ptr %t55, i32 1) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t1 %t59 = call ptr @fn_arg_code(ptr %t58, i32 2) store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t60 %t62 = call ptr @lp_str_concat(ptr @.str1207, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str1208) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 store ptr @.str1209, ptr %t66 %t67 = load ptr, ptr %t0 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str1210) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then11, label %ifend13 then11: store ptr @.str1211, ptr %t66 br label %ifend13 ifend13: %t70 = load ptr, ptr %t66 %t71 = call ptr @lp_str_concat(ptr @.str1212, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str1213) %t73 = load ptr, ptr %t57 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str1214) %t76 = load ptr, ptr %t65 %t77 = call ptr @lp_str_concat(ptr %t75, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str1215) %t79 = load ptr, ptr %t54 %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str1216) %t82 = call ptr @fn_emit_bind(ptr %t81) store ptr %t82, ptr %t83 %t84 = load ptr, ptr %t83 %t85 = call ptr @lp_str_concat(ptr @.str1217, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1218) %t87 = call ptr @fn_emit_bind(ptr %t86) %t88 = call ptr @fn_val(ptr %t87, ptr @.str1219) store ptr %t88, ptr %retval br label %ret ifend10: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1220) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then14, label %ifend16 then14: %t92 = load ptr, ptr %t1 %t93 = call ptr @fn_arg_code(ptr %t92, i32 0) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t1 %t96 = call ptr @fn_arg_code(ptr %t95, i32 1) store ptr %t96, ptr %t97 %t98 = load ptr, ptr %t1 %t99 = call ptr @fn_arg_code(ptr %t98, i32 2) store ptr %t99, ptr %t100 %t101 = load ptr, ptr %t97 %t102 = call ptr @lp_str_concat(ptr @.str1221, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str1222) %t104 = call ptr @fn_emit_bind(ptr %t103) store ptr %t104, ptr %t105 %t106 = load ptr, ptr %t94 %t107 = call ptr @lp_str_concat(ptr @.str1223, ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str1224) %t109 = load ptr, ptr %t105 %t110 = call ptr @lp_str_concat(ptr %t108, ptr %t109) %t111 = call ptr @lp_str_concat(ptr %t110, ptr @.str1225) %t112 = load ptr, ptr %t100 %t113 = call ptr @lp_str_concat(ptr %t111, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str1226) %t115 = call ptr @fn_emit_bind(ptr %t114) %t116 = call ptr @fn_val(ptr %t115, ptr @.str1227) store ptr %t116, ptr %retval br label %ret ifend16: %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str1228) %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then17, label %ifend19 then17: %t120 = load ptr, ptr %t1 %t121 = call ptr @fn_arg_code(ptr %t120, i32 0) store ptr %t121, ptr %t122 %t123 = load ptr, ptr %t122 %t124 = call ptr @lp_str_concat(ptr @.str1229, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str1230) %t126 = call ptr @fn_emit_bind(ptr %t125) store ptr %t126, ptr %t127 %t128 = load ptr, ptr %t127 %t129 = call ptr @lp_str_concat(ptr @.str1231, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1232) %t131 = call ptr @fn_emit_bind(ptr %t130) %t132 = call ptr @fn_val(ptr %t131, ptr @.str1233) store ptr %t132, ptr %retval br label %ret ifend19: %t133 = load ptr, ptr %t0 %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str1234) %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then20, label %ifend22 then20: %t136 = load ptr, ptr %t1 %t137 = call ptr @fn_arg_code(ptr %t136, i32 0) store ptr %t137, ptr %t138 call void @fn_emit(ptr @.str1235) %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str1236) %t140 = call ptr @fn_val(ptr @.str1237, ptr @.str1238) store ptr %t140, ptr %retval br label %ret ifend22: %t141 = load ptr, ptr %t0 %t142 = call i32 @lp_str_eq(ptr %t141, ptr @.str1239) %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then23, label %ifend25 then23: store i32 1, ptr @g_g_uses_world_despawn %t144 = load ptr, ptr %t1 %t145 = call ptr @fn_arg_code(ptr %t144, i32 0) store ptr %t145, ptr %t146 call void @fn_emit(ptr @.str1240) %t147 = load ptr, ptr %t146 call void @fn_emit(ptr %t147) call void @fn_emit(ptr @.str1241) %t148 = call ptr @fn_val(ptr @.str1242, ptr @.str1243) store ptr %t148, ptr %retval br label %ret ifend25: %t149 = load ptr, ptr %t0 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str1244) %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then26, label %ifend28 then26: %t152 = call ptr @fn_emit_bind(ptr @.str1245) %t153 = call ptr @fn_val(ptr %t152, ptr @.str1246) store ptr %t153, ptr %retval br label %ret ifend28: %t154 = load ptr, ptr %t0 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str1247) %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %then29, label %ifend31 then29: %t157 = load ptr, ptr %t1 %t158 = call ptr @fn_arg_code(ptr %t157, i32 0) store ptr %t158, ptr %t159 %t160 = call ptr @fn_emit_bind(ptr @.str1248) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t161 %t163 = call ptr @lp_str_concat(ptr @.str1249, ptr %t162) %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str1250) %t165 = load ptr, ptr %t159 %t166 = call ptr @lp_str_concat(ptr %t164, ptr %t165) %t167 = call ptr @fn_emit_bind(ptr %t166) store ptr %t167, ptr %t168 %t169 = load ptr, ptr %t168 %t170 = call ptr @lp_str_concat(ptr @.str1251, ptr %t169) %t171 = call ptr @fn_emit_bind(ptr %t170) %t172 = call ptr @fn_val(ptr %t171, ptr @.str1252) store ptr %t172, ptr %retval br label %ret ifend31: %t173 = load ptr, ptr %t0 %t174 = call i32 @lp_str_eq(ptr %t173, ptr @.str1253) %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then32, label %ifend34 then32: %t176 = load ptr, ptr %t1 %t177 = call ptr @fn_arg_code(ptr %t176, i32 0) store ptr %t177, ptr %t178 call void @fn_emit(ptr @.str1254) %t179 = load ptr, ptr %t178 call void @fn_emit(ptr %t179) call void @fn_emit(ptr @.str1255) call void @fn_emit(ptr @.str1256) store i32 1, ptr @g_g_term %t180 = call ptr @fn_val(ptr @.str1257, ptr @.str1258) store ptr %t180, ptr %retval br label %ret ifend34: %t181 = load ptr, ptr %t0 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str1259) %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then35, label %ifend37 then35: %t184 = call ptr @fn_stdstream_rhs(i32 2) %t185 = call ptr @fn_emit_bind(ptr %t184) %t186 = call ptr @fn_val(ptr %t185, ptr @.str1260) store ptr %t186, ptr %retval br label %ret ifend37: %t187 = load ptr, ptr %t0 %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str1261) %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then38, label %ifend40 then38: %t190 = call ptr @fn_stdstream_rhs(i32 1) %t191 = call ptr @fn_emit_bind(ptr %t190) %t192 = call ptr @fn_val(ptr %t191, ptr @.str1262) store ptr %t192, ptr %retval br label %ret ifend40: %t193 = load ptr, ptr %t0 %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str1263) %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %then41, label %ifend43 then41: %t196 = load ptr, ptr %t1 %t197 = call ptr @fn_arg_code(ptr %t196, i32 0) store ptr %t197, ptr %t198 %t199 = load ptr, ptr %t198 %t200 = call ptr @lp_str_concat(ptr @.str1264, ptr %t199) %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str1265) %t202 = call ptr @fn_emit_bind(ptr %t201) %t203 = call ptr @fn_val(ptr %t202, ptr @.str1266) store ptr %t203, ptr %retval br label %ret ifend43: %t204 = load ptr, ptr %t0 %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str1267) %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %then44, label %ifend46 then44: %t207 = load ptr, ptr %t1 %t208 = call ptr @fn_arg_code(ptr %t207, i32 0) store ptr %t208, ptr %t209 %t210 = load ptr, ptr %t209 %t211 = call ptr @lp_str_concat(ptr @.str1268, ptr %t210) %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str1269) %t213 = call ptr @fn_emit_bind(ptr %t212) %t214 = call ptr @fn_val(ptr %t213, ptr @.str1270) store ptr %t214, ptr %retval br label %ret ifend46: store i32 0, ptr @g_g_intrin_ok %t215 = call ptr @fn_val(ptr @.str1271, ptr @.str1272) store ptr %t215, ptr %retval br label %ret ret: %t216 = load ptr, ptr %retval ret ptr %t216 } define ptr @fn_stdstream_rhs(i32 %arg_fd) { entry: %retval = alloca ptr %t0 = alloca i32 store i32 %arg_fd, ptr %t0 %t1 = load i32, ptr @g_g_target_win %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %then0, label %ifend2 then0: %t3 = load i32, ptr %t0 %t4 = call ptr @fn_itoa(i32 %t3) %t5 = call ptr @lp_str_concat(ptr @.str1273, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1274) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load i32, ptr %t0 %t8 = icmp eq i32 %t7, 2 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: store ptr @.str1275, ptr %retval br label %ret ifend5: store ptr @.str1276, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval ret ptr %t11 } define i32 @fn_is_intrinsic2(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t12 = alloca i32 %t23 = alloca i32 %t34 = alloca i32 %t45 = alloca i32 %t46 = alloca i32 %t64 = alloca i32 %t75 = alloca i32 %t92 = alloca i32 %t106 = alloca i32 %t107 = alloca i32 %t125 = alloca i32 %t126 = alloca i32 %t127 = alloca i32 %t152 = alloca i32 %t153 = alloca i32 %t171 = alloca i32 %t172 = alloca i32 %t173 = alloca i32 %t198 = alloca i32 %t199 = alloca i32 store ptr %arg_name, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1277) %t4 = icmp ne i32 %t3, 0 %t5 = zext i1 %t4 to i32 store i32 %t5, ptr %t1 br i1 %t4, label %scend1, label %sc0 sc0: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str1278) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t1 br label %scend1 scend1: %t10 = load i32, ptr %t1 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then2, label %ifend4 then2: store i32 1, ptr %retval br label %ret ifend4: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str1279) %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t12 br i1 %t15, label %scend6, label %sc5 sc5: %t17 = load ptr, ptr %t0 %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str1280) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t12 br label %scend6 scend6: %t21 = load i32, ptr %t12 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then7, label %ifend9 then7: store i32 1, ptr %retval br label %ret ifend9: %t24 = load ptr, ptr %t0 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str1281) %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t23 br i1 %t26, label %scend11, label %sc10 sc10: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str1282) %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t23 br label %scend11 scend11: %t32 = load i32, ptr %t23 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then12, label %ifend14 then12: store i32 1, ptr %retval br label %ret ifend14: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1283) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t34 br i1 %t37, label %scend16, label %sc15 sc15: %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str1284) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t34 br label %scend16 scend16: %t43 = load i32, ptr %t34 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then17, label %ifend19 then17: store i32 1, ptr %retval br label %ret ifend19: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1285) %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t46 br i1 %t49, label %scend21, label %sc20 sc20: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str1286) %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t46 br label %scend21 scend21: %t55 = load i32, ptr %t46 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t45 br i1 %t56, label %scend23, label %sc22 sc22: %t58 = load ptr, ptr %t0 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str1287) %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t45 br label %scend23 scend23: %t62 = load i32, ptr %t45 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then24, label %ifend26 then24: store i32 1, ptr %retval br label %ret ifend26: %t65 = load ptr, ptr %t0 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str1288) %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t64 br i1 %t67, label %scend28, label %sc27 sc27: %t69 = load ptr, ptr %t0 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str1289) %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t64 br label %scend28 scend28: %t73 = load i32, ptr %t64 %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then29, label %ifend31 then29: store i32 1, ptr %retval br label %ret ifend31: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str1290) %t78 = icmp ne i32 %t77, 0 %t79 = zext i1 %t78 to i32 store i32 %t79, ptr %t75 br i1 %t78, label %scend33, label %sc32 sc32: %t80 = load ptr, ptr %t0 %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str1291) %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t75 br label %scend33 scend33: %t84 = load i32, ptr %t75 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then34, label %ifend36 then34: store i32 1, ptr %retval br label %ret ifend36: %t86 = load ptr, ptr %t0 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str1292) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then37, label %ifend39 then37: store i32 1, ptr %retval br label %ret ifend39: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str1293) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then40, label %ifend42 then40: store i32 1, ptr %retval br label %ret ifend42: %t93 = load ptr, ptr %t0 %t94 = call i32 @lp_str_eq(ptr %t93, ptr @.str1294) %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t92 br i1 %t95, label %scend44, label %sc43 sc43: %t97 = load ptr, ptr %t0 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str1295) %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t92 br label %scend44 scend44: %t101 = load i32, ptr %t92 %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then45, label %ifend47 then45: store i32 1, ptr %retval br label %ret ifend47: %t103 = load ptr, ptr %t0 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str1296) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then48, label %ifend50 then48: store i32 1, ptr %retval br label %ret ifend50: %t108 = load ptr, ptr %t0 %t109 = call i32 @lp_str_eq(ptr %t108, ptr @.str1297) %t110 = icmp ne i32 %t109, 0 %t111 = zext i1 %t110 to i32 store i32 %t111, ptr %t107 br i1 %t110, label %scend52, label %sc51 sc51: %t112 = load ptr, ptr %t0 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str1298) %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t107 br label %scend52 scend52: %t116 = load i32, ptr %t107 %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t106 br i1 %t117, label %scend54, label %sc53 sc53: %t119 = load ptr, ptr %t0 %t120 = call i32 @lp_str_eq(ptr %t119, ptr @.str1299) %t121 = icmp ne i32 %t120, 0 %t122 = zext i1 %t121 to i32 store i32 %t122, ptr %t106 br label %scend54 scend54: %t123 = load i32, ptr %t106 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then55, label %ifend57 then55: store i32 1, ptr %retval br label %ret ifend57: %t128 = load ptr, ptr %t0 %t129 = call i32 @lp_str_eq(ptr %t128, ptr @.str1300) %t130 = icmp ne i32 %t129, 0 %t131 = zext i1 %t130 to i32 store i32 %t131, ptr %t127 br i1 %t130, label %scend59, label %sc58 sc58: %t132 = load ptr, ptr %t0 %t133 = call i32 @lp_str_eq(ptr %t132, ptr @.str1301) %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t127 br label %scend59 scend59: %t136 = load i32, ptr %t127 %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t126 br i1 %t137, label %scend61, label %sc60 sc60: %t139 = load ptr, ptr %t0 %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str1302) %t141 = icmp ne i32 %t140, 0 %t142 = zext i1 %t141 to i32 store i32 %t142, ptr %t126 br label %scend61 scend61: %t143 = load i32, ptr %t126 %t144 = icmp ne i32 %t143, 0 %t145 = zext i1 %t144 to i32 store i32 %t145, ptr %t125 br i1 %t144, label %scend63, label %sc62 sc62: %t146 = load ptr, ptr %t0 %t147 = call i32 @lp_str_eq(ptr %t146, ptr @.str1303) %t148 = icmp ne i32 %t147, 0 %t149 = zext i1 %t148 to i32 store i32 %t149, ptr %t125 br label %scend63 scend63: %t150 = load i32, ptr %t125 %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then64, label %ifend66 then64: store i32 1, ptr %retval br label %ret ifend66: %t154 = load ptr, ptr %t0 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str1304) %t156 = icmp ne i32 %t155, 0 %t157 = zext i1 %t156 to i32 store i32 %t157, ptr %t153 br i1 %t156, label %scend68, label %sc67 sc67: %t158 = load ptr, ptr %t0 %t159 = call i32 @lp_str_eq(ptr %t158, ptr @.str1305) %t160 = icmp ne i32 %t159, 0 %t161 = zext i1 %t160 to i32 store i32 %t161, ptr %t153 br label %scend68 scend68: %t162 = load i32, ptr %t153 %t163 = icmp ne i32 %t162, 0 %t164 = zext i1 %t163 to i32 store i32 %t164, ptr %t152 br i1 %t163, label %scend70, label %sc69 sc69: %t165 = load ptr, ptr %t0 %t166 = call i32 @lp_str_eq(ptr %t165, ptr @.str1306) %t167 = icmp ne i32 %t166, 0 %t168 = zext i1 %t167 to i32 store i32 %t168, ptr %t152 br label %scend70 scend70: %t169 = load i32, ptr %t152 %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %then71, label %ifend73 then71: store i32 1, ptr %retval br label %ret ifend73: %t174 = load ptr, ptr %t0 %t175 = call i32 @lp_str_eq(ptr %t174, ptr @.str1307) %t176 = icmp ne i32 %t175, 0 %t177 = zext i1 %t176 to i32 store i32 %t177, ptr %t173 br i1 %t176, label %scend75, label %sc74 sc74: %t178 = load ptr, ptr %t0 %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str1308) %t180 = icmp ne i32 %t179, 0 %t181 = zext i1 %t180 to i32 store i32 %t181, ptr %t173 br label %scend75 scend75: %t182 = load i32, ptr %t173 %t183 = icmp ne i32 %t182, 0 %t184 = zext i1 %t183 to i32 store i32 %t184, ptr %t172 br i1 %t183, label %scend77, label %sc76 sc76: %t185 = load ptr, ptr %t0 %t186 = call i32 @lp_str_eq(ptr %t185, ptr @.str1309) %t187 = icmp ne i32 %t186, 0 %t188 = zext i1 %t187 to i32 store i32 %t188, ptr %t172 br label %scend77 scend77: %t189 = load i32, ptr %t172 %t190 = icmp ne i32 %t189, 0 %t191 = zext i1 %t190 to i32 store i32 %t191, ptr %t171 br i1 %t190, label %scend79, label %sc78 sc78: %t192 = load ptr, ptr %t0 %t193 = call i32 @lp_str_eq(ptr %t192, ptr @.str1310) %t194 = icmp ne i32 %t193, 0 %t195 = zext i1 %t194 to i32 store i32 %t195, ptr %t171 br label %scend79 scend79: %t196 = load i32, ptr %t171 %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then80, label %ifend82 then80: store i32 1, ptr %retval br label %ret ifend82: %t200 = load ptr, ptr %t0 %t201 = call i32 @lp_str_eq(ptr %t200, ptr @.str1311) %t202 = icmp ne i32 %t201, 0 %t203 = zext i1 %t202 to i32 store i32 %t203, ptr %t199 br i1 %t202, label %scend84, label %sc83 sc83: %t204 = load ptr, ptr %t0 %t205 = call i32 @lp_str_eq(ptr %t204, ptr @.str1312) %t206 = icmp ne i32 %t205, 0 %t207 = zext i1 %t206 to i32 store i32 %t207, ptr %t199 br label %scend84 scend84: %t208 = load i32, ptr %t199 %t209 = icmp ne i32 %t208, 0 %t210 = zext i1 %t209 to i32 store i32 %t210, ptr %t198 br i1 %t209, label %scend86, label %sc85 sc85: %t211 = load ptr, ptr %t0 %t212 = call i32 @lp_str_eq(ptr %t211, ptr @.str1313) %t213 = icmp ne i32 %t212, 0 %t214 = zext i1 %t213 to i32 store i32 %t214, ptr %t198 br label %scend86 scend86: %t215 = load i32, ptr %t198 %t216 = icmp ne i32 %t215, 0 br i1 %t216, label %then87, label %ifend89 then87: store i32 1, ptr %retval br label %ret ifend89: store i32 0, ptr %retval br label %ret ret: %t217 = load i32, ptr %retval ret i32 %t217 } define ptr @fn_emit_intrinsic2(ptr %arg_name, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t7 = alloca ptr %t15 = alloca ptr %t18 = alloca ptr %t21 = alloca ptr %t26 = alloca ptr %t36 = alloca ptr %t39 = alloca ptr %t41 = alloca ptr %t67 = alloca ptr %t87 = alloca ptr %t118 = alloca ptr %t121 = alloca ptr %t124 = alloca ptr %t127 = alloca ptr %t138 = alloca ptr %t141 = alloca ptr %t144 = alloca ptr %t158 = alloca ptr %t166 = alloca ptr %t174 = alloca ptr %t185 = alloca ptr %t188 = alloca ptr %t202 = alloca ptr %t210 = alloca ptr %t218 = alloca ptr %t226 = alloca ptr %t237 = alloca ptr %t240 = alloca ptr %t243 = alloca ptr %t246 = alloca ptr %t257 = alloca ptr %t265 = alloca ptr %t276 = alloca ptr %t279 = alloca ptr %t288 = alloca ptr %t291 = alloca ptr %t300 = alloca ptr %t303 = alloca ptr %t312 = alloca ptr %t315 = alloca ptr %t329 = alloca ptr %t332 = alloca ptr %t335 = alloca ptr %t345 = alloca ptr %t348 = alloca ptr %t351 = alloca ptr %t361 = alloca ptr %t364 = alloca ptr %t373 = alloca ptr %t384 = alloca ptr %t395 = alloca ptr %t406 = alloca ptr %t417 = alloca ptr %t420 = alloca ptr %t434 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1314) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t1 %t6 = call ptr @fn_arg_code(ptr %t5, i32 0) store ptr %t6, ptr %t7 call void @fn_emit(ptr @.str1315) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str1316) %t9 = call ptr @fn_val(ptr @.str1317, ptr @.str1318) store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str1319) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: %t13 = load ptr, ptr %t1 %t14 = call ptr @fn_arg_code(ptr %t13, i32 0) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t1 %t17 = call ptr @fn_arg_code(ptr %t16, i32 1) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t1 %t20 = call ptr @fn_arg_code(ptr %t19, i32 2) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t21 %t23 = call ptr @lp_str_concat(ptr @.str1320, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1321) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 call void @fn_emit(ptr @.str1322) %t27 = load ptr, ptr %t15 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str1323) %t28 = load ptr, ptr %t18 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str1324) %t29 = load ptr, ptr %t26 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str1325) %t30 = call ptr @fn_val(ptr @.str1326, ptr @.str1327) store ptr %t30, ptr %retval br label %ret ifend5: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str1328) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then6, label %ifend8 then6: %t34 = load ptr, ptr %t1 %t35 = call ptr @fn_arg_code(ptr %t34, i32 0) store ptr %t35, ptr %t36 %t37 = load ptr, ptr %t1 %t38 = call ptr @fn_arg_code(ptr %t37, i32 1) store ptr %t38, ptr %t39 %t40 = call ptr @fn_nreg() store ptr %t40, ptr %t41 call void @fn_emit(ptr @.str1329) %t42 = load ptr, ptr %t41 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str1330) %t43 = load ptr, ptr %t36 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str1331) %t44 = load ptr, ptr %t39 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str1332) %t45 = load ptr, ptr %t41 %t46 = call ptr @fn_val(ptr %t45, ptr @.str1333) store ptr %t46, ptr %retval br label %ret ifend8: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1334) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then9, label %ifend11 then9: %t50 = call ptr @fn_emit_bind(ptr @.str1335) %t51 = call ptr @fn_val(ptr %t50, ptr @.str1336) store ptr %t51, ptr %retval br label %ret ifend11: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str1337) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then12, label %ifend14 then12: %t55 = load ptr, ptr %t1 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp ult i32 0, %t61 br i1 %t62, label %ixok15, label %ixbad16 ixbad16: %t63 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str1338, i32 0, i32 %t61) call void @exit(i32 1) unreachable ixok15: %t64 = getelementptr inbounds ptr, ptr %t59, i32 0 %t65 = load ptr, ptr %t64 %t66 = call ptr @fn_emit_expr(ptr %t65) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 0 %t70 = load ptr, ptr %t69 %t71 = call ptr @fn_val(ptr %t70, ptr @.str1339) store ptr %t71, ptr %retval br label %ret ifend14: %t72 = load ptr, ptr %t0 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str1340) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then17, label %ifend19 then17: %t75 = load ptr, ptr %t1 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 7 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 1 %t81 = load i32, ptr %t80 %t82 = icmp ult i32 0, %t81 br i1 %t82, label %ixok20, label %ixbad21 ixbad21: %t83 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t83, ptr @.fmt_bounds, ptr @.str1341, i32 0, i32 %t81) call void @exit(i32 1) unreachable ixok20: %t84 = getelementptr inbounds ptr, ptr %t79, i32 0 %t85 = load ptr, ptr %t84 %t86 = call ptr @fn_emit_expr(ptr %t85) store ptr %t86, ptr %t87 %t88 = load ptr, ptr %t87 %t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0 %t90 = load ptr, ptr %t89 %t91 = call ptr @fn_val(ptr %t90, ptr @.str1342) store ptr %t91, ptr %retval br label %ret ifend19: %t92 = load ptr, ptr %t0 %t93 = call i32 @lp_str_eq(ptr %t92, ptr @.str1343) %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then22, label %ifend24 then22: %t95 = load i32, ptr @g_g_windowed %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then25, label %ifend27 then25: %t97 = call ptr @fn_val(ptr @.str1344, ptr @.str1345) store ptr %t97, ptr %retval br label %ret ifend27: %t98 = call ptr @fn_val(ptr @.str1346, ptr @.str1347) store ptr %t98, ptr %retval br label %ret ifend24: %t99 = load ptr, ptr %t0 %t100 = call i32 @lp_str_eq(ptr %t99, ptr @.str1348) %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then28, label %ifend30 then28: %t102 = call ptr @fn_val(ptr @.str1349, ptr @.str1350) store ptr %t102, ptr %retval br label %ret ifend30: %t103 = load ptr, ptr %t0 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str1351) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then31, label %ifend33 then31: %t106 = call ptr @fn_emit_bind(ptr @.str1352) %t107 = call ptr @fn_val(ptr %t106, ptr @.str1353) store ptr %t107, ptr %retval br label %ret ifend33: %t108 = load ptr, ptr %t0 %t109 = call i32 @lp_str_eq(ptr %t108, ptr @.str1354) %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then34, label %ifend36 then34: %t111 = call ptr @fn_emit_bind(ptr @.str1355) %t112 = call ptr @fn_val(ptr %t111, ptr @.str1356) store ptr %t112, ptr %retval br label %ret ifend36: %t113 = load ptr, ptr %t0 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str1357) %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then37, label %ifend39 then37: %t116 = load ptr, ptr %t1 %t117 = call ptr @fn_arg_code(ptr %t116, i32 0) store ptr %t117, ptr %t118 %t119 = load ptr, ptr %t1 %t120 = call ptr @fn_arg_code(ptr %t119, i32 1) store ptr %t120, ptr %t121 %t122 = load ptr, ptr %t1 %t123 = call ptr @fn_arg_code(ptr %t122, i32 2) store ptr %t123, ptr %t124 %t125 = load ptr, ptr %t1 %t126 = call ptr @fn_arg_code(ptr %t125, i32 3) store ptr %t126, ptr %t127 call void @fn_emit(ptr @.str1358) %t128 = load ptr, ptr %t118 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str1359) %t129 = load ptr, ptr %t121 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str1360) %t130 = load ptr, ptr %t124 call void @fn_emit(ptr %t130) call void @fn_emit(ptr @.str1361) %t131 = load ptr, ptr %t127 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str1362) %t132 = call ptr @fn_val(ptr @.str1363, ptr @.str1364) store ptr %t132, ptr %retval br label %ret ifend39: %t133 = load ptr, ptr %t0 %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str1365) %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then40, label %ifend42 then40: %t136 = load ptr, ptr %t1 %t137 = call ptr @fn_arg_code(ptr %t136, i32 0) store ptr %t137, ptr %t138 %t139 = load ptr, ptr %t1 %t140 = call ptr @fn_arg_code(ptr %t139, i32 1) store ptr %t140, ptr %t141 %t142 = load ptr, ptr %t1 %t143 = call ptr @fn_arg_code(ptr %t142, i32 2) store ptr %t143, ptr %t144 call void @fn_emit(ptr @.str1366) %t145 = load ptr, ptr %t138 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str1367) %t146 = load ptr, ptr %t141 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str1368) %t147 = load ptr, ptr %t144 call void @fn_emit(ptr %t147) call void @fn_emit(ptr @.str1369) %t148 = call ptr @fn_val(ptr @.str1370, ptr @.str1371) store ptr %t148, ptr %retval br label %ret ifend42: %t149 = load ptr, ptr %t0 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str1372) %t151 = icmp ne i32 %t150, 0 br i1 %t151, label %then43, label %ifend45 then43: call void @fn_emit(ptr @.str1373) %t152 = call ptr @fn_val(ptr @.str1374, ptr @.str1375) store ptr %t152, ptr %retval br label %ret ifend45: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str1376) %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then46, label %ifend48 then46: %t156 = load ptr, ptr %t1 %t157 = call ptr @fn_arg_code(ptr %t156, i32 0) store ptr %t157, ptr %t158 call void @fn_emit(ptr @.str1377) %t159 = load ptr, ptr %t158 call void @fn_emit(ptr %t159) call void @fn_emit(ptr @.str1378) %t160 = call ptr @fn_val(ptr @.str1379, ptr @.str1380) store ptr %t160, ptr %retval br label %ret ifend48: %t161 = load ptr, ptr %t0 %t162 = call i32 @lp_str_eq(ptr %t161, ptr @.str1381) %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then49, label %ifend51 then49: %t164 = load ptr, ptr %t1 %t165 = call ptr @fn_arg_code(ptr %t164, i32 0) store ptr %t165, ptr %t166 call void @fn_emit(ptr @.str1382) %t167 = load ptr, ptr %t166 call void @fn_emit(ptr %t167) call void @fn_emit(ptr @.str1383) %t168 = call ptr @fn_val(ptr @.str1384, ptr @.str1385) store ptr %t168, ptr %retval br label %ret ifend51: %t169 = load ptr, ptr %t0 %t170 = call i32 @lp_str_eq(ptr %t169, ptr @.str1386) %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then52, label %ifend54 then52: %t172 = load ptr, ptr %t1 %t173 = call ptr @fn_arg_code(ptr %t172, i32 0) store ptr %t173, ptr %t174 %t175 = load ptr, ptr %t174 %t176 = call ptr @lp_str_concat(ptr @.str1387, ptr %t175) %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str1388) %t178 = call ptr @fn_emit_bind(ptr %t177) %t179 = call ptr @fn_val(ptr %t178, ptr @.str1389) store ptr %t179, ptr %retval br label %ret ifend54: %t180 = load ptr, ptr %t0 %t181 = call i32 @lp_str_eq(ptr %t180, ptr @.str1390) %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %then55, label %ifend57 then55: %t183 = load ptr, ptr %t1 %t184 = call ptr @fn_arg_code(ptr %t183, i32 0) store ptr %t184, ptr %t185 %t186 = load ptr, ptr %t1 %t187 = call ptr @fn_arg_code(ptr %t186, i32 1) store ptr %t187, ptr %t188 %t189 = load ptr, ptr %t185 %t190 = call ptr @lp_str_concat(ptr @.str1391, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str1392) %t192 = load ptr, ptr %t188 %t193 = call ptr @lp_str_concat(ptr %t191, ptr %t192) %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str1393) %t195 = call ptr @fn_emit_bind(ptr %t194) %t196 = call ptr @fn_val(ptr %t195, ptr @.str1394) store ptr %t196, ptr %retval br label %ret ifend57: %t197 = load ptr, ptr %t0 %t198 = call i32 @lp_str_eq(ptr %t197, ptr @.str1395) %t199 = icmp ne i32 %t198, 0 br i1 %t199, label %then58, label %ifend60 then58: %t200 = load ptr, ptr %t1 %t201 = call ptr @fn_arg_code(ptr %t200, i32 0) store ptr %t201, ptr %t202 call void @fn_emit(ptr @.str1396) %t203 = load ptr, ptr %t202 call void @fn_emit(ptr %t203) call void @fn_emit(ptr @.str1397) %t204 = call ptr @fn_val(ptr @.str1398, ptr @.str1399) store ptr %t204, ptr %retval br label %ret ifend60: %t205 = load ptr, ptr %t0 %t206 = call i32 @lp_str_eq(ptr %t205, ptr @.str1400) %t207 = icmp ne i32 %t206, 0 br i1 %t207, label %then61, label %ifend63 then61: %t208 = load ptr, ptr %t1 %t209 = call ptr @fn_arg_code(ptr %t208, i32 0) store ptr %t209, ptr %t210 call void @fn_emit(ptr @.str1401) %t211 = load ptr, ptr %t210 call void @fn_emit(ptr %t211) call void @fn_emit(ptr @.str1402) %t212 = call ptr @fn_val(ptr @.str1403, ptr @.str1404) store ptr %t212, ptr %retval br label %ret ifend63: %t213 = load ptr, ptr %t0 %t214 = call i32 @lp_str_eq(ptr %t213, ptr @.str1405) %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %then64, label %ifend66 then64: %t216 = load ptr, ptr %t1 %t217 = call ptr @fn_arg_code(ptr %t216, i32 0) store ptr %t217, ptr %t218 call void @fn_emit(ptr @.str1406) %t219 = load ptr, ptr %t218 call void @fn_emit(ptr %t219) call void @fn_emit(ptr @.str1407) %t220 = call ptr @fn_val(ptr @.str1408, ptr @.str1409) store ptr %t220, ptr %retval br label %ret ifend66: %t221 = load ptr, ptr %t0 %t222 = call i32 @lp_str_eq(ptr %t221, ptr @.str1410) %t223 = icmp ne i32 %t222, 0 br i1 %t223, label %then67, label %ifend69 then67: %t224 = load ptr, ptr %t1 %t225 = call ptr @fn_arg_code(ptr %t224, i32 0) store ptr %t225, ptr %t226 %t227 = load ptr, ptr %t226 %t228 = call ptr @lp_str_concat(ptr @.str1411, ptr %t227) %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str1412) %t230 = call ptr @fn_emit_bind(ptr %t229) %t231 = call ptr @fn_val(ptr %t230, ptr @.str1413) store ptr %t231, ptr %retval br label %ret ifend69: %t232 = load ptr, ptr %t0 %t233 = call i32 @lp_str_eq(ptr %t232, ptr @.str1414) %t234 = icmp ne i32 %t233, 0 br i1 %t234, label %then70, label %ifend72 then70: %t235 = load ptr, ptr %t1 %t236 = call ptr @fn_arg_code(ptr %t235, i32 0) store ptr %t236, ptr %t237 %t238 = load ptr, ptr %t1 %t239 = call ptr @fn_arg_code(ptr %t238, i32 1) store ptr %t239, ptr %t240 %t241 = load ptr, ptr %t1 %t242 = call ptr @fn_arg_code(ptr %t241, i32 2) store ptr %t242, ptr %t243 %t244 = load ptr, ptr %t1 %t245 = call ptr @fn_arg_code(ptr %t244, i32 3) store ptr %t245, ptr %t246 call void @fn_emit(ptr @.str1415) %t247 = load ptr, ptr %t237 call void @fn_emit(ptr %t247) call void @fn_emit(ptr @.str1416) %t248 = load ptr, ptr %t240 call void @fn_emit(ptr %t248) call void @fn_emit(ptr @.str1417) %t249 = load ptr, ptr %t243 call void @fn_emit(ptr %t249) call void @fn_emit(ptr @.str1418) %t250 = load ptr, ptr %t246 call void @fn_emit(ptr %t250) call void @fn_emit(ptr @.str1419) %t251 = call ptr @fn_val(ptr @.str1420, ptr @.str1421) store ptr %t251, ptr %retval br label %ret ifend72: %t252 = load ptr, ptr %t0 %t253 = call i32 @lp_str_eq(ptr %t252, ptr @.str1422) %t254 = icmp ne i32 %t253, 0 br i1 %t254, label %then73, label %ifend75 then73: %t255 = load ptr, ptr %t1 %t256 = call ptr @fn_arg_code(ptr %t255, i32 0) store ptr %t256, ptr %t257 call void @fn_emit(ptr @.str1423) %t258 = load ptr, ptr %t257 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str1424) %t259 = call ptr @fn_val(ptr @.str1425, ptr @.str1426) store ptr %t259, ptr %retval br label %ret ifend75: %t260 = load ptr, ptr %t0 %t261 = call i32 @lp_str_eq(ptr %t260, ptr @.str1427) %t262 = icmp ne i32 %t261, 0 br i1 %t262, label %then76, label %ifend78 then76: %t263 = load ptr, ptr %t1 %t264 = call ptr @fn_arg_code(ptr %t263, i32 0) store ptr %t264, ptr %t265 %t266 = load ptr, ptr %t265 %t267 = call ptr @lp_str_concat(ptr @.str1428, ptr %t266) %t268 = call ptr @lp_str_concat(ptr %t267, ptr @.str1429) %t269 = call ptr @fn_emit_bind(ptr %t268) %t270 = call ptr @fn_val(ptr %t269, ptr @.str1430) store ptr %t270, ptr %retval br label %ret ifend78: %t271 = load ptr, ptr %t0 %t272 = call i32 @lp_str_eq(ptr %t271, ptr @.str1431) %t273 = icmp ne i32 %t272, 0 br i1 %t273, label %then79, label %ifend81 then79: %t274 = load ptr, ptr %t1 %t275 = call ptr @fn_arg_code(ptr %t274, i32 0) store ptr %t275, ptr %t276 %t277 = load ptr, ptr %t1 %t278 = call ptr @fn_arg_code(ptr %t277, i32 1) store ptr %t278, ptr %t279 call void @fn_emit(ptr @.str1432) %t280 = load ptr, ptr %t276 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str1433) %t281 = load ptr, ptr %t279 call void @fn_emit(ptr %t281) call void @fn_emit(ptr @.str1434) %t282 = call ptr @fn_val(ptr @.str1435, ptr @.str1436) store ptr %t282, ptr %retval br label %ret ifend81: %t283 = load ptr, ptr %t0 %t284 = call i32 @lp_str_eq(ptr %t283, ptr @.str1437) %t285 = icmp ne i32 %t284, 0 br i1 %t285, label %then82, label %ifend84 then82: %t286 = load ptr, ptr %t1 %t287 = call ptr @fn_arg_code(ptr %t286, i32 0) store ptr %t287, ptr %t288 %t289 = load ptr, ptr %t1 %t290 = call ptr @fn_arg_code(ptr %t289, i32 1) store ptr %t290, ptr %t291 call void @fn_emit(ptr @.str1438) %t292 = load ptr, ptr %t288 call void @fn_emit(ptr %t292) call void @fn_emit(ptr @.str1439) %t293 = load ptr, ptr %t291 call void @fn_emit(ptr %t293) call void @fn_emit(ptr @.str1440) %t294 = call ptr @fn_val(ptr @.str1441, ptr @.str1442) store ptr %t294, ptr %retval br label %ret ifend84: %t295 = load ptr, ptr %t0 %t296 = call i32 @lp_str_eq(ptr %t295, ptr @.str1443) %t297 = icmp ne i32 %t296, 0 br i1 %t297, label %then85, label %ifend87 then85: %t298 = load ptr, ptr %t1 %t299 = call ptr @fn_arg_code(ptr %t298, i32 0) store ptr %t299, ptr %t300 %t301 = load ptr, ptr %t1 %t302 = call ptr @fn_arg_code(ptr %t301, i32 1) store ptr %t302, ptr %t303 call void @fn_emit(ptr @.str1444) %t304 = load ptr, ptr %t300 call void @fn_emit(ptr %t304) call void @fn_emit(ptr @.str1445) %t305 = load ptr, ptr %t303 call void @fn_emit(ptr %t305) call void @fn_emit(ptr @.str1446) %t306 = call ptr @fn_val(ptr @.str1447, ptr @.str1448) store ptr %t306, ptr %retval br label %ret ifend87: %t307 = load ptr, ptr %t0 %t308 = call i32 @lp_str_eq(ptr %t307, ptr @.str1449) %t309 = icmp ne i32 %t308, 0 br i1 %t309, label %then88, label %ifend90 then88: %t310 = load ptr, ptr %t1 %t311 = call ptr @fn_arg_code(ptr %t310, i32 0) store ptr %t311, ptr %t312 %t313 = load ptr, ptr %t1 %t314 = call ptr @fn_arg_code(ptr %t313, i32 1) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t312 %t317 = call ptr @lp_str_concat(ptr @.str1450, ptr %t316) %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str1451) %t319 = load ptr, ptr %t315 %t320 = call ptr @lp_str_concat(ptr %t318, ptr %t319) %t321 = call ptr @lp_str_concat(ptr %t320, ptr @.str1452) %t322 = call ptr @fn_emit_bind(ptr %t321) %t323 = call ptr @fn_val(ptr %t322, ptr @.str1453) store ptr %t323, ptr %retval br label %ret ifend90: %t324 = load ptr, ptr %t0 %t325 = call i32 @lp_str_eq(ptr %t324, ptr @.str1454) %t326 = icmp ne i32 %t325, 0 br i1 %t326, label %then91, label %ifend93 then91: %t327 = load ptr, ptr %t1 %t328 = call ptr @fn_arg_code(ptr %t327, i32 0) store ptr %t328, ptr %t329 %t330 = load ptr, ptr %t1 %t331 = call ptr @fn_arg_code(ptr %t330, i32 1) store ptr %t331, ptr %t332 %t333 = load ptr, ptr %t1 %t334 = call ptr @fn_arg_code(ptr %t333, i32 2) store ptr %t334, ptr %t335 call void @fn_emit(ptr @.str1455) %t336 = load ptr, ptr %t329 call void @fn_emit(ptr %t336) call void @fn_emit(ptr @.str1456) %t337 = load ptr, ptr %t332 call void @fn_emit(ptr %t337) call void @fn_emit(ptr @.str1457) %t338 = load ptr, ptr %t335 call void @fn_emit(ptr %t338) call void @fn_emit(ptr @.str1458) %t339 = call ptr @fn_val(ptr @.str1459, ptr @.str1460) store ptr %t339, ptr %retval br label %ret ifend93: %t340 = load ptr, ptr %t0 %t341 = call i32 @lp_str_eq(ptr %t340, ptr @.str1461) %t342 = icmp ne i32 %t341, 0 br i1 %t342, label %then94, label %ifend96 then94: %t343 = load ptr, ptr %t1 %t344 = call ptr @fn_arg_code(ptr %t343, i32 0) store ptr %t344, ptr %t345 %t346 = load ptr, ptr %t1 %t347 = call ptr @fn_arg_code(ptr %t346, i32 1) store ptr %t347, ptr %t348 %t349 = load ptr, ptr %t1 %t350 = call ptr @fn_arg_code(ptr %t349, i32 2) store ptr %t350, ptr %t351 call void @fn_emit(ptr @.str1462) %t352 = load ptr, ptr %t345 call void @fn_emit(ptr %t352) call void @fn_emit(ptr @.str1463) %t353 = load ptr, ptr %t348 call void @fn_emit(ptr %t353) call void @fn_emit(ptr @.str1464) %t354 = load ptr, ptr %t351 call void @fn_emit(ptr %t354) call void @fn_emit(ptr @.str1465) %t355 = call ptr @fn_val(ptr @.str1466, ptr @.str1467) store ptr %t355, ptr %retval br label %ret ifend96: %t356 = load ptr, ptr %t0 %t357 = call i32 @lp_str_eq(ptr %t356, ptr @.str1468) %t358 = icmp ne i32 %t357, 0 br i1 %t358, label %then97, label %ifend99 then97: %t359 = load ptr, ptr %t1 %t360 = call ptr @fn_arg_code(ptr %t359, i32 0) store ptr %t360, ptr %t361 %t362 = load ptr, ptr %t1 %t363 = call ptr @fn_arg_code(ptr %t362, i32 1) store ptr %t363, ptr %t364 call void @fn_emit(ptr @.str1469) %t365 = load ptr, ptr %t361 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str1470) %t366 = load ptr, ptr %t364 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str1471) %t367 = call ptr @fn_val(ptr @.str1472, ptr @.str1473) store ptr %t367, ptr %retval br label %ret ifend99: %t368 = load ptr, ptr %t0 %t369 = call i32 @lp_str_eq(ptr %t368, ptr @.str1474) %t370 = icmp ne i32 %t369, 0 br i1 %t370, label %then100, label %ifend102 then100: %t371 = load ptr, ptr %t1 %t372 = call ptr @fn_arg_code(ptr %t371, i32 0) store ptr %t372, ptr %t373 %t374 = load ptr, ptr %t373 %t375 = call ptr @lp_str_concat(ptr @.str1475, ptr %t374) %t376 = call ptr @lp_str_concat(ptr %t375, ptr @.str1476) %t377 = call ptr @fn_emit_bind(ptr %t376) %t378 = call ptr @fn_val(ptr %t377, ptr @.str1477) store ptr %t378, ptr %retval br label %ret ifend102: %t379 = load ptr, ptr %t0 %t380 = call i32 @lp_str_eq(ptr %t379, ptr @.str1478) %t381 = icmp ne i32 %t380, 0 br i1 %t381, label %then103, label %ifend105 then103: %t382 = load ptr, ptr %t1 %t383 = call ptr @fn_arg_code(ptr %t382, i32 0) store ptr %t383, ptr %t384 %t385 = load ptr, ptr %t384 %t386 = call ptr @lp_str_concat(ptr @.str1479, ptr %t385) %t387 = call ptr @lp_str_concat(ptr %t386, ptr @.str1480) %t388 = call ptr @fn_emit_bind(ptr %t387) %t389 = call ptr @fn_val(ptr %t388, ptr @.str1481) store ptr %t389, ptr %retval br label %ret ifend105: %t390 = load ptr, ptr %t0 %t391 = call i32 @lp_str_eq(ptr %t390, ptr @.str1482) %t392 = icmp ne i32 %t391, 0 br i1 %t392, label %then106, label %ifend108 then106: %t393 = load ptr, ptr %t1 %t394 = call ptr @fn_arg_code(ptr %t393, i32 0) store ptr %t394, ptr %t395 %t396 = load ptr, ptr %t395 %t397 = call ptr @lp_str_concat(ptr @.str1483, ptr %t396) %t398 = call ptr @lp_str_concat(ptr %t397, ptr @.str1484) %t399 = call ptr @fn_emit_bind(ptr %t398) %t400 = call ptr @fn_val(ptr %t399, ptr @.str1485) store ptr %t400, ptr %retval br label %ret ifend108: %t401 = load ptr, ptr %t0 %t402 = call i32 @lp_str_eq(ptr %t401, ptr @.str1486) %t403 = icmp ne i32 %t402, 0 br i1 %t403, label %then109, label %ifend111 then109: %t404 = load ptr, ptr %t1 %t405 = call ptr @fn_arg_code(ptr %t404, i32 0) store ptr %t405, ptr %t406 %t407 = load ptr, ptr %t406 %t408 = call ptr @lp_str_concat(ptr @.str1487, ptr %t407) %t409 = call ptr @lp_str_concat(ptr %t408, ptr @.str1488) %t410 = call ptr @fn_emit_bind(ptr %t409) %t411 = call ptr @fn_val(ptr %t410, ptr @.str1489) store ptr %t411, ptr %retval br label %ret ifend111: %t412 = load ptr, ptr %t0 %t413 = call i32 @lp_str_eq(ptr %t412, ptr @.str1490) %t414 = icmp ne i32 %t413, 0 br i1 %t414, label %then112, label %ifend114 then112: %t415 = load ptr, ptr %t1 %t416 = call ptr @fn_arg_code(ptr %t415, i32 0) store ptr %t416, ptr %t417 %t418 = load ptr, ptr %t1 %t419 = call ptr @fn_arg_code(ptr %t418, i32 1) store ptr %t419, ptr %t420 %t421 = load ptr, ptr %t417 %t422 = call ptr @lp_str_concat(ptr @.str1491, ptr %t421) %t423 = call ptr @lp_str_concat(ptr %t422, ptr @.str1492) %t424 = load ptr, ptr %t420 %t425 = call ptr @lp_str_concat(ptr %t423, ptr %t424) %t426 = call ptr @lp_str_concat(ptr %t425, ptr @.str1493) %t427 = call ptr @fn_emit_bind(ptr %t426) %t428 = call ptr @fn_val(ptr %t427, ptr @.str1494) store ptr %t428, ptr %retval br label %ret ifend114: %t429 = load ptr, ptr %t0 %t430 = call i32 @lp_str_eq(ptr %t429, ptr @.str1495) %t431 = icmp ne i32 %t430, 0 br i1 %t431, label %then115, label %ifend117 then115: %t432 = load ptr, ptr %t1 %t433 = call ptr @fn_arg_code(ptr %t432, i32 0) store ptr %t433, ptr %t434 call void @fn_emit(ptr @.str1496) %t435 = load ptr, ptr %t434 call void @fn_emit(ptr %t435) call void @fn_emit(ptr @.str1497) %t436 = call ptr @fn_val(ptr @.str1498, ptr @.str1499) store ptr %t436, ptr %retval br label %ret ifend117: %t437 = call ptr @fn_val(ptr @.str1500, ptr @.str1501) store ptr %t437, ptr %retval br label %ret ret: %t438 = load ptr, ptr %retval ret ptr %t438 } define i32 @fn_is_fp(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_t, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1502) %t4 = icmp ne i32 %t3, 0 %t5 = zext i1 %t4 to i32 store i32 %t5, ptr %t1 br i1 %t4, label %scend1, label %sc0 sc0: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str1503) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t1 br label %scend1 scend1: %t10 = load i32, ptr %t1 store i32 %t10, ptr %retval br label %ret ret: %t11 = load i32, ptr %retval ret i32 %t11 } define void @fn_det_enter(ptr %arg_name) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_name, ptr %t0 store ptr @.str1504, ptr @g_g_det_ctx store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_det_names %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_det_names %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1505, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t18, ptr %t19) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load ptr, ptr %t0 store ptr %t22, ptr @g_g_det_ctx br label %ifend7 ifend7: %t23 = load i32, ptr %t1 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t1 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_fp_guard(ptr %arg_t) { entry: %t0 = alloca ptr store ptr %arg_t, ptr %t0 %t1 = load ptr, ptr @g_g_det_ctx %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str1506) %t3 = icmp eq i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr @g_g_det_ctx %t7 = call ptr @lp_str_concat(ptr @.str1507, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str1508) %t9 = load ptr, ptr %t0 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str1509) call void @fn_perr(ptr %t11) br label %ifend2 ifend2: br label %ret ret: ret void } define ptr @fn_fp_result(ptr %arg_a, ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_a, ptr %t0 store ptr %arg_b, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str1510) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t1 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str1511) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then2, label %ifend4 then2: store ptr @.str1512, ptr %retval br label %ret ifend4: store ptr @.str1513, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define ptr @fn_fp_const(ptr %arg_e, ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t36 = alloca ptr %t54 = alloca ptr %t60 = alloca ptr %t61 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_t, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 0 %t4 = load i32, ptr %t3 %t5 = icmp eq i32 %t4, 40 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 %t10 = load ptr, ptr %t9 %t11 = load ptr, ptr %t1 %t12 = call ptr @fn_fp_lit_code(ptr %t10, ptr %t11) store ptr %t12, ptr %retval br label %ret ifend2: %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 %t15 = load i32, ptr %t14 %t16 = icmp eq i32 %t15, 30 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 2 %t21 = load i32, ptr %t20 %t22 = call ptr @fn_itoa(i32 %t21) %t23 = load ptr, ptr %t1 %t24 = call ptr @fn_fp_lit_code(ptr %t22, ptr %t23) store ptr %t24, ptr %retval br label %ret ifend5: %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0 %t27 = load i32, ptr %t26 %t28 = icmp eq i32 %t27, 38 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then6, label %ifend8 then6: %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 4 %t33 = load ptr, ptr %t32 %t34 = load ptr, ptr %t1 %t35 = call ptr @fn_fp_const(ptr %t33, ptr %t34) store ptr %t35, ptr %t36 %t37 = load ptr, ptr %t1 %t38 = call ptr @lp_str_concat(ptr @.str1514, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str1515) %t40 = load ptr, ptr %t36 %t41 = call ptr @lp_str_concat(ptr %t39, ptr %t40) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %retval br label %ret ifend8: %t43 = load ptr, ptr %t0 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 0 %t45 = load i32, ptr %t44 %t46 = icmp eq i32 %t45, 37 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then9, label %ifend11 then9: %t49 = load ptr, ptr %t0 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 4 %t51 = load ptr, ptr %t50 %t52 = load ptr, ptr %t1 %t53 = call ptr @fn_fp_const(ptr %t51, ptr %t52) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t0 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 5 %t57 = load ptr, ptr %t56 %t58 = load ptr, ptr %t1 %t59 = call ptr @fn_fp_const(ptr %t57, ptr %t58) store ptr %t59, ptr %t60 store ptr @.str1516, ptr %t61 %t62 = load ptr, ptr %t0 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str1517) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then12, label %ifend14 then12: store ptr @.str1518, ptr %t61 br label %ifend14 ifend14: %t67 = load ptr, ptr %t0 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 1 %t69 = load ptr, ptr %t68 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str1519) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then15, label %ifend17 then15: store ptr @.str1520, ptr %t61 br label %ifend17 ifend17: %t72 = load ptr, ptr %t0 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 %t74 = load ptr, ptr %t73 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str1521) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then18, label %ifend20 then18: store ptr @.str1522, ptr %t61 br label %ifend20 ifend20: %t77 = load ptr, ptr %t0 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 1 %t79 = load ptr, ptr %t78 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str1523) %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then21, label %ifend23 then21: store ptr @.str1524, ptr %t61 br label %ifend23 ifend23: %t82 = load ptr, ptr %t61 %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str1525) %t84 = load ptr, ptr %t1 %t85 = call ptr @lp_str_concat(ptr %t83, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str1526) %t87 = load ptr, ptr %t54 %t88 = call ptr @lp_str_concat(ptr %t86, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str1527) %t90 = load ptr, ptr %t60 %t91 = call ptr @lp_str_concat(ptr %t89, ptr %t90) %t92 = call ptr @fn_emit_bind(ptr %t91) store ptr %t92, ptr %retval br label %ret ifend11: call void @fn_perr(ptr @.str1528) store ptr @.str1529, ptr %retval br label %ret ret: %t93 = load ptr, ptr %retval ret ptr %t93 } define ptr @fn_zero_of(ptr %arg_lt) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 store ptr %arg_lt, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str1530) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str1531, ptr %retval br label %ret ifend2: %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1532) %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t4 br i1 %t7, label %scend4, label %sc3 sc3: %t9 = load ptr, ptr %t0 %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str1533) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t4 br label %scend4 scend4: %t13 = load i32, ptr %t4 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then5, label %ifend7 then5: store ptr @.str1534, ptr %retval br label %ret ifend7: store ptr @.str1535, ptr %retval br label %ret ret: %t15 = load ptr, ptr %retval ret ptr %t15 } define ptr @fn_fp_lit_code(ptr %arg_text, ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca ptr store ptr %arg_text, ptr %t0 store ptr %arg_t, ptr %t1 %t2 = load ptr, ptr %t0 store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call i32 @fn_str_has(ptr %t4, i32 46) %t6 = icmp eq i32 %t5, 0 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t3 %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str1536) store ptr %t10, ptr %t3 br label %ifend2 ifend2: %t11 = load ptr, ptr %t1 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str1537) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then3, label %ifend5 then3: %t14 = load ptr, ptr %t3 store ptr %t14, ptr %retval br label %ret ifend5: %t15 = load ptr, ptr %t3 %t16 = call ptr @lp_str_concat(ptr @.str1538, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str1539) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %retval br label %ret ret: %t19 = load ptr, ptr %retval ret ptr %t19 } define i32 @fn_str_has(ptr %arg_s, i32 %arg_ch) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr %arg_s, ptr %t0 store i32 %arg_ch, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = call i64 @strlen(ptr %t4) %t6 = trunc i64 %t5 to i32 %t7 = icmp slt i32 %t3, %t6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %wbody1, label %wend2 wbody1: %t10 = load ptr, ptr %t0 %t11 = load i32, ptr %t2 %t12 = getelementptr inbounds i8, ptr %t10, i32 %t11 %t13 = load i8, ptr %t12 %t14 = zext i8 %t13 to i32 %t15 = load i32, ptr %t1 %t16 = icmp eq i32 %t14, %t15 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t19 = load i32, ptr %t2 %t20 = add i32 %t19, 1 store i32 %t20, ptr %t2 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t21 = load i32, ptr %retval ret i32 %t21 } define i32 @fn_is_int_const(ptr %arg_code) { entry: %retval = alloca i32 %t0 = alloca ptr %t4 = alloca i32 %t9 = alloca i32 %t27 = alloca i32 store ptr %arg_code, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i64 @strlen(ptr %t1) %t3 = trunc i64 %t2 to i32 store i32 %t3, ptr %t4 %t5 = load i32, ptr %t4 %t6 = icmp eq i32 %t5, 0 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: store i32 0, ptr %retval br label %ret ifend2: store i32 0, ptr %t9 %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds i8, ptr %t10, i32 0 %t12 = load i8, ptr %t11 %t13 = zext i8 %t12 to i32 %t14 = icmp eq i32 %t13, 45 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then3, label %ifend5 then3: store i32 1, ptr %t9 br label %ifend5 ifend5: %t17 = load i32, ptr %t9 %t18 = load i32, ptr %t4 %t19 = icmp sge i32 %t17, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then6, label %ifend8 then6: store i32 0, ptr %retval br label %ret ifend8: br label %wcond9 wcond9: %t22 = load i32, ptr %t9 %t23 = load i32, ptr %t4 %t24 = icmp slt i32 %t22, %t23 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %wbody10, label %wend11 wbody10: %t28 = load ptr, ptr %t0 %t29 = load i32, ptr %t9 %t30 = getelementptr inbounds i8, ptr %t28, i32 %t29 %t31 = load i8, ptr %t30 %t32 = zext i8 %t31 to i32 %t33 = icmp slt i32 %t32, 48 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t27 br i1 %t35, label %scend13, label %sc12 sc12: %t37 = load ptr, ptr %t0 %t38 = load i32, ptr %t9 %t39 = getelementptr inbounds i8, ptr %t37, i32 %t38 %t40 = load i8, ptr %t39 %t41 = zext i8 %t40 to i32 %t42 = icmp sgt i32 %t41, 57 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t27 br label %scend13 scend13: %t46 = load i32, ptr %t27 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then14, label %ifend16 then14: store i32 0, ptr %retval br label %ret ifend16: %t48 = load i32, ptr %t9 %t49 = add i32 %t48, 1 store i32 %t49, ptr %t9 br label %wcond9 wend11: store i32 1, ptr %retval br label %ret ret: %t50 = load i32, ptr %retval ret i32 %t50 } define ptr @fn_to_fp(ptr %arg_v, ptr %arg_t, ptr %arg_what) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t13 = alloca i32 %t32 = alloca i32 %t75 = alloca ptr %t76 = alloca i32 %t77 = alloca i32 %t78 = alloca i32 store ptr %arg_v, ptr %t0 store ptr %arg_t, ptr %t1 store ptr %arg_what, ptr %t2 %t3 = load ptr, ptr %t1 call void @fn_fp_guard(ptr %t3) %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t5 %t7 = load ptr, ptr %t1 %t8 = call i32 @lp_str_eq(ptr %t6, ptr %t7) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 0 %t12 = load ptr, ptr %t11 store ptr %t12, ptr %retval br label %ret ifend2: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 1 %t16 = load ptr, ptr %t15 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str1540) %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t13 br i1 %t18, label %sc3, label %scend4 sc3: %t20 = load ptr, ptr %t1 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str1541) %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t13 br label %scend4 scend4: %t24 = load i32, ptr %t13 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then5, label %ifend7 then5: %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Val, ptr %t26, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = call ptr @lp_str_concat(ptr @.str1542, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str1543) %t31 = call ptr @fn_emit_bind(ptr %t30) store ptr %t31, ptr %retval br label %ret ifend7: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Val, ptr %t33, i32 0, i32 1 %t35 = load ptr, ptr %t34 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str1544) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t32 br i1 %t37, label %sc8, label %scend9 sc8: %t39 = load ptr, ptr %t1 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str1545) %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t32 br label %scend9 scend9: %t43 = load i32, ptr %t32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then10, label %ifend12 then10: %t45 = load ptr, ptr %t2 %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str1546) call void @fn_perr(ptr %t46) br label %ifend12 ifend12: %t47 = load ptr, ptr %t0 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 2 %t49 = load ptr, ptr %t48 %t50 = icmp ne ptr %t49, null %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then13, label %ifend15 then13: %t53 = load ptr, ptr %t0 %t54 = getelementptr inbounds %Cmp_Val, ptr %t53, i32 0, i32 2 %t55 = load ptr, ptr %t54 %t56 = load ptr, ptr %t1 %t57 = call ptr @fn_fp_const(ptr %t55, ptr %t56) store ptr %t57, ptr %retval br label %ret ifend15: %t58 = load ptr, ptr %t0 %t59 = getelementptr inbounds %Cmp_Val, ptr %t58, i32 0, i32 1 %t60 = load ptr, ptr %t59 %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str1547) %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then16, label %ifend18 then16: %t63 = load ptr, ptr %t2 %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str1548) %t65 = load ptr, ptr %t1 %t66 = call ptr @lp_str_concat(ptr %t64, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str1549) %t68 = load ptr, ptr %t1 %t69 = call ptr @lp_str_concat(ptr %t67, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str1550) call void @fn_perr(ptr %t70) br label %ifend18 ifend18: %t71 = load ptr, ptr %t0 %t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 1 %t73 = load ptr, ptr %t72 %t74 = call ptr @fn_llty(ptr %t73) store ptr %t74, ptr %t75 %t79 = load ptr, ptr %t75 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str1551) %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t78 br i1 %t81, label %scend20, label %sc19 sc19: %t83 = load ptr, ptr %t75 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str1552) %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t78 br label %scend20 scend20: %t87 = load i32, ptr %t78 %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t77 br i1 %t88, label %sc21, label %scend22 sc21: %t90 = load ptr, ptr %t0 %t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = call i32 @fn_is_int_const(ptr %t92) %t94 = icmp eq i32 %t93, 0 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t77 br label %scend22 scend22: %t98 = load i32, ptr %t77 %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t76 br i1 %t99, label %sc23, label %scend24 sc23: %t101 = call i32 @fn_strict_numbers() %t102 = icmp ne i32 %t101, 0 %t103 = zext i1 %t102 to i32 store i32 %t103, ptr %t76 br label %scend24 scend24: %t104 = load i32, ptr %t76 %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then25, label %ifend27 then25: %t106 = load ptr, ptr %t2 %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str1553) %t108 = load ptr, ptr %t0 %t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 1 %t110 = load ptr, ptr %t109 %t111 = call ptr @lp_str_concat(ptr %t107, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str1554) %t113 = load ptr, ptr %t1 %t114 = call ptr @lp_str_concat(ptr %t112, ptr %t113) %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str1555) %t116 = load ptr, ptr %t1 %t117 = call ptr @lp_str_concat(ptr %t115, ptr %t116) %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str1556) call void @fn_perr(ptr %t118) br label %ifend27 ifend27: %t119 = load ptr, ptr %t75 %t120 = call i32 @lp_str_eq(ptr %t119, ptr @.str1557) %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then28, label %ifend30 then28: %t122 = load ptr, ptr %t0 %t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 1 %t124 = load ptr, ptr %t123 %t125 = load ptr, ptr %t1 call void @fn_fp_promote_note(ptr %t124, ptr %t125) %t126 = load ptr, ptr %t0 %t127 = getelementptr inbounds %Cmp_Val, ptr %t126, i32 0, i32 0 %t128 = load ptr, ptr %t127 %t129 = call ptr @lp_str_concat(ptr @.str1558, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1559) %t131 = load ptr, ptr %t1 %t132 = call ptr @lp_str_concat(ptr %t130, ptr %t131) %t133 = call ptr @fn_emit_bind(ptr %t132) store ptr %t133, ptr %retval br label %ret ifend30: %t134 = load ptr, ptr %t75 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str1560) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then31, label %ifend33 then31: %t137 = load ptr, ptr %t0 %t138 = getelementptr inbounds %Cmp_Val, ptr %t137, i32 0, i32 0 %t139 = load ptr, ptr %t138 %t140 = call i32 @fn_is_int_const(ptr %t139) %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then34, label %ifend36 then34: %t142 = load ptr, ptr %t0 %t143 = getelementptr inbounds %Cmp_Val, ptr %t142, i32 0, i32 0 %t144 = load ptr, ptr %t143 %t145 = load ptr, ptr %t1 %t146 = call ptr @fn_fp_lit_code(ptr %t144, ptr %t145) store ptr %t146, ptr %retval br label %ret ifend36: %t147 = load ptr, ptr %t0 %t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 1 %t149 = load ptr, ptr %t148 %t150 = load ptr, ptr %t1 call void @fn_fp_promote_note(ptr %t149, ptr %t150) %t151 = load ptr, ptr %t0 %t152 = getelementptr inbounds %Cmp_Val, ptr %t151, i32 0, i32 0 %t153 = load ptr, ptr %t152 %t154 = call ptr @lp_str_concat(ptr @.str1561, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str1562) %t156 = load ptr, ptr %t1 %t157 = call ptr @lp_str_concat(ptr %t155, ptr %t156) %t158 = call ptr @fn_emit_bind(ptr %t157) store ptr %t158, ptr %retval br label %ret ifend33: %t159 = load ptr, ptr %t2 %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str1563) %t161 = load ptr, ptr %t0 %t162 = getelementptr inbounds %Cmp_Val, ptr %t161, i32 0, i32 1 %t163 = load ptr, ptr %t162 %t164 = call ptr @lp_str_concat(ptr %t160, ptr %t163) %t165 = call ptr @lp_str_concat(ptr %t164, ptr @.str1564) call void @fn_perr(ptr %t165) %t166 = load ptr, ptr %t0 %t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0 %t168 = load ptr, ptr %t167 store ptr %t168, ptr %retval br label %ret ret: %t169 = load ptr, ptr %retval ret ptr %t169 } define i32 @fn_strict_numbers() { entry: %retval = alloca i32 %t0 = load ptr, ptr @g_g_err_file %t1 = icmp eq ptr %t0, null %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store i32 0, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr @g_g_err_file %t5 = call i32 @fn_is_float_file(ptr %t4) store i32 %t5, ptr %retval br label %ret ret: %t6 = load i32, ptr %retval ret i32 %t6 } define void @fn_fp_promote_note(ptr %arg_from, ptr %arg_t) { entry: %t0 = alloca ptr %t1 = alloca ptr %t15 = alloca ptr %t32 = alloca ptr store ptr %arg_from, ptr %t0 store ptr %arg_t, ptr %t1 %t2 = load i32, ptr @g_g_warn_promote %t3 = icmp slt i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: store i32 0, ptr @g_g_warn_promote %t6 = call ptr @getenv(ptr @.str1565) %t7 = icmp ne ptr %t6, null %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: store i32 1, ptr @g_g_warn_promote br label %ifend5 ifend5: br label %ifend2 ifend2: %t10 = load i32, ptr @g_g_warn_promote %t11 = icmp eq i32 %t10, 0 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: br label %ret ifend8: %t14 = load ptr, ptr @g_g_err_file store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 %t17 = icmp eq ptr %t16, null %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then9, label %ifend11 then9: store ptr @.str1566, ptr %t15 br label %ifend11 ifend11: %t20 = load ptr, ptr %t15 %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1567) %t22 = load i32, ptr @g_g_err_line %t23 = call ptr @fn_itoa(i32 %t22) %t24 = call ptr @lp_str_concat(ptr %t21, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str1568) %t26 = load ptr, ptr %t0 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str1569) %t29 = load ptr, ptr %t1 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1570) store ptr %t31, ptr %t32 %t33 = load ptr, ptr @__stderrp %t34 = load ptr, ptr %t32 %t35 = load ptr, ptr %t32 %t36 = call i64 @strlen(ptr %t35) %t37 = trunc i64 %t36 to i32 %t38 = zext i32 %t37 to i64 %t39 = call i64 @fwrite(ptr %t34, i64 1, i64 %t38, ptr %t33) %t40 = trunc i64 %t39 to i32 br label %ret ret: ret void } define ptr @fn_fcmp_code(ptr %arg_op) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_op, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str1571) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str1572, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1573) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str1574, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str1575) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str1576, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str1577) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str1578, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str1579) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str1580, ptr %retval br label %ret ifend14: store ptr @.str1581, ptr %retval br label %ret ret: %t16 = load ptr, ptr %retval ret ptr %t16 } define ptr @fn_fixed_lit_code(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t33 = alloca i32 %t34 = alloca i32 store ptr %arg_v, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Val, ptr %t2, i32 0, i32 2 %t4 = load ptr, ptr %t3 %t5 = icmp eq ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t1 br i1 %t7, label %scend1, label %sc0 sc0: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Val, ptr %t9, i32 0, i32 1 %t11 = load ptr, ptr %t10 %t12 = call i32 @fn_is_fp(ptr %t11) %t13 = icmp eq i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t1 br label %scend1 scend1: %t17 = load i32, ptr %t1 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then2, label %ifend4 then2: store ptr @.str1582, ptr %retval br label %ret ifend4: %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Val, ptr %t19, i32 0, i32 2 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 40 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then5, label %ifend7 then5: %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Val, ptr %t27, i32 0, i32 2 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 2 %t31 = load i32, ptr %t30 %t32 = call ptr @fn_itoa(i32 %t31) store ptr %t32, ptr %retval br label %ret ifend7: %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 2 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 0 %t39 = load i32, ptr %t38 %t40 = icmp eq i32 %t39, 38 %t41 = zext i1 %t40 to i32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t34 br i1 %t42, label %sc8, label %scend9 sc8: %t44 = load ptr, ptr %t0 %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 2 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 4 %t48 = load ptr, ptr %t47 %t49 = icmp ne ptr %t48, null %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t34 br label %scend9 scend9: %t53 = load i32, ptr %t34 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t33 br i1 %t54, label %sc10, label %scend11 sc10: %t56 = load ptr, ptr %t0 %t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 2 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 4 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 0 %t62 = load i32, ptr %t61 %t63 = icmp eq i32 %t62, 40 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t33 br label %scend11 scend11: %t67 = load i32, ptr %t33 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then12, label %ifend14 then12: %t69 = load ptr, ptr %t0 %t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 2 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 4 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 2 %t75 = load i32, ptr %t74 %t76 = sub i32 0, %t75 %t77 = call ptr @fn_itoa(i32 %t76) store ptr %t77, ptr %retval br label %ret ifend14: store ptr @.str1583, ptr %retval br label %ret ret: %t78 = load ptr, ptr %retval ret ptr %t78 } define ptr @fn_lit_as_fixed(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t10 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_fixed_lit_code(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1584) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: %t7 = load ptr, ptr %t0 store ptr %t7, ptr %retval br label %ret ifend2: %t8 = load ptr, ptr %t3 %t9 = call ptr @fn_val(ptr %t8, ptr @.str1585) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 store ptr %t11, ptr %retval br label %ret ret: %t12 = load ptr, ptr %retval ret ptr %t12 } define ptr @fn_emit_fp_bin(ptr %arg_op, ptr %arg_a, ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t24 = alloca i32 %t45 = alloca ptr %t46 = alloca i32 %t84 = alloca ptr %t90 = alloca ptr %t107 = alloca ptr %t113 = alloca ptr store ptr %arg_op, ptr %t0 store ptr %arg_a, ptr %t1 store ptr %arg_b, ptr %t2 %t4 = load ptr, ptr %t1 %t5 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 1 %t6 = load ptr, ptr %t5 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str1586) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t3 br i1 %t8, label %sc0, label %scend1 sc0: %t10 = load ptr, ptr %t2 %t11 = call ptr @fn_fixed_lit_code(ptr %t10) %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str1587) %t13 = icmp eq i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t3 br label %scend1 scend1: %t17 = load i32, ptr %t3 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then2, label %ifend4 then2: %t19 = load ptr, ptr %t0 %t20 = load ptr, ptr %t1 %t21 = load ptr, ptr %t2 %t22 = call ptr @fn_lit_as_fixed(ptr %t21) %t23 = call ptr @fn_emit_bin_vals(ptr %t19, ptr %t20, ptr %t22, i32 0) store ptr %t23, ptr %retval br label %ret ifend4: %t25 = load ptr, ptr %t2 %t26 = getelementptr inbounds %Cmp_Val, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str1588) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t24 br i1 %t29, label %sc5, label %scend6 sc5: %t31 = load ptr, ptr %t1 %t32 = call ptr @fn_fixed_lit_code(ptr %t31) %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str1589) %t34 = icmp eq i32 %t33, 0 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t24 br label %scend6 scend6: %t38 = load i32, ptr %t24 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then7, label %ifend9 then7: %t40 = load ptr, ptr %t0 %t41 = load ptr, ptr %t1 %t42 = call ptr @fn_lit_as_fixed(ptr %t41) %t43 = load ptr, ptr %t2 %t44 = call ptr @fn_emit_bin_vals(ptr %t40, ptr %t42, ptr %t43, i32 0) store ptr %t44, ptr %retval br label %ret ifend9: store ptr @.str1590, ptr %t45 %t47 = load ptr, ptr %t1 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t48 %t50 = call i32 @fn_is_fp(ptr %t49) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t46 br i1 %t51, label %sc10, label %scend11 sc10: %t53 = load ptr, ptr %t2 %t54 = getelementptr inbounds %Cmp_Val, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 %t56 = call i32 @fn_is_fp(ptr %t55) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t46 br label %scend11 scend11: %t59 = load i32, ptr %t46 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then12, label %else13 then12: %t61 = load ptr, ptr %t1 %t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 1 %t63 = load ptr, ptr %t62 %t64 = load ptr, ptr %t2 %t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_fp_result(ptr %t63, ptr %t66) store ptr %t67, ptr %t45 br label %ifend14 else13: %t68 = load ptr, ptr %t1 %t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t69 %t71 = call i32 @fn_is_fp(ptr %t70) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then15, label %else16 then15: %t73 = load ptr, ptr %t1 %t74 = getelementptr inbounds %Cmp_Val, ptr %t73, i32 0, i32 1 %t75 = load ptr, ptr %t74 store ptr %t75, ptr %t45 br label %ifend17 else16: %t76 = load ptr, ptr %t2 %t77 = getelementptr inbounds %Cmp_Val, ptr %t76, i32 0, i32 1 %t78 = load ptr, ptr %t77 store ptr %t78, ptr %t45 br label %ifend17 ifend17: br label %ifend14 ifend14: %t79 = load ptr, ptr %t1 %t80 = load ptr, ptr %t45 %t81 = load ptr, ptr %t0 %t82 = call ptr @lp_str_concat(ptr @.str1591, ptr %t81) %t83 = call ptr @fn_to_fp(ptr %t79, ptr %t80, ptr %t82) store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t2 %t86 = load ptr, ptr %t45 %t87 = load ptr, ptr %t0 %t88 = call ptr @lp_str_concat(ptr @.str1592, ptr %t87) %t89 = call ptr @fn_to_fp(ptr %t85, ptr %t86, ptr %t88) store ptr %t89, ptr %t90 %t91 = load ptr, ptr %t0 %t92 = call i32 @fn_is_cmp(ptr %t91) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then18, label %ifend20 then18: %t94 = load ptr, ptr %t0 %t95 = call ptr @fn_fcmp_code(ptr %t94) %t96 = call ptr @lp_str_concat(ptr @.str1593, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str1594) %t98 = load ptr, ptr %t45 %t99 = call ptr @lp_str_concat(ptr %t97, ptr %t98) %t100 = call ptr @lp_str_concat(ptr %t99, ptr @.str1595) %t101 = load ptr, ptr %t84 %t102 = call ptr @lp_str_concat(ptr %t100, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str1596) %t104 = load ptr, ptr %t90 %t105 = call ptr @lp_str_concat(ptr %t103, ptr %t104) %t106 = call ptr @fn_emit_bind(ptr %t105) store ptr %t106, ptr %t107 %t108 = load ptr, ptr %t107 %t109 = call ptr @lp_str_concat(ptr @.str1597, ptr %t108) %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str1598) %t111 = call ptr @fn_emit_bind(ptr %t110) %t112 = call ptr @fn_val(ptr %t111, ptr @.str1599) store ptr %t112, ptr %retval br label %ret ifend20: store ptr @.str1600, ptr %t113 %t114 = load ptr, ptr %t0 %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str1601) %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then21, label %ifend23 then21: store ptr @.str1602, ptr %t113 br label %ifend23 ifend23: %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str1603) %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then24, label %ifend26 then24: store ptr @.str1604, ptr %t113 br label %ifend26 ifend26: %t120 = load ptr, ptr %t0 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str1605) %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then27, label %ifend29 then27: store ptr @.str1606, ptr %t113 br label %ifend29 ifend29: %t123 = load ptr, ptr %t0 %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str1607) %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then30, label %ifend32 then30: store ptr @.str1608, ptr %t113 br label %ifend32 ifend32: %t126 = load ptr, ptr %t0 %t127 = call i32 @lp_str_eq(ptr %t126, ptr @.str1609) %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then33, label %ifend35 then33: store ptr @.str1610, ptr %t113 br label %ifend35 ifend35: %t129 = load ptr, ptr %t113 %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str1611) %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then36, label %ifend38 then36: %t132 = load ptr, ptr %t0 %t133 = call ptr @lp_str_concat(ptr @.str1612, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str1613) %t135 = load ptr, ptr %t45 %t136 = call ptr @lp_str_concat(ptr %t134, ptr %t135) call void @fn_perr(ptr %t136) br label %ifend38 ifend38: %t137 = load ptr, ptr %t113 %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str1614) %t139 = load ptr, ptr %t45 %t140 = call ptr @lp_str_concat(ptr %t138, ptr %t139) %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str1615) %t142 = load ptr, ptr %t84 %t143 = call ptr @lp_str_concat(ptr %t141, ptr %t142) %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str1616) %t145 = load ptr, ptr %t90 %t146 = call ptr @lp_str_concat(ptr %t144, ptr %t145) %t147 = call ptr @fn_emit_bind(ptr %t146) %t148 = load ptr, ptr %t45 %t149 = call ptr @fn_val(ptr %t147, ptr %t148) store ptr %t149, ptr %retval br label %ret ret: %t150 = load ptr, ptr %retval ret ptr %t150 } define ptr @fn_emit_fp_convert(ptr %arg_t, ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t60 = alloca ptr %t74 = alloca ptr %t75 = alloca i32 store ptr %arg_t, ptr %t0 store ptr %arg_v, ptr %t1 %t2 = load ptr, ptr %t0 call void @fn_fp_guard(ptr %t2) %t3 = load ptr, ptr %t1 %t4 = getelementptr inbounds %Cmp_Val, ptr %t3, i32 0, i32 2 %t5 = load ptr, ptr %t4 %t6 = icmp ne ptr %t5, null %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t1 %t10 = getelementptr inbounds %Cmp_Val, ptr %t9, i32 0, i32 2 %t11 = load ptr, ptr %t10 %t12 = load ptr, ptr %t0 %t13 = call ptr @fn_fp_const(ptr %t11, ptr %t12) %t14 = load ptr, ptr %t0 %t15 = call ptr @fn_val(ptr %t13, ptr %t14) store ptr %t15, ptr %retval br label %ret ifend2: %t16 = load ptr, ptr %t1 %t17 = getelementptr inbounds %Cmp_Val, ptr %t16, i32 0, i32 1 %t18 = load ptr, ptr %t17 %t19 = call i32 @fn_is_fp(ptr %t18) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load ptr, ptr %t1 %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 1 %t23 = load ptr, ptr %t22 %t24 = load ptr, ptr %t0 %t25 = call i32 @lp_str_eq(ptr %t23, ptr %t24) %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then6, label %ifend8 then6: %t27 = load ptr, ptr %t1 store ptr %t27, ptr %retval br label %ret ifend8: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str1617) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then9, label %ifend11 then9: %t31 = load ptr, ptr %t1 %t32 = getelementptr inbounds %Cmp_Val, ptr %t31, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = call ptr @lp_str_concat(ptr @.str1618, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str1619) %t36 = call ptr @fn_emit_bind(ptr %t35) %t37 = load ptr, ptr %t0 %t38 = call ptr @fn_val(ptr %t36, ptr %t37) store ptr %t38, ptr %retval br label %ret ifend11: %t39 = load ptr, ptr %t1 %t40 = getelementptr inbounds %Cmp_Val, ptr %t39, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = call ptr @lp_str_concat(ptr @.str1620, ptr %t41) %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str1621) %t44 = call ptr @fn_emit_bind(ptr %t43) %t45 = load ptr, ptr %t0 %t46 = call ptr @fn_val(ptr %t44, ptr %t45) store ptr %t46, ptr %retval br label %ret ifend5: %t47 = load ptr, ptr %t1 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t48 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str1622) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then12, label %ifend14 then12: %t52 = load ptr, ptr %t1 %t53 = getelementptr inbounds %Cmp_Val, ptr %t52, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = call ptr @lp_str_concat(ptr @.str1623, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str1624) %t57 = load ptr, ptr %t0 %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) %t59 = call ptr @fn_emit_bind(ptr %t58) store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t0 %t62 = call ptr @lp_str_concat(ptr @.str1625, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str1626) %t64 = load ptr, ptr %t60 %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str1627) %t67 = call ptr @fn_emit_bind(ptr %t66) %t68 = load ptr, ptr %t0 %t69 = call ptr @fn_val(ptr %t67, ptr %t68) store ptr %t69, ptr %retval br label %ret ifend14: %t70 = load ptr, ptr %t1 %t71 = getelementptr inbounds %Cmp_Val, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 %t73 = call ptr @fn_llty(ptr %t72) store ptr %t73, ptr %t74 %t76 = load ptr, ptr %t74 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str1628) %t78 = icmp ne i32 %t77, 0 %t79 = zext i1 %t78 to i32 store i32 %t79, ptr %t75 br i1 %t78, label %scend16, label %sc15 sc15: %t80 = load ptr, ptr %t74 %t81 = call i32 @lp_str_eq(ptr %t80, ptr @.str1629) %t82 = icmp ne i32 %t81, 0 %t83 = zext i1 %t82 to i32 store i32 %t83, ptr %t75 br label %scend16 scend16: %t84 = load i32, ptr %t75 %t85 = icmp ne i32 %t84, 0 br i1 %t85, label %then17, label %ifend19 then17: %t86 = load ptr, ptr %t74 %t87 = call ptr @lp_str_concat(ptr @.str1630, ptr %t86) %t88 = call ptr @lp_str_concat(ptr %t87, ptr @.str1631) %t89 = load ptr, ptr %t1 %t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0 %t91 = load ptr, ptr %t90 %t92 = call ptr @lp_str_concat(ptr %t88, ptr %t91) %t93 = call ptr @lp_str_concat(ptr %t92, ptr @.str1632) %t94 = load ptr, ptr %t0 %t95 = call ptr @lp_str_concat(ptr %t93, ptr %t94) %t96 = call ptr @fn_emit_bind(ptr %t95) %t97 = load ptr, ptr %t0 %t98 = call ptr @fn_val(ptr %t96, ptr %t97) store ptr %t98, ptr %retval br label %ret ifend19: %t99 = load ptr, ptr %t1 %t100 = load ptr, ptr %t0 %t101 = load ptr, ptr %t0 %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str1633) %t103 = call ptr @fn_to_fp(ptr %t99, ptr %t100, ptr %t102) %t104 = load ptr, ptr %t0 %t105 = call ptr @fn_val(ptr %t103, ptr %t104) store ptr %t105, ptr %retval br label %ret ret: %t106 = load ptr, ptr %retval ret ptr %t106 } define ptr @fn_emit_fp_to_int(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 %t4 = call ptr @lp_str_concat(ptr @.str1634, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1635) %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr %t5, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str1636) %t11 = call ptr @fn_emit_bind(ptr %t10) %t12 = call ptr @fn_val(ptr %t11, ptr @.str1637) store ptr %t12, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define ptr @fn_emit_fp_to_long(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 %t4 = call ptr @lp_str_concat(ptr @.str1638, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1639) %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr %t5, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str1640) %t11 = call ptr @fn_emit_bind(ptr %t10) %t12 = call ptr @fn_val(ptr %t11, ptr @.str1641) store ptr %t12, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define ptr @fn_emit_fp_to_fixed(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t12 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 %t4 = call ptr @lp_str_concat(ptr @.str1642, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1643) %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr %t5, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str1644) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Val, ptr %t13, i32 0, i32 1 %t15 = load ptr, ptr %t14 %t16 = call ptr @lp_str_concat(ptr @.str1645, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str1646) %t18 = load ptr, ptr %t12 %t19 = call ptr @lp_str_concat(ptr %t17, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str1647) %t21 = call ptr @fn_emit_bind(ptr %t20) %t22 = call ptr @fn_val(ptr %t21, ptr @.str1648) store ptr %t22, ptr %retval br label %ret ret: %t23 = load ptr, ptr %retval ret ptr %t23 } define ptr @fn_emit_float_bits(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_to_fp(ptr %t1, ptr @.str1649, ptr @.str1650) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call ptr @lp_str_concat(ptr @.str1651, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1652) %t7 = call ptr @fn_emit_bind(ptr %t6) %t8 = call ptr @fn_val(ptr %t7, ptr @.str1653) store ptr %t8, ptr %retval br label %ret ret: %t9 = load ptr, ptr %retval ret ptr %t9 } define ptr @fn_emit_float_from_bits(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 0 %t3 = load ptr, ptr %t2 %t4 = call ptr @lp_str_concat(ptr @.str1654, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str1655) %t6 = call ptr @fn_emit_bind(ptr %t5) %t7 = call ptr @fn_val(ptr %t6, ptr @.str1656) store ptr %t7, ptr %retval br label %ret ret: %t8 = load ptr, ptr %retval ret ptr %t8 } define ptr @fn_emit_double_bits(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_to_fp(ptr %t1, ptr @.str1657, ptr @.str1658) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = call ptr @lp_str_concat(ptr @.str1659, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str1660) %t7 = call ptr @fn_emit_bind(ptr %t6) %t8 = call ptr @fn_val(ptr %t7, ptr @.str1661) store ptr %t8, ptr %retval br label %ret ret: %t9 = load ptr, ptr %retval ret ptr %t9 } define ptr @fn_emit_double_from_bits(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_to_long(ptr %t1) %t3 = call ptr @lp_str_concat(ptr @.str1662, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str1663) %t5 = call ptr @fn_emit_bind(ptr %t4) %t6 = call ptr @fn_val(ptr %t5, ptr @.str1664) store ptr %t6, ptr %retval br label %ret ret: %t7 = load ptr, ptr %retval ret ptr %t7 } define ptr @fn_emit_fp_str(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr store ptr %arg_v, ptr %t0 store i32 1, ptr @g_g_uses_fpstr %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 0 %t3 = load ptr, ptr %t2 store ptr %t3, ptr %t4 store ptr @.str1665, ptr %t5 %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 1 %t8 = load ptr, ptr %t7 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str1666) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then0, label %ifend2 then0: %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Val, ptr %t11, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = call ptr @lp_str_concat(ptr @.str1667, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1668) %t16 = call ptr @fn_emit_bind(ptr %t15) store ptr %t16, ptr %t4 store ptr @.str1669, ptr %t5 br label %ifend2 ifend2: %t17 = load ptr, ptr %t4 %t18 = call ptr @lp_str_concat(ptr @.str1670, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1671) %t20 = load ptr, ptr %t5 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str1672) %t23 = call ptr @fn_emit_bind(ptr %t22) %t24 = call ptr @fn_val(ptr %t23, ptr @.str1673) store ptr %t24, ptr %retval br label %ret ret: %t25 = load ptr, ptr %retval ret ptr %t25 } define void @fn_emit_fp_str_fn() { entry: call void @fn_fp_declare(ptr @.str1674) call void @fn_fp_declare(ptr @.str1675) call void @fn_fp_declare(ptr @.str1676) call void @fn_emith(ptr @.str1677) call void @fn_emith(ptr @.str1678) call void @fn_emith(ptr @.str1679) call void @fn_emith(ptr @.str1680) call void @fn_emith(ptr @.str1681) call void @fn_emith(ptr @.str1682) call void @fn_emith(ptr @.str1683) call void @fn_emith(ptr @.str1684) call void @fn_emith(ptr @.str1685) call void @fn_emith(ptr @.str1686) call void @fn_emith(ptr @.str1687) call void @fn_emith(ptr @.str1688) call void @fn_emith(ptr @.str1689) call void @fn_emith(ptr @.str1690) call void @fn_emith(ptr @.str1691) call void @fn_emith(ptr @.str1692) call void @fn_emith(ptr @.str1693) call void @fn_emith(ptr @.str1694) call void @fn_emith(ptr @.str1695) call void @fn_emith(ptr @.str1696) br label %ret ret: ret void } define ptr @fn_emit_fp_buffer(ptr %arg_t, ptr %arg_n) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t15 = alloca ptr %t20 = alloca ptr store ptr %arg_t, ptr %t0 store ptr %arg_n, ptr %t1 store ptr @.str1697, ptr %t2 store ptr @.str1698, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1699) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store ptr @.str1700, ptr %t2 store ptr @.str1701, ptr %t3 br label %ifend2 ifend2: %t7 = load ptr, ptr %t1 %t8 = getelementptr inbounds %Cmp_Val, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = call ptr @lp_str_concat(ptr @.str1702, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str1703) %t12 = load ptr, ptr %t2 %t13 = call ptr @lp_str_concat(ptr %t11, ptr %t12) %t14 = call ptr @fn_emit_bind(ptr %t13) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 %t17 = call ptr @lp_str_concat(ptr @.str1704, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1705) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t20 %t22 = call ptr @lp_str_concat(ptr @.str1706, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str1707) %t24 = call ptr @fn_emit_bind(ptr %t23) %t25 = load ptr, ptr %t3 %t26 = call ptr @fn_val(ptr %t24, ptr %t25) store ptr %t26, ptr %retval br label %ret ret: %t27 = load ptr, ptr %retval ret ptr %t27 } define void @fn_fp_declare(ptr %arg_line) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_line, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_fp_decls %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_fp_decls %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str1708, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t18, ptr %t19) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: br label %ret ifend7: %t22 = load i32, ptr %t1 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t1 br label %wcond0 wend2: %t24 = load ptr, ptr @g_g_fp_decls %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 2 %t28 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t29 = load i32, ptr %t26 %t30 = load i32, ptr %t27 %t31 = icmp sge i32 %t29, %t30 br i1 %t31, label %grow8, label %put9 grow8: %t32 = mul i32 %t30, 2 %t33 = icmp eq i32 %t30, 0 %t34 = select i1 %t33, i32 8, i32 %t32 %t35 = getelementptr ptr, ptr null, i32 1 %t36 = ptrtoint ptr %t35 to i64 %t37 = zext i32 %t34 to i64 %t38 = mul i64 %t37, %t36 %t39 = load ptr, ptr %t28 %t40 = call ptr @realloc(ptr %t39, i64 %t38) store ptr %t40, ptr %t28 store i32 %t34, ptr %t27 br label %put9 put9: %t41 = load ptr, ptr %t28 %t42 = getelementptr inbounds ptr, ptr %t41, i32 %t29 store ptr %t25, ptr %t42 %t43 = add i32 %t29, 1 store i32 %t43, ptr %t26 %t44 = load ptr, ptr %t0 call void @fn_emith(ptr %t44) br label %ret ret: ret void } define ptr @fn_fp_call1(ptr %arg_base, ptr %arg_t, ptr %arg_x) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr store ptr %arg_base, ptr %t0 store ptr %arg_t, ptr %t1 store ptr %arg_x, ptr %t2 %t3 = load ptr, ptr %t0 store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t1 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1709) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1710) store ptr %t9, ptr %t4 br label %ifend2 ifend2: %t10 = load ptr, ptr %t1 %t11 = call ptr @lp_str_concat(ptr @.str1711, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1712) %t13 = load ptr, ptr %t4 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1713) %t16 = load ptr, ptr %t1 %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1714) call void @fn_fp_declare(ptr %t18) %t19 = load ptr, ptr %t1 %t20 = call ptr @lp_str_concat(ptr @.str1715, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1716) %t22 = load ptr, ptr %t4 %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1717) %t25 = load ptr, ptr %t1 %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str1718) %t28 = load ptr, ptr %t2 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str1719) %t31 = call ptr @fn_emit_bind(ptr %t30) store ptr %t31, ptr %retval br label %ret ret: %t32 = load ptr, ptr %retval ret ptr %t32 } define ptr @fn_fp_call2(ptr %arg_base, ptr %arg_t, ptr %arg_x, ptr %arg_y) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t5 = alloca ptr store ptr %arg_base, ptr %t0 store ptr %arg_t, ptr %t1 store ptr %arg_x, ptr %t2 store ptr %arg_y, ptr %t3 %t4 = load ptr, ptr %t0 store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t1 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str1720) %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t0 %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str1721) store ptr %t10, ptr %t5 br label %ifend2 ifend2: %t11 = load ptr, ptr %t1 %t12 = call ptr @lp_str_concat(ptr @.str1722, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1723) %t14 = load ptr, ptr %t5 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1724) %t17 = load ptr, ptr %t1 %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1725) %t20 = load ptr, ptr %t1 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str1726) call void @fn_fp_declare(ptr %t22) %t23 = load ptr, ptr %t1 %t24 = call ptr @lp_str_concat(ptr @.str1727, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str1728) %t26 = load ptr, ptr %t5 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str1729) %t29 = load ptr, ptr %t1 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1730) %t32 = load ptr, ptr %t2 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str1731) %t35 = load ptr, ptr %t1 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str1732) %t38 = load ptr, ptr %t3 %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str1733) %t41 = call ptr @fn_emit_bind(ptr %t40) store ptr %t41, ptr %retval br label %ret ret: %t42 = load ptr, ptr %retval ret ptr %t42 } define ptr @fn_fp_intrinsic1(ptr %arg_name, ptr %arg_t, ptr %arg_x) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_t, ptr %t1 store ptr %arg_x, ptr %t2 store ptr @.str1734, ptr %t3 %t4 = load ptr, ptr %t1 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1735) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store ptr @.str1736, ptr %t3 br label %ifend2 ifend2: %t7 = load ptr, ptr %t1 %t8 = call ptr @lp_str_concat(ptr @.str1737, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str1738) %t10 = load ptr, ptr %t0 %t11 = call ptr @lp_str_concat(ptr %t9, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str1739) %t13 = load ptr, ptr %t3 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str1740) %t16 = load ptr, ptr %t1 %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str1741) call void @fn_fp_declare(ptr %t18) %t19 = load ptr, ptr %t1 %t20 = call ptr @lp_str_concat(ptr @.str1742, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str1743) %t22 = load ptr, ptr %t0 %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str1744) %t25 = load ptr, ptr %t3 %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str1745) %t28 = load ptr, ptr %t1 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str1746) %t31 = load ptr, ptr %t2 %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str1747) %t34 = call ptr @fn_emit_bind(ptr %t33) store ptr %t34, ptr %retval br label %ret ret: %t35 = load ptr, ptr %retval ret ptr %t35 } define ptr @fn_fp_intrinsic2(ptr %arg_name, ptr %arg_t, ptr %arg_x, ptr %arg_y) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_t, ptr %t1 store ptr %arg_x, ptr %t2 store ptr %arg_y, ptr %t3 store ptr @.str1748, ptr %t4 %t5 = load ptr, ptr %t1 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1749) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store ptr @.str1750, ptr %t4 br label %ifend2 ifend2: %t8 = load ptr, ptr %t1 %t9 = call ptr @lp_str_concat(ptr @.str1751, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str1752) %t11 = load ptr, ptr %t0 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1753) %t14 = load ptr, ptr %t4 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1754) %t17 = load ptr, ptr %t1 %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str1755) %t20 = load ptr, ptr %t1 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str1756) call void @fn_fp_declare(ptr %t22) %t23 = load ptr, ptr %t1 %t24 = call ptr @lp_str_concat(ptr @.str1757, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str1758) %t26 = load ptr, ptr %t0 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str1759) %t29 = load ptr, ptr %t4 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str1760) %t32 = load ptr, ptr %t1 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str1761) %t35 = load ptr, ptr %t2 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str1762) %t38 = load ptr, ptr %t1 %t39 = call ptr @lp_str_concat(ptr %t37, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str1763) %t41 = load ptr, ptr %t3 %t42 = call ptr @lp_str_concat(ptr %t40, ptr %t41) %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str1764) %t44 = call ptr @fn_emit_bind(ptr %t43) store ptr %t44, ptr %retval br label %ret ret: %t45 = load ptr, ptr %retval ret ptr %t45 } define ptr @fn_fp_pick(ptr %arg_meth, ptr %arg_t, ptr %arg_x, ptr %arg_y) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t20 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_t, ptr %t1 store ptr %arg_x, ptr %t2 store ptr %arg_y, ptr %t3 store ptr @.str1765, ptr %t4 %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str1766) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store ptr @.str1767, ptr %t4 br label %ifend2 ifend2: %t8 = load ptr, ptr %t4 %t9 = call ptr @lp_str_concat(ptr @.str1768, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str1769) %t11 = load ptr, ptr %t1 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str1770) %t14 = load ptr, ptr %t2 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str1771) %t17 = load ptr, ptr %t3 %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t20 %t22 = call ptr @lp_str_concat(ptr @.str1772, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str1773) %t24 = load ptr, ptr %t1 %t25 = call ptr @lp_str_concat(ptr %t23, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str1774) %t27 = load ptr, ptr %t2 %t28 = call ptr @lp_str_concat(ptr %t26, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str1775) %t30 = load ptr, ptr %t1 %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str1776) %t33 = load ptr, ptr %t3 %t34 = call ptr @lp_str_concat(ptr %t32, ptr %t33) %t35 = call ptr @fn_emit_bind(ptr %t34) store ptr %t35, ptr %retval br label %ret ret: %t36 = load ptr, ptr %retval ret ptr %t36 } define ptr @fn_fp_math_type(ptr %arg_first, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t11 = alloca i32 %t34 = alloca ptr %t35 = alloca i32 store ptr %arg_first, ptr %t0 store ptr %arg_e, ptr %t1 store ptr @.str1777, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Val, ptr %t3, i32 0, i32 1 %t5 = load ptr, ptr %t4 %t6 = call i32 @fn_is_fp(ptr %t5) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Val, ptr %t8, i32 0, i32 1 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t2 br label %ifend2 ifend2: store i32 1, ptr %t11 br label %wcond3 wcond3: %t12 = load i32, ptr %t11 %t13 = load ptr, ptr %t1 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp slt i32 %t12, %t17 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %wbody4, label %wend5 wbody4: %t21 = load ptr, ptr %t1 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 7 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = load i32, ptr %t11 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t26, %t28 br i1 %t29, label %ixok6, label %ixbad7 ixbad7: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str1778, i32 %t26, i32 %t28) call void @exit(i32 1) unreachable ixok6: %t31 = getelementptr inbounds ptr, ptr %t25, i32 %t26 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_static_type(ptr %t32) store ptr %t33, ptr %t34 %t36 = load ptr, ptr %t34 %t37 = icmp ne ptr %t36, null %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t35 br i1 %t39, label %sc8, label %scend9 sc8: %t41 = load ptr, ptr %t34 %t42 = call i32 @fn_is_fp(ptr %t41) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t35 br label %scend9 scend9: %t45 = load i32, ptr %t35 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then10, label %ifend12 then10: %t47 = load ptr, ptr %t2 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1779) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then13, label %else14 then13: %t50 = load ptr, ptr %t34 store ptr %t50, ptr %t2 br label %ifend15 else14: %t51 = load ptr, ptr %t2 %t52 = load ptr, ptr %t34 %t53 = call ptr @fn_fp_result(ptr %t51, ptr %t52) store ptr %t53, ptr %t2 br label %ifend15 ifend15: br label %ifend12 ifend12: %t54 = load i32, ptr %t11 %t55 = add i32 %t54, 1 store i32 %t55, ptr %t11 br label %wcond3 wend5: %t56 = load ptr, ptr %t2 store ptr %t56, ptr %retval br label %ret ret: %t57 = load ptr, ptr %retval ret ptr %t57 } define ptr @fn_fp_arg(ptr %arg_e, i32 %arg_i, ptr %arg_t, ptr %arg_meth) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca ptr %t3 = alloca ptr %t17 = alloca ptr store ptr %arg_e, ptr %t0 store i32 %arg_i, ptr %t1 store ptr %arg_t, ptr %t2 store ptr %arg_meth, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0 %t8 = load ptr, ptr %t7 %t9 = load i32, ptr %t1 %t10 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 %t9, %t11 br i1 %t12, label %ixok0, label %ixbad1 ixbad1: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str1780, i32 %t9, i32 %t11) call void @exit(i32 1) unreachable ixok0: %t14 = getelementptr inbounds ptr, ptr %t8, i32 %t9 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr %t2 %t20 = load ptr, ptr %t3 %t21 = call ptr @lp_str_concat(ptr @.str1781, ptr %t20) %t22 = call ptr @fn_to_fp(ptr %t18, ptr %t19, ptr %t21) store ptr %t22, ptr %retval br label %ret ret: %t23 = load ptr, ptr %retval ret ptr %t23 } define ptr @fn_emit_fp_math(ptr %arg_meth, ptr %arg_t, ptr %arg_first, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t9 = alloca ptr %t132 = alloca ptr %t140 = alloca ptr %t145 = alloca ptr %t164 = alloca ptr %t186 = alloca ptr %t198 = alloca i32 %t213 = alloca ptr %t257 = alloca i32 %t272 = alloca ptr %t282 = alloca ptr %t292 = alloca ptr %t311 = alloca ptr %t316 = alloca ptr %t321 = alloca ptr %t335 = alloca ptr %t340 = alloca ptr %t350 = alloca ptr %t360 = alloca ptr %t379 = alloca ptr %t384 = alloca ptr %t394 = alloca ptr %t404 = alloca ptr %t423 = alloca ptr %t428 = alloca ptr %t433 = alloca ptr %t438 = alloca ptr %t448 = alloca ptr %t458 = alloca ptr %t468 = alloca ptr %t478 = alloca ptr %t488 = alloca ptr %t507 = alloca ptr %t512 = alloca ptr %t522 = alloca ptr %t532 = alloca ptr %t542 = alloca ptr %t546 = alloca ptr %t550 = alloca ptr %t560 = alloca ptr %t568 = alloca ptr %t575 = alloca ptr %t594 = alloca ptr %t599 = alloca ptr %t609 = alloca ptr %t613 = alloca ptr %t623 = alloca ptr %t631 = alloca ptr %t638 = alloca ptr %t654 = alloca ptr %t664 = alloca ptr %t682 = alloca i32 %t697 = alloca ptr %t702 = alloca ptr %t707 = alloca ptr %t717 = alloca ptr %t727 = alloca ptr %t737 = alloca ptr %t747 = alloca ptr %t757 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_t, ptr %t1 store ptr %arg_first, ptr %t2 store ptr %arg_e, ptr %t3 %t4 = load ptr, ptr %t2 %t5 = load ptr, ptr %t1 %t6 = load ptr, ptr %t0 %t7 = call ptr @lp_str_concat(ptr @.str1782, ptr %t6) %t8 = call ptr @fn_to_fp(ptr %t4, ptr %t5, ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str1783) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: %t13 = load ptr, ptr %t1 %t14 = load ptr, ptr %t9 %t15 = call ptr @fn_fp_intrinsic1(ptr @.str1784, ptr %t13, ptr %t14) %t16 = load ptr, ptr %t1 %t17 = call ptr @fn_val(ptr %t15, ptr %t16) store ptr %t17, ptr %retval br label %ret ifend2: %t18 = load ptr, ptr %t0 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str1785) %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then3, label %ifend5 then3: %t21 = load ptr, ptr %t1 %t22 = load ptr, ptr %t9 %t23 = call ptr @fn_fp_intrinsic1(ptr @.str1786, ptr %t21, ptr %t22) %t24 = load ptr, ptr %t1 %t25 = call ptr @fn_val(ptr %t23, ptr %t24) store ptr %t25, ptr %retval br label %ret ifend5: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str1787) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then6, label %ifend8 then6: %t29 = load ptr, ptr %t1 %t30 = load ptr, ptr %t9 %t31 = call ptr @fn_fp_call1(ptr @.str1788, ptr %t29, ptr %t30) %t32 = load ptr, ptr %t1 %t33 = call ptr @fn_val(ptr %t31, ptr %t32) store ptr %t33, ptr %retval br label %ret ifend8: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str1789) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then9, label %ifend11 then9: %t37 = load ptr, ptr %t1 %t38 = load ptr, ptr %t9 %t39 = call ptr @fn_fp_call1(ptr @.str1790, ptr %t37, ptr %t38) %t40 = load ptr, ptr %t1 %t41 = call ptr @fn_val(ptr %t39, ptr %t40) store ptr %t41, ptr %retval br label %ret ifend11: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str1791) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then12, label %ifend14 then12: %t45 = load ptr, ptr %t1 %t46 = load ptr, ptr %t9 %t47 = call ptr @fn_fp_call1(ptr @.str1792, ptr %t45, ptr %t46) %t48 = load ptr, ptr %t1 %t49 = call ptr @fn_val(ptr %t47, ptr %t48) store ptr %t49, ptr %retval br label %ret ifend14: %t50 = load ptr, ptr %t0 %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str1793) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then15, label %ifend17 then15: %t53 = load ptr, ptr %t1 %t54 = load ptr, ptr %t9 %t55 = call ptr @fn_fp_call1(ptr @.str1794, ptr %t53, ptr %t54) %t56 = load ptr, ptr %t1 %t57 = call ptr @fn_val(ptr %t55, ptr %t56) store ptr %t57, ptr %retval br label %ret ifend17: %t58 = load ptr, ptr %t0 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str1795) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then18, label %ifend20 then18: %t61 = load ptr, ptr %t1 %t62 = load ptr, ptr %t9 %t63 = call ptr @fn_fp_call1(ptr @.str1796, ptr %t61, ptr %t62) %t64 = load ptr, ptr %t1 %t65 = call ptr @fn_val(ptr %t63, ptr %t64) store ptr %t65, ptr %retval br label %ret ifend20: %t66 = load ptr, ptr %t0 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str1797) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then21, label %ifend23 then21: %t69 = load ptr, ptr %t1 %t70 = load ptr, ptr %t9 %t71 = call ptr @fn_fp_call1(ptr @.str1798, ptr %t69, ptr %t70) %t72 = load ptr, ptr %t1 %t73 = call ptr @fn_val(ptr %t71, ptr %t72) store ptr %t73, ptr %retval br label %ret ifend23: %t74 = load ptr, ptr %t0 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str1799) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then24, label %ifend26 then24: %t77 = load ptr, ptr %t1 %t78 = load ptr, ptr %t9 %t79 = call ptr @fn_fp_call1(ptr @.str1800, ptr %t77, ptr %t78) %t80 = load ptr, ptr %t1 %t81 = call ptr @fn_val(ptr %t79, ptr %t80) store ptr %t81, ptr %retval br label %ret ifend26: %t82 = load ptr, ptr %t0 %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str1801) %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then27, label %ifend29 then27: %t85 = load ptr, ptr %t1 %t86 = load ptr, ptr %t9 %t87 = call ptr @fn_fp_call1(ptr @.str1802, ptr %t85, ptr %t86) %t88 = load ptr, ptr %t1 %t89 = call ptr @fn_val(ptr %t87, ptr %t88) store ptr %t89, ptr %retval br label %ret ifend29: %t90 = load ptr, ptr %t0 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str1803) %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then30, label %ifend32 then30: %t93 = load ptr, ptr %t1 %t94 = load ptr, ptr %t9 %t95 = call ptr @fn_fp_call1(ptr @.str1804, ptr %t93, ptr %t94) %t96 = load ptr, ptr %t1 %t97 = call ptr @fn_val(ptr %t95, ptr %t96) store ptr %t97, ptr %retval br label %ret ifend32: %t98 = load ptr, ptr %t0 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str1805) %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then33, label %ifend35 then33: %t101 = load ptr, ptr %t1 %t102 = load ptr, ptr %t9 %t103 = call ptr @fn_fp_call1(ptr @.str1806, ptr %t101, ptr %t102) %t104 = load ptr, ptr %t1 %t105 = call ptr @fn_val(ptr %t103, ptr %t104) store ptr %t105, ptr %retval br label %ret ifend35: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str1807) %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then36, label %ifend38 then36: %t109 = load ptr, ptr %t1 %t110 = load ptr, ptr %t9 %t111 = call ptr @fn_fp_call1(ptr @.str1808, ptr %t109, ptr %t110) %t112 = load ptr, ptr %t1 %t113 = call ptr @fn_val(ptr %t111, ptr %t112) store ptr %t113, ptr %retval br label %ret ifend38: %t114 = load ptr, ptr %t0 %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str1809) %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then39, label %ifend41 then39: %t117 = load ptr, ptr %t1 %t118 = load ptr, ptr %t9 %t119 = call ptr @fn_fp_intrinsic1(ptr @.str1810, ptr %t117, ptr %t118) %t120 = load ptr, ptr %t1 %t121 = call ptr @fn_val(ptr %t119, ptr %t120) store ptr %t121, ptr %retval br label %ret ifend41: %t122 = load ptr, ptr %t0 %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str1811) %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then42, label %ifend44 then42: %t125 = load ptr, ptr %t1 %t126 = call ptr @lp_str_concat(ptr @.str1812, ptr %t125) %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str1813) %t128 = load ptr, ptr %t9 %t129 = call ptr @lp_str_concat(ptr %t127, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str1814) %t131 = call ptr @fn_emit_bind(ptr %t130) store ptr %t131, ptr %t132 %t133 = load ptr, ptr %t1 %t134 = call ptr @lp_str_concat(ptr @.str1815, ptr %t133) %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str1816) %t136 = load ptr, ptr %t9 %t137 = call ptr @lp_str_concat(ptr %t135, ptr %t136) %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str1817) %t139 = call ptr @fn_emit_bind(ptr %t138) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t140 %t142 = call ptr @lp_str_concat(ptr @.str1818, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str1819) %t144 = call ptr @fn_emit_bind(ptr %t143) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t132 %t147 = call ptr @lp_str_concat(ptr @.str1820, ptr %t146) %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str1821) %t149 = load ptr, ptr %t145 %t150 = call ptr @lp_str_concat(ptr %t148, ptr %t149) %t151 = call ptr @fn_emit_bind(ptr %t150) %t152 = call ptr @fn_val(ptr %t151, ptr @.str1822) store ptr %t152, ptr %retval br label %ret ifend44: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str1823) %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then45, label %ifend47 then45: %t156 = load ptr, ptr %t1 %t157 = call ptr @lp_str_concat(ptr @.str1824, ptr %t156) %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str1825) %t159 = load ptr, ptr %t1 %t160 = call ptr @fn_fp_lit_code(ptr @.str1826, ptr %t159) %t161 = call ptr @lp_str_concat(ptr %t158, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str1827) %t163 = call ptr @fn_emit_bind(ptr %t162) store ptr %t163, ptr %t164 %t165 = load ptr, ptr %t1 %t166 = call ptr @lp_str_concat(ptr @.str1828, ptr %t165) %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str1829) %t168 = load ptr, ptr %t9 %t169 = call ptr @lp_str_concat(ptr %t167, ptr %t168) %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str1830) %t171 = load ptr, ptr %t164 %t172 = call ptr @lp_str_concat(ptr %t170, ptr %t171) %t173 = call ptr @fn_emit_bind(ptr %t172) %t174 = load ptr, ptr %t1 %t175 = call ptr @fn_val(ptr %t173, ptr %t174) store ptr %t175, ptr %retval br label %ret ifend47: %t176 = load ptr, ptr %t0 %t177 = call i32 @lp_str_eq(ptr %t176, ptr @.str1831) %t178 = icmp ne i32 %t177, 0 br i1 %t178, label %then48, label %ifend50 then48: %t179 = load ptr, ptr %t1 %t180 = call ptr @lp_str_concat(ptr @.str1832, ptr %t179) %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str1833) %t182 = load ptr, ptr %t1 %t183 = call ptr @fn_fp_lit_code(ptr @.str1834, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t181, ptr %t183) %t185 = call ptr @fn_emit_bind(ptr %t184) store ptr %t185, ptr %t186 %t187 = load ptr, ptr %t1 %t188 = call ptr @lp_str_concat(ptr @.str1835, ptr %t187) %t189 = call ptr @lp_str_concat(ptr %t188, ptr @.str1836) %t190 = load ptr, ptr %t9 %t191 = call ptr @lp_str_concat(ptr %t189, ptr %t190) %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str1837) %t193 = load ptr, ptr %t186 %t194 = call ptr @lp_str_concat(ptr %t192, ptr %t193) %t195 = call ptr @fn_emit_bind(ptr %t194) %t196 = load ptr, ptr %t1 %t197 = call ptr @fn_val(ptr %t195, ptr %t196) store ptr %t197, ptr %retval br label %ret ifend50: %t199 = load ptr, ptr %t0 %t200 = call i32 @lp_str_eq(ptr %t199, ptr @.str1838) %t201 = icmp ne i32 %t200, 0 %t202 = zext i1 %t201 to i32 store i32 %t202, ptr %t198 br i1 %t201, label %scend52, label %sc51 sc51: %t203 = load ptr, ptr %t0 %t204 = call i32 @lp_str_eq(ptr %t203, ptr @.str1839) %t205 = icmp ne i32 %t204, 0 %t206 = zext i1 %t205 to i32 store i32 %t206, ptr %t198 br label %scend52 scend52: %t207 = load i32, ptr %t198 %t208 = icmp ne i32 %t207, 0 br i1 %t208, label %then53, label %ifend55 then53: %t209 = load ptr, ptr %t3 %t210 = load ptr, ptr %t1 %t211 = load ptr, ptr %t0 %t212 = call ptr @fn_fp_arg(ptr %t209, i32 1, ptr %t210, ptr %t211) store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t0 %t215 = load ptr, ptr %t1 %t216 = load ptr, ptr %t9 %t217 = load ptr, ptr %t213 %t218 = call ptr @fn_fp_pick(ptr %t214, ptr %t215, ptr %t216, ptr %t217) %t219 = load ptr, ptr %t1 %t220 = call ptr @fn_val(ptr %t218, ptr %t219) store ptr %t220, ptr %retval br label %ret ifend55: %t221 = load ptr, ptr %t0 %t222 = call i32 @lp_str_eq(ptr %t221, ptr @.str1840) %t223 = icmp ne i32 %t222, 0 br i1 %t223, label %then56, label %ifend58 then56: %t224 = load ptr, ptr %t1 %t225 = load ptr, ptr %t9 %t226 = load ptr, ptr %t3 %t227 = load ptr, ptr %t1 %t228 = load ptr, ptr %t0 %t229 = call ptr @fn_fp_arg(ptr %t226, i32 1, ptr %t227, ptr %t228) %t230 = call ptr @fn_fp_intrinsic2(ptr @.str1841, ptr %t224, ptr %t225, ptr %t229) %t231 = load ptr, ptr %t1 %t232 = call ptr @fn_val(ptr %t230, ptr %t231) store ptr %t232, ptr %retval br label %ret ifend58: %t233 = load ptr, ptr %t0 %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str1842) %t235 = icmp ne i32 %t234, 0 br i1 %t235, label %then59, label %ifend61 then59: %t236 = load ptr, ptr %t1 %t237 = load ptr, ptr %t9 %t238 = load ptr, ptr %t3 %t239 = load ptr, ptr %t1 %t240 = load ptr, ptr %t0 %t241 = call ptr @fn_fp_arg(ptr %t238, i32 1, ptr %t239, ptr %t240) %t242 = call ptr @fn_fp_call2(ptr @.str1843, ptr %t236, ptr %t237, ptr %t241) %t243 = load ptr, ptr %t1 %t244 = call ptr @fn_val(ptr %t242, ptr %t243) store ptr %t244, ptr %retval br label %ret ifend61: %t245 = load ptr, ptr %t0 %t246 = call i32 @lp_str_eq(ptr %t245, ptr @.str1844) %t247 = icmp ne i32 %t246, 0 br i1 %t247, label %then62, label %ifend64 then62: %t248 = load ptr, ptr %t1 %t249 = load ptr, ptr %t9 %t250 = load ptr, ptr %t3 %t251 = load ptr, ptr %t1 %t252 = load ptr, ptr %t0 %t253 = call ptr @fn_fp_arg(ptr %t250, i32 1, ptr %t251, ptr %t252) %t254 = call ptr @fn_fp_call2(ptr @.str1845, ptr %t248, ptr %t249, ptr %t253) %t255 = load ptr, ptr %t1 %t256 = call ptr @fn_val(ptr %t254, ptr %t255) store ptr %t256, ptr %retval br label %ret ifend64: %t258 = load ptr, ptr %t0 %t259 = call i32 @lp_str_eq(ptr %t258, ptr @.str1846) %t260 = icmp ne i32 %t259, 0 %t261 = zext i1 %t260 to i32 store i32 %t261, ptr %t257 br i1 %t260, label %scend66, label %sc65 sc65: %t262 = load ptr, ptr %t0 %t263 = call i32 @lp_str_eq(ptr %t262, ptr @.str1847) %t264 = icmp ne i32 %t263, 0 %t265 = zext i1 %t264 to i32 store i32 %t265, ptr %t257 br label %scend66 scend66: %t266 = load i32, ptr %t257 %t267 = icmp ne i32 %t266, 0 br i1 %t267, label %then67, label %ifend69 then67: %t268 = load ptr, ptr %t3 %t269 = load ptr, ptr %t1 %t270 = load ptr, ptr %t0 %t271 = call ptr @fn_fp_arg(ptr %t268, i32 1, ptr %t269, ptr %t270) store ptr %t271, ptr %t272 %t273 = load ptr, ptr %t1 %t274 = call ptr @lp_str_concat(ptr @.str1848, ptr %t273) %t275 = call ptr @lp_str_concat(ptr %t274, ptr @.str1849) %t276 = load ptr, ptr %t9 %t277 = call ptr @lp_str_concat(ptr %t275, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str1850) %t279 = load ptr, ptr %t272 %t280 = call ptr @lp_str_concat(ptr %t278, ptr %t279) %t281 = call ptr @fn_emit_bind(ptr %t280) store ptr %t281, ptr %t282 %t283 = load ptr, ptr %t1 %t284 = call ptr @lp_str_concat(ptr @.str1851, ptr %t283) %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str1852) %t286 = load ptr, ptr %t282 %t287 = call ptr @lp_str_concat(ptr %t285, ptr %t286) %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str1853) %t289 = load ptr, ptr %t272 %t290 = call ptr @lp_str_concat(ptr %t288, ptr %t289) %t291 = call ptr @fn_emit_bind(ptr %t290) store ptr %t291, ptr %t292 %t293 = load ptr, ptr %t1 %t294 = call ptr @lp_str_concat(ptr @.str1854, ptr %t293) %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str1855) %t296 = load ptr, ptr %t292 %t297 = call ptr @lp_str_concat(ptr %t295, ptr %t296) %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str1856) %t299 = load ptr, ptr %t272 %t300 = call ptr @lp_str_concat(ptr %t298, ptr %t299) %t301 = call ptr @fn_emit_bind(ptr %t300) %t302 = load ptr, ptr %t1 %t303 = call ptr @fn_val(ptr %t301, ptr %t302) store ptr %t303, ptr %retval br label %ret ifend69: %t304 = load ptr, ptr %t0 %t305 = call i32 @lp_str_eq(ptr %t304, ptr @.str1857) %t306 = icmp ne i32 %t305, 0 br i1 %t306, label %then70, label %ifend72 then70: %t307 = load ptr, ptr %t3 %t308 = load ptr, ptr %t1 %t309 = load ptr, ptr %t0 %t310 = call ptr @fn_fp_arg(ptr %t307, i32 1, ptr %t308, ptr %t309) store ptr %t310, ptr %t311 %t312 = load ptr, ptr %t3 %t313 = load ptr, ptr %t1 %t314 = load ptr, ptr %t0 %t315 = call ptr @fn_fp_arg(ptr %t312, i32 2, ptr %t313, ptr %t314) store ptr %t315, ptr %t316 %t317 = load ptr, ptr %t1 %t318 = load ptr, ptr %t9 %t319 = load ptr, ptr %t311 %t320 = call ptr @fn_fp_pick(ptr @.str1858, ptr %t317, ptr %t318, ptr %t319) store ptr %t320, ptr %t321 %t322 = load ptr, ptr %t1 %t323 = load ptr, ptr %t321 %t324 = load ptr, ptr %t316 %t325 = call ptr @fn_fp_pick(ptr @.str1859, ptr %t322, ptr %t323, ptr %t324) %t326 = load ptr, ptr %t1 %t327 = call ptr @fn_val(ptr %t325, ptr %t326) store ptr %t327, ptr %retval br label %ret ifend72: %t328 = load ptr, ptr %t0 %t329 = call i32 @lp_str_eq(ptr %t328, ptr @.str1860) %t330 = icmp ne i32 %t329, 0 br i1 %t330, label %then73, label %ifend75 then73: %t331 = load ptr, ptr %t3 %t332 = load ptr, ptr %t1 %t333 = load ptr, ptr %t0 %t334 = call ptr @fn_fp_arg(ptr %t331, i32 1, ptr %t332, ptr %t333) store ptr %t334, ptr %t335 %t336 = load ptr, ptr %t3 %t337 = load ptr, ptr %t1 %t338 = load ptr, ptr %t0 %t339 = call ptr @fn_fp_arg(ptr %t336, i32 2, ptr %t337, ptr %t338) store ptr %t339, ptr %t340 %t341 = load ptr, ptr %t1 %t342 = call ptr @lp_str_concat(ptr @.str1861, ptr %t341) %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str1862) %t344 = load ptr, ptr %t335 %t345 = call ptr @lp_str_concat(ptr %t343, ptr %t344) %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str1863) %t347 = load ptr, ptr %t9 %t348 = call ptr @lp_str_concat(ptr %t346, ptr %t347) %t349 = call ptr @fn_emit_bind(ptr %t348) store ptr %t349, ptr %t350 %t351 = load ptr, ptr %t1 %t352 = call ptr @lp_str_concat(ptr @.str1864, ptr %t351) %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str1865) %t354 = load ptr, ptr %t350 %t355 = call ptr @lp_str_concat(ptr %t353, ptr %t354) %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str1866) %t357 = load ptr, ptr %t340 %t358 = call ptr @lp_str_concat(ptr %t356, ptr %t357) %t359 = call ptr @fn_emit_bind(ptr %t358) store ptr %t359, ptr %t360 %t361 = load ptr, ptr %t1 %t362 = call ptr @lp_str_concat(ptr @.str1867, ptr %t361) %t363 = call ptr @lp_str_concat(ptr %t362, ptr @.str1868) %t364 = load ptr, ptr %t9 %t365 = call ptr @lp_str_concat(ptr %t363, ptr %t364) %t366 = call ptr @lp_str_concat(ptr %t365, ptr @.str1869) %t367 = load ptr, ptr %t360 %t368 = call ptr @lp_str_concat(ptr %t366, ptr %t367) %t369 = call ptr @fn_emit_bind(ptr %t368) %t370 = load ptr, ptr %t1 %t371 = call ptr @fn_val(ptr %t369, ptr %t370) store ptr %t371, ptr %retval br label %ret ifend75: %t372 = load ptr, ptr %t0 %t373 = call i32 @lp_str_eq(ptr %t372, ptr @.str1870) %t374 = icmp ne i32 %t373, 0 br i1 %t374, label %then76, label %ifend78 then76: %t375 = load ptr, ptr %t3 %t376 = load ptr, ptr %t1 %t377 = load ptr, ptr %t0 %t378 = call ptr @fn_fp_arg(ptr %t375, i32 1, ptr %t376, ptr %t377) store ptr %t378, ptr %t379 %t380 = load ptr, ptr %t3 %t381 = load ptr, ptr %t1 %t382 = load ptr, ptr %t0 %t383 = call ptr @fn_fp_arg(ptr %t380, i32 2, ptr %t381, ptr %t382) store ptr %t383, ptr %t384 %t385 = load ptr, ptr %t1 %t386 = call ptr @lp_str_concat(ptr @.str1871, ptr %t385) %t387 = call ptr @lp_str_concat(ptr %t386, ptr @.str1872) %t388 = load ptr, ptr %t384 %t389 = call ptr @lp_str_concat(ptr %t387, ptr %t388) %t390 = call ptr @lp_str_concat(ptr %t389, ptr @.str1873) %t391 = load ptr, ptr %t9 %t392 = call ptr @lp_str_concat(ptr %t390, ptr %t391) %t393 = call ptr @fn_emit_bind(ptr %t392) store ptr %t393, ptr %t394 %t395 = load ptr, ptr %t1 %t396 = call ptr @lp_str_concat(ptr @.str1874, ptr %t395) %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str1875) %t398 = load ptr, ptr %t379 %t399 = call ptr @lp_str_concat(ptr %t397, ptr %t398) %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str1876) %t401 = load ptr, ptr %t9 %t402 = call ptr @lp_str_concat(ptr %t400, ptr %t401) %t403 = call ptr @fn_emit_bind(ptr %t402) store ptr %t403, ptr %t404 %t405 = load ptr, ptr %t1 %t406 = call ptr @lp_str_concat(ptr @.str1877, ptr %t405) %t407 = call ptr @lp_str_concat(ptr %t406, ptr @.str1878) %t408 = load ptr, ptr %t394 %t409 = call ptr @lp_str_concat(ptr %t407, ptr %t408) %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str1879) %t411 = load ptr, ptr %t404 %t412 = call ptr @lp_str_concat(ptr %t410, ptr %t411) %t413 = call ptr @fn_emit_bind(ptr %t412) %t414 = load ptr, ptr %t1 %t415 = call ptr @fn_val(ptr %t413, ptr %t414) store ptr %t415, ptr %retval br label %ret ifend78: %t416 = load ptr, ptr %t0 %t417 = call i32 @lp_str_eq(ptr %t416, ptr @.str1880) %t418 = icmp ne i32 %t417, 0 br i1 %t418, label %then79, label %ifend81 then79: %t419 = load ptr, ptr %t3 %t420 = load ptr, ptr %t1 %t421 = load ptr, ptr %t0 %t422 = call ptr @fn_fp_arg(ptr %t419, i32 1, ptr %t420, ptr %t421) store ptr %t422, ptr %t423 %t424 = load ptr, ptr %t3 %t425 = load ptr, ptr %t1 %t426 = load ptr, ptr %t0 %t427 = call ptr @fn_fp_arg(ptr %t424, i32 2, ptr %t425, ptr %t426) store ptr %t427, ptr %t428 %t429 = load ptr, ptr %t3 %t430 = load ptr, ptr %t1 %t431 = load ptr, ptr %t0 %t432 = call ptr @fn_fp_arg(ptr %t429, i32 3, ptr %t430, ptr %t431) store ptr %t432, ptr %t433 %t434 = load ptr, ptr %t3 %t435 = load ptr, ptr %t1 %t436 = load ptr, ptr %t0 %t437 = call ptr @fn_fp_arg(ptr %t434, i32 4, ptr %t435, ptr %t436) store ptr %t437, ptr %t438 %t439 = load ptr, ptr %t1 %t440 = call ptr @lp_str_concat(ptr @.str1881, ptr %t439) %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str1882) %t442 = load ptr, ptr %t9 %t443 = call ptr @lp_str_concat(ptr %t441, ptr %t442) %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str1883) %t445 = load ptr, ptr %t423 %t446 = call ptr @lp_str_concat(ptr %t444, ptr %t445) %t447 = call ptr @fn_emit_bind(ptr %t446) store ptr %t447, ptr %t448 %t449 = load ptr, ptr %t1 %t450 = call ptr @lp_str_concat(ptr @.str1884, ptr %t449) %t451 = call ptr @lp_str_concat(ptr %t450, ptr @.str1885) %t452 = load ptr, ptr %t428 %t453 = call ptr @lp_str_concat(ptr %t451, ptr %t452) %t454 = call ptr @lp_str_concat(ptr %t453, ptr @.str1886) %t455 = load ptr, ptr %t423 %t456 = call ptr @lp_str_concat(ptr %t454, ptr %t455) %t457 = call ptr @fn_emit_bind(ptr %t456) store ptr %t457, ptr %t458 %t459 = load ptr, ptr %t1 %t460 = call ptr @lp_str_concat(ptr @.str1887, ptr %t459) %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str1888) %t462 = load ptr, ptr %t448 %t463 = call ptr @lp_str_concat(ptr %t461, ptr %t462) %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str1889) %t465 = load ptr, ptr %t458 %t466 = call ptr @lp_str_concat(ptr %t464, ptr %t465) %t467 = call ptr @fn_emit_bind(ptr %t466) store ptr %t467, ptr %t468 %t469 = load ptr, ptr %t1 %t470 = call ptr @lp_str_concat(ptr @.str1890, ptr %t469) %t471 = call ptr @lp_str_concat(ptr %t470, ptr @.str1891) %t472 = load ptr, ptr %t438 %t473 = call ptr @lp_str_concat(ptr %t471, ptr %t472) %t474 = call ptr @lp_str_concat(ptr %t473, ptr @.str1892) %t475 = load ptr, ptr %t433 %t476 = call ptr @lp_str_concat(ptr %t474, ptr %t475) %t477 = call ptr @fn_emit_bind(ptr %t476) store ptr %t477, ptr %t478 %t479 = load ptr, ptr %t1 %t480 = call ptr @lp_str_concat(ptr @.str1893, ptr %t479) %t481 = call ptr @lp_str_concat(ptr %t480, ptr @.str1894) %t482 = load ptr, ptr %t478 %t483 = call ptr @lp_str_concat(ptr %t481, ptr %t482) %t484 = call ptr @lp_str_concat(ptr %t483, ptr @.str1895) %t485 = load ptr, ptr %t468 %t486 = call ptr @lp_str_concat(ptr %t484, ptr %t485) %t487 = call ptr @fn_emit_bind(ptr %t486) store ptr %t487, ptr %t488 %t489 = load ptr, ptr %t1 %t490 = call ptr @lp_str_concat(ptr @.str1896, ptr %t489) %t491 = call ptr @lp_str_concat(ptr %t490, ptr @.str1897) %t492 = load ptr, ptr %t433 %t493 = call ptr @lp_str_concat(ptr %t491, ptr %t492) %t494 = call ptr @lp_str_concat(ptr %t493, ptr @.str1898) %t495 = load ptr, ptr %t488 %t496 = call ptr @lp_str_concat(ptr %t494, ptr %t495) %t497 = call ptr @fn_emit_bind(ptr %t496) %t498 = load ptr, ptr %t1 %t499 = call ptr @fn_val(ptr %t497, ptr %t498) store ptr %t499, ptr %retval br label %ret ifend81: %t500 = load ptr, ptr %t0 %t501 = call i32 @lp_str_eq(ptr %t500, ptr @.str1899) %t502 = icmp ne i32 %t501, 0 br i1 %t502, label %then82, label %ifend84 then82: %t503 = load ptr, ptr %t3 %t504 = load ptr, ptr %t1 %t505 = load ptr, ptr %t0 %t506 = call ptr @fn_fp_arg(ptr %t503, i32 1, ptr %t504, ptr %t505) store ptr %t506, ptr %t507 %t508 = load ptr, ptr %t3 %t509 = load ptr, ptr %t1 %t510 = load ptr, ptr %t0 %t511 = call ptr @fn_fp_arg(ptr %t508, i32 2, ptr %t509, ptr %t510) store ptr %t511, ptr %t512 %t513 = load ptr, ptr %t1 %t514 = call ptr @lp_str_concat(ptr @.str1900, ptr %t513) %t515 = call ptr @lp_str_concat(ptr %t514, ptr @.str1901) %t516 = load ptr, ptr %t512 %t517 = call ptr @lp_str_concat(ptr %t515, ptr %t516) %t518 = call ptr @lp_str_concat(ptr %t517, ptr @.str1902) %t519 = load ptr, ptr %t9 %t520 = call ptr @lp_str_concat(ptr %t518, ptr %t519) %t521 = call ptr @fn_emit_bind(ptr %t520) store ptr %t521, ptr %t522 %t523 = load ptr, ptr %t1 %t524 = call ptr @lp_str_concat(ptr @.str1903, ptr %t523) %t525 = call ptr @lp_str_concat(ptr %t524, ptr @.str1904) %t526 = load ptr, ptr %t507 %t527 = call ptr @lp_str_concat(ptr %t525, ptr %t526) %t528 = call ptr @lp_str_concat(ptr %t527, ptr @.str1905) %t529 = load ptr, ptr %t9 %t530 = call ptr @lp_str_concat(ptr %t528, ptr %t529) %t531 = call ptr @fn_emit_bind(ptr %t530) store ptr %t531, ptr %t532 %t533 = load ptr, ptr %t1 %t534 = call ptr @lp_str_concat(ptr @.str1906, ptr %t533) %t535 = call ptr @lp_str_concat(ptr %t534, ptr @.str1907) %t536 = load ptr, ptr %t522 %t537 = call ptr @lp_str_concat(ptr %t535, ptr %t536) %t538 = call ptr @lp_str_concat(ptr %t537, ptr @.str1908) %t539 = load ptr, ptr %t532 %t540 = call ptr @lp_str_concat(ptr %t538, ptr %t539) %t541 = call ptr @fn_emit_bind(ptr %t540) store ptr %t541, ptr %t542 %t543 = load ptr, ptr %t1 %t544 = load ptr, ptr %t542 %t545 = call ptr @fn_fp_pick(ptr @.str1909, ptr %t543, ptr %t544, ptr @.str1910) store ptr %t545, ptr %t546 %t547 = load ptr, ptr %t1 %t548 = load ptr, ptr %t546 %t549 = call ptr @fn_fp_pick(ptr @.str1911, ptr %t547, ptr %t548, ptr @.str1912) store ptr %t549, ptr %t550 %t551 = load ptr, ptr %t1 %t552 = call ptr @lp_str_concat(ptr @.str1913, ptr %t551) %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str1914) %t554 = load ptr, ptr %t550 %t555 = call ptr @lp_str_concat(ptr %t553, ptr %t554) %t556 = call ptr @lp_str_concat(ptr %t555, ptr @.str1915) %t557 = load ptr, ptr %t550 %t558 = call ptr @lp_str_concat(ptr %t556, ptr %t557) %t559 = call ptr @fn_emit_bind(ptr %t558) store ptr %t559, ptr %t560 %t561 = load ptr, ptr %t1 %t562 = call ptr @lp_str_concat(ptr @.str1916, ptr %t561) %t563 = call ptr @lp_str_concat(ptr %t562, ptr @.str1917) %t564 = load ptr, ptr %t550 %t565 = call ptr @lp_str_concat(ptr %t563, ptr %t564) %t566 = call ptr @lp_str_concat(ptr %t565, ptr @.str1918) %t567 = call ptr @fn_emit_bind(ptr %t566) store ptr %t567, ptr %t568 %t569 = load ptr, ptr %t1 %t570 = call ptr @lp_str_concat(ptr @.str1919, ptr %t569) %t571 = call ptr @lp_str_concat(ptr %t570, ptr @.str1920) %t572 = load ptr, ptr %t568 %t573 = call ptr @lp_str_concat(ptr %t571, ptr %t572) %t574 = call ptr @fn_emit_bind(ptr %t573) store ptr %t574, ptr %t575 %t576 = load ptr, ptr %t1 %t577 = call ptr @lp_str_concat(ptr @.str1921, ptr %t576) %t578 = call ptr @lp_str_concat(ptr %t577, ptr @.str1922) %t579 = load ptr, ptr %t560 %t580 = call ptr @lp_str_concat(ptr %t578, ptr %t579) %t581 = call ptr @lp_str_concat(ptr %t580, ptr @.str1923) %t582 = load ptr, ptr %t575 %t583 = call ptr @lp_str_concat(ptr %t581, ptr %t582) %t584 = call ptr @fn_emit_bind(ptr %t583) %t585 = load ptr, ptr %t1 %t586 = call ptr @fn_val(ptr %t584, ptr %t585) store ptr %t586, ptr %retval br label %ret ifend84: %t587 = load ptr, ptr %t0 %t588 = call i32 @lp_str_eq(ptr %t587, ptr @.str1924) %t589 = icmp ne i32 %t588, 0 br i1 %t589, label %then85, label %ifend87 then85: %t590 = load ptr, ptr %t3 %t591 = load ptr, ptr %t1 %t592 = load ptr, ptr %t0 %t593 = call ptr @fn_fp_arg(ptr %t590, i32 1, ptr %t591, ptr %t592) store ptr %t593, ptr %t594 %t595 = load ptr, ptr %t3 %t596 = load ptr, ptr %t1 %t597 = load ptr, ptr %t0 %t598 = call ptr @fn_fp_arg(ptr %t595, i32 2, ptr %t596, ptr %t597) store ptr %t598, ptr %t599 %t600 = load ptr, ptr %t1 %t601 = call ptr @lp_str_concat(ptr @.str1925, ptr %t600) %t602 = call ptr @lp_str_concat(ptr %t601, ptr @.str1926) %t603 = load ptr, ptr %t594 %t604 = call ptr @lp_str_concat(ptr %t602, ptr %t603) %t605 = call ptr @lp_str_concat(ptr %t604, ptr @.str1927) %t606 = load ptr, ptr %t9 %t607 = call ptr @lp_str_concat(ptr %t605, ptr %t606) %t608 = call ptr @fn_emit_bind(ptr %t607) store ptr %t608, ptr %t609 %t610 = load ptr, ptr %t1 %t611 = load ptr, ptr %t609 %t612 = call ptr @fn_fp_intrinsic1(ptr @.str1928, ptr %t610, ptr %t611) store ptr %t612, ptr %t613 %t614 = load ptr, ptr %t1 %t615 = call ptr @lp_str_concat(ptr @.str1929, ptr %t614) %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str1930) %t617 = load ptr, ptr %t613 %t618 = call ptr @lp_str_concat(ptr %t616, ptr %t617) %t619 = call ptr @lp_str_concat(ptr %t618, ptr @.str1931) %t620 = load ptr, ptr %t599 %t621 = call ptr @lp_str_concat(ptr %t619, ptr %t620) %t622 = call ptr @fn_emit_bind(ptr %t621) store ptr %t622, ptr %t623 %t624 = load ptr, ptr %t1 %t625 = call ptr @lp_str_concat(ptr @.str1932, ptr %t624) %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str1933) %t627 = load ptr, ptr %t609 %t628 = call ptr @lp_str_concat(ptr %t626, ptr %t627) %t629 = call ptr @lp_str_concat(ptr %t628, ptr @.str1934) %t630 = call ptr @fn_emit_bind(ptr %t629) store ptr %t630, ptr %t631 %t632 = load ptr, ptr %t1 %t633 = call ptr @lp_str_concat(ptr @.str1935, ptr %t632) %t634 = call ptr @lp_str_concat(ptr %t633, ptr @.str1936) %t635 = load ptr, ptr %t599 %t636 = call ptr @lp_str_concat(ptr %t634, ptr %t635) %t637 = call ptr @fn_emit_bind(ptr %t636) store ptr %t637, ptr %t638 %t639 = load ptr, ptr %t631 %t640 = call ptr @lp_str_concat(ptr @.str1937, ptr %t639) %t641 = call ptr @lp_str_concat(ptr %t640, ptr @.str1938) %t642 = load ptr, ptr %t1 %t643 = call ptr @lp_str_concat(ptr %t641, ptr %t642) %t644 = call ptr @lp_str_concat(ptr %t643, ptr @.str1939) %t645 = load ptr, ptr %t638 %t646 = call ptr @lp_str_concat(ptr %t644, ptr %t645) %t647 = call ptr @lp_str_concat(ptr %t646, ptr @.str1940) %t648 = load ptr, ptr %t1 %t649 = call ptr @lp_str_concat(ptr %t647, ptr %t648) %t650 = call ptr @lp_str_concat(ptr %t649, ptr @.str1941) %t651 = load ptr, ptr %t599 %t652 = call ptr @lp_str_concat(ptr %t650, ptr %t651) %t653 = call ptr @fn_emit_bind(ptr %t652) store ptr %t653, ptr %t654 %t655 = load ptr, ptr %t1 %t656 = call ptr @lp_str_concat(ptr @.str1942, ptr %t655) %t657 = call ptr @lp_str_concat(ptr %t656, ptr @.str1943) %t658 = load ptr, ptr %t9 %t659 = call ptr @lp_str_concat(ptr %t657, ptr %t658) %t660 = call ptr @lp_str_concat(ptr %t659, ptr @.str1944) %t661 = load ptr, ptr %t654 %t662 = call ptr @lp_str_concat(ptr %t660, ptr %t661) %t663 = call ptr @fn_emit_bind(ptr %t662) store ptr %t663, ptr %t664 %t665 = load ptr, ptr %t623 %t666 = call ptr @lp_str_concat(ptr @.str1945, ptr %t665) %t667 = call ptr @lp_str_concat(ptr %t666, ptr @.str1946) %t668 = load ptr, ptr %t1 %t669 = call ptr @lp_str_concat(ptr %t667, ptr %t668) %t670 = call ptr @lp_str_concat(ptr %t669, ptr @.str1947) %t671 = load ptr, ptr %t594 %t672 = call ptr @lp_str_concat(ptr %t670, ptr %t671) %t673 = call ptr @lp_str_concat(ptr %t672, ptr @.str1948) %t674 = load ptr, ptr %t1 %t675 = call ptr @lp_str_concat(ptr %t673, ptr %t674) %t676 = call ptr @lp_str_concat(ptr %t675, ptr @.str1949) %t677 = load ptr, ptr %t664 %t678 = call ptr @lp_str_concat(ptr %t676, ptr %t677) %t679 = call ptr @fn_emit_bind(ptr %t678) %t680 = load ptr, ptr %t1 %t681 = call ptr @fn_val(ptr %t679, ptr %t680) store ptr %t681, ptr %retval br label %ret ifend87: %t683 = load ptr, ptr %t0 %t684 = call i32 @lp_str_eq(ptr %t683, ptr @.str1950) %t685 = icmp ne i32 %t684, 0 %t686 = zext i1 %t685 to i32 store i32 %t686, ptr %t682 br i1 %t685, label %scend89, label %sc88 sc88: %t687 = load ptr, ptr %t0 %t688 = call i32 @lp_str_eq(ptr %t687, ptr @.str1951) %t689 = icmp ne i32 %t688, 0 %t690 = zext i1 %t689 to i32 store i32 %t690, ptr %t682 br label %scend89 scend89: %t691 = load i32, ptr %t682 %t692 = icmp ne i32 %t691, 0 br i1 %t692, label %then90, label %ifend92 then90: %t693 = load ptr, ptr %t3 %t694 = load ptr, ptr %t1 %t695 = load ptr, ptr %t0 %t696 = call ptr @fn_fp_arg(ptr %t693, i32 1, ptr %t694, ptr %t695) store ptr %t696, ptr %t697 %t698 = load ptr, ptr %t3 %t699 = load ptr, ptr %t1 %t700 = load ptr, ptr %t0 %t701 = call ptr @fn_fp_arg(ptr %t698, i32 2, ptr %t699, ptr %t700) store ptr %t701, ptr %t702 %t703 = load ptr, ptr %t3 %t704 = load ptr, ptr %t1 %t705 = load ptr, ptr %t0 %t706 = call ptr @fn_fp_arg(ptr %t703, i32 3, ptr %t704, ptr %t705) store ptr %t706, ptr %t707 %t708 = load ptr, ptr %t1 %t709 = call ptr @lp_str_concat(ptr @.str1952, ptr %t708) %t710 = call ptr @lp_str_concat(ptr %t709, ptr @.str1953) %t711 = load ptr, ptr %t702 %t712 = call ptr @lp_str_concat(ptr %t710, ptr %t711) %t713 = call ptr @lp_str_concat(ptr %t712, ptr @.str1954) %t714 = load ptr, ptr %t9 %t715 = call ptr @lp_str_concat(ptr %t713, ptr %t714) %t716 = call ptr @fn_emit_bind(ptr %t715) store ptr %t716, ptr %t717 %t718 = load ptr, ptr %t1 %t719 = call ptr @lp_str_concat(ptr @.str1955, ptr %t718) %t720 = call ptr @lp_str_concat(ptr %t719, ptr @.str1956) %t721 = load ptr, ptr %t707 %t722 = call ptr @lp_str_concat(ptr %t720, ptr %t721) %t723 = call ptr @lp_str_concat(ptr %t722, ptr @.str1957) %t724 = load ptr, ptr %t697 %t725 = call ptr @lp_str_concat(ptr %t723, ptr %t724) %t726 = call ptr @fn_emit_bind(ptr %t725) store ptr %t726, ptr %t727 %t728 = load ptr, ptr %t1 %t729 = call ptr @lp_str_concat(ptr @.str1958, ptr %t728) %t730 = call ptr @lp_str_concat(ptr %t729, ptr @.str1959) %t731 = load ptr, ptr %t717 %t732 = call ptr @lp_str_concat(ptr %t730, ptr %t731) %t733 = call ptr @lp_str_concat(ptr %t732, ptr @.str1960) %t734 = load ptr, ptr %t717 %t735 = call ptr @lp_str_concat(ptr %t733, ptr %t734) %t736 = call ptr @fn_emit_bind(ptr %t735) store ptr %t736, ptr %t737 %t738 = load ptr, ptr %t1 %t739 = call ptr @lp_str_concat(ptr @.str1961, ptr %t738) %t740 = call ptr @lp_str_concat(ptr %t739, ptr @.str1962) %t741 = load ptr, ptr %t727 %t742 = call ptr @lp_str_concat(ptr %t740, ptr %t741) %t743 = call ptr @lp_str_concat(ptr %t742, ptr @.str1963) %t744 = load ptr, ptr %t727 %t745 = call ptr @lp_str_concat(ptr %t743, ptr %t744) %t746 = call ptr @fn_emit_bind(ptr %t745) store ptr %t746, ptr %t747 %t748 = load ptr, ptr %t1 %t749 = call ptr @lp_str_concat(ptr @.str1964, ptr %t748) %t750 = call ptr @lp_str_concat(ptr %t749, ptr @.str1965) %t751 = load ptr, ptr %t737 %t752 = call ptr @lp_str_concat(ptr %t750, ptr %t751) %t753 = call ptr @lp_str_concat(ptr %t752, ptr @.str1966) %t754 = load ptr, ptr %t747 %t755 = call ptr @lp_str_concat(ptr %t753, ptr %t754) %t756 = call ptr @fn_emit_bind(ptr %t755) store ptr %t756, ptr %t757 %t758 = load ptr, ptr %t0 %t759 = call i32 @lp_str_eq(ptr %t758, ptr @.str1967) %t760 = icmp ne i32 %t759, 0 br i1 %t760, label %then93, label %ifend95 then93: %t761 = load ptr, ptr %t757 %t762 = load ptr, ptr %t1 %t763 = call ptr @fn_val(ptr %t761, ptr %t762) store ptr %t763, ptr %retval br label %ret ifend95: %t764 = load ptr, ptr %t1 %t765 = load ptr, ptr %t757 %t766 = call ptr @fn_fp_intrinsic1(ptr @.str1968, ptr %t764, ptr %t765) %t767 = load ptr, ptr %t1 %t768 = call ptr @fn_val(ptr %t766, ptr %t767) store ptr %t768, ptr %retval br label %ret ifend92: %t769 = load ptr, ptr %t0 %t770 = call ptr @lp_str_concat(ptr @.str1969, ptr %t769) %t771 = call ptr @lp_str_concat(ptr %t770, ptr @.str1970) %t772 = load ptr, ptr %t1 %t773 = call ptr @lp_str_concat(ptr %t771, ptr %t772) %t774 = call ptr @lp_str_concat(ptr %t773, ptr @.str1971) call void @fn_perr(ptr %t774) %t775 = load ptr, ptr %t9 %t776 = load ptr, ptr %t1 %t777 = call ptr @fn_val(ptr %t775, ptr %t776) store ptr %t777, ptr %retval br label %ret ret: %t778 = load ptr, ptr %retval ret ptr %t778 } define ptr @fn_preval_node(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t22 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr @g_g_prevals %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t4 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 2 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t6 = load i32, ptr %t3 %t7 = load i32, ptr %t4 %t8 = icmp sge i32 %t6, %t7 br i1 %t8, label %grow0, label %put1 grow0: %t9 = mul i32 %t7, 2 %t10 = icmp eq i32 %t7, 0 %t11 = select i1 %t10, i32 8, i32 %t9 %t12 = getelementptr ptr, ptr null, i32 1 %t13 = ptrtoint ptr %t12 to i64 %t14 = zext i32 %t11 to i64 %t15 = mul i64 %t14, %t13 %t16 = load ptr, ptr %t5 %t17 = call ptr @realloc(ptr %t16, i64 %t15) store ptr %t17, ptr %t5 store i32 %t11, ptr %t4 br label %put1 put1: %t18 = load ptr, ptr %t5 %t19 = getelementptr inbounds ptr, ptr %t18, i32 %t6 store ptr %t2, ptr %t19 %t20 = add i32 %t6, 1 store i32 %t20, ptr %t3 %t21 = call ptr @fn_node(i32 190) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 2 %t25 = load ptr, ptr @g_g_prevals %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = sub i32 %t27, 1 store i32 %t28, ptr %t24 %t29 = load ptr, ptr %t22 store ptr %t29, ptr %retval br label %ret ret: %t30 = load ptr, ptr %retval ret ptr %t30 } define i32 @fn_is_math_builtin(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_name, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str1972) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t3 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str1973) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 br label %scend1 scend1: %t12 = load i32, ptr %t3 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str1974) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br label %scend3 scend3: %t19 = load i32, ptr %t2 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t1 br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str1975) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 br label %scend5 scend5: %t26 = load i32, ptr %t1 store i32 %t26, ptr %retval br label %ret ret: %t27 = load i32, ptr %retval ret i32 %t27 } define ptr @fn_emit_math_builtin(ptr %arg_name, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t24 = alloca ptr %t28 = alloca ptr %t37 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp eq i32 %t6, 0 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: %t10 = load ptr, ptr %t0 %t11 = load ptr, ptr %t1 %t12 = call ptr @fn_emit_math_builtin_fixed(ptr %t10, ptr %t11) store ptr %t12, ptr %retval br label %ret ifend2: %t13 = load ptr, ptr %t1 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 0, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str1976, i32 0, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 0 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t0 %t26 = load ptr, ptr %t1 %t27 = call ptr @fn_math_fp_route(ptr %t25, ptr %t26) store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = icmp ne ptr %t29, null %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t28 store ptr %t33, ptr %retval br label %ret ifend7: %t34 = load ptr, ptr %t0 %t35 = load ptr, ptr %t1 %t36 = call ptr @fn_emit_math_builtin_fixed(ptr %t34, ptr %t35) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t1 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 0, %t44 br i1 %t45, label %ixok8, label %ixbad9 ixbad9: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str1977, i32 0, i32 %t44) call void @exit(i32 1) unreachable ixok8: %t47 = getelementptr inbounds ptr, ptr %t42, i32 0 %t48 = load ptr, ptr %t24 store ptr %t48, ptr %t47 %t49 = load ptr, ptr %t37 store ptr %t49, ptr %retval br label %ret ret: %t50 = load ptr, ptr %retval ret ptr %t50 } define ptr @fn_emit_math_builtin_fixed(ptr %arg_name, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t24 = alloca ptr %t30 = alloca ptr %t46 = alloca i32 %t69 = alloca ptr %t82 = alloca ptr %t83 = alloca ptr %t100 = alloca ptr %t130 = alloca ptr %t143 = alloca ptr %t156 = alloca ptr %t167 = alloca ptr %t181 = alloca ptr %t190 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str1978) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str1979, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @lp_str_concat(ptr @.str1980, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str1981) %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t17 %t26 = getelementptr inbounds %Cmp_Val, ptr %t25, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = call ptr @lp_str_concat(ptr @.str1982, ptr %t27) %t29 = call ptr @fn_emit_bind(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t24 %t32 = call ptr @lp_str_concat(ptr @.str1983, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str1984) %t34 = load ptr, ptr %t30 %t35 = call ptr @lp_str_concat(ptr %t33, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str1985) %t37 = load ptr, ptr %t17 %t38 = getelementptr inbounds %Cmp_Val, ptr %t37, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = call ptr @lp_str_concat(ptr %t36, ptr %t39) %t41 = call ptr @fn_emit_bind(ptr %t40) %t42 = load ptr, ptr %t17 %t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 %t45 = call ptr @fn_val(ptr %t41, ptr %t44) store ptr %t45, ptr %retval br label %ret ifend2: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str1986) %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t46 br i1 %t49, label %scend6, label %sc5 sc5: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str1987) %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t46 br label %scend6 scend6: %t55 = load i32, ptr %t46 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then7, label %ifend9 then7: %t57 = load ptr, ptr %t1 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 7 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t63 = load i32, ptr %t62 %t64 = icmp ult i32 0, %t63 br i1 %t64, label %ixok10, label %ixbad11 ixbad11: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str1988, i32 0, i32 %t63) call void @exit(i32 1) unreachable ixok10: %t66 = getelementptr inbounds ptr, ptr %t61, i32 0 %t67 = load ptr, ptr %t66 %t68 = call ptr @fn_emit_expr(ptr %t67) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t1 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 7 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp ult i32 1, %t76 br i1 %t77, label %ixok12, label %ixbad13 ixbad13: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str1989, i32 1, i32 %t76) call void @exit(i32 1) unreachable ixok12: %t79 = getelementptr inbounds ptr, ptr %t74, i32 1 %t80 = load ptr, ptr %t79 %t81 = call ptr @fn_emit_expr(ptr %t80) store ptr %t81, ptr %t82 store ptr @.str1990, ptr %t83 %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str1991) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then14, label %ifend16 then14: store ptr @.str1992, ptr %t83 br label %ifend16 ifend16: %t87 = load ptr, ptr %t83 %t88 = call ptr @lp_str_concat(ptr @.str1993, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str1994) %t90 = load ptr, ptr %t69 %t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = call ptr @lp_str_concat(ptr %t89, ptr %t92) %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str1995) %t95 = load ptr, ptr %t82 %t96 = getelementptr inbounds %Cmp_Val, ptr %t95, i32 0, i32 0 %t97 = load ptr, ptr %t96 %t98 = call ptr @lp_str_concat(ptr %t94, ptr %t97) %t99 = call ptr @fn_emit_bind(ptr %t98) store ptr %t99, ptr %t100 %t101 = load ptr, ptr %t100 %t102 = call ptr @lp_str_concat(ptr @.str1996, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str1997) %t104 = load ptr, ptr %t69 %t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0 %t106 = load ptr, ptr %t105 %t107 = call ptr @lp_str_concat(ptr %t103, ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str1998) %t109 = load ptr, ptr %t82 %t110 = getelementptr inbounds %Cmp_Val, ptr %t109, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = call ptr @lp_str_concat(ptr %t108, ptr %t111) %t113 = call ptr @fn_emit_bind(ptr %t112) %t114 = load ptr, ptr %t69 %t115 = getelementptr inbounds %Cmp_Val, ptr %t114, i32 0, i32 1 %t116 = load ptr, ptr %t115 %t117 = call ptr @fn_val(ptr %t113, ptr %t116) store ptr %t117, ptr %retval br label %ret ifend9: %t118 = load ptr, ptr %t1 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 7 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 1 %t124 = load i32, ptr %t123 %t125 = icmp ult i32 0, %t124 br i1 %t125, label %ixok17, label %ixbad18 ixbad18: %t126 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str1999, i32 0, i32 %t124) call void @exit(i32 1) unreachable ixok17: %t127 = getelementptr inbounds ptr, ptr %t122, i32 0 %t128 = load ptr, ptr %t127 %t129 = call ptr @fn_emit_expr(ptr %t128) store ptr %t129, ptr %t130 %t131 = load ptr, ptr %t1 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 7 %t133 = load ptr, ptr %t132 %t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 %t135 = load ptr, ptr %t134 %t136 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 1 %t137 = load i32, ptr %t136 %t138 = icmp ult i32 1, %t137 br i1 %t138, label %ixok19, label %ixbad20 ixbad20: %t139 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t139, ptr @.fmt_bounds, ptr @.str2000, i32 1, i32 %t137) call void @exit(i32 1) unreachable ixok19: %t140 = getelementptr inbounds ptr, ptr %t135, i32 1 %t141 = load ptr, ptr %t140 %t142 = call ptr @fn_emit_expr(ptr %t141) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t1 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 7 %t146 = load ptr, ptr %t145 %t147 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 0 %t148 = load ptr, ptr %t147 %t149 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 1 %t150 = load i32, ptr %t149 %t151 = icmp ult i32 2, %t150 br i1 %t151, label %ixok21, label %ixbad22 ixbad22: %t152 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t152, ptr @.fmt_bounds, ptr @.str2001, i32 2, i32 %t150) call void @exit(i32 1) unreachable ixok21: %t153 = getelementptr inbounds ptr, ptr %t148, i32 2 %t154 = load ptr, ptr %t153 %t155 = call ptr @fn_emit_expr(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t130 %t158 = getelementptr inbounds %Cmp_Val, ptr %t157, i32 0, i32 0 %t159 = load ptr, ptr %t158 %t160 = call ptr @lp_str_concat(ptr @.str2002, ptr %t159) %t161 = call ptr @lp_str_concat(ptr %t160, ptr @.str2003) %t162 = load ptr, ptr %t156 %t163 = getelementptr inbounds %Cmp_Val, ptr %t162, i32 0, i32 0 %t164 = load ptr, ptr %t163 %t165 = call ptr @lp_str_concat(ptr %t161, ptr %t164) %t166 = call ptr @fn_emit_bind(ptr %t165) store ptr %t166, ptr %t167 %t168 = load ptr, ptr %t167 %t169 = call ptr @lp_str_concat(ptr @.str2004, ptr %t168) %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str2005) %t171 = load ptr, ptr %t130 %t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0 %t173 = load ptr, ptr %t172 %t174 = call ptr @lp_str_concat(ptr %t170, ptr %t173) %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str2006) %t176 = load ptr, ptr %t156 %t177 = getelementptr inbounds %Cmp_Val, ptr %t176, i32 0, i32 0 %t178 = load ptr, ptr %t177 %t179 = call ptr @lp_str_concat(ptr %t175, ptr %t178) %t180 = call ptr @fn_emit_bind(ptr %t179) store ptr %t180, ptr %t181 %t182 = load ptr, ptr %t143 %t183 = getelementptr inbounds %Cmp_Val, ptr %t182, i32 0, i32 0 %t184 = load ptr, ptr %t183 %t185 = call ptr @lp_str_concat(ptr @.str2007, ptr %t184) %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str2008) %t187 = load ptr, ptr %t181 %t188 = call ptr @lp_str_concat(ptr %t186, ptr %t187) %t189 = call ptr @fn_emit_bind(ptr %t188) store ptr %t189, ptr %t190 %t191 = load ptr, ptr %t190 %t192 = call ptr @lp_str_concat(ptr @.str2009, ptr %t191) %t193 = call ptr @lp_str_concat(ptr %t192, ptr @.str2010) %t194 = load ptr, ptr %t143 %t195 = getelementptr inbounds %Cmp_Val, ptr %t194, i32 0, i32 0 %t196 = load ptr, ptr %t195 %t197 = call ptr @lp_str_concat(ptr %t193, ptr %t196) %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str2011) %t199 = load ptr, ptr %t181 %t200 = call ptr @lp_str_concat(ptr %t198, ptr %t199) %t201 = call ptr @fn_emit_bind(ptr %t200) %t202 = load ptr, ptr %t130 %t203 = getelementptr inbounds %Cmp_Val, ptr %t202, i32 0, i32 1 %t204 = load ptr, ptr %t203 %t205 = call ptr @fn_val(ptr %t201, ptr %t204) store ptr %t205, ptr %retval br label %ret ret: %t206 = load ptr, ptr %retval ret ptr %t206 } define ptr @fn_fx_mul_code(ptr %arg_a, ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t6 = alloca ptr %t11 = alloca ptr %t18 = alloca ptr %t23 = alloca ptr store ptr %arg_a, ptr %t0 store ptr %arg_b, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @lp_str_concat(ptr @.str2012, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str2013) %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t1 %t8 = call ptr @lp_str_concat(ptr @.str2014, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str2015) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t6 %t13 = call ptr @lp_str_concat(ptr @.str2016, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str2017) %t15 = load ptr, ptr %t11 %t16 = call ptr @lp_str_concat(ptr %t14, ptr %t15) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 %t20 = call ptr @lp_str_concat(ptr @.str2018, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str2019) %t22 = call ptr @fn_emit_bind(ptr %t21) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t23 %t25 = call ptr @lp_str_concat(ptr @.str2020, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str2021) %t27 = call ptr @fn_emit_bind(ptr %t26) store ptr %t27, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval ret ptr %t28 } define ptr @fn_fx_div_code(ptr %arg_a, ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t6 = alloca ptr %t11 = alloca ptr %t16 = alloca ptr %t23 = alloca ptr store ptr %arg_a, ptr %t0 store ptr %arg_b, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @lp_str_concat(ptr @.str2022, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str2023) %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 %t8 = call ptr @lp_str_concat(ptr @.str2024, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str2025) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t1 %t13 = call ptr @lp_str_concat(ptr @.str2026, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str2027) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t11 %t18 = call ptr @lp_str_concat(ptr @.str2028, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str2029) %t20 = load ptr, ptr %t16 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @fn_emit_bind(ptr %t21) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t23 %t25 = call ptr @lp_str_concat(ptr @.str2030, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str2031) %t27 = call ptr @fn_emit_bind(ptr %t26) store ptr %t27, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval ret ptr %t28 } define ptr @fn_fx_lerp_code(ptr %arg_a, ptr %arg_b, ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t9 = alloca ptr %t13 = alloca ptr store ptr %arg_a, ptr %t0 store ptr %arg_b, ptr %t1 store ptr %arg_t, ptr %t2 %t3 = load ptr, ptr %t1 %t4 = call ptr @lp_str_concat(ptr @.str2032, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str2033) %t6 = load ptr, ptr %t0 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t9 %t11 = load ptr, ptr %t2 %t12 = call ptr @fn_fx_mul_code(ptr %t10, ptr %t11) store ptr %t12, ptr %t13 %t14 = load ptr, ptr %t0 %t15 = call ptr @lp_str_concat(ptr @.str2034, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str2035) %t17 = load ptr, ptr %t13 %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %retval br label %ret ret: %t20 = load ptr, ptr %retval ret ptr %t20 } define ptr @fn_fx_inv_lerp_code(ptr %arg_a, ptr %arg_b, ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t9 = alloca ptr %t16 = alloca ptr store ptr %arg_a, ptr %t0 store ptr %arg_b, ptr %t1 store ptr %arg_v, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = call ptr @lp_str_concat(ptr @.str2036, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str2037) %t6 = load ptr, ptr %t0 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t1 %t11 = call ptr @lp_str_concat(ptr @.str2038, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str2039) %t13 = load ptr, ptr %t0 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t9 %t18 = load ptr, ptr %t16 %t19 = call ptr @fn_fx_div_code(ptr %t17, ptr %t18) store ptr %t19, ptr %retval br label %ret ret: %t20 = load ptr, ptr %retval ret ptr %t20 } define i32 @fn_is_math_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t28 = alloca i32 %t29 = alloca i32 %t30 = alloca i32 %t55 = alloca i32 %t56 = alloca i32 %t74 = alloca i32 %t75 = alloca i32 %t76 = alloca i32 %t77 = alloca i32 %t109 = alloca i32 %t110 = alloca i32 %t128 = alloca i32 %t129 = alloca i32 %t130 = alloca i32 %t155 = alloca i32 %t156 = alloca i32 %t157 = alloca i32 %t182 = alloca i32 %t193 = alloca i32 %t194 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str2040) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t3 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str2041) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 br label %scend1 scend1: %t12 = load i32, ptr %t3 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str2042) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br label %scend3 scend3: %t19 = load i32, ptr %t2 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t1 br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str2043) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 br label %scend5 scend5: %t26 = load i32, ptr %t1 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %ifend8 then6: store i32 1, ptr %retval br label %ret ifend8: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str2044) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t30 br i1 %t33, label %scend10, label %sc9 sc9: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str2045) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t30 br label %scend10 scend10: %t39 = load i32, ptr %t30 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t29 br i1 %t40, label %scend12, label %sc11 sc11: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str2046) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t29 br label %scend12 scend12: %t46 = load i32, ptr %t29 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t28 br i1 %t47, label %scend14, label %sc13 sc13: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str2047) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t28 br label %scend14 scend14: %t53 = load i32, ptr %t28 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then15, label %ifend17 then15: store i32 1, ptr %retval br label %ret ifend17: %t57 = load ptr, ptr %t0 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str2048) %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t56 br i1 %t59, label %scend19, label %sc18 sc18: %t61 = load ptr, ptr %t0 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str2049) %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t56 br label %scend19 scend19: %t65 = load i32, ptr %t56 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t55 br i1 %t66, label %scend21, label %sc20 sc20: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str2050) %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t55 br label %scend21 scend21: %t72 = load i32, ptr %t55 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then22, label %ifend24 then22: store i32 1, ptr %retval br label %ret ifend24: %t78 = load ptr, ptr %t0 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str2051) %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t77 br i1 %t80, label %scend26, label %sc25 sc25: %t82 = load ptr, ptr %t0 %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str2052) %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t77 br label %scend26 scend26: %t86 = load i32, ptr %t77 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t76 br i1 %t87, label %scend28, label %sc27 sc27: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str2053) %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t76 br label %scend28 scend28: %t93 = load i32, ptr %t76 %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t75 br i1 %t94, label %scend30, label %sc29 sc29: %t96 = load ptr, ptr %t0 %t97 = call i32 @lp_str_eq(ptr %t96, ptr @.str2054) %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t75 br label %scend30 scend30: %t100 = load i32, ptr %t75 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t74 br i1 %t101, label %scend32, label %sc31 sc31: %t103 = load ptr, ptr %t0 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str2055) %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t74 br label %scend32 scend32: %t107 = load i32, ptr %t74 %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then33, label %ifend35 then33: store i32 1, ptr %retval br label %ret ifend35: %t111 = load ptr, ptr %t0 %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str2056) %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t110 br i1 %t113, label %scend37, label %sc36 sc36: %t115 = load ptr, ptr %t0 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str2057) %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t110 br label %scend37 scend37: %t119 = load i32, ptr %t110 %t120 = icmp ne i32 %t119, 0 %t121 = zext i1 %t120 to i32 store i32 %t121, ptr %t109 br i1 %t120, label %scend39, label %sc38 sc38: %t122 = load ptr, ptr %t0 %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str2058) %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t109 br label %scend39 scend39: %t126 = load i32, ptr %t109 %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then40, label %ifend42 then40: store i32 1, ptr %retval br label %ret ifend42: %t131 = load ptr, ptr %t0 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str2059) %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t130 br i1 %t133, label %scend44, label %sc43 sc43: %t135 = load ptr, ptr %t0 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str2060) %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t130 br label %scend44 scend44: %t139 = load i32, ptr %t130 %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t129 br i1 %t140, label %scend46, label %sc45 sc45: %t142 = load ptr, ptr %t0 %t143 = call i32 @lp_str_eq(ptr %t142, ptr @.str2061) %t144 = icmp ne i32 %t143, 0 %t145 = zext i1 %t144 to i32 store i32 %t145, ptr %t129 br label %scend46 scend46: %t146 = load i32, ptr %t129 %t147 = icmp ne i32 %t146, 0 %t148 = zext i1 %t147 to i32 store i32 %t148, ptr %t128 br i1 %t147, label %scend48, label %sc47 sc47: %t149 = load ptr, ptr %t0 %t150 = call i32 @lp_str_eq(ptr %t149, ptr @.str2062) %t151 = icmp ne i32 %t150, 0 %t152 = zext i1 %t151 to i32 store i32 %t152, ptr %t128 br label %scend48 scend48: %t153 = load i32, ptr %t128 %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then49, label %ifend51 then49: store i32 1, ptr %retval br label %ret ifend51: %t158 = load ptr, ptr %t0 %t159 = call i32 @lp_str_eq(ptr %t158, ptr @.str2063) %t160 = icmp ne i32 %t159, 0 %t161 = zext i1 %t160 to i32 store i32 %t161, ptr %t157 br i1 %t160, label %scend53, label %sc52 sc52: %t162 = load ptr, ptr %t0 %t163 = call i32 @lp_str_eq(ptr %t162, ptr @.str2064) %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t157 br label %scend53 scend53: %t166 = load i32, ptr %t157 %t167 = icmp ne i32 %t166, 0 %t168 = zext i1 %t167 to i32 store i32 %t168, ptr %t156 br i1 %t167, label %scend55, label %sc54 sc54: %t169 = load ptr, ptr %t0 %t170 = call i32 @lp_str_eq(ptr %t169, ptr @.str2065) %t171 = icmp ne i32 %t170, 0 %t172 = zext i1 %t171 to i32 store i32 %t172, ptr %t156 br label %scend55 scend55: %t173 = load i32, ptr %t156 %t174 = icmp ne i32 %t173, 0 %t175 = zext i1 %t174 to i32 store i32 %t175, ptr %t155 br i1 %t174, label %scend57, label %sc56 sc56: %t176 = load ptr, ptr %t0 %t177 = call i32 @lp_str_eq(ptr %t176, ptr @.str2066) %t178 = icmp ne i32 %t177, 0 %t179 = zext i1 %t178 to i32 store i32 %t179, ptr %t155 br label %scend57 scend57: %t180 = load i32, ptr %t155 %t181 = icmp ne i32 %t180, 0 br i1 %t181, label %then58, label %ifend60 then58: store i32 1, ptr %retval br label %ret ifend60: %t183 = load ptr, ptr %t0 %t184 = call i32 @lp_str_eq(ptr %t183, ptr @.str2067) %t185 = icmp ne i32 %t184, 0 %t186 = zext i1 %t185 to i32 store i32 %t186, ptr %t182 br i1 %t185, label %scend62, label %sc61 sc61: %t187 = load ptr, ptr %t0 %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str2068) %t189 = icmp ne i32 %t188, 0 %t190 = zext i1 %t189 to i32 store i32 %t190, ptr %t182 br label %scend62 scend62: %t191 = load i32, ptr %t182 %t192 = icmp ne i32 %t191, 0 br i1 %t192, label %then63, label %ifend65 then63: store i32 1, ptr %retval br label %ret ifend65: %t195 = load ptr, ptr %t0 %t196 = call i32 @lp_str_eq(ptr %t195, ptr @.str2069) %t197 = icmp ne i32 %t196, 0 %t198 = zext i1 %t197 to i32 store i32 %t198, ptr %t194 br i1 %t197, label %scend67, label %sc66 sc66: %t199 = load ptr, ptr %t0 %t200 = call i32 @lp_str_eq(ptr %t199, ptr @.str2070) %t201 = icmp ne i32 %t200, 0 %t202 = zext i1 %t201 to i32 store i32 %t202, ptr %t194 br label %scend67 scend67: %t203 = load i32, ptr %t194 %t204 = icmp ne i32 %t203, 0 %t205 = zext i1 %t204 to i32 store i32 %t205, ptr %t193 br i1 %t204, label %scend69, label %sc68 sc68: %t206 = load ptr, ptr %t0 %t207 = call i32 @lp_str_eq(ptr %t206, ptr @.str2071) %t208 = icmp ne i32 %t207, 0 %t209 = zext i1 %t208 to i32 store i32 %t209, ptr %t193 br label %scend69 scend69: %t210 = load i32, ptr %t193 %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %then70, label %ifend72 then70: store i32 1, ptr %retval br label %ret ifend72: store i32 0, ptr %retval br label %ret ret: %t212 = load i32, ptr %retval ret i32 %t212 } define ptr @fn_math_fp_route(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t38 = alloca ptr %t42 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp eq i32 %t6, 0 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: store ptr null, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t1 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 0, %t16 br i1 %t17, label %ixok3, label %ixbad4 ixbad4: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str2072, i32 0, i32 %t16) call void @exit(i32 1) unreachable ixok3: %t19 = getelementptr inbounds ptr, ptr %t14, i32 0 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 0 %t22 = load i32, ptr %t21 %t23 = icmp eq i32 %t22, 190 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then5, label %ifend7 then5: store ptr null, ptr %retval br label %ret ifend7: %t26 = load ptr, ptr %t1 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 0, %t32 br i1 %t33, label %ixok8, label %ixbad9 ixbad9: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str2073, i32 0, i32 %t32) call void @exit(i32 1) unreachable ixok8: %t35 = getelementptr inbounds ptr, ptr %t30, i32 0 %t36 = load ptr, ptr %t35 %t37 = call ptr @fn_emit_expr(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 %t40 = load ptr, ptr %t1 %t41 = call ptr @fn_fp_math_type(ptr %t39, ptr %t40) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t42 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str2074) %t45 = icmp eq i32 %t44, 0 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then10, label %ifend12 then10: %t48 = load ptr, ptr %t0 %t49 = load ptr, ptr %t42 %t50 = load ptr, ptr %t38 %t51 = load ptr, ptr %t1 %t52 = call ptr @fn_emit_fp_math(ptr %t48, ptr %t49, ptr %t50, ptr %t51) store ptr %t52, ptr %retval br label %ret ifend12: %t53 = load ptr, ptr %t1 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 7 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t59 = load i32, ptr %t58 %t60 = icmp ult i32 0, %t59 br i1 %t60, label %ixok13, label %ixbad14 ixbad14: %t61 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t61, ptr @.fmt_bounds, ptr @.str2075, i32 0, i32 %t59) call void @exit(i32 1) unreachable ixok13: %t62 = getelementptr inbounds ptr, ptr %t57, i32 0 %t63 = load ptr, ptr %t38 %t64 = call ptr @fn_preval_node(ptr %t63) store ptr %t64, ptr %t62 store ptr null, ptr %retval br label %ret ret: %t65 = load ptr, ptr %retval ret ptr %t65 } define ptr @fn_emit_math_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t24 = alloca ptr %t28 = alloca ptr %t37 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp eq i32 %t6, 0 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: %t10 = load ptr, ptr %t0 %t11 = load ptr, ptr %t1 %t12 = call ptr @fn_emit_math_ns_fixed(ptr %t10, ptr %t11) store ptr %t12, ptr %retval br label %ret ifend2: %t13 = load ptr, ptr %t1 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 0, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str2076, i32 0, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 0 %t23 = load ptr, ptr %t22 store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t0 %t26 = load ptr, ptr %t1 %t27 = call ptr @fn_math_fp_route(ptr %t25, ptr %t26) store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = icmp ne ptr %t29, null %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t28 store ptr %t33, ptr %retval br label %ret ifend7: %t34 = load ptr, ptr %t0 %t35 = load ptr, ptr %t1 %t36 = call ptr @fn_emit_math_ns_fixed(ptr %t34, ptr %t35) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t1 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 0, %t44 br i1 %t45, label %ixok8, label %ixbad9 ixbad9: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str2077, i32 0, i32 %t44) call void @exit(i32 1) unreachable ixok8: %t47 = getelementptr inbounds ptr, ptr %t42, i32 0 %t48 = load ptr, ptr %t24 store ptr %t48, ptr %t47 %t49 = load ptr, ptr %t37 store ptr %t49, ptr %retval br label %ret ret: %t50 = load ptr, ptr %retval ret ptr %t50 } define ptr @fn_emit_math_ns_fixed(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t47 = alloca ptr %t54 = alloca ptr %t61 = alloca ptr %t66 = alloca ptr %t89 = alloca ptr %t112 = alloca ptr %t119 = alloca ptr %t140 = alloca ptr %t147 = alloca ptr %t168 = alloca ptr %t181 = alloca ptr %t194 = alloca ptr %t221 = alloca ptr %t234 = alloca ptr %t247 = alloca ptr %t274 = alloca ptr %t297 = alloca ptr %t320 = alloca ptr %t327 = alloca ptr %t348 = alloca ptr %t355 = alloca ptr %t362 = alloca ptr %t367 = alloca ptr %t387 = alloca ptr %t400 = alloca ptr %t428 = alloca ptr %t436 = alloca ptr %t440 = alloca ptr %t445 = alloca ptr %t471 = alloca ptr %t479 = alloca ptr %t483 = alloca ptr %t488 = alloca ptr %t514 = alloca ptr %t527 = alloca ptr %t535 = alloca ptr %t543 = alloca ptr %t550 = alloca ptr %t571 = alloca ptr %t584 = alloca ptr %t597 = alloca ptr %t610 = alloca ptr %t621 = alloca ptr %t632 = alloca ptr %t636 = alloca ptr %t640 = alloca ptr %t663 = alloca ptr %t676 = alloca ptr %t689 = alloca ptr %t702 = alloca ptr %t713 = alloca ptr %t724 = alloca ptr %t728 = alloca ptr %t732 = alloca ptr %t739 = alloca ptr %t760 = alloca ptr %t765 = alloca ptr %t786 = alloca ptr %t793 = alloca ptr %t812 = alloca ptr %t825 = alloca ptr %t832 = alloca ptr %t838 = alloca ptr %t859 = alloca ptr %t880 = alloca ptr %t901 = alloca ptr %t914 = alloca ptr %t925 = alloca ptr %t934 = alloca ptr %t959 = alloca ptr %t972 = alloca ptr %t985 = alloca ptr %t996 = alloca ptr %t1007 = alloca ptr %t1014 = alloca ptr %t1021 = alloca ptr %t1028 = alloca ptr %t1053 = alloca ptr %t1066 = alloca ptr %t1073 = alloca ptr %t1082 = alloca ptr %t1089 = alloca ptr %t1096 = alloca ptr %t1105 = alloca ptr %t1109 = alloca ptr %t1114 = alloca ptr %t1124 = alloca ptr %t1149 = alloca ptr %t1162 = alloca ptr %t1170 = alloca ptr %t1175 = alloca ptr %t1180 = alloca ptr %t1205 = alloca ptr %t1218 = alloca ptr %t1231 = alloca ptr %t1242 = alloca ptr %t1246 = alloca ptr %t1251 = alloca ptr %t1261 = alloca ptr %t1266 = alloca ptr %t1271 = alloca ptr %t1276 = alloca ptr %t1283 = alloca ptr %t1292 = alloca ptr %t1301 = alloca ptr %t1310 = alloca ptr %t1338 = alloca ptr %t1351 = alloca ptr %t1364 = alloca ptr %t1375 = alloca ptr %t1380 = alloca ptr %t1387 = alloca ptr %t1392 = alloca ptr %t1399 = alloca ptr %t1404 = alloca ptr %t1408 = alloca ptr %t1412 = alloca ptr %t1429 = alloca ptr %t1442 = alloca ptr %t1455 = alloca ptr %t1468 = alloca ptr %t1481 = alloca ptr %t1492 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str2078) %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t4 br i1 %t7, label %scend1, label %sc0 sc0: %t9 = load ptr, ptr %t0 %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str2079) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t4 br label %scend1 scend1: %t13 = load i32, ptr %t4 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t3 br i1 %t14, label %scend3, label %sc2 sc2: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str2080) %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t3 br label %scend3 scend3: %t20 = load i32, ptr %t3 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t2 br i1 %t21, label %scend5, label %sc4 sc4: %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str2081) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t2 br label %scend5 scend5: %t27 = load i32, ptr %t2 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then6, label %ifend8 then6: %t29 = load ptr, ptr %t0 %t30 = load ptr, ptr %t1 %t31 = call ptr @fn_emit_math_builtin_fixed(ptr %t29, ptr %t30) store ptr %t31, ptr %retval br label %ret ifend8: %t32 = load ptr, ptr %t0 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str2082) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then9, label %ifend11 then9: %t35 = load ptr, ptr %t1 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 7 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 0, %t41 br i1 %t42, label %ixok12, label %ixbad13 ixbad13: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str2083, i32 0, i32 %t41) call void @exit(i32 1) unreachable ixok12: %t44 = getelementptr inbounds ptr, ptr %t39, i32 0 %t45 = load ptr, ptr %t44 %t46 = call ptr @fn_emit_expr(ptr %t45) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %Cmp_Val, ptr %t48, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = call ptr @lp_str_concat(ptr @.str2084, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str2085) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t47 %t56 = getelementptr inbounds %Cmp_Val, ptr %t55, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = call ptr @lp_str_concat(ptr @.str2086, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str2087) %t60 = call ptr @fn_emit_bind(ptr %t59) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t61 %t63 = call ptr @lp_str_concat(ptr @.str2088, ptr %t62) %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str2089) %t65 = call ptr @fn_emit_bind(ptr %t64) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t54 %t68 = call ptr @lp_str_concat(ptr @.str2090, ptr %t67) %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str2091) %t70 = load ptr, ptr %t66 %t71 = call ptr @lp_str_concat(ptr %t69, ptr %t70) %t72 = call ptr @fn_emit_bind(ptr %t71) %t73 = call ptr @fn_val(ptr %t72, ptr @.str2092) store ptr %t73, ptr %retval br label %ret ifend11: %t74 = load ptr, ptr %t0 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str2093) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then14, label %ifend16 then14: %t77 = load ptr, ptr %t1 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 7 %t79 = load ptr, ptr %t78 %t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 0, %t83 br i1 %t84, label %ixok17, label %ixbad18 ixbad18: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str2094, i32 0, i32 %t83) call void @exit(i32 1) unreachable ixok17: %t86 = getelementptr inbounds ptr, ptr %t81, i32 0 %t87 = load ptr, ptr %t86 %t88 = call ptr @fn_emit_expr(ptr %t87) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = call ptr @lp_str_concat(ptr @.str2095, ptr %t92) %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str2096) %t95 = call ptr @fn_emit_bind(ptr %t94) %t96 = call ptr @fn_val(ptr %t95, ptr @.str2097) store ptr %t96, ptr %retval br label %ret ifend16: %t97 = load ptr, ptr %t0 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str2098) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then19, label %ifend21 then19: %t100 = load ptr, ptr %t1 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 7 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t106 = load i32, ptr %t105 %t107 = icmp ult i32 0, %t106 br i1 %t107, label %ixok22, label %ixbad23 ixbad23: %t108 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str2099, i32 0, i32 %t106) call void @exit(i32 1) unreachable ixok22: %t109 = getelementptr inbounds ptr, ptr %t104, i32 0 %t110 = load ptr, ptr %t109 %t111 = call ptr @fn_emit_expr(ptr %t110) store ptr %t111, ptr %t112 %t113 = load ptr, ptr %t112 %t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = call ptr @lp_str_concat(ptr @.str2100, ptr %t115) %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str2101) %t118 = call ptr @fn_emit_bind(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t119 %t121 = call ptr @lp_str_concat(ptr @.str2102, ptr %t120) %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str2103) %t123 = call ptr @fn_emit_bind(ptr %t122) %t124 = call ptr @fn_val(ptr %t123, ptr @.str2104) store ptr %t124, ptr %retval br label %ret ifend21: %t125 = load ptr, ptr %t0 %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str2105) %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then24, label %ifend26 then24: %t128 = load ptr, ptr %t1 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 7 %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp ult i32 0, %t134 br i1 %t135, label %ixok27, label %ixbad28 ixbad28: %t136 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str2106, i32 0, i32 %t134) call void @exit(i32 1) unreachable ixok27: %t137 = getelementptr inbounds ptr, ptr %t132, i32 0 %t138 = load ptr, ptr %t137 %t139 = call ptr @fn_emit_expr(ptr %t138) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t140 %t142 = getelementptr inbounds %Cmp_Val, ptr %t141, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = call ptr @lp_str_concat(ptr @.str2107, ptr %t143) %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str2108) %t146 = call ptr @fn_emit_bind(ptr %t145) store ptr %t146, ptr %t147 %t148 = load ptr, ptr %t147 %t149 = call ptr @lp_str_concat(ptr @.str2109, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str2110) %t151 = call ptr @fn_emit_bind(ptr %t150) %t152 = call ptr @fn_val(ptr %t151, ptr @.str2111) store ptr %t152, ptr %retval br label %ret ifend26: %t153 = load ptr, ptr %t0 %t154 = call i32 @lp_str_eq(ptr %t153, ptr @.str2112) %t155 = icmp ne i32 %t154, 0 br i1 %t155, label %then29, label %ifend31 then29: %t156 = load ptr, ptr %t1 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 7 %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 0 %t160 = load ptr, ptr %t159 %t161 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t162 = load i32, ptr %t161 %t163 = icmp ult i32 0, %t162 br i1 %t163, label %ixok32, label %ixbad33 ixbad33: %t164 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t164, ptr @.fmt_bounds, ptr @.str2113, i32 0, i32 %t162) call void @exit(i32 1) unreachable ixok32: %t165 = getelementptr inbounds ptr, ptr %t160, i32 0 %t166 = load ptr, ptr %t165 %t167 = call ptr @fn_emit_expr(ptr %t166) store ptr %t167, ptr %t168 %t169 = load ptr, ptr %t1 %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 7 %t171 = load ptr, ptr %t170 %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 %t173 = load ptr, ptr %t172 %t174 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 %t175 = load i32, ptr %t174 %t176 = icmp ult i32 1, %t175 br i1 %t176, label %ixok34, label %ixbad35 ixbad35: %t177 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t177, ptr @.fmt_bounds, ptr @.str2114, i32 1, i32 %t175) call void @exit(i32 1) unreachable ixok34: %t178 = getelementptr inbounds ptr, ptr %t173, i32 1 %t179 = load ptr, ptr %t178 %t180 = call ptr @fn_emit_expr(ptr %t179) store ptr %t180, ptr %t181 %t182 = load ptr, ptr %t1 %t183 = getelementptr inbounds %Cmp_Node, ptr %t182, i32 0, i32 7 %t184 = load ptr, ptr %t183 %t185 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 0 %t186 = load ptr, ptr %t185 %t187 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 1 %t188 = load i32, ptr %t187 %t189 = icmp ult i32 2, %t188 br i1 %t189, label %ixok36, label %ixbad37 ixbad37: %t190 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str2115, i32 2, i32 %t188) call void @exit(i32 1) unreachable ixok36: %t191 = getelementptr inbounds ptr, ptr %t186, i32 2 %t192 = load ptr, ptr %t191 %t193 = call ptr @fn_emit_expr(ptr %t192) store ptr %t193, ptr %t194 %t195 = load ptr, ptr %t168 %t196 = getelementptr inbounds %Cmp_Val, ptr %t195, i32 0, i32 0 %t197 = load ptr, ptr %t196 %t198 = load ptr, ptr %t181 %t199 = getelementptr inbounds %Cmp_Val, ptr %t198, i32 0, i32 0 %t200 = load ptr, ptr %t199 %t201 = load ptr, ptr %t194 %t202 = getelementptr inbounds %Cmp_Val, ptr %t201, i32 0, i32 0 %t203 = load ptr, ptr %t202 %t204 = call ptr @fn_fx_lerp_code(ptr %t197, ptr %t200, ptr %t203) %t205 = call ptr @fn_val(ptr %t204, ptr @.str2116) store ptr %t205, ptr %retval br label %ret ifend31: %t206 = load ptr, ptr %t0 %t207 = call i32 @lp_str_eq(ptr %t206, ptr @.str2117) %t208 = icmp ne i32 %t207, 0 br i1 %t208, label %then38, label %ifend40 then38: %t209 = load ptr, ptr %t1 %t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 7 %t211 = load ptr, ptr %t210 %t212 = getelementptr inbounds %LSlice, ptr %t211, i32 0, i32 0 %t213 = load ptr, ptr %t212 %t214 = getelementptr inbounds %LSlice, ptr %t211, i32 0, i32 1 %t215 = load i32, ptr %t214 %t216 = icmp ult i32 0, %t215 br i1 %t216, label %ixok41, label %ixbad42 ixbad42: %t217 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t217, ptr @.fmt_bounds, ptr @.str2118, i32 0, i32 %t215) call void @exit(i32 1) unreachable ixok41: %t218 = getelementptr inbounds ptr, ptr %t213, i32 0 %t219 = load ptr, ptr %t218 %t220 = call ptr @fn_emit_expr(ptr %t219) store ptr %t220, ptr %t221 %t222 = load ptr, ptr %t1 %t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 7 %t224 = load ptr, ptr %t223 %t225 = getelementptr inbounds %LSlice, ptr %t224, i32 0, i32 0 %t226 = load ptr, ptr %t225 %t227 = getelementptr inbounds %LSlice, ptr %t224, i32 0, i32 1 %t228 = load i32, ptr %t227 %t229 = icmp ult i32 1, %t228 br i1 %t229, label %ixok43, label %ixbad44 ixbad44: %t230 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t230, ptr @.fmt_bounds, ptr @.str2119, i32 1, i32 %t228) call void @exit(i32 1) unreachable ixok43: %t231 = getelementptr inbounds ptr, ptr %t226, i32 1 %t232 = load ptr, ptr %t231 %t233 = call ptr @fn_emit_expr(ptr %t232) store ptr %t233, ptr %t234 %t235 = load ptr, ptr %t1 %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 7 %t237 = load ptr, ptr %t236 %t238 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 0 %t239 = load ptr, ptr %t238 %t240 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 1 %t241 = load i32, ptr %t240 %t242 = icmp ult i32 2, %t241 br i1 %t242, label %ixok45, label %ixbad46 ixbad46: %t243 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str2120, i32 2, i32 %t241) call void @exit(i32 1) unreachable ixok45: %t244 = getelementptr inbounds ptr, ptr %t239, i32 2 %t245 = load ptr, ptr %t244 %t246 = call ptr @fn_emit_expr(ptr %t245) store ptr %t246, ptr %t247 %t248 = load ptr, ptr %t221 %t249 = getelementptr inbounds %Cmp_Val, ptr %t248, i32 0, i32 0 %t250 = load ptr, ptr %t249 %t251 = load ptr, ptr %t234 %t252 = getelementptr inbounds %Cmp_Val, ptr %t251, i32 0, i32 0 %t253 = load ptr, ptr %t252 %t254 = load ptr, ptr %t247 %t255 = getelementptr inbounds %Cmp_Val, ptr %t254, i32 0, i32 0 %t256 = load ptr, ptr %t255 %t257 = call ptr @fn_fx_inv_lerp_code(ptr %t250, ptr %t253, ptr %t256) %t258 = call ptr @fn_val(ptr %t257, ptr @.str2121) store ptr %t258, ptr %retval br label %ret ifend40: %t259 = load ptr, ptr %t0 %t260 = call i32 @lp_str_eq(ptr %t259, ptr @.str2122) %t261 = icmp ne i32 %t260, 0 br i1 %t261, label %then47, label %ifend49 then47: store i32 1, ptr @g_g_uses_mathrt %t262 = load ptr, ptr %t1 %t263 = getelementptr inbounds %Cmp_Node, ptr %t262, i32 0, i32 7 %t264 = load ptr, ptr %t263 %t265 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 0 %t266 = load ptr, ptr %t265 %t267 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 1 %t268 = load i32, ptr %t267 %t269 = icmp ult i32 0, %t268 br i1 %t269, label %ixok50, label %ixbad51 ixbad51: %t270 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t270, ptr @.fmt_bounds, ptr @.str2123, i32 0, i32 %t268) call void @exit(i32 1) unreachable ixok50: %t271 = getelementptr inbounds ptr, ptr %t266, i32 0 %t272 = load ptr, ptr %t271 %t273 = call ptr @fn_emit_expr(ptr %t272) store ptr %t273, ptr %t274 %t275 = load ptr, ptr %t274 %t276 = getelementptr inbounds %Cmp_Val, ptr %t275, i32 0, i32 0 %t277 = load ptr, ptr %t276 %t278 = call ptr @lp_str_concat(ptr @.str2124, ptr %t277) %t279 = call ptr @lp_str_concat(ptr %t278, ptr @.str2125) %t280 = call ptr @fn_emit_bind(ptr %t279) %t281 = call ptr @fn_val(ptr %t280, ptr @.str2126) store ptr %t281, ptr %retval br label %ret ifend49: %t282 = load ptr, ptr %t0 %t283 = call i32 @lp_str_eq(ptr %t282, ptr @.str2127) %t284 = icmp ne i32 %t283, 0 br i1 %t284, label %then52, label %ifend54 then52: store i32 1, ptr @g_g_uses_mathrt %t285 = load ptr, ptr %t1 %t286 = getelementptr inbounds %Cmp_Node, ptr %t285, i32 0, i32 7 %t287 = load ptr, ptr %t286 %t288 = getelementptr inbounds %LSlice, ptr %t287, i32 0, i32 0 %t289 = load ptr, ptr %t288 %t290 = getelementptr inbounds %LSlice, ptr %t287, i32 0, i32 1 %t291 = load i32, ptr %t290 %t292 = icmp ult i32 0, %t291 br i1 %t292, label %ixok55, label %ixbad56 ixbad56: %t293 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t293, ptr @.fmt_bounds, ptr @.str2128, i32 0, i32 %t291) call void @exit(i32 1) unreachable ixok55: %t294 = getelementptr inbounds ptr, ptr %t289, i32 0 %t295 = load ptr, ptr %t294 %t296 = call ptr @fn_emit_expr(ptr %t295) store ptr %t296, ptr %t297 %t298 = load ptr, ptr %t297 %t299 = getelementptr inbounds %Cmp_Val, ptr %t298, i32 0, i32 0 %t300 = load ptr, ptr %t299 %t301 = call ptr @lp_str_concat(ptr @.str2129, ptr %t300) %t302 = call ptr @lp_str_concat(ptr %t301, ptr @.str2130) %t303 = call ptr @fn_emit_bind(ptr %t302) %t304 = call ptr @fn_val(ptr %t303, ptr @.str2131) store ptr %t304, ptr %retval br label %ret ifend54: %t305 = load ptr, ptr %t0 %t306 = call i32 @lp_str_eq(ptr %t305, ptr @.str2132) %t307 = icmp ne i32 %t306, 0 br i1 %t307, label %then57, label %ifend59 then57: store i32 1, ptr @g_g_uses_mathrt %t308 = load ptr, ptr %t1 %t309 = getelementptr inbounds %Cmp_Node, ptr %t308, i32 0, i32 7 %t310 = load ptr, ptr %t309 %t311 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 0 %t312 = load ptr, ptr %t311 %t313 = getelementptr inbounds %LSlice, ptr %t310, i32 0, i32 1 %t314 = load i32, ptr %t313 %t315 = icmp ult i32 0, %t314 br i1 %t315, label %ixok60, label %ixbad61 ixbad61: %t316 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t316, ptr @.fmt_bounds, ptr @.str2133, i32 0, i32 %t314) call void @exit(i32 1) unreachable ixok60: %t317 = getelementptr inbounds ptr, ptr %t312, i32 0 %t318 = load ptr, ptr %t317 %t319 = call ptr @fn_emit_expr(ptr %t318) store ptr %t319, ptr %t320 %t321 = load ptr, ptr %t320 %t322 = getelementptr inbounds %Cmp_Val, ptr %t321, i32 0, i32 0 %t323 = load ptr, ptr %t322 %t324 = call ptr @lp_str_concat(ptr @.str2134, ptr %t323) %t325 = call ptr @lp_str_concat(ptr %t324, ptr @.str2135) %t326 = call ptr @fn_emit_bind(ptr %t325) store ptr %t326, ptr %t327 %t328 = load ptr, ptr %t327 %t329 = call ptr @lp_str_concat(ptr @.str2136, ptr %t328) %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str2137) %t331 = call ptr @fn_emit_bind(ptr %t330) %t332 = call ptr @fn_val(ptr %t331, ptr @.str2138) store ptr %t332, ptr %retval br label %ret ifend59: %t333 = load ptr, ptr %t0 %t334 = call i32 @lp_str_eq(ptr %t333, ptr @.str2139) %t335 = icmp ne i32 %t334, 0 br i1 %t335, label %then62, label %ifend64 then62: store i32 1, ptr @g_g_uses_mathrt %t336 = load ptr, ptr %t1 %t337 = getelementptr inbounds %Cmp_Node, ptr %t336, i32 0, i32 7 %t338 = load ptr, ptr %t337 %t339 = getelementptr inbounds %LSlice, ptr %t338, i32 0, i32 0 %t340 = load ptr, ptr %t339 %t341 = getelementptr inbounds %LSlice, ptr %t338, i32 0, i32 1 %t342 = load i32, ptr %t341 %t343 = icmp ult i32 0, %t342 br i1 %t343, label %ixok65, label %ixbad66 ixbad66: %t344 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t344, ptr @.fmt_bounds, ptr @.str2140, i32 0, i32 %t342) call void @exit(i32 1) unreachable ixok65: %t345 = getelementptr inbounds ptr, ptr %t340, i32 0 %t346 = load ptr, ptr %t345 %t347 = call ptr @fn_emit_expr(ptr %t346) store ptr %t347, ptr %t348 %t349 = load ptr, ptr %t348 %t350 = getelementptr inbounds %Cmp_Val, ptr %t349, i32 0, i32 0 %t351 = load ptr, ptr %t350 %t352 = call ptr @lp_str_concat(ptr @.str2141, ptr %t351) %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str2142) %t354 = call ptr @fn_emit_bind(ptr %t353) store ptr %t354, ptr %t355 %t356 = load ptr, ptr %t348 %t357 = getelementptr inbounds %Cmp_Val, ptr %t356, i32 0, i32 0 %t358 = load ptr, ptr %t357 %t359 = call ptr @lp_str_concat(ptr @.str2143, ptr %t358) %t360 = call ptr @lp_str_concat(ptr %t359, ptr @.str2144) %t361 = call ptr @fn_emit_bind(ptr %t360) store ptr %t361, ptr %t362 %t363 = load ptr, ptr %t362 %t364 = call ptr @lp_str_concat(ptr @.str2145, ptr %t363) %t365 = call ptr @lp_str_concat(ptr %t364, ptr @.str2146) %t366 = call ptr @fn_emit_bind(ptr %t365) store ptr %t366, ptr %t367 %t368 = load ptr, ptr %t355 %t369 = load ptr, ptr %t367 %t370 = call ptr @fn_fx_div_code(ptr %t368, ptr %t369) %t371 = call ptr @fn_val(ptr %t370, ptr @.str2147) store ptr %t371, ptr %retval br label %ret ifend64: %t372 = load ptr, ptr %t0 %t373 = call i32 @lp_str_eq(ptr %t372, ptr @.str2148) %t374 = icmp ne i32 %t373, 0 br i1 %t374, label %then67, label %ifend69 then67: store i32 1, ptr @g_g_uses_mathrt %t375 = load ptr, ptr %t1 %t376 = getelementptr inbounds %Cmp_Node, ptr %t375, i32 0, i32 7 %t377 = load ptr, ptr %t376 %t378 = getelementptr inbounds %LSlice, ptr %t377, i32 0, i32 0 %t379 = load ptr, ptr %t378 %t380 = getelementptr inbounds %LSlice, ptr %t377, i32 0, i32 1 %t381 = load i32, ptr %t380 %t382 = icmp ult i32 0, %t381 br i1 %t382, label %ixok70, label %ixbad71 ixbad71: %t383 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t383, ptr @.fmt_bounds, ptr @.str2149, i32 0, i32 %t381) call void @exit(i32 1) unreachable ixok70: %t384 = getelementptr inbounds ptr, ptr %t379, i32 0 %t385 = load ptr, ptr %t384 %t386 = call ptr @fn_emit_expr(ptr %t385) store ptr %t386, ptr %t387 %t388 = load ptr, ptr %t1 %t389 = getelementptr inbounds %Cmp_Node, ptr %t388, i32 0, i32 7 %t390 = load ptr, ptr %t389 %t391 = getelementptr inbounds %LSlice, ptr %t390, i32 0, i32 0 %t392 = load ptr, ptr %t391 %t393 = getelementptr inbounds %LSlice, ptr %t390, i32 0, i32 1 %t394 = load i32, ptr %t393 %t395 = icmp ult i32 1, %t394 br i1 %t395, label %ixok72, label %ixbad73 ixbad73: %t396 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t396, ptr @.fmt_bounds, ptr @.str2150, i32 1, i32 %t394) call void @exit(i32 1) unreachable ixok72: %t397 = getelementptr inbounds ptr, ptr %t392, i32 1 %t398 = load ptr, ptr %t397 %t399 = call ptr @fn_emit_expr(ptr %t398) store ptr %t399, ptr %t400 %t401 = load ptr, ptr %t387 %t402 = getelementptr inbounds %Cmp_Val, ptr %t401, i32 0, i32 0 %t403 = load ptr, ptr %t402 %t404 = call ptr @lp_str_concat(ptr @.str2151, ptr %t403) %t405 = call ptr @lp_str_concat(ptr %t404, ptr @.str2152) %t406 = load ptr, ptr %t400 %t407 = getelementptr inbounds %Cmp_Val, ptr %t406, i32 0, i32 0 %t408 = load ptr, ptr %t407 %t409 = call ptr @lp_str_concat(ptr %t405, ptr %t408) %t410 = call ptr @lp_str_concat(ptr %t409, ptr @.str2153) %t411 = call ptr @fn_emit_bind(ptr %t410) %t412 = call ptr @fn_val(ptr %t411, ptr @.str2154) store ptr %t412, ptr %retval br label %ret ifend69: %t413 = load ptr, ptr %t0 %t414 = call i32 @lp_str_eq(ptr %t413, ptr @.str2155) %t415 = icmp ne i32 %t414, 0 br i1 %t415, label %then74, label %ifend76 then74: store i32 1, ptr @g_g_uses_mathrt %t416 = load ptr, ptr %t1 %t417 = getelementptr inbounds %Cmp_Node, ptr %t416, i32 0, i32 7 %t418 = load ptr, ptr %t417 %t419 = getelementptr inbounds %LSlice, ptr %t418, i32 0, i32 0 %t420 = load ptr, ptr %t419 %t421 = getelementptr inbounds %LSlice, ptr %t418, i32 0, i32 1 %t422 = load i32, ptr %t421 %t423 = icmp ult i32 0, %t422 br i1 %t423, label %ixok77, label %ixbad78 ixbad78: %t424 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t424, ptr @.fmt_bounds, ptr @.str2156, i32 0, i32 %t422) call void @exit(i32 1) unreachable ixok77: %t425 = getelementptr inbounds ptr, ptr %t420, i32 0 %t426 = load ptr, ptr %t425 %t427 = call ptr @fn_emit_expr(ptr %t426) store ptr %t427, ptr %t428 %t429 = load ptr, ptr %t428 %t430 = getelementptr inbounds %Cmp_Val, ptr %t429, i32 0, i32 0 %t431 = load ptr, ptr %t430 %t432 = load ptr, ptr %t428 %t433 = getelementptr inbounds %Cmp_Val, ptr %t432, i32 0, i32 0 %t434 = load ptr, ptr %t433 %t435 = call ptr @fn_fx_mul_code(ptr %t431, ptr %t434) store ptr %t435, ptr %t436 %t437 = load ptr, ptr %t436 %t438 = call ptr @lp_str_concat(ptr @.str2157, ptr %t437) %t439 = call ptr @fn_emit_bind(ptr %t438) store ptr %t439, ptr %t440 %t441 = load ptr, ptr %t440 %t442 = call ptr @lp_str_concat(ptr @.str2158, ptr %t441) %t443 = call ptr @lp_str_concat(ptr %t442, ptr @.str2159) %t444 = call ptr @fn_emit_bind(ptr %t443) store ptr %t444, ptr %t445 %t446 = load ptr, ptr %t428 %t447 = getelementptr inbounds %Cmp_Val, ptr %t446, i32 0, i32 0 %t448 = load ptr, ptr %t447 %t449 = call ptr @lp_str_concat(ptr @.str2160, ptr %t448) %t450 = call ptr @lp_str_concat(ptr %t449, ptr @.str2161) %t451 = load ptr, ptr %t445 %t452 = call ptr @lp_str_concat(ptr %t450, ptr %t451) %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str2162) %t454 = call ptr @fn_emit_bind(ptr %t453) %t455 = call ptr @fn_val(ptr %t454, ptr @.str2163) store ptr %t455, ptr %retval br label %ret ifend76: %t456 = load ptr, ptr %t0 %t457 = call i32 @lp_str_eq(ptr %t456, ptr @.str2164) %t458 = icmp ne i32 %t457, 0 br i1 %t458, label %then79, label %ifend81 then79: store i32 1, ptr @g_g_uses_mathrt %t459 = load ptr, ptr %t1 %t460 = getelementptr inbounds %Cmp_Node, ptr %t459, i32 0, i32 7 %t461 = load ptr, ptr %t460 %t462 = getelementptr inbounds %LSlice, ptr %t461, i32 0, i32 0 %t463 = load ptr, ptr %t462 %t464 = getelementptr inbounds %LSlice, ptr %t461, i32 0, i32 1 %t465 = load i32, ptr %t464 %t466 = icmp ult i32 0, %t465 br i1 %t466, label %ixok82, label %ixbad83 ixbad83: %t467 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t467, ptr @.fmt_bounds, ptr @.str2165, i32 0, i32 %t465) call void @exit(i32 1) unreachable ixok82: %t468 = getelementptr inbounds ptr, ptr %t463, i32 0 %t469 = load ptr, ptr %t468 %t470 = call ptr @fn_emit_expr(ptr %t469) store ptr %t470, ptr %t471 %t472 = load ptr, ptr %t471 %t473 = getelementptr inbounds %Cmp_Val, ptr %t472, i32 0, i32 0 %t474 = load ptr, ptr %t473 %t475 = load ptr, ptr %t471 %t476 = getelementptr inbounds %Cmp_Val, ptr %t475, i32 0, i32 0 %t477 = load ptr, ptr %t476 %t478 = call ptr @fn_fx_mul_code(ptr %t474, ptr %t477) store ptr %t478, ptr %t479 %t480 = load ptr, ptr %t479 %t481 = call ptr @lp_str_concat(ptr @.str2166, ptr %t480) %t482 = call ptr @fn_emit_bind(ptr %t481) store ptr %t482, ptr %t483 %t484 = load ptr, ptr %t483 %t485 = call ptr @lp_str_concat(ptr @.str2167, ptr %t484) %t486 = call ptr @lp_str_concat(ptr %t485, ptr @.str2168) %t487 = call ptr @fn_emit_bind(ptr %t486) store ptr %t487, ptr %t488 %t489 = load ptr, ptr %t488 %t490 = call ptr @lp_str_concat(ptr @.str2169, ptr %t489) %t491 = call ptr @lp_str_concat(ptr %t490, ptr @.str2170) %t492 = load ptr, ptr %t471 %t493 = getelementptr inbounds %Cmp_Val, ptr %t492, i32 0, i32 0 %t494 = load ptr, ptr %t493 %t495 = call ptr @lp_str_concat(ptr %t491, ptr %t494) %t496 = call ptr @lp_str_concat(ptr %t495, ptr @.str2171) %t497 = call ptr @fn_emit_bind(ptr %t496) %t498 = call ptr @fn_val(ptr %t497, ptr @.str2172) store ptr %t498, ptr %retval br label %ret ifend81: %t499 = load ptr, ptr %t0 %t500 = call i32 @lp_str_eq(ptr %t499, ptr @.str2173) %t501 = icmp ne i32 %t500, 0 br i1 %t501, label %then84, label %ifend86 then84: store i32 1, ptr @g_g_uses_mathrt %t502 = load ptr, ptr %t1 %t503 = getelementptr inbounds %Cmp_Node, ptr %t502, i32 0, i32 7 %t504 = load ptr, ptr %t503 %t505 = getelementptr inbounds %LSlice, ptr %t504, i32 0, i32 0 %t506 = load ptr, ptr %t505 %t507 = getelementptr inbounds %LSlice, ptr %t504, i32 0, i32 1 %t508 = load i32, ptr %t507 %t509 = icmp ult i32 0, %t508 br i1 %t509, label %ixok87, label %ixbad88 ixbad88: %t510 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t510, ptr @.fmt_bounds, ptr @.str2174, i32 0, i32 %t508) call void @exit(i32 1) unreachable ixok87: %t511 = getelementptr inbounds ptr, ptr %t506, i32 0 %t512 = load ptr, ptr %t511 %t513 = call ptr @fn_emit_expr(ptr %t512) store ptr %t513, ptr %t514 %t515 = load ptr, ptr %t1 %t516 = getelementptr inbounds %Cmp_Node, ptr %t515, i32 0, i32 7 %t517 = load ptr, ptr %t516 %t518 = getelementptr inbounds %LSlice, ptr %t517, i32 0, i32 0 %t519 = load ptr, ptr %t518 %t520 = getelementptr inbounds %LSlice, ptr %t517, i32 0, i32 1 %t521 = load i32, ptr %t520 %t522 = icmp ult i32 1, %t521 br i1 %t522, label %ixok89, label %ixbad90 ixbad90: %t523 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t523, ptr @.fmt_bounds, ptr @.str2175, i32 1, i32 %t521) call void @exit(i32 1) unreachable ixok89: %t524 = getelementptr inbounds ptr, ptr %t519, i32 1 %t525 = load ptr, ptr %t524 %t526 = call ptr @fn_emit_expr(ptr %t525) store ptr %t526, ptr %t527 %t528 = load ptr, ptr %t514 %t529 = getelementptr inbounds %Cmp_Val, ptr %t528, i32 0, i32 0 %t530 = load ptr, ptr %t529 %t531 = load ptr, ptr %t514 %t532 = getelementptr inbounds %Cmp_Val, ptr %t531, i32 0, i32 0 %t533 = load ptr, ptr %t532 %t534 = call ptr @fn_fx_mul_code(ptr %t530, ptr %t533) store ptr %t534, ptr %t535 %t536 = load ptr, ptr %t527 %t537 = getelementptr inbounds %Cmp_Val, ptr %t536, i32 0, i32 0 %t538 = load ptr, ptr %t537 %t539 = load ptr, ptr %t527 %t540 = getelementptr inbounds %Cmp_Val, ptr %t539, i32 0, i32 0 %t541 = load ptr, ptr %t540 %t542 = call ptr @fn_fx_mul_code(ptr %t538, ptr %t541) store ptr %t542, ptr %t543 %t544 = load ptr, ptr %t535 %t545 = call ptr @lp_str_concat(ptr @.str2176, ptr %t544) %t546 = call ptr @lp_str_concat(ptr %t545, ptr @.str2177) %t547 = load ptr, ptr %t543 %t548 = call ptr @lp_str_concat(ptr %t546, ptr %t547) %t549 = call ptr @fn_emit_bind(ptr %t548) store ptr %t549, ptr %t550 %t551 = load ptr, ptr %t550 %t552 = call ptr @lp_str_concat(ptr @.str2178, ptr %t551) %t553 = call ptr @lp_str_concat(ptr %t552, ptr @.str2179) %t554 = call ptr @fn_emit_bind(ptr %t553) %t555 = call ptr @fn_val(ptr %t554, ptr @.str2180) store ptr %t555, ptr %retval br label %ret ifend86: %t556 = load ptr, ptr %t0 %t557 = call i32 @lp_str_eq(ptr %t556, ptr @.str2181) %t558 = icmp ne i32 %t557, 0 br i1 %t558, label %then91, label %ifend93 then91: %t559 = load ptr, ptr %t1 %t560 = getelementptr inbounds %Cmp_Node, ptr %t559, i32 0, i32 7 %t561 = load ptr, ptr %t560 %t562 = getelementptr inbounds %LSlice, ptr %t561, i32 0, i32 0 %t563 = load ptr, ptr %t562 %t564 = getelementptr inbounds %LSlice, ptr %t561, i32 0, i32 1 %t565 = load i32, ptr %t564 %t566 = icmp ult i32 0, %t565 br i1 %t566, label %ixok94, label %ixbad95 ixbad95: %t567 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t567, ptr @.fmt_bounds, ptr @.str2182, i32 0, i32 %t565) call void @exit(i32 1) unreachable ixok94: %t568 = getelementptr inbounds ptr, ptr %t563, i32 0 %t569 = load ptr, ptr %t568 %t570 = call ptr @fn_emit_expr(ptr %t569) store ptr %t570, ptr %t571 %t572 = load ptr, ptr %t1 %t573 = getelementptr inbounds %Cmp_Node, ptr %t572, i32 0, i32 7 %t574 = load ptr, ptr %t573 %t575 = getelementptr inbounds %LSlice, ptr %t574, i32 0, i32 0 %t576 = load ptr, ptr %t575 %t577 = getelementptr inbounds %LSlice, ptr %t574, i32 0, i32 1 %t578 = load i32, ptr %t577 %t579 = icmp ult i32 1, %t578 br i1 %t579, label %ixok96, label %ixbad97 ixbad97: %t580 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t580, ptr @.fmt_bounds, ptr @.str2183, i32 1, i32 %t578) call void @exit(i32 1) unreachable ixok96: %t581 = getelementptr inbounds ptr, ptr %t576, i32 1 %t582 = load ptr, ptr %t581 %t583 = call ptr @fn_emit_expr(ptr %t582) store ptr %t583, ptr %t584 %t585 = load ptr, ptr %t1 %t586 = getelementptr inbounds %Cmp_Node, ptr %t585, i32 0, i32 7 %t587 = load ptr, ptr %t586 %t588 = getelementptr inbounds %LSlice, ptr %t587, i32 0, i32 0 %t589 = load ptr, ptr %t588 %t590 = getelementptr inbounds %LSlice, ptr %t587, i32 0, i32 1 %t591 = load i32, ptr %t590 %t592 = icmp ult i32 2, %t591 br i1 %t592, label %ixok98, label %ixbad99 ixbad99: %t593 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t593, ptr @.fmt_bounds, ptr @.str2184, i32 2, i32 %t591) call void @exit(i32 1) unreachable ixok98: %t594 = getelementptr inbounds ptr, ptr %t589, i32 2 %t595 = load ptr, ptr %t594 %t596 = call ptr @fn_emit_expr(ptr %t595) store ptr %t596, ptr %t597 %t598 = load ptr, ptr %t1 %t599 = getelementptr inbounds %Cmp_Node, ptr %t598, i32 0, i32 7 %t600 = load ptr, ptr %t599 %t601 = getelementptr inbounds %LSlice, ptr %t600, i32 0, i32 0 %t602 = load ptr, ptr %t601 %t603 = getelementptr inbounds %LSlice, ptr %t600, i32 0, i32 1 %t604 = load i32, ptr %t603 %t605 = icmp ult i32 3, %t604 br i1 %t605, label %ixok100, label %ixbad101 ixbad101: %t606 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t606, ptr @.fmt_bounds, ptr @.str2185, i32 3, i32 %t604) call void @exit(i32 1) unreachable ixok100: %t607 = getelementptr inbounds ptr, ptr %t602, i32 3 %t608 = load ptr, ptr %t607 %t609 = call ptr @fn_emit_expr(ptr %t608) store ptr %t609, ptr %t610 %t611 = load ptr, ptr %t597 %t612 = getelementptr inbounds %Cmp_Val, ptr %t611, i32 0, i32 0 %t613 = load ptr, ptr %t612 %t614 = call ptr @lp_str_concat(ptr @.str2186, ptr %t613) %t615 = call ptr @lp_str_concat(ptr %t614, ptr @.str2187) %t616 = load ptr, ptr %t571 %t617 = getelementptr inbounds %Cmp_Val, ptr %t616, i32 0, i32 0 %t618 = load ptr, ptr %t617 %t619 = call ptr @lp_str_concat(ptr %t615, ptr %t618) %t620 = call ptr @fn_emit_bind(ptr %t619) store ptr %t620, ptr %t621 %t622 = load ptr, ptr %t610 %t623 = getelementptr inbounds %Cmp_Val, ptr %t622, i32 0, i32 0 %t624 = load ptr, ptr %t623 %t625 = call ptr @lp_str_concat(ptr @.str2188, ptr %t624) %t626 = call ptr @lp_str_concat(ptr %t625, ptr @.str2189) %t627 = load ptr, ptr %t584 %t628 = getelementptr inbounds %Cmp_Val, ptr %t627, i32 0, i32 0 %t629 = load ptr, ptr %t628 %t630 = call ptr @lp_str_concat(ptr %t626, ptr %t629) %t631 = call ptr @fn_emit_bind(ptr %t630) store ptr %t631, ptr %t632 %t633 = load ptr, ptr %t621 %t634 = load ptr, ptr %t621 %t635 = call ptr @fn_fx_mul_code(ptr %t633, ptr %t634) store ptr %t635, ptr %t636 %t637 = load ptr, ptr %t632 %t638 = load ptr, ptr %t632 %t639 = call ptr @fn_fx_mul_code(ptr %t637, ptr %t638) store ptr %t639, ptr %t640 %t641 = load ptr, ptr %t636 %t642 = call ptr @lp_str_concat(ptr @.str2190, ptr %t641) %t643 = call ptr @lp_str_concat(ptr %t642, ptr @.str2191) %t644 = load ptr, ptr %t640 %t645 = call ptr @lp_str_concat(ptr %t643, ptr %t644) %t646 = call ptr @fn_emit_bind(ptr %t645) %t647 = call ptr @fn_val(ptr %t646, ptr @.str2192) store ptr %t647, ptr %retval br label %ret ifend93: %t648 = load ptr, ptr %t0 %t649 = call i32 @lp_str_eq(ptr %t648, ptr @.str2193) %t650 = icmp ne i32 %t649, 0 br i1 %t650, label %then102, label %ifend104 then102: store i32 1, ptr @g_g_uses_mathrt %t651 = load ptr, ptr %t1 %t652 = getelementptr inbounds %Cmp_Node, ptr %t651, i32 0, i32 7 %t653 = load ptr, ptr %t652 %t654 = getelementptr inbounds %LSlice, ptr %t653, i32 0, i32 0 %t655 = load ptr, ptr %t654 %t656 = getelementptr inbounds %LSlice, ptr %t653, i32 0, i32 1 %t657 = load i32, ptr %t656 %t658 = icmp ult i32 0, %t657 br i1 %t658, label %ixok105, label %ixbad106 ixbad106: %t659 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t659, ptr @.fmt_bounds, ptr @.str2194, i32 0, i32 %t657) call void @exit(i32 1) unreachable ixok105: %t660 = getelementptr inbounds ptr, ptr %t655, i32 0 %t661 = load ptr, ptr %t660 %t662 = call ptr @fn_emit_expr(ptr %t661) store ptr %t662, ptr %t663 %t664 = load ptr, ptr %t1 %t665 = getelementptr inbounds %Cmp_Node, ptr %t664, i32 0, i32 7 %t666 = load ptr, ptr %t665 %t667 = getelementptr inbounds %LSlice, ptr %t666, i32 0, i32 0 %t668 = load ptr, ptr %t667 %t669 = getelementptr inbounds %LSlice, ptr %t666, i32 0, i32 1 %t670 = load i32, ptr %t669 %t671 = icmp ult i32 1, %t670 br i1 %t671, label %ixok107, label %ixbad108 ixbad108: %t672 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t672, ptr @.fmt_bounds, ptr @.str2195, i32 1, i32 %t670) call void @exit(i32 1) unreachable ixok107: %t673 = getelementptr inbounds ptr, ptr %t668, i32 1 %t674 = load ptr, ptr %t673 %t675 = call ptr @fn_emit_expr(ptr %t674) store ptr %t675, ptr %t676 %t677 = load ptr, ptr %t1 %t678 = getelementptr inbounds %Cmp_Node, ptr %t677, i32 0, i32 7 %t679 = load ptr, ptr %t678 %t680 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 0 %t681 = load ptr, ptr %t680 %t682 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 1 %t683 = load i32, ptr %t682 %t684 = icmp ult i32 2, %t683 br i1 %t684, label %ixok109, label %ixbad110 ixbad110: %t685 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t685, ptr @.fmt_bounds, ptr @.str2196, i32 2, i32 %t683) call void @exit(i32 1) unreachable ixok109: %t686 = getelementptr inbounds ptr, ptr %t681, i32 2 %t687 = load ptr, ptr %t686 %t688 = call ptr @fn_emit_expr(ptr %t687) store ptr %t688, ptr %t689 %t690 = load ptr, ptr %t1 %t691 = getelementptr inbounds %Cmp_Node, ptr %t690, i32 0, i32 7 %t692 = load ptr, ptr %t691 %t693 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 0 %t694 = load ptr, ptr %t693 %t695 = getelementptr inbounds %LSlice, ptr %t692, i32 0, i32 1 %t696 = load i32, ptr %t695 %t697 = icmp ult i32 3, %t696 br i1 %t697, label %ixok111, label %ixbad112 ixbad112: %t698 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t698, ptr @.fmt_bounds, ptr @.str2197, i32 3, i32 %t696) call void @exit(i32 1) unreachable ixok111: %t699 = getelementptr inbounds ptr, ptr %t694, i32 3 %t700 = load ptr, ptr %t699 %t701 = call ptr @fn_emit_expr(ptr %t700) store ptr %t701, ptr %t702 %t703 = load ptr, ptr %t689 %t704 = getelementptr inbounds %Cmp_Val, ptr %t703, i32 0, i32 0 %t705 = load ptr, ptr %t704 %t706 = call ptr @lp_str_concat(ptr @.str2198, ptr %t705) %t707 = call ptr @lp_str_concat(ptr %t706, ptr @.str2199) %t708 = load ptr, ptr %t663 %t709 = getelementptr inbounds %Cmp_Val, ptr %t708, i32 0, i32 0 %t710 = load ptr, ptr %t709 %t711 = call ptr @lp_str_concat(ptr %t707, ptr %t710) %t712 = call ptr @fn_emit_bind(ptr %t711) store ptr %t712, ptr %t713 %t714 = load ptr, ptr %t702 %t715 = getelementptr inbounds %Cmp_Val, ptr %t714, i32 0, i32 0 %t716 = load ptr, ptr %t715 %t717 = call ptr @lp_str_concat(ptr @.str2200, ptr %t716) %t718 = call ptr @lp_str_concat(ptr %t717, ptr @.str2201) %t719 = load ptr, ptr %t676 %t720 = getelementptr inbounds %Cmp_Val, ptr %t719, i32 0, i32 0 %t721 = load ptr, ptr %t720 %t722 = call ptr @lp_str_concat(ptr %t718, ptr %t721) %t723 = call ptr @fn_emit_bind(ptr %t722) store ptr %t723, ptr %t724 %t725 = load ptr, ptr %t713 %t726 = load ptr, ptr %t713 %t727 = call ptr @fn_fx_mul_code(ptr %t725, ptr %t726) store ptr %t727, ptr %t728 %t729 = load ptr, ptr %t724 %t730 = load ptr, ptr %t724 %t731 = call ptr @fn_fx_mul_code(ptr %t729, ptr %t730) store ptr %t731, ptr %t732 %t733 = load ptr, ptr %t728 %t734 = call ptr @lp_str_concat(ptr @.str2202, ptr %t733) %t735 = call ptr @lp_str_concat(ptr %t734, ptr @.str2203) %t736 = load ptr, ptr %t732 %t737 = call ptr @lp_str_concat(ptr %t735, ptr %t736) %t738 = call ptr @fn_emit_bind(ptr %t737) store ptr %t738, ptr %t739 %t740 = load ptr, ptr %t739 %t741 = call ptr @lp_str_concat(ptr @.str2204, ptr %t740) %t742 = call ptr @lp_str_concat(ptr %t741, ptr @.str2205) %t743 = call ptr @fn_emit_bind(ptr %t742) %t744 = call ptr @fn_val(ptr %t743, ptr @.str2206) store ptr %t744, ptr %retval br label %ret ifend104: %t745 = load ptr, ptr %t0 %t746 = call i32 @lp_str_eq(ptr %t745, ptr @.str2207) %t747 = icmp ne i32 %t746, 0 br i1 %t747, label %then113, label %ifend115 then113: store i32 1, ptr @g_g_uses_mathrt %t748 = load ptr, ptr %t1 %t749 = getelementptr inbounds %Cmp_Node, ptr %t748, i32 0, i32 7 %t750 = load ptr, ptr %t749 %t751 = getelementptr inbounds %LSlice, ptr %t750, i32 0, i32 0 %t752 = load ptr, ptr %t751 %t753 = getelementptr inbounds %LSlice, ptr %t750, i32 0, i32 1 %t754 = load i32, ptr %t753 %t755 = icmp ult i32 0, %t754 br i1 %t755, label %ixok116, label %ixbad117 ixbad117: %t756 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t756, ptr @.fmt_bounds, ptr @.str2208, i32 0, i32 %t754) call void @exit(i32 1) unreachable ixok116: %t757 = getelementptr inbounds ptr, ptr %t752, i32 0 %t758 = load ptr, ptr %t757 %t759 = call ptr @fn_emit_expr(ptr %t758) store ptr %t759, ptr %t760 %t761 = load ptr, ptr %t760 %t762 = getelementptr inbounds %Cmp_Val, ptr %t761, i32 0, i32 0 %t763 = load ptr, ptr %t762 %t764 = call ptr @fn_fx_mul_code(ptr %t763, ptr @.str2209) store ptr %t764, ptr %t765 %t766 = load ptr, ptr %t765 %t767 = call ptr @lp_str_concat(ptr @.str2210, ptr %t766) %t768 = call ptr @lp_str_concat(ptr %t767, ptr @.str2211) %t769 = call ptr @fn_emit_bind(ptr %t768) %t770 = call ptr @fn_val(ptr %t769, ptr @.str2212) store ptr %t770, ptr %retval br label %ret ifend115: %t771 = load ptr, ptr %t0 %t772 = call i32 @lp_str_eq(ptr %t771, ptr @.str2213) %t773 = icmp ne i32 %t772, 0 br i1 %t773, label %then118, label %ifend120 then118: store i32 1, ptr @g_g_uses_mathrt %t774 = load ptr, ptr %t1 %t775 = getelementptr inbounds %Cmp_Node, ptr %t774, i32 0, i32 7 %t776 = load ptr, ptr %t775 %t777 = getelementptr inbounds %LSlice, ptr %t776, i32 0, i32 0 %t778 = load ptr, ptr %t777 %t779 = getelementptr inbounds %LSlice, ptr %t776, i32 0, i32 1 %t780 = load i32, ptr %t779 %t781 = icmp ult i32 0, %t780 br i1 %t781, label %ixok121, label %ixbad122 ixbad122: %t782 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t782, ptr @.fmt_bounds, ptr @.str2214, i32 0, i32 %t780) call void @exit(i32 1) unreachable ixok121: %t783 = getelementptr inbounds ptr, ptr %t778, i32 0 %t784 = load ptr, ptr %t783 %t785 = call ptr @fn_emit_expr(ptr %t784) store ptr %t785, ptr %t786 %t787 = load ptr, ptr %t786 %t788 = getelementptr inbounds %Cmp_Val, ptr %t787, i32 0, i32 0 %t789 = load ptr, ptr %t788 %t790 = call ptr @lp_str_concat(ptr @.str2215, ptr %t789) %t791 = call ptr @lp_str_concat(ptr %t790, ptr @.str2216) %t792 = call ptr @fn_emit_bind(ptr %t791) store ptr %t792, ptr %t793 %t794 = load ptr, ptr %t793 %t795 = call ptr @fn_fx_mul_code(ptr %t794, ptr @.str2217) %t796 = call ptr @fn_val(ptr %t795, ptr @.str2218) store ptr %t796, ptr %retval br label %ret ifend120: %t797 = load ptr, ptr %t0 %t798 = call i32 @lp_str_eq(ptr %t797, ptr @.str2219) %t799 = icmp ne i32 %t798, 0 br i1 %t799, label %then123, label %ifend125 then123: store i32 1, ptr @g_g_uses_mathrt %t800 = load ptr, ptr %t1 %t801 = getelementptr inbounds %Cmp_Node, ptr %t800, i32 0, i32 7 %t802 = load ptr, ptr %t801 %t803 = getelementptr inbounds %LSlice, ptr %t802, i32 0, i32 0 %t804 = load ptr, ptr %t803 %t805 = getelementptr inbounds %LSlice, ptr %t802, i32 0, i32 1 %t806 = load i32, ptr %t805 %t807 = icmp ult i32 0, %t806 br i1 %t807, label %ixok126, label %ixbad127 ixbad127: %t808 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t808, ptr @.fmt_bounds, ptr @.str2220, i32 0, i32 %t806) call void @exit(i32 1) unreachable ixok126: %t809 = getelementptr inbounds ptr, ptr %t804, i32 0 %t810 = load ptr, ptr %t809 %t811 = call ptr @fn_emit_expr(ptr %t810) store ptr %t811, ptr %t812 %t813 = load ptr, ptr %t1 %t814 = getelementptr inbounds %Cmp_Node, ptr %t813, i32 0, i32 7 %t815 = load ptr, ptr %t814 %t816 = getelementptr inbounds %LSlice, ptr %t815, i32 0, i32 0 %t817 = load ptr, ptr %t816 %t818 = getelementptr inbounds %LSlice, ptr %t815, i32 0, i32 1 %t819 = load i32, ptr %t818 %t820 = icmp ult i32 1, %t819 br i1 %t820, label %ixok128, label %ixbad129 ixbad129: %t821 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t821, ptr @.fmt_bounds, ptr @.str2221, i32 1, i32 %t819) call void @exit(i32 1) unreachable ixok128: %t822 = getelementptr inbounds ptr, ptr %t817, i32 1 %t823 = load ptr, ptr %t822 %t824 = call ptr @fn_emit_expr(ptr %t823) store ptr %t824, ptr %t825 %t826 = load ptr, ptr %t812 %t827 = getelementptr inbounds %Cmp_Val, ptr %t826, i32 0, i32 0 %t828 = load ptr, ptr %t827 %t829 = call ptr @lp_str_concat(ptr @.str2222, ptr %t828) %t830 = call ptr @lp_str_concat(ptr %t829, ptr @.str2223) %t831 = call ptr @fn_emit_bind(ptr %t830) store ptr %t831, ptr %t832 %t833 = load ptr, ptr %t825 %t834 = getelementptr inbounds %Cmp_Val, ptr %t833, i32 0, i32 0 %t835 = load ptr, ptr %t834 %t836 = load ptr, ptr %t832 %t837 = call ptr @fn_fx_mul_code(ptr %t835, ptr %t836) store ptr %t837, ptr %t838 %t839 = load ptr, ptr %t838 %t840 = call ptr @lp_str_concat(ptr @.str2224, ptr %t839) %t841 = call ptr @lp_str_concat(ptr %t840, ptr @.str2225) %t842 = call ptr @fn_emit_bind(ptr %t841) %t843 = call ptr @fn_val(ptr %t842, ptr @.str2226) store ptr %t843, ptr %retval br label %ret ifend125: %t844 = load ptr, ptr %t0 %t845 = call i32 @lp_str_eq(ptr %t844, ptr @.str2227) %t846 = icmp ne i32 %t845, 0 br i1 %t846, label %then130, label %ifend132 then130: %t847 = load ptr, ptr %t1 %t848 = getelementptr inbounds %Cmp_Node, ptr %t847, i32 0, i32 7 %t849 = load ptr, ptr %t848 %t850 = getelementptr inbounds %LSlice, ptr %t849, i32 0, i32 0 %t851 = load ptr, ptr %t850 %t852 = getelementptr inbounds %LSlice, ptr %t849, i32 0, i32 1 %t853 = load i32, ptr %t852 %t854 = icmp ult i32 0, %t853 br i1 %t854, label %ixok133, label %ixbad134 ixbad134: %t855 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t855, ptr @.fmt_bounds, ptr @.str2228, i32 0, i32 %t853) call void @exit(i32 1) unreachable ixok133: %t856 = getelementptr inbounds ptr, ptr %t851, i32 0 %t857 = load ptr, ptr %t856 %t858 = call ptr @fn_emit_expr(ptr %t857) store ptr %t858, ptr %t859 %t860 = load ptr, ptr %t859 %t861 = getelementptr inbounds %Cmp_Val, ptr %t860, i32 0, i32 0 %t862 = load ptr, ptr %t861 %t863 = call ptr @fn_fx_mul_code(ptr %t862, ptr @.str2229) %t864 = call ptr @fn_val(ptr %t863, ptr @.str2230) store ptr %t864, ptr %retval br label %ret ifend132: %t865 = load ptr, ptr %t0 %t866 = call i32 @lp_str_eq(ptr %t865, ptr @.str2231) %t867 = icmp ne i32 %t866, 0 br i1 %t867, label %then135, label %ifend137 then135: %t868 = load ptr, ptr %t1 %t869 = getelementptr inbounds %Cmp_Node, ptr %t868, i32 0, i32 7 %t870 = load ptr, ptr %t869 %t871 = getelementptr inbounds %LSlice, ptr %t870, i32 0, i32 0 %t872 = load ptr, ptr %t871 %t873 = getelementptr inbounds %LSlice, ptr %t870, i32 0, i32 1 %t874 = load i32, ptr %t873 %t875 = icmp ult i32 0, %t874 br i1 %t875, label %ixok138, label %ixbad139 ixbad139: %t876 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t876, ptr @.fmt_bounds, ptr @.str2232, i32 0, i32 %t874) call void @exit(i32 1) unreachable ixok138: %t877 = getelementptr inbounds ptr, ptr %t872, i32 0 %t878 = load ptr, ptr %t877 %t879 = call ptr @fn_emit_expr(ptr %t878) store ptr %t879, ptr %t880 %t881 = load ptr, ptr %t880 %t882 = getelementptr inbounds %Cmp_Val, ptr %t881, i32 0, i32 0 %t883 = load ptr, ptr %t882 %t884 = call ptr @fn_fx_mul_code(ptr %t883, ptr @.str2233) %t885 = call ptr @fn_val(ptr %t884, ptr @.str2234) store ptr %t885, ptr %retval br label %ret ifend137: %t886 = load ptr, ptr %t0 %t887 = call i32 @lp_str_eq(ptr %t886, ptr @.str2235) %t888 = icmp ne i32 %t887, 0 br i1 %t888, label %then140, label %ifend142 then140: %t889 = load ptr, ptr %t1 %t890 = getelementptr inbounds %Cmp_Node, ptr %t889, i32 0, i32 7 %t891 = load ptr, ptr %t890 %t892 = getelementptr inbounds %LSlice, ptr %t891, i32 0, i32 0 %t893 = load ptr, ptr %t892 %t894 = getelementptr inbounds %LSlice, ptr %t891, i32 0, i32 1 %t895 = load i32, ptr %t894 %t896 = icmp ult i32 0, %t895 br i1 %t896, label %ixok143, label %ixbad144 ixbad144: %t897 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t897, ptr @.fmt_bounds, ptr @.str2236, i32 0, i32 %t895) call void @exit(i32 1) unreachable ixok143: %t898 = getelementptr inbounds ptr, ptr %t893, i32 0 %t899 = load ptr, ptr %t898 %t900 = call ptr @fn_emit_expr(ptr %t899) store ptr %t900, ptr %t901 %t902 = load ptr, ptr %t1 %t903 = getelementptr inbounds %Cmp_Node, ptr %t902, i32 0, i32 7 %t904 = load ptr, ptr %t903 %t905 = getelementptr inbounds %LSlice, ptr %t904, i32 0, i32 0 %t906 = load ptr, ptr %t905 %t907 = getelementptr inbounds %LSlice, ptr %t904, i32 0, i32 1 %t908 = load i32, ptr %t907 %t909 = icmp ult i32 1, %t908 br i1 %t909, label %ixok145, label %ixbad146 ixbad146: %t910 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t910, ptr @.fmt_bounds, ptr @.str2237, i32 1, i32 %t908) call void @exit(i32 1) unreachable ixok145: %t911 = getelementptr inbounds ptr, ptr %t906, i32 1 %t912 = load ptr, ptr %t911 %t913 = call ptr @fn_emit_expr(ptr %t912) store ptr %t913, ptr %t914 %t915 = load ptr, ptr %t901 %t916 = getelementptr inbounds %Cmp_Val, ptr %t915, i32 0, i32 0 %t917 = load ptr, ptr %t916 %t918 = call ptr @lp_str_concat(ptr @.str2238, ptr %t917) %t919 = call ptr @lp_str_concat(ptr %t918, ptr @.str2239) %t920 = load ptr, ptr %t914 %t921 = getelementptr inbounds %Cmp_Val, ptr %t920, i32 0, i32 0 %t922 = load ptr, ptr %t921 %t923 = call ptr @lp_str_concat(ptr %t919, ptr %t922) %t924 = call ptr @fn_emit_bind(ptr %t923) store ptr %t924, ptr %t925 %t926 = load ptr, ptr %t925 %t927 = call ptr @lp_str_concat(ptr @.str2240, ptr %t926) %t928 = call ptr @lp_str_concat(ptr %t927, ptr @.str2241) %t929 = load ptr, ptr %t914 %t930 = getelementptr inbounds %Cmp_Val, ptr %t929, i32 0, i32 0 %t931 = load ptr, ptr %t930 %t932 = call ptr @lp_str_concat(ptr %t928, ptr %t931) %t933 = call ptr @fn_emit_bind(ptr %t932) store ptr %t933, ptr %t934 %t935 = load ptr, ptr %t934 %t936 = call ptr @lp_str_concat(ptr @.str2242, ptr %t935) %t937 = call ptr @lp_str_concat(ptr %t936, ptr @.str2243) %t938 = load ptr, ptr %t914 %t939 = getelementptr inbounds %Cmp_Val, ptr %t938, i32 0, i32 0 %t940 = load ptr, ptr %t939 %t941 = call ptr @lp_str_concat(ptr %t937, ptr %t940) %t942 = call ptr @fn_emit_bind(ptr %t941) %t943 = call ptr @fn_val(ptr %t942, ptr @.str2244) store ptr %t943, ptr %retval br label %ret ifend142: %t944 = load ptr, ptr %t0 %t945 = call i32 @lp_str_eq(ptr %t944, ptr @.str2245) %t946 = icmp ne i32 %t945, 0 br i1 %t946, label %then147, label %ifend149 then147: %t947 = load ptr, ptr %t1 %t948 = getelementptr inbounds %Cmp_Node, ptr %t947, i32 0, i32 7 %t949 = load ptr, ptr %t948 %t950 = getelementptr inbounds %LSlice, ptr %t949, i32 0, i32 0 %t951 = load ptr, ptr %t950 %t952 = getelementptr inbounds %LSlice, ptr %t949, i32 0, i32 1 %t953 = load i32, ptr %t952 %t954 = icmp ult i32 0, %t953 br i1 %t954, label %ixok150, label %ixbad151 ixbad151: %t955 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t955, ptr @.fmt_bounds, ptr @.str2246, i32 0, i32 %t953) call void @exit(i32 1) unreachable ixok150: %t956 = getelementptr inbounds ptr, ptr %t951, i32 0 %t957 = load ptr, ptr %t956 %t958 = call ptr @fn_emit_expr(ptr %t957) store ptr %t958, ptr %t959 %t960 = load ptr, ptr %t1 %t961 = getelementptr inbounds %Cmp_Node, ptr %t960, i32 0, i32 7 %t962 = load ptr, ptr %t961 %t963 = getelementptr inbounds %LSlice, ptr %t962, i32 0, i32 0 %t964 = load ptr, ptr %t963 %t965 = getelementptr inbounds %LSlice, ptr %t962, i32 0, i32 1 %t966 = load i32, ptr %t965 %t967 = icmp ult i32 1, %t966 br i1 %t967, label %ixok152, label %ixbad153 ixbad153: %t968 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t968, ptr @.fmt_bounds, ptr @.str2247, i32 1, i32 %t966) call void @exit(i32 1) unreachable ixok152: %t969 = getelementptr inbounds ptr, ptr %t964, i32 1 %t970 = load ptr, ptr %t969 %t971 = call ptr @fn_emit_expr(ptr %t970) store ptr %t971, ptr %t972 %t973 = load ptr, ptr %t1 %t974 = getelementptr inbounds %Cmp_Node, ptr %t973, i32 0, i32 7 %t975 = load ptr, ptr %t974 %t976 = getelementptr inbounds %LSlice, ptr %t975, i32 0, i32 0 %t977 = load ptr, ptr %t976 %t978 = getelementptr inbounds %LSlice, ptr %t975, i32 0, i32 1 %t979 = load i32, ptr %t978 %t980 = icmp ult i32 2, %t979 br i1 %t980, label %ixok154, label %ixbad155 ixbad155: %t981 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t981, ptr @.fmt_bounds, ptr @.str2248, i32 2, i32 %t979) call void @exit(i32 1) unreachable ixok154: %t982 = getelementptr inbounds ptr, ptr %t977, i32 2 %t983 = load ptr, ptr %t982 %t984 = call ptr @fn_emit_expr(ptr %t983) store ptr %t984, ptr %t985 %t986 = load ptr, ptr %t985 %t987 = getelementptr inbounds %Cmp_Val, ptr %t986, i32 0, i32 0 %t988 = load ptr, ptr %t987 %t989 = call ptr @lp_str_concat(ptr @.str2249, ptr %t988) %t990 = call ptr @lp_str_concat(ptr %t989, ptr @.str2250) %t991 = load ptr, ptr %t972 %t992 = getelementptr inbounds %Cmp_Val, ptr %t991, i32 0, i32 0 %t993 = load ptr, ptr %t992 %t994 = call ptr @lp_str_concat(ptr %t990, ptr %t993) %t995 = call ptr @fn_emit_bind(ptr %t994) store ptr %t995, ptr %t996 %t997 = load ptr, ptr %t959 %t998 = getelementptr inbounds %Cmp_Val, ptr %t997, i32 0, i32 0 %t999 = load ptr, ptr %t998 %t1000 = call ptr @lp_str_concat(ptr @.str2251, ptr %t999) %t1001 = call ptr @lp_str_concat(ptr %t1000, ptr @.str2252) %t1002 = load ptr, ptr %t972 %t1003 = getelementptr inbounds %Cmp_Val, ptr %t1002, i32 0, i32 0 %t1004 = load ptr, ptr %t1003 %t1005 = call ptr @lp_str_concat(ptr %t1001, ptr %t1004) %t1006 = call ptr @fn_emit_bind(ptr %t1005) store ptr %t1006, ptr %t1007 %t1008 = load ptr, ptr %t1007 %t1009 = call ptr @lp_str_concat(ptr @.str2253, ptr %t1008) %t1010 = call ptr @lp_str_concat(ptr %t1009, ptr @.str2254) %t1011 = load ptr, ptr %t996 %t1012 = call ptr @lp_str_concat(ptr %t1010, ptr %t1011) %t1013 = call ptr @fn_emit_bind(ptr %t1012) store ptr %t1013, ptr %t1014 %t1015 = load ptr, ptr %t1014 %t1016 = call ptr @lp_str_concat(ptr @.str2255, ptr %t1015) %t1017 = call ptr @lp_str_concat(ptr %t1016, ptr @.str2256) %t1018 = load ptr, ptr %t996 %t1019 = call ptr @lp_str_concat(ptr %t1017, ptr %t1018) %t1020 = call ptr @fn_emit_bind(ptr %t1019) store ptr %t1020, ptr %t1021 %t1022 = load ptr, ptr %t1021 %t1023 = call ptr @lp_str_concat(ptr @.str2257, ptr %t1022) %t1024 = call ptr @lp_str_concat(ptr %t1023, ptr @.str2258) %t1025 = load ptr, ptr %t996 %t1026 = call ptr @lp_str_concat(ptr %t1024, ptr %t1025) %t1027 = call ptr @fn_emit_bind(ptr %t1026) store ptr %t1027, ptr %t1028 %t1029 = load ptr, ptr %t972 %t1030 = getelementptr inbounds %Cmp_Val, ptr %t1029, i32 0, i32 0 %t1031 = load ptr, ptr %t1030 %t1032 = call ptr @lp_str_concat(ptr @.str2259, ptr %t1031) %t1033 = call ptr @lp_str_concat(ptr %t1032, ptr @.str2260) %t1034 = load ptr, ptr %t1028 %t1035 = call ptr @lp_str_concat(ptr %t1033, ptr %t1034) %t1036 = call ptr @fn_emit_bind(ptr %t1035) %t1037 = call ptr @fn_val(ptr %t1036, ptr @.str2261) store ptr %t1037, ptr %retval br label %ret ifend149: %t1038 = load ptr, ptr %t0 %t1039 = call i32 @lp_str_eq(ptr %t1038, ptr @.str2262) %t1040 = icmp ne i32 %t1039, 0 br i1 %t1040, label %then156, label %ifend158 then156: %t1041 = load ptr, ptr %t1 %t1042 = getelementptr inbounds %Cmp_Node, ptr %t1041, i32 0, i32 7 %t1043 = load ptr, ptr %t1042 %t1044 = getelementptr inbounds %LSlice, ptr %t1043, i32 0, i32 0 %t1045 = load ptr, ptr %t1044 %t1046 = getelementptr inbounds %LSlice, ptr %t1043, i32 0, i32 1 %t1047 = load i32, ptr %t1046 %t1048 = icmp ult i32 0, %t1047 br i1 %t1048, label %ixok159, label %ixbad160 ixbad160: %t1049 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1049, ptr @.fmt_bounds, ptr @.str2263, i32 0, i32 %t1047) call void @exit(i32 1) unreachable ixok159: %t1050 = getelementptr inbounds ptr, ptr %t1045, i32 0 %t1051 = load ptr, ptr %t1050 %t1052 = call ptr @fn_emit_expr(ptr %t1051) store ptr %t1052, ptr %t1053 %t1054 = load ptr, ptr %t1 %t1055 = getelementptr inbounds %Cmp_Node, ptr %t1054, i32 0, i32 7 %t1056 = load ptr, ptr %t1055 %t1057 = getelementptr inbounds %LSlice, ptr %t1056, i32 0, i32 0 %t1058 = load ptr, ptr %t1057 %t1059 = getelementptr inbounds %LSlice, ptr %t1056, i32 0, i32 1 %t1060 = load i32, ptr %t1059 %t1061 = icmp ult i32 1, %t1060 br i1 %t1061, label %ixok161, label %ixbad162 ixbad162: %t1062 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1062, ptr @.fmt_bounds, ptr @.str2264, i32 1, i32 %t1060) call void @exit(i32 1) unreachable ixok161: %t1063 = getelementptr inbounds ptr, ptr %t1058, i32 1 %t1064 = load ptr, ptr %t1063 %t1065 = call ptr @fn_emit_expr(ptr %t1064) store ptr %t1065, ptr %t1066 %t1067 = load ptr, ptr %t1066 %t1068 = getelementptr inbounds %Cmp_Val, ptr %t1067, i32 0, i32 0 %t1069 = load ptr, ptr %t1068 %t1070 = call ptr @lp_str_concat(ptr @.str2265, ptr %t1069) %t1071 = call ptr @lp_str_concat(ptr %t1070, ptr @.str2266) %t1072 = call ptr @fn_emit_bind(ptr %t1071) store ptr %t1072, ptr %t1073 %t1074 = load ptr, ptr %t1053 %t1075 = getelementptr inbounds %Cmp_Val, ptr %t1074, i32 0, i32 0 %t1076 = load ptr, ptr %t1075 %t1077 = call ptr @lp_str_concat(ptr @.str2267, ptr %t1076) %t1078 = call ptr @lp_str_concat(ptr %t1077, ptr @.str2268) %t1079 = load ptr, ptr %t1073 %t1080 = call ptr @lp_str_concat(ptr %t1078, ptr %t1079) %t1081 = call ptr @fn_emit_bind(ptr %t1080) store ptr %t1081, ptr %t1082 %t1083 = load ptr, ptr %t1082 %t1084 = call ptr @lp_str_concat(ptr @.str2269, ptr %t1083) %t1085 = call ptr @lp_str_concat(ptr %t1084, ptr @.str2270) %t1086 = load ptr, ptr %t1073 %t1087 = call ptr @lp_str_concat(ptr %t1085, ptr %t1086) %t1088 = call ptr @fn_emit_bind(ptr %t1087) store ptr %t1088, ptr %t1089 %t1090 = load ptr, ptr %t1089 %t1091 = call ptr @lp_str_concat(ptr @.str2271, ptr %t1090) %t1092 = call ptr @lp_str_concat(ptr %t1091, ptr @.str2272) %t1093 = load ptr, ptr %t1073 %t1094 = call ptr @lp_str_concat(ptr %t1092, ptr %t1093) %t1095 = call ptr @fn_emit_bind(ptr %t1094) store ptr %t1095, ptr %t1096 %t1097 = load ptr, ptr %t1096 %t1098 = call ptr @lp_str_concat(ptr @.str2273, ptr %t1097) %t1099 = call ptr @lp_str_concat(ptr %t1098, ptr @.str2274) %t1100 = load ptr, ptr %t1066 %t1101 = getelementptr inbounds %Cmp_Val, ptr %t1100, i32 0, i32 0 %t1102 = load ptr, ptr %t1101 %t1103 = call ptr @lp_str_concat(ptr %t1099, ptr %t1102) %t1104 = call ptr @fn_emit_bind(ptr %t1103) store ptr %t1104, ptr %t1105 %t1106 = load ptr, ptr %t1105 %t1107 = call ptr @lp_str_concat(ptr @.str2275, ptr %t1106) %t1108 = call ptr @fn_emit_bind(ptr %t1107) store ptr %t1108, ptr %t1109 %t1110 = load ptr, ptr %t1105 %t1111 = call ptr @lp_str_concat(ptr @.str2276, ptr %t1110) %t1112 = call ptr @lp_str_concat(ptr %t1111, ptr @.str2277) %t1113 = call ptr @fn_emit_bind(ptr %t1112) store ptr %t1113, ptr %t1114 %t1115 = load ptr, ptr %t1114 %t1116 = call ptr @lp_str_concat(ptr @.str2278, ptr %t1115) %t1117 = call ptr @lp_str_concat(ptr %t1116, ptr @.str2279) %t1118 = load ptr, ptr %t1109 %t1119 = call ptr @lp_str_concat(ptr %t1117, ptr %t1118) %t1120 = call ptr @lp_str_concat(ptr %t1119, ptr @.str2280) %t1121 = load ptr, ptr %t1105 %t1122 = call ptr @lp_str_concat(ptr %t1120, ptr %t1121) %t1123 = call ptr @fn_emit_bind(ptr %t1122) store ptr %t1123, ptr %t1124 %t1125 = load ptr, ptr %t1066 %t1126 = getelementptr inbounds %Cmp_Val, ptr %t1125, i32 0, i32 0 %t1127 = load ptr, ptr %t1126 %t1128 = call ptr @lp_str_concat(ptr @.str2281, ptr %t1127) %t1129 = call ptr @lp_str_concat(ptr %t1128, ptr @.str2282) %t1130 = load ptr, ptr %t1124 %t1131 = call ptr @lp_str_concat(ptr %t1129, ptr %t1130) %t1132 = call ptr @fn_emit_bind(ptr %t1131) %t1133 = call ptr @fn_val(ptr %t1132, ptr @.str2283) store ptr %t1133, ptr %retval br label %ret ifend158: %t1134 = load ptr, ptr %t0 %t1135 = call i32 @lp_str_eq(ptr %t1134, ptr @.str2284) %t1136 = icmp ne i32 %t1135, 0 br i1 %t1136, label %then163, label %ifend165 then163: %t1137 = load ptr, ptr %t1 %t1138 = getelementptr inbounds %Cmp_Node, ptr %t1137, i32 0, i32 7 %t1139 = load ptr, ptr %t1138 %t1140 = getelementptr inbounds %LSlice, ptr %t1139, i32 0, i32 0 %t1141 = load ptr, ptr %t1140 %t1142 = getelementptr inbounds %LSlice, ptr %t1139, i32 0, i32 1 %t1143 = load i32, ptr %t1142 %t1144 = icmp ult i32 0, %t1143 br i1 %t1144, label %ixok166, label %ixbad167 ixbad167: %t1145 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1145, ptr @.fmt_bounds, ptr @.str2285, i32 0, i32 %t1143) call void @exit(i32 1) unreachable ixok166: %t1146 = getelementptr inbounds ptr, ptr %t1141, i32 0 %t1147 = load ptr, ptr %t1146 %t1148 = call ptr @fn_emit_expr(ptr %t1147) store ptr %t1148, ptr %t1149 %t1150 = load ptr, ptr %t1 %t1151 = getelementptr inbounds %Cmp_Node, ptr %t1150, i32 0, i32 7 %t1152 = load ptr, ptr %t1151 %t1153 = getelementptr inbounds %LSlice, ptr %t1152, i32 0, i32 0 %t1154 = load ptr, ptr %t1153 %t1155 = getelementptr inbounds %LSlice, ptr %t1152, i32 0, i32 1 %t1156 = load i32, ptr %t1155 %t1157 = icmp ult i32 1, %t1156 br i1 %t1157, label %ixok168, label %ixbad169 ixbad169: %t1158 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1158, ptr @.fmt_bounds, ptr @.str2286, i32 1, i32 %t1156) call void @exit(i32 1) unreachable ixok168: %t1159 = getelementptr inbounds ptr, ptr %t1154, i32 1 %t1160 = load ptr, ptr %t1159 %t1161 = call ptr @fn_emit_expr(ptr %t1160) store ptr %t1161, ptr %t1162 %t1163 = load ptr, ptr %t1149 %t1164 = getelementptr inbounds %Cmp_Val, ptr %t1163, i32 0, i32 0 %t1165 = load ptr, ptr %t1164 %t1166 = load ptr, ptr %t1162 %t1167 = getelementptr inbounds %Cmp_Val, ptr %t1166, i32 0, i32 0 %t1168 = load ptr, ptr %t1167 %t1169 = call ptr @fn_fx_div_code(ptr %t1165, ptr %t1168) store ptr %t1169, ptr %t1170 %t1171 = load ptr, ptr %t1170 %t1172 = call ptr @lp_str_concat(ptr @.str2287, ptr %t1171) %t1173 = call ptr @lp_str_concat(ptr %t1172, ptr @.str2288) %t1174 = call ptr @fn_emit_bind(ptr %t1173) store ptr %t1174, ptr %t1175 %t1176 = load ptr, ptr %t1175 %t1177 = call ptr @lp_str_concat(ptr @.str2289, ptr %t1176) %t1178 = call ptr @lp_str_concat(ptr %t1177, ptr @.str2290) %t1179 = call ptr @fn_emit_bind(ptr %t1178) store ptr %t1179, ptr %t1180 %t1181 = load ptr, ptr %t1180 %t1182 = call ptr @lp_str_concat(ptr @.str2291, ptr %t1181) %t1183 = call ptr @lp_str_concat(ptr %t1182, ptr @.str2292) %t1184 = load ptr, ptr %t1162 %t1185 = getelementptr inbounds %Cmp_Val, ptr %t1184, i32 0, i32 0 %t1186 = load ptr, ptr %t1185 %t1187 = call ptr @lp_str_concat(ptr %t1183, ptr %t1186) %t1188 = call ptr @fn_emit_bind(ptr %t1187) %t1189 = call ptr @fn_val(ptr %t1188, ptr @.str2293) store ptr %t1189, ptr %retval br label %ret ifend165: %t1190 = load ptr, ptr %t0 %t1191 = call i32 @lp_str_eq(ptr %t1190, ptr @.str2294) %t1192 = icmp ne i32 %t1191, 0 br i1 %t1192, label %then170, label %ifend172 then170: %t1193 = load ptr, ptr %t1 %t1194 = getelementptr inbounds %Cmp_Node, ptr %t1193, i32 0, i32 7 %t1195 = load ptr, ptr %t1194 %t1196 = getelementptr inbounds %LSlice, ptr %t1195, i32 0, i32 0 %t1197 = load ptr, ptr %t1196 %t1198 = getelementptr inbounds %LSlice, ptr %t1195, i32 0, i32 1 %t1199 = load i32, ptr %t1198 %t1200 = icmp ult i32 0, %t1199 br i1 %t1200, label %ixok173, label %ixbad174 ixbad174: %t1201 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1201, ptr @.fmt_bounds, ptr @.str2295, i32 0, i32 %t1199) call void @exit(i32 1) unreachable ixok173: %t1202 = getelementptr inbounds ptr, ptr %t1197, i32 0 %t1203 = load ptr, ptr %t1202 %t1204 = call ptr @fn_emit_expr(ptr %t1203) store ptr %t1204, ptr %t1205 %t1206 = load ptr, ptr %t1 %t1207 = getelementptr inbounds %Cmp_Node, ptr %t1206, i32 0, i32 7 %t1208 = load ptr, ptr %t1207 %t1209 = getelementptr inbounds %LSlice, ptr %t1208, i32 0, i32 0 %t1210 = load ptr, ptr %t1209 %t1211 = getelementptr inbounds %LSlice, ptr %t1208, i32 0, i32 1 %t1212 = load i32, ptr %t1211 %t1213 = icmp ult i32 1, %t1212 br i1 %t1213, label %ixok175, label %ixbad176 ixbad176: %t1214 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1214, ptr @.fmt_bounds, ptr @.str2296, i32 1, i32 %t1212) call void @exit(i32 1) unreachable ixok175: %t1215 = getelementptr inbounds ptr, ptr %t1210, i32 1 %t1216 = load ptr, ptr %t1215 %t1217 = call ptr @fn_emit_expr(ptr %t1216) store ptr %t1217, ptr %t1218 %t1219 = load ptr, ptr %t1 %t1220 = getelementptr inbounds %Cmp_Node, ptr %t1219, i32 0, i32 7 %t1221 = load ptr, ptr %t1220 %t1222 = getelementptr inbounds %LSlice, ptr %t1221, i32 0, i32 0 %t1223 = load ptr, ptr %t1222 %t1224 = getelementptr inbounds %LSlice, ptr %t1221, i32 0, i32 1 %t1225 = load i32, ptr %t1224 %t1226 = icmp ult i32 2, %t1225 br i1 %t1226, label %ixok177, label %ixbad178 ixbad178: %t1227 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1227, ptr @.fmt_bounds, ptr @.str2297, i32 2, i32 %t1225) call void @exit(i32 1) unreachable ixok177: %t1228 = getelementptr inbounds ptr, ptr %t1223, i32 2 %t1229 = load ptr, ptr %t1228 %t1230 = call ptr @fn_emit_expr(ptr %t1229) store ptr %t1230, ptr %t1231 %t1232 = load ptr, ptr %t1218 %t1233 = getelementptr inbounds %Cmp_Val, ptr %t1232, i32 0, i32 0 %t1234 = load ptr, ptr %t1233 %t1235 = call ptr @lp_str_concat(ptr @.str2298, ptr %t1234) %t1236 = call ptr @lp_str_concat(ptr %t1235, ptr @.str2299) %t1237 = load ptr, ptr %t1205 %t1238 = getelementptr inbounds %Cmp_Val, ptr %t1237, i32 0, i32 0 %t1239 = load ptr, ptr %t1238 %t1240 = call ptr @lp_str_concat(ptr %t1236, ptr %t1239) %t1241 = call ptr @fn_emit_bind(ptr %t1240) store ptr %t1241, ptr %t1242 %t1243 = load ptr, ptr %t1242 %t1244 = call ptr @lp_str_concat(ptr @.str2300, ptr %t1243) %t1245 = call ptr @fn_emit_bind(ptr %t1244) store ptr %t1245, ptr %t1246 %t1247 = load ptr, ptr %t1242 %t1248 = call ptr @lp_str_concat(ptr @.str2301, ptr %t1247) %t1249 = call ptr @lp_str_concat(ptr %t1248, ptr @.str2302) %t1250 = call ptr @fn_emit_bind(ptr %t1249) store ptr %t1250, ptr %t1251 %t1252 = load ptr, ptr %t1251 %t1253 = call ptr @lp_str_concat(ptr @.str2303, ptr %t1252) %t1254 = call ptr @lp_str_concat(ptr %t1253, ptr @.str2304) %t1255 = load ptr, ptr %t1246 %t1256 = call ptr @lp_str_concat(ptr %t1254, ptr %t1255) %t1257 = call ptr @lp_str_concat(ptr %t1256, ptr @.str2305) %t1258 = load ptr, ptr %t1242 %t1259 = call ptr @lp_str_concat(ptr %t1257, ptr %t1258) %t1260 = call ptr @fn_emit_bind(ptr %t1259) store ptr %t1260, ptr %t1261 %t1262 = load ptr, ptr %t1242 %t1263 = call ptr @lp_str_concat(ptr @.str2306, ptr %t1262) %t1264 = call ptr @lp_str_concat(ptr %t1263, ptr @.str2307) %t1265 = call ptr @fn_emit_bind(ptr %t1264) store ptr %t1265, ptr %t1266 %t1267 = load ptr, ptr %t1242 %t1268 = call ptr @lp_str_concat(ptr @.str2308, ptr %t1267) %t1269 = call ptr @lp_str_concat(ptr %t1268, ptr @.str2309) %t1270 = call ptr @fn_emit_bind(ptr %t1269) store ptr %t1270, ptr %t1271 %t1272 = load ptr, ptr %t1271 %t1273 = call ptr @lp_str_concat(ptr @.str2310, ptr %t1272) %t1274 = call ptr @lp_str_concat(ptr %t1273, ptr @.str2311) %t1275 = call ptr @fn_emit_bind(ptr %t1274) store ptr %t1275, ptr %t1276 %t1277 = load ptr, ptr %t1266 %t1278 = call ptr @lp_str_concat(ptr @.str2312, ptr %t1277) %t1279 = call ptr @lp_str_concat(ptr %t1278, ptr @.str2313) %t1280 = load ptr, ptr %t1276 %t1281 = call ptr @lp_str_concat(ptr %t1279, ptr %t1280) %t1282 = call ptr @fn_emit_bind(ptr %t1281) store ptr %t1282, ptr %t1283 %t1284 = load ptr, ptr %t1283 %t1285 = call ptr @lp_str_concat(ptr @.str2314, ptr %t1284) %t1286 = call ptr @lp_str_concat(ptr %t1285, ptr @.str2315) %t1287 = load ptr, ptr %t1231 %t1288 = getelementptr inbounds %Cmp_Val, ptr %t1287, i32 0, i32 0 %t1289 = load ptr, ptr %t1288 %t1290 = call ptr @lp_str_concat(ptr %t1286, ptr %t1289) %t1291 = call ptr @fn_emit_bind(ptr %t1290) store ptr %t1291, ptr %t1292 %t1293 = load ptr, ptr %t1205 %t1294 = getelementptr inbounds %Cmp_Val, ptr %t1293, i32 0, i32 0 %t1295 = load ptr, ptr %t1294 %t1296 = call ptr @lp_str_concat(ptr @.str2316, ptr %t1295) %t1297 = call ptr @lp_str_concat(ptr %t1296, ptr @.str2317) %t1298 = load ptr, ptr %t1292 %t1299 = call ptr @lp_str_concat(ptr %t1297, ptr %t1298) %t1300 = call ptr @fn_emit_bind(ptr %t1299) store ptr %t1300, ptr %t1301 %t1302 = load ptr, ptr %t1261 %t1303 = call ptr @lp_str_concat(ptr @.str2318, ptr %t1302) %t1304 = call ptr @lp_str_concat(ptr %t1303, ptr @.str2319) %t1305 = load ptr, ptr %t1231 %t1306 = getelementptr inbounds %Cmp_Val, ptr %t1305, i32 0, i32 0 %t1307 = load ptr, ptr %t1306 %t1308 = call ptr @lp_str_concat(ptr %t1304, ptr %t1307) %t1309 = call ptr @fn_emit_bind(ptr %t1308) store ptr %t1309, ptr %t1310 %t1311 = load ptr, ptr %t1310 %t1312 = call ptr @lp_str_concat(ptr @.str2320, ptr %t1311) %t1313 = call ptr @lp_str_concat(ptr %t1312, ptr @.str2321) %t1314 = load ptr, ptr %t1218 %t1315 = getelementptr inbounds %Cmp_Val, ptr %t1314, i32 0, i32 0 %t1316 = load ptr, ptr %t1315 %t1317 = call ptr @lp_str_concat(ptr %t1313, ptr %t1316) %t1318 = call ptr @lp_str_concat(ptr %t1317, ptr @.str2322) %t1319 = load ptr, ptr %t1301 %t1320 = call ptr @lp_str_concat(ptr %t1318, ptr %t1319) %t1321 = call ptr @fn_emit_bind(ptr %t1320) %t1322 = call ptr @fn_val(ptr %t1321, ptr @.str2323) store ptr %t1322, ptr %retval br label %ret ifend172: %t1323 = load ptr, ptr %t0 %t1324 = call i32 @lp_str_eq(ptr %t1323, ptr @.str2324) %t1325 = icmp ne i32 %t1324, 0 br i1 %t1325, label %then179, label %ifend181 then179: %t1326 = load ptr, ptr %t1 %t1327 = getelementptr inbounds %Cmp_Node, ptr %t1326, i32 0, i32 7 %t1328 = load ptr, ptr %t1327 %t1329 = getelementptr inbounds %LSlice, ptr %t1328, i32 0, i32 0 %t1330 = load ptr, ptr %t1329 %t1331 = getelementptr inbounds %LSlice, ptr %t1328, i32 0, i32 1 %t1332 = load i32, ptr %t1331 %t1333 = icmp ult i32 0, %t1332 br i1 %t1333, label %ixok182, label %ixbad183 ixbad183: %t1334 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1334, ptr @.fmt_bounds, ptr @.str2325, i32 0, i32 %t1332) call void @exit(i32 1) unreachable ixok182: %t1335 = getelementptr inbounds ptr, ptr %t1330, i32 0 %t1336 = load ptr, ptr %t1335 %t1337 = call ptr @fn_emit_expr(ptr %t1336) store ptr %t1337, ptr %t1338 %t1339 = load ptr, ptr %t1 %t1340 = getelementptr inbounds %Cmp_Node, ptr %t1339, i32 0, i32 7 %t1341 = load ptr, ptr %t1340 %t1342 = getelementptr inbounds %LSlice, ptr %t1341, i32 0, i32 0 %t1343 = load ptr, ptr %t1342 %t1344 = getelementptr inbounds %LSlice, ptr %t1341, i32 0, i32 1 %t1345 = load i32, ptr %t1344 %t1346 = icmp ult i32 1, %t1345 br i1 %t1346, label %ixok184, label %ixbad185 ixbad185: %t1347 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1347, ptr @.fmt_bounds, ptr @.str2326, i32 1, i32 %t1345) call void @exit(i32 1) unreachable ixok184: %t1348 = getelementptr inbounds ptr, ptr %t1343, i32 1 %t1349 = load ptr, ptr %t1348 %t1350 = call ptr @fn_emit_expr(ptr %t1349) store ptr %t1350, ptr %t1351 %t1352 = load ptr, ptr %t1 %t1353 = getelementptr inbounds %Cmp_Node, ptr %t1352, i32 0, i32 7 %t1354 = load ptr, ptr %t1353 %t1355 = getelementptr inbounds %LSlice, ptr %t1354, i32 0, i32 0 %t1356 = load ptr, ptr %t1355 %t1357 = getelementptr inbounds %LSlice, ptr %t1354, i32 0, i32 1 %t1358 = load i32, ptr %t1357 %t1359 = icmp ult i32 2, %t1358 br i1 %t1359, label %ixok186, label %ixbad187 ixbad187: %t1360 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1360, ptr @.fmt_bounds, ptr @.str2327, i32 2, i32 %t1358) call void @exit(i32 1) unreachable ixok186: %t1361 = getelementptr inbounds ptr, ptr %t1356, i32 2 %t1362 = load ptr, ptr %t1361 %t1363 = call ptr @fn_emit_expr(ptr %t1362) store ptr %t1363, ptr %t1364 %t1365 = load ptr, ptr %t1338 %t1366 = getelementptr inbounds %Cmp_Val, ptr %t1365, i32 0, i32 0 %t1367 = load ptr, ptr %t1366 %t1368 = load ptr, ptr %t1351 %t1369 = getelementptr inbounds %Cmp_Val, ptr %t1368, i32 0, i32 0 %t1370 = load ptr, ptr %t1369 %t1371 = load ptr, ptr %t1364 %t1372 = getelementptr inbounds %Cmp_Val, ptr %t1371, i32 0, i32 0 %t1373 = load ptr, ptr %t1372 %t1374 = call ptr @fn_fx_inv_lerp_code(ptr %t1367, ptr %t1370, ptr %t1373) store ptr %t1374, ptr %t1375 %t1376 = load ptr, ptr %t1375 %t1377 = call ptr @lp_str_concat(ptr @.str2328, ptr %t1376) %t1378 = call ptr @lp_str_concat(ptr %t1377, ptr @.str2329) %t1379 = call ptr @fn_emit_bind(ptr %t1378) store ptr %t1379, ptr %t1380 %t1381 = load ptr, ptr %t1380 %t1382 = call ptr @lp_str_concat(ptr @.str2330, ptr %t1381) %t1383 = call ptr @lp_str_concat(ptr %t1382, ptr @.str2331) %t1384 = load ptr, ptr %t1375 %t1385 = call ptr @lp_str_concat(ptr %t1383, ptr %t1384) %t1386 = call ptr @fn_emit_bind(ptr %t1385) store ptr %t1386, ptr %t1387 %t1388 = load ptr, ptr %t1387 %t1389 = call ptr @lp_str_concat(ptr @.str2332, ptr %t1388) %t1390 = call ptr @lp_str_concat(ptr %t1389, ptr @.str2333) %t1391 = call ptr @fn_emit_bind(ptr %t1390) store ptr %t1391, ptr %t1392 %t1393 = load ptr, ptr %t1392 %t1394 = call ptr @lp_str_concat(ptr @.str2334, ptr %t1393) %t1395 = call ptr @lp_str_concat(ptr %t1394, ptr @.str2335) %t1396 = load ptr, ptr %t1387 %t1397 = call ptr @lp_str_concat(ptr %t1395, ptr %t1396) %t1398 = call ptr @fn_emit_bind(ptr %t1397) store ptr %t1398, ptr %t1399 %t1400 = load ptr, ptr %t1399 %t1401 = call ptr @lp_str_concat(ptr @.str2336, ptr %t1400) %t1402 = call ptr @lp_str_concat(ptr %t1401, ptr @.str2337) %t1403 = call ptr @fn_emit_bind(ptr %t1402) store ptr %t1403, ptr %t1404 %t1405 = load ptr, ptr %t1404 %t1406 = call ptr @lp_str_concat(ptr @.str2338, ptr %t1405) %t1407 = call ptr @fn_emit_bind(ptr %t1406) store ptr %t1407, ptr %t1408 %t1409 = load ptr, ptr %t1399 %t1410 = load ptr, ptr %t1399 %t1411 = call ptr @fn_fx_mul_code(ptr %t1409, ptr %t1410) store ptr %t1411, ptr %t1412 %t1413 = load ptr, ptr %t1412 %t1414 = load ptr, ptr %t1408 %t1415 = call ptr @fn_fx_mul_code(ptr %t1413, ptr %t1414) %t1416 = call ptr @fn_val(ptr %t1415, ptr @.str2339) store ptr %t1416, ptr %retval br label %ret ifend181: %t1417 = load ptr, ptr %t1 %t1418 = getelementptr inbounds %Cmp_Node, ptr %t1417, i32 0, i32 7 %t1419 = load ptr, ptr %t1418 %t1420 = getelementptr inbounds %LSlice, ptr %t1419, i32 0, i32 0 %t1421 = load ptr, ptr %t1420 %t1422 = getelementptr inbounds %LSlice, ptr %t1419, i32 0, i32 1 %t1423 = load i32, ptr %t1422 %t1424 = icmp ult i32 0, %t1423 br i1 %t1424, label %ixok188, label %ixbad189 ixbad189: %t1425 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1425, ptr @.fmt_bounds, ptr @.str2340, i32 0, i32 %t1423) call void @exit(i32 1) unreachable ixok188: %t1426 = getelementptr inbounds ptr, ptr %t1421, i32 0 %t1427 = load ptr, ptr %t1426 %t1428 = call ptr @fn_emit_expr(ptr %t1427) store ptr %t1428, ptr %t1429 %t1430 = load ptr, ptr %t1 %t1431 = getelementptr inbounds %Cmp_Node, ptr %t1430, i32 0, i32 7 %t1432 = load ptr, ptr %t1431 %t1433 = getelementptr inbounds %LSlice, ptr %t1432, i32 0, i32 0 %t1434 = load ptr, ptr %t1433 %t1435 = getelementptr inbounds %LSlice, ptr %t1432, i32 0, i32 1 %t1436 = load i32, ptr %t1435 %t1437 = icmp ult i32 1, %t1436 br i1 %t1437, label %ixok190, label %ixbad191 ixbad191: %t1438 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1438, ptr @.fmt_bounds, ptr @.str2341, i32 1, i32 %t1436) call void @exit(i32 1) unreachable ixok190: %t1439 = getelementptr inbounds ptr, ptr %t1434, i32 1 %t1440 = load ptr, ptr %t1439 %t1441 = call ptr @fn_emit_expr(ptr %t1440) store ptr %t1441, ptr %t1442 %t1443 = load ptr, ptr %t1 %t1444 = getelementptr inbounds %Cmp_Node, ptr %t1443, i32 0, i32 7 %t1445 = load ptr, ptr %t1444 %t1446 = getelementptr inbounds %LSlice, ptr %t1445, i32 0, i32 0 %t1447 = load ptr, ptr %t1446 %t1448 = getelementptr inbounds %LSlice, ptr %t1445, i32 0, i32 1 %t1449 = load i32, ptr %t1448 %t1450 = icmp ult i32 2, %t1449 br i1 %t1450, label %ixok192, label %ixbad193 ixbad193: %t1451 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1451, ptr @.fmt_bounds, ptr @.str2342, i32 2, i32 %t1449) call void @exit(i32 1) unreachable ixok192: %t1452 = getelementptr inbounds ptr, ptr %t1447, i32 2 %t1453 = load ptr, ptr %t1452 %t1454 = call ptr @fn_emit_expr(ptr %t1453) store ptr %t1454, ptr %t1455 %t1456 = load ptr, ptr %t1 %t1457 = getelementptr inbounds %Cmp_Node, ptr %t1456, i32 0, i32 7 %t1458 = load ptr, ptr %t1457 %t1459 = getelementptr inbounds %LSlice, ptr %t1458, i32 0, i32 0 %t1460 = load ptr, ptr %t1459 %t1461 = getelementptr inbounds %LSlice, ptr %t1458, i32 0, i32 1 %t1462 = load i32, ptr %t1461 %t1463 = icmp ult i32 3, %t1462 br i1 %t1463, label %ixok194, label %ixbad195 ixbad195: %t1464 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1464, ptr @.fmt_bounds, ptr @.str2343, i32 3, i32 %t1462) call void @exit(i32 1) unreachable ixok194: %t1465 = getelementptr inbounds ptr, ptr %t1460, i32 3 %t1466 = load ptr, ptr %t1465 %t1467 = call ptr @fn_emit_expr(ptr %t1466) store ptr %t1467, ptr %t1468 %t1469 = load ptr, ptr %t1 %t1470 = getelementptr inbounds %Cmp_Node, ptr %t1469, i32 0, i32 7 %t1471 = load ptr, ptr %t1470 %t1472 = getelementptr inbounds %LSlice, ptr %t1471, i32 0, i32 0 %t1473 = load ptr, ptr %t1472 %t1474 = getelementptr inbounds %LSlice, ptr %t1471, i32 0, i32 1 %t1475 = load i32, ptr %t1474 %t1476 = icmp ult i32 4, %t1475 br i1 %t1476, label %ixok196, label %ixbad197 ixbad197: %t1477 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1477, ptr @.fmt_bounds, ptr @.str2344, i32 4, i32 %t1475) call void @exit(i32 1) unreachable ixok196: %t1478 = getelementptr inbounds ptr, ptr %t1473, i32 4 %t1479 = load ptr, ptr %t1478 %t1480 = call ptr @fn_emit_expr(ptr %t1479) store ptr %t1480, ptr %t1481 %t1482 = load ptr, ptr %t1442 %t1483 = getelementptr inbounds %Cmp_Val, ptr %t1482, i32 0, i32 0 %t1484 = load ptr, ptr %t1483 %t1485 = load ptr, ptr %t1455 %t1486 = getelementptr inbounds %Cmp_Val, ptr %t1485, i32 0, i32 0 %t1487 = load ptr, ptr %t1486 %t1488 = load ptr, ptr %t1429 %t1489 = getelementptr inbounds %Cmp_Val, ptr %t1488, i32 0, i32 0 %t1490 = load ptr, ptr %t1489 %t1491 = call ptr @fn_fx_inv_lerp_code(ptr %t1484, ptr %t1487, ptr %t1490) store ptr %t1491, ptr %t1492 %t1493 = load ptr, ptr %t1468 %t1494 = getelementptr inbounds %Cmp_Val, ptr %t1493, i32 0, i32 0 %t1495 = load ptr, ptr %t1494 %t1496 = load ptr, ptr %t1481 %t1497 = getelementptr inbounds %Cmp_Val, ptr %t1496, i32 0, i32 0 %t1498 = load ptr, ptr %t1497 %t1499 = load ptr, ptr %t1492 %t1500 = call ptr @fn_fx_lerp_code(ptr %t1495, ptr %t1498, ptr %t1499) %t1501 = call ptr @fn_val(ptr %t1500, ptr @.str2345) store ptr %t1501, ptr %retval br label %ret ret: %t1502 = load ptr, ptr %retval ret ptr %t1502 } define void @fn_emit_math_prelude() { entry: call void @fn_emith(ptr @.str2346) call void @fn_emith(ptr @.str2347) call void @fn_emith(ptr @.str2348) call void @fn_emith(ptr @.str2349) call void @fn_emith(ptr @.str2350) call void @fn_emith(ptr @.str2351) call void @fn_emith(ptr @.str2352) call void @fn_emith(ptr @.str2353) call void @fn_emith(ptr @.str2354) call void @fn_emith(ptr @.str2355) call void @fn_emith(ptr @.str2356) call void @fn_emith(ptr @.str2357) call void @fn_emith(ptr @.str2358) call void @fn_emith(ptr @.str2359) call void @fn_emith(ptr @.str2360) call void @fn_emith(ptr @.str2361) call void @fn_emith(ptr @.str2362) call void @fn_emith(ptr @.str2363) call void @fn_emith(ptr @.str2364) call void @fn_emith(ptr @.str2365) call void @fn_emith(ptr @.str2366) call void @fn_emith(ptr @.str2367) call void @fn_emith(ptr @.str2368) call void @fn_emith(ptr @.str2369) call void @fn_emith(ptr @.str2370) call void @fn_emith(ptr @.str2371) call void @fn_emith(ptr @.str2372) call void @fn_emith(ptr @.str2373) call void @fn_emith(ptr @.str2374) call void @fn_emith(ptr @.str2375) call void @fn_emith(ptr @.str2376) call void @fn_emith(ptr @.str2377) call void @fn_emith(ptr @.str2378) call void @fn_emith(ptr @.str2379) call void @fn_emith(ptr @.str2380) call void @fn_emith(ptr @.str2381) call void @fn_emith(ptr @.str2382) call void @fn_emith(ptr @.str2383) call void @fn_emith(ptr @.str2384) call void @fn_emith(ptr @.str2385) call void @fn_emith(ptr @.str2386) call void @fn_emith(ptr @.str2387) call void @fn_emith(ptr @.str2388) call void @fn_emith(ptr @.str2389) call void @fn_emith(ptr @.str2390) call void @fn_emith(ptr @.str2391) call void @fn_emith(ptr @.str2392) call void @fn_emith(ptr @.str2393) call void @fn_emith(ptr @.str2394) call void @fn_emith(ptr @.str2395) call void @fn_emith(ptr @.str2396) call void @fn_emith(ptr @.str2397) call void @fn_emith(ptr @.str2398) call void @fn_emith(ptr @.str2399) call void @fn_emith(ptr @.str2400) call void @fn_emith(ptr @.str2401) call void @fn_emith(ptr @.str2402) call void @fn_emith(ptr @.str2403) call void @fn_emith(ptr @.str2404) call void @fn_emith(ptr @.str2405) call void @fn_emith(ptr @.str2406) call void @fn_emith(ptr @.str2407) call void @fn_emith(ptr @.str2408) call void @fn_emith(ptr @.str2409) call void @fn_emith(ptr @.str2410) call void @fn_emith(ptr @.str2411) call void @fn_emith(ptr @.str2412) call void @fn_emith(ptr @.str2413) call void @fn_emith(ptr @.str2414) call void @fn_emith(ptr @.str2415) call void @fn_emith(ptr @.str2416) call void @fn_emith(ptr @.str2417) call void @fn_emith(ptr @.str2418) call void @fn_emith(ptr @.str2419) call void @fn_emith(ptr @.str2420) call void @fn_emith(ptr @.str2421) call void @fn_emith(ptr @.str2422) call void @fn_emith(ptr @.str2423) call void @fn_emith(ptr @.str2424) call void @fn_emith(ptr @.str2425) call void @fn_emith(ptr @.str2426) call void @fn_emith(ptr @.str2427) call void @fn_emith(ptr @.str2428) call void @fn_emith(ptr @.str2429) call void @fn_emith(ptr @.str2430) call void @fn_emith(ptr @.str2431) call void @fn_emith(ptr @.str2432) call void @fn_emith(ptr @.str2433) call void @fn_emith(ptr @.str2434) call void @fn_emith(ptr @.str2435) call void @fn_emith(ptr @.str2436) call void @fn_emith(ptr @.str2437) call void @fn_emith(ptr @.str2438) call void @fn_emith(ptr @.str2439) call void @fn_emith(ptr @.str2440) call void @fn_emith(ptr @.str2441) call void @fn_emith(ptr @.str2442) call void @fn_emith(ptr @.str2443) call void @fn_emith(ptr @.str2444) call void @fn_emith(ptr @.str2445) call void @fn_emith(ptr @.str2446) call void @fn_emith(ptr @.str2447) call void @fn_emith(ptr @.str2448) call void @fn_emith(ptr @.str2449) call void @fn_emith(ptr @.str2450) call void @fn_emith(ptr @.str2451) call void @fn_emith(ptr @.str2452) call void @fn_emith(ptr @.str2453) call void @fn_emith(ptr @.str2454) br label %ret ret: ret void } define ptr @fn_vec_pack(ptr %arg_x, ptr %arg_y) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t6 = alloca ptr %t11 = alloca ptr %t16 = alloca ptr store ptr %arg_x, ptr %t0 store ptr %arg_y, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @lp_str_concat(ptr @.str2455, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str2456) %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 %t8 = call ptr @lp_str_concat(ptr @.str2457, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str2458) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t1 %t13 = call ptr @lp_str_concat(ptr @.str2459, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str2460) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t11 %t18 = call ptr @lp_str_concat(ptr @.str2461, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str2462) %t20 = load ptr, ptr %t16 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @fn_emit_bind(ptr %t21) store ptr %t22, ptr %retval br label %ret ret: %t23 = load ptr, ptr %retval ret ptr %t23 } define ptr @fn_vec_x(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @lp_str_concat(ptr @.str2463, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str2464) %t4 = call ptr @fn_emit_bind(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = call ptr @lp_str_concat(ptr @.str2465, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2466) %t9 = call ptr @fn_emit_bind(ptr %t8) store ptr %t9, ptr %retval br label %ret ret: %t10 = load ptr, ptr %retval ret ptr %t10 } define ptr @fn_vec_y(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @lp_str_concat(ptr @.str2467, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str2468) %t4 = call ptr @fn_emit_bind(ptr %t3) store ptr %t4, ptr %retval br label %ret ret: %t5 = load ptr, ptr %retval ret ptr %t5 } define i32 @fn_is_vector_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t28 = alloca i32 %t29 = alloca i32 %t30 = alloca i32 %t55 = alloca i32 %t56 = alloca i32 %t57 = alloca i32 %t82 = alloca i32 %t83 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str2469) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t3 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str2470) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 br label %scend1 scend1: %t12 = load i32, ptr %t3 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str2471) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br label %scend3 scend3: %t19 = load i32, ptr %t2 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t1 br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str2472) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 br label %scend5 scend5: %t26 = load i32, ptr %t1 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %ifend8 then6: store i32 1, ptr %retval br label %ret ifend8: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str2473) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t30 br i1 %t33, label %scend10, label %sc9 sc9: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str2474) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t30 br label %scend10 scend10: %t39 = load i32, ptr %t30 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t29 br i1 %t40, label %scend12, label %sc11 sc11: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str2475) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t29 br label %scend12 scend12: %t46 = load i32, ptr %t29 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t28 br i1 %t47, label %scend14, label %sc13 sc13: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str2476) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t28 br label %scend14 scend14: %t53 = load i32, ptr %t28 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then15, label %ifend17 then15: store i32 1, ptr %retval br label %ret ifend17: %t58 = load ptr, ptr %t0 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str2477) %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t57 br i1 %t60, label %scend19, label %sc18 sc18: %t62 = load ptr, ptr %t0 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str2478) %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t57 br label %scend19 scend19: %t66 = load i32, ptr %t57 %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t56 br i1 %t67, label %scend21, label %sc20 sc20: %t69 = load ptr, ptr %t0 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str2479) %t71 = icmp ne i32 %t70, 0 %t72 = zext i1 %t71 to i32 store i32 %t72, ptr %t56 br label %scend21 scend21: %t73 = load i32, ptr %t56 %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t55 br i1 %t74, label %scend23, label %sc22 sc22: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str2480) %t78 = icmp ne i32 %t77, 0 %t79 = zext i1 %t78 to i32 store i32 %t79, ptr %t55 br label %scend23 scend23: %t80 = load i32, ptr %t55 %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then24, label %ifend26 then24: store i32 1, ptr %retval br label %ret ifend26: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str2481) %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t83 br i1 %t86, label %scend28, label %sc27 sc27: %t88 = load ptr, ptr %t0 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str2482) %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 store i32 %t91, ptr %t83 br label %scend28 scend28: %t92 = load i32, ptr %t83 %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t82 br i1 %t93, label %scend30, label %sc29 sc29: %t95 = load ptr, ptr %t0 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str2483) %t97 = icmp ne i32 %t96, 0 %t98 = zext i1 %t97 to i32 store i32 %t98, ptr %t82 br label %scend30 scend30: %t99 = load i32, ptr %t82 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then31, label %ifend33 then31: store i32 1, ptr %retval br label %ret ifend33: store i32 0, ptr %retval br label %ret ret: %t101 = load i32, ptr %retval ret i32 %t101 } define ptr @fn_emit_vector_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t21 = alloca ptr %t34 = alloca ptr %t58 = alloca ptr %t79 = alloca ptr %t100 = alloca ptr %t113 = alloca ptr %t118 = alloca ptr %t123 = alloca ptr %t128 = alloca ptr %t133 = alloca ptr %t140 = alloca ptr %t147 = alloca ptr %t167 = alloca ptr %t180 = alloca ptr %t185 = alloca ptr %t190 = alloca ptr %t195 = alloca ptr %t200 = alloca ptr %t207 = alloca ptr %t214 = alloca ptr %t234 = alloca ptr %t247 = alloca ptr %t252 = alloca ptr %t257 = alloca ptr %t263 = alloca ptr %t269 = alloca ptr %t289 = alloca ptr %t302 = alloca ptr %t307 = alloca ptr %t312 = alloca ptr %t317 = alloca ptr %t322 = alloca ptr %t326 = alloca ptr %t330 = alloca ptr %t353 = alloca ptr %t358 = alloca ptr %t363 = alloca ptr %t367 = alloca ptr %t371 = alloca ptr %t378 = alloca ptr %t399 = alloca ptr %t412 = alloca ptr %t417 = alloca ptr %t422 = alloca ptr %t427 = alloca ptr %t432 = alloca ptr %t439 = alloca ptr %t446 = alloca ptr %t450 = alloca ptr %t454 = alloca ptr %t461 = alloca ptr %t482 = alloca ptr %t487 = alloca ptr %t492 = alloca ptr %t496 = alloca ptr %t500 = alloca ptr %t507 = alloca ptr %t512 = alloca ptr %t517 = alloca ptr %t524 = alloca ptr %t527 = alloca ptr %t531 = alloca ptr %t535 = alloca ptr %t555 = alloca ptr %t568 = alloca ptr %t575 = alloca ptr %t582 = alloca ptr %t587 = alloca ptr %t592 = alloca ptr %t597 = alloca ptr %t601 = alloca ptr %t605 = alloca ptr %t609 = alloca ptr %t613 = alloca ptr %t620 = alloca ptr %t627 = alloca ptr %t647 = alloca ptr %t652 = alloca ptr %t657 = alloca ptr %t681 = alloca ptr %t688 = alloca ptr %t695 = alloca ptr %t700 = alloca ptr %t717 = alloca ptr %t730 = alloca ptr %t743 = alloca ptr %t748 = alloca ptr %t753 = alloca ptr %t758 = alloca ptr %t763 = alloca ptr %t770 = alloca ptr %t777 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str2484) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str2485, ptr @.str2486) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str2487) %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then3, label %ifend5 then3: %t9 = load ptr, ptr %t1 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 0, %t15 br i1 %t16, label %ixok6, label %ixbad7 ixbad7: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str2488, i32 0, i32 %t15) call void @exit(i32 1) unreachable ixok6: %t18 = getelementptr inbounds ptr, ptr %t13, i32 0 %t19 = load ptr, ptr %t18 %t20 = call ptr @fn_emit_expr(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t1 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 1, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str2489, i32 1, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t26, i32 1 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_emit_expr(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t21 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = load ptr, ptr %t34 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = call ptr @fn_vec_pack(ptr %t37, ptr %t40) %t42 = call ptr @fn_val(ptr %t41, ptr @.str2490) store ptr %t42, ptr %retval br label %ret ifend5: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str2491) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then10, label %ifend12 then10: %t46 = load ptr, ptr %t1 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 7 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 0, %t52 br i1 %t53, label %ixok13, label %ixbad14 ixbad14: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str2492, i32 0, i32 %t52) call void @exit(i32 1) unreachable ixok13: %t55 = getelementptr inbounds ptr, ptr %t50, i32 0 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_emit_expr(ptr %t56) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %Cmp_Val, ptr %t59, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = call ptr @fn_vec_x(ptr %t61) %t63 = call ptr @fn_val(ptr %t62, ptr @.str2493) store ptr %t63, ptr %retval br label %ret ifend12: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str2494) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then15, label %ifend17 then15: %t67 = load ptr, ptr %t1 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 7 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 0, %t73 br i1 %t74, label %ixok18, label %ixbad19 ixbad19: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str2495, i32 0, i32 %t73) call void @exit(i32 1) unreachable ixok18: %t76 = getelementptr inbounds ptr, ptr %t71, i32 0 %t77 = load ptr, ptr %t76 %t78 = call ptr @fn_emit_expr(ptr %t77) store ptr %t78, ptr %t79 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %Cmp_Val, ptr %t80, i32 0, i32 0 %t82 = load ptr, ptr %t81 %t83 = call ptr @fn_vec_y(ptr %t82) %t84 = call ptr @fn_val(ptr %t83, ptr @.str2496) store ptr %t84, ptr %retval br label %ret ifend17: %t85 = load ptr, ptr %t0 %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str2497) %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then20, label %ifend22 then20: %t88 = load ptr, ptr %t1 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 7 %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 0 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp ult i32 0, %t94 br i1 %t95, label %ixok23, label %ixbad24 ixbad24: %t96 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str2498, i32 0, i32 %t94) call void @exit(i32 1) unreachable ixok23: %t97 = getelementptr inbounds ptr, ptr %t92, i32 0 %t98 = load ptr, ptr %t97 %t99 = call ptr @fn_emit_expr(ptr %t98) store ptr %t99, ptr %t100 %t101 = load ptr, ptr %t1 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 7 %t103 = load ptr, ptr %t102 %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 %t107 = load i32, ptr %t106 %t108 = icmp ult i32 1, %t107 br i1 %t108, label %ixok25, label %ixbad26 ixbad26: %t109 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str2499, i32 1, i32 %t107) call void @exit(i32 1) unreachable ixok25: %t110 = getelementptr inbounds ptr, ptr %t105, i32 1 %t111 = load ptr, ptr %t110 %t112 = call ptr @fn_emit_expr(ptr %t111) store ptr %t112, ptr %t113 %t114 = load ptr, ptr %t100 %t115 = getelementptr inbounds %Cmp_Val, ptr %t114, i32 0, i32 0 %t116 = load ptr, ptr %t115 %t117 = call ptr @fn_vec_x(ptr %t116) store ptr %t117, ptr %t118 %t119 = load ptr, ptr %t100 %t120 = getelementptr inbounds %Cmp_Val, ptr %t119, i32 0, i32 0 %t121 = load ptr, ptr %t120 %t122 = call ptr @fn_vec_y(ptr %t121) store ptr %t122, ptr %t123 %t124 = load ptr, ptr %t113 %t125 = getelementptr inbounds %Cmp_Val, ptr %t124, i32 0, i32 0 %t126 = load ptr, ptr %t125 %t127 = call ptr @fn_vec_x(ptr %t126) store ptr %t127, ptr %t128 %t129 = load ptr, ptr %t113 %t130 = getelementptr inbounds %Cmp_Val, ptr %t129, i32 0, i32 0 %t131 = load ptr, ptr %t130 %t132 = call ptr @fn_vec_y(ptr %t131) store ptr %t132, ptr %t133 %t134 = load ptr, ptr %t118 %t135 = call ptr @lp_str_concat(ptr @.str2500, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str2501) %t137 = load ptr, ptr %t128 %t138 = call ptr @lp_str_concat(ptr %t136, ptr %t137) %t139 = call ptr @fn_emit_bind(ptr %t138) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t123 %t142 = call ptr @lp_str_concat(ptr @.str2502, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str2503) %t144 = load ptr, ptr %t133 %t145 = call ptr @lp_str_concat(ptr %t143, ptr %t144) %t146 = call ptr @fn_emit_bind(ptr %t145) store ptr %t146, ptr %t147 %t148 = load ptr, ptr %t140 %t149 = load ptr, ptr %t147 %t150 = call ptr @fn_vec_pack(ptr %t148, ptr %t149) %t151 = call ptr @fn_val(ptr %t150, ptr @.str2504) store ptr %t151, ptr %retval br label %ret ifend22: %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str2505) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then27, label %ifend29 then27: %t155 = load ptr, ptr %t1 %t156 = getelementptr inbounds %Cmp_Node, ptr %t155, i32 0, i32 7 %t157 = load ptr, ptr %t156 %t158 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0 %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 1 %t161 = load i32, ptr %t160 %t162 = icmp ult i32 0, %t161 br i1 %t162, label %ixok30, label %ixbad31 ixbad31: %t163 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t163, ptr @.fmt_bounds, ptr @.str2506, i32 0, i32 %t161) call void @exit(i32 1) unreachable ixok30: %t164 = getelementptr inbounds ptr, ptr %t159, i32 0 %t165 = load ptr, ptr %t164 %t166 = call ptr @fn_emit_expr(ptr %t165) store ptr %t166, ptr %t167 %t168 = load ptr, ptr %t1 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 7 %t170 = load ptr, ptr %t169 %t171 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 0 %t172 = load ptr, ptr %t171 %t173 = getelementptr inbounds %LSlice, ptr %t170, i32 0, i32 1 %t174 = load i32, ptr %t173 %t175 = icmp ult i32 1, %t174 br i1 %t175, label %ixok32, label %ixbad33 ixbad33: %t176 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t176, ptr @.fmt_bounds, ptr @.str2507, i32 1, i32 %t174) call void @exit(i32 1) unreachable ixok32: %t177 = getelementptr inbounds ptr, ptr %t172, i32 1 %t178 = load ptr, ptr %t177 %t179 = call ptr @fn_emit_expr(ptr %t178) store ptr %t179, ptr %t180 %t181 = load ptr, ptr %t167 %t182 = getelementptr inbounds %Cmp_Val, ptr %t181, i32 0, i32 0 %t183 = load ptr, ptr %t182 %t184 = call ptr @fn_vec_x(ptr %t183) store ptr %t184, ptr %t185 %t186 = load ptr, ptr %t167 %t187 = getelementptr inbounds %Cmp_Val, ptr %t186, i32 0, i32 0 %t188 = load ptr, ptr %t187 %t189 = call ptr @fn_vec_y(ptr %t188) store ptr %t189, ptr %t190 %t191 = load ptr, ptr %t180 %t192 = getelementptr inbounds %Cmp_Val, ptr %t191, i32 0, i32 0 %t193 = load ptr, ptr %t192 %t194 = call ptr @fn_vec_x(ptr %t193) store ptr %t194, ptr %t195 %t196 = load ptr, ptr %t180 %t197 = getelementptr inbounds %Cmp_Val, ptr %t196, i32 0, i32 0 %t198 = load ptr, ptr %t197 %t199 = call ptr @fn_vec_y(ptr %t198) store ptr %t199, ptr %t200 %t201 = load ptr, ptr %t185 %t202 = call ptr @lp_str_concat(ptr @.str2508, ptr %t201) %t203 = call ptr @lp_str_concat(ptr %t202, ptr @.str2509) %t204 = load ptr, ptr %t195 %t205 = call ptr @lp_str_concat(ptr %t203, ptr %t204) %t206 = call ptr @fn_emit_bind(ptr %t205) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t190 %t209 = call ptr @lp_str_concat(ptr @.str2510, ptr %t208) %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str2511) %t211 = load ptr, ptr %t200 %t212 = call ptr @lp_str_concat(ptr %t210, ptr %t211) %t213 = call ptr @fn_emit_bind(ptr %t212) store ptr %t213, ptr %t214 %t215 = load ptr, ptr %t207 %t216 = load ptr, ptr %t214 %t217 = call ptr @fn_vec_pack(ptr %t215, ptr %t216) %t218 = call ptr @fn_val(ptr %t217, ptr @.str2512) store ptr %t218, ptr %retval br label %ret ifend29: %t219 = load ptr, ptr %t0 %t220 = call i32 @lp_str_eq(ptr %t219, ptr @.str2513) %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then34, label %ifend36 then34: %t222 = load ptr, ptr %t1 %t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 7 %t224 = load ptr, ptr %t223 %t225 = getelementptr inbounds %LSlice, ptr %t224, i32 0, i32 0 %t226 = load ptr, ptr %t225 %t227 = getelementptr inbounds %LSlice, ptr %t224, i32 0, i32 1 %t228 = load i32, ptr %t227 %t229 = icmp ult i32 0, %t228 br i1 %t229, label %ixok37, label %ixbad38 ixbad38: %t230 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t230, ptr @.fmt_bounds, ptr @.str2514, i32 0, i32 %t228) call void @exit(i32 1) unreachable ixok37: %t231 = getelementptr inbounds ptr, ptr %t226, i32 0 %t232 = load ptr, ptr %t231 %t233 = call ptr @fn_emit_expr(ptr %t232) store ptr %t233, ptr %t234 %t235 = load ptr, ptr %t1 %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 7 %t237 = load ptr, ptr %t236 %t238 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 0 %t239 = load ptr, ptr %t238 %t240 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 1 %t241 = load i32, ptr %t240 %t242 = icmp ult i32 1, %t241 br i1 %t242, label %ixok39, label %ixbad40 ixbad40: %t243 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t243, ptr @.fmt_bounds, ptr @.str2515, i32 1, i32 %t241) call void @exit(i32 1) unreachable ixok39: %t244 = getelementptr inbounds ptr, ptr %t239, i32 1 %t245 = load ptr, ptr %t244 %t246 = call ptr @fn_emit_expr(ptr %t245) store ptr %t246, ptr %t247 %t248 = load ptr, ptr %t234 %t249 = getelementptr inbounds %Cmp_Val, ptr %t248, i32 0, i32 0 %t250 = load ptr, ptr %t249 %t251 = call ptr @fn_vec_x(ptr %t250) store ptr %t251, ptr %t252 %t253 = load ptr, ptr %t234 %t254 = getelementptr inbounds %Cmp_Val, ptr %t253, i32 0, i32 0 %t255 = load ptr, ptr %t254 %t256 = call ptr @fn_vec_y(ptr %t255) store ptr %t256, ptr %t257 %t258 = load ptr, ptr %t252 %t259 = load ptr, ptr %t247 %t260 = getelementptr inbounds %Cmp_Val, ptr %t259, i32 0, i32 0 %t261 = load ptr, ptr %t260 %t262 = call ptr @fn_fx_mul_code(ptr %t258, ptr %t261) store ptr %t262, ptr %t263 %t264 = load ptr, ptr %t257 %t265 = load ptr, ptr %t247 %t266 = getelementptr inbounds %Cmp_Val, ptr %t265, i32 0, i32 0 %t267 = load ptr, ptr %t266 %t268 = call ptr @fn_fx_mul_code(ptr %t264, ptr %t267) store ptr %t268, ptr %t269 %t270 = load ptr, ptr %t263 %t271 = load ptr, ptr %t269 %t272 = call ptr @fn_vec_pack(ptr %t270, ptr %t271) %t273 = call ptr @fn_val(ptr %t272, ptr @.str2516) store ptr %t273, ptr %retval br label %ret ifend36: %t274 = load ptr, ptr %t0 %t275 = call i32 @lp_str_eq(ptr %t274, ptr @.str2517) %t276 = icmp ne i32 %t275, 0 br i1 %t276, label %then41, label %ifend43 then41: %t277 = load ptr, ptr %t1 %t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 7 %t279 = load ptr, ptr %t278 %t280 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 0 %t281 = load ptr, ptr %t280 %t282 = getelementptr inbounds %LSlice, ptr %t279, i32 0, i32 1 %t283 = load i32, ptr %t282 %t284 = icmp ult i32 0, %t283 br i1 %t284, label %ixok44, label %ixbad45 ixbad45: %t285 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t285, ptr @.fmt_bounds, ptr @.str2518, i32 0, i32 %t283) call void @exit(i32 1) unreachable ixok44: %t286 = getelementptr inbounds ptr, ptr %t281, i32 0 %t287 = load ptr, ptr %t286 %t288 = call ptr @fn_emit_expr(ptr %t287) store ptr %t288, ptr %t289 %t290 = load ptr, ptr %t1 %t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 7 %t292 = load ptr, ptr %t291 %t293 = getelementptr inbounds %LSlice, ptr %t292, i32 0, i32 0 %t294 = load ptr, ptr %t293 %t295 = getelementptr inbounds %LSlice, ptr %t292, i32 0, i32 1 %t296 = load i32, ptr %t295 %t297 = icmp ult i32 1, %t296 br i1 %t297, label %ixok46, label %ixbad47 ixbad47: %t298 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t298, ptr @.fmt_bounds, ptr @.str2519, i32 1, i32 %t296) call void @exit(i32 1) unreachable ixok46: %t299 = getelementptr inbounds ptr, ptr %t294, i32 1 %t300 = load ptr, ptr %t299 %t301 = call ptr @fn_emit_expr(ptr %t300) store ptr %t301, ptr %t302 %t303 = load ptr, ptr %t289 %t304 = getelementptr inbounds %Cmp_Val, ptr %t303, i32 0, i32 0 %t305 = load ptr, ptr %t304 %t306 = call ptr @fn_vec_x(ptr %t305) store ptr %t306, ptr %t307 %t308 = load ptr, ptr %t289 %t309 = getelementptr inbounds %Cmp_Val, ptr %t308, i32 0, i32 0 %t310 = load ptr, ptr %t309 %t311 = call ptr @fn_vec_y(ptr %t310) store ptr %t311, ptr %t312 %t313 = load ptr, ptr %t302 %t314 = getelementptr inbounds %Cmp_Val, ptr %t313, i32 0, i32 0 %t315 = load ptr, ptr %t314 %t316 = call ptr @fn_vec_x(ptr %t315) store ptr %t316, ptr %t317 %t318 = load ptr, ptr %t302 %t319 = getelementptr inbounds %Cmp_Val, ptr %t318, i32 0, i32 0 %t320 = load ptr, ptr %t319 %t321 = call ptr @fn_vec_y(ptr %t320) store ptr %t321, ptr %t322 %t323 = load ptr, ptr %t307 %t324 = load ptr, ptr %t317 %t325 = call ptr @fn_fx_mul_code(ptr %t323, ptr %t324) store ptr %t325, ptr %t326 %t327 = load ptr, ptr %t312 %t328 = load ptr, ptr %t322 %t329 = call ptr @fn_fx_mul_code(ptr %t327, ptr %t328) store ptr %t329, ptr %t330 %t331 = load ptr, ptr %t326 %t332 = call ptr @lp_str_concat(ptr @.str2520, ptr %t331) %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str2521) %t334 = load ptr, ptr %t330 %t335 = call ptr @lp_str_concat(ptr %t333, ptr %t334) %t336 = call ptr @fn_emit_bind(ptr %t335) %t337 = call ptr @fn_val(ptr %t336, ptr @.str2522) store ptr %t337, ptr %retval br label %ret ifend43: %t338 = load ptr, ptr %t0 %t339 = call i32 @lp_str_eq(ptr %t338, ptr @.str2523) %t340 = icmp ne i32 %t339, 0 br i1 %t340, label %then48, label %ifend50 then48: store i32 1, ptr @g_g_uses_mathrt %t341 = load ptr, ptr %t1 %t342 = getelementptr inbounds %Cmp_Node, ptr %t341, i32 0, i32 7 %t343 = load ptr, ptr %t342 %t344 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 0 %t345 = load ptr, ptr %t344 %t346 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 1 %t347 = load i32, ptr %t346 %t348 = icmp ult i32 0, %t347 br i1 %t348, label %ixok51, label %ixbad52 ixbad52: %t349 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t349, ptr @.fmt_bounds, ptr @.str2524, i32 0, i32 %t347) call void @exit(i32 1) unreachable ixok51: %t350 = getelementptr inbounds ptr, ptr %t345, i32 0 %t351 = load ptr, ptr %t350 %t352 = call ptr @fn_emit_expr(ptr %t351) store ptr %t352, ptr %t353 %t354 = load ptr, ptr %t353 %t355 = getelementptr inbounds %Cmp_Val, ptr %t354, i32 0, i32 0 %t356 = load ptr, ptr %t355 %t357 = call ptr @fn_vec_x(ptr %t356) store ptr %t357, ptr %t358 %t359 = load ptr, ptr %t353 %t360 = getelementptr inbounds %Cmp_Val, ptr %t359, i32 0, i32 0 %t361 = load ptr, ptr %t360 %t362 = call ptr @fn_vec_y(ptr %t361) store ptr %t362, ptr %t363 %t364 = load ptr, ptr %t358 %t365 = load ptr, ptr %t358 %t366 = call ptr @fn_fx_mul_code(ptr %t364, ptr %t365) store ptr %t366, ptr %t367 %t368 = load ptr, ptr %t363 %t369 = load ptr, ptr %t363 %t370 = call ptr @fn_fx_mul_code(ptr %t368, ptr %t369) store ptr %t370, ptr %t371 %t372 = load ptr, ptr %t367 %t373 = call ptr @lp_str_concat(ptr @.str2525, ptr %t372) %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str2526) %t375 = load ptr, ptr %t371 %t376 = call ptr @lp_str_concat(ptr %t374, ptr %t375) %t377 = call ptr @fn_emit_bind(ptr %t376) store ptr %t377, ptr %t378 %t379 = load ptr, ptr %t378 %t380 = call ptr @lp_str_concat(ptr @.str2527, ptr %t379) %t381 = call ptr @lp_str_concat(ptr %t380, ptr @.str2528) %t382 = call ptr @fn_emit_bind(ptr %t381) %t383 = call ptr @fn_val(ptr %t382, ptr @.str2529) store ptr %t383, ptr %retval br label %ret ifend50: %t384 = load ptr, ptr %t0 %t385 = call i32 @lp_str_eq(ptr %t384, ptr @.str2530) %t386 = icmp ne i32 %t385, 0 br i1 %t386, label %then53, label %ifend55 then53: store i32 1, ptr @g_g_uses_mathrt %t387 = load ptr, ptr %t1 %t388 = getelementptr inbounds %Cmp_Node, ptr %t387, i32 0, i32 7 %t389 = load ptr, ptr %t388 %t390 = getelementptr inbounds %LSlice, ptr %t389, i32 0, i32 0 %t391 = load ptr, ptr %t390 %t392 = getelementptr inbounds %LSlice, ptr %t389, i32 0, i32 1 %t393 = load i32, ptr %t392 %t394 = icmp ult i32 0, %t393 br i1 %t394, label %ixok56, label %ixbad57 ixbad57: %t395 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t395, ptr @.fmt_bounds, ptr @.str2531, i32 0, i32 %t393) call void @exit(i32 1) unreachable ixok56: %t396 = getelementptr inbounds ptr, ptr %t391, i32 0 %t397 = load ptr, ptr %t396 %t398 = call ptr @fn_emit_expr(ptr %t397) store ptr %t398, ptr %t399 %t400 = load ptr, ptr %t1 %t401 = getelementptr inbounds %Cmp_Node, ptr %t400, i32 0, i32 7 %t402 = load ptr, ptr %t401 %t403 = getelementptr inbounds %LSlice, ptr %t402, i32 0, i32 0 %t404 = load ptr, ptr %t403 %t405 = getelementptr inbounds %LSlice, ptr %t402, i32 0, i32 1 %t406 = load i32, ptr %t405 %t407 = icmp ult i32 1, %t406 br i1 %t407, label %ixok58, label %ixbad59 ixbad59: %t408 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t408, ptr @.fmt_bounds, ptr @.str2532, i32 1, i32 %t406) call void @exit(i32 1) unreachable ixok58: %t409 = getelementptr inbounds ptr, ptr %t404, i32 1 %t410 = load ptr, ptr %t409 %t411 = call ptr @fn_emit_expr(ptr %t410) store ptr %t411, ptr %t412 %t413 = load ptr, ptr %t399 %t414 = getelementptr inbounds %Cmp_Val, ptr %t413, i32 0, i32 0 %t415 = load ptr, ptr %t414 %t416 = call ptr @fn_vec_x(ptr %t415) store ptr %t416, ptr %t417 %t418 = load ptr, ptr %t399 %t419 = getelementptr inbounds %Cmp_Val, ptr %t418, i32 0, i32 0 %t420 = load ptr, ptr %t419 %t421 = call ptr @fn_vec_y(ptr %t420) store ptr %t421, ptr %t422 %t423 = load ptr, ptr %t412 %t424 = getelementptr inbounds %Cmp_Val, ptr %t423, i32 0, i32 0 %t425 = load ptr, ptr %t424 %t426 = call ptr @fn_vec_x(ptr %t425) store ptr %t426, ptr %t427 %t428 = load ptr, ptr %t412 %t429 = getelementptr inbounds %Cmp_Val, ptr %t428, i32 0, i32 0 %t430 = load ptr, ptr %t429 %t431 = call ptr @fn_vec_y(ptr %t430) store ptr %t431, ptr %t432 %t433 = load ptr, ptr %t417 %t434 = call ptr @lp_str_concat(ptr @.str2533, ptr %t433) %t435 = call ptr @lp_str_concat(ptr %t434, ptr @.str2534) %t436 = load ptr, ptr %t427 %t437 = call ptr @lp_str_concat(ptr %t435, ptr %t436) %t438 = call ptr @fn_emit_bind(ptr %t437) store ptr %t438, ptr %t439 %t440 = load ptr, ptr %t422 %t441 = call ptr @lp_str_concat(ptr @.str2535, ptr %t440) %t442 = call ptr @lp_str_concat(ptr %t441, ptr @.str2536) %t443 = load ptr, ptr %t432 %t444 = call ptr @lp_str_concat(ptr %t442, ptr %t443) %t445 = call ptr @fn_emit_bind(ptr %t444) store ptr %t445, ptr %t446 %t447 = load ptr, ptr %t439 %t448 = load ptr, ptr %t439 %t449 = call ptr @fn_fx_mul_code(ptr %t447, ptr %t448) store ptr %t449, ptr %t450 %t451 = load ptr, ptr %t446 %t452 = load ptr, ptr %t446 %t453 = call ptr @fn_fx_mul_code(ptr %t451, ptr %t452) store ptr %t453, ptr %t454 %t455 = load ptr, ptr %t450 %t456 = call ptr @lp_str_concat(ptr @.str2537, ptr %t455) %t457 = call ptr @lp_str_concat(ptr %t456, ptr @.str2538) %t458 = load ptr, ptr %t454 %t459 = call ptr @lp_str_concat(ptr %t457, ptr %t458) %t460 = call ptr @fn_emit_bind(ptr %t459) store ptr %t460, ptr %t461 %t462 = load ptr, ptr %t461 %t463 = call ptr @lp_str_concat(ptr @.str2539, ptr %t462) %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str2540) %t465 = call ptr @fn_emit_bind(ptr %t464) %t466 = call ptr @fn_val(ptr %t465, ptr @.str2541) store ptr %t466, ptr %retval br label %ret ifend55: %t467 = load ptr, ptr %t0 %t468 = call i32 @lp_str_eq(ptr %t467, ptr @.str2542) %t469 = icmp ne i32 %t468, 0 br i1 %t469, label %then60, label %ifend62 then60: store i32 1, ptr @g_g_uses_mathrt %t470 = load ptr, ptr %t1 %t471 = getelementptr inbounds %Cmp_Node, ptr %t470, i32 0, i32 7 %t472 = load ptr, ptr %t471 %t473 = getelementptr inbounds %LSlice, ptr %t472, i32 0, i32 0 %t474 = load ptr, ptr %t473 %t475 = getelementptr inbounds %LSlice, ptr %t472, i32 0, i32 1 %t476 = load i32, ptr %t475 %t477 = icmp ult i32 0, %t476 br i1 %t477, label %ixok63, label %ixbad64 ixbad64: %t478 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t478, ptr @.fmt_bounds, ptr @.str2543, i32 0, i32 %t476) call void @exit(i32 1) unreachable ixok63: %t479 = getelementptr inbounds ptr, ptr %t474, i32 0 %t480 = load ptr, ptr %t479 %t481 = call ptr @fn_emit_expr(ptr %t480) store ptr %t481, ptr %t482 %t483 = load ptr, ptr %t482 %t484 = getelementptr inbounds %Cmp_Val, ptr %t483, i32 0, i32 0 %t485 = load ptr, ptr %t484 %t486 = call ptr @fn_vec_x(ptr %t485) store ptr %t486, ptr %t487 %t488 = load ptr, ptr %t482 %t489 = getelementptr inbounds %Cmp_Val, ptr %t488, i32 0, i32 0 %t490 = load ptr, ptr %t489 %t491 = call ptr @fn_vec_y(ptr %t490) store ptr %t491, ptr %t492 %t493 = load ptr, ptr %t487 %t494 = load ptr, ptr %t487 %t495 = call ptr @fn_fx_mul_code(ptr %t493, ptr %t494) store ptr %t495, ptr %t496 %t497 = load ptr, ptr %t492 %t498 = load ptr, ptr %t492 %t499 = call ptr @fn_fx_mul_code(ptr %t497, ptr %t498) store ptr %t499, ptr %t500 %t501 = load ptr, ptr %t496 %t502 = call ptr @lp_str_concat(ptr @.str2544, ptr %t501) %t503 = call ptr @lp_str_concat(ptr %t502, ptr @.str2545) %t504 = load ptr, ptr %t500 %t505 = call ptr @lp_str_concat(ptr %t503, ptr %t504) %t506 = call ptr @fn_emit_bind(ptr %t505) store ptr %t506, ptr %t507 %t508 = load ptr, ptr %t507 %t509 = call ptr @lp_str_concat(ptr @.str2546, ptr %t508) %t510 = call ptr @lp_str_concat(ptr %t509, ptr @.str2547) %t511 = call ptr @fn_emit_bind(ptr %t510) store ptr %t511, ptr %t512 %t513 = load ptr, ptr %t512 %t514 = call ptr @lp_str_concat(ptr @.str2548, ptr %t513) %t515 = call ptr @lp_str_concat(ptr %t514, ptr @.str2549) %t516 = call ptr @fn_emit_bind(ptr %t515) store ptr %t516, ptr %t517 %t518 = load ptr, ptr %t517 %t519 = call ptr @lp_str_concat(ptr @.str2550, ptr %t518) %t520 = call ptr @lp_str_concat(ptr %t519, ptr @.str2551) %t521 = load ptr, ptr %t512 %t522 = call ptr @lp_str_concat(ptr %t520, ptr %t521) %t523 = call ptr @fn_emit_bind(ptr %t522) store ptr %t523, ptr %t524 %t525 = load ptr, ptr %t524 %t526 = call ptr @fn_fx_div_code(ptr @.str2552, ptr %t525) store ptr %t526, ptr %t527 %t528 = load ptr, ptr %t487 %t529 = load ptr, ptr %t527 %t530 = call ptr @fn_fx_mul_code(ptr %t528, ptr %t529) store ptr %t530, ptr %t531 %t532 = load ptr, ptr %t492 %t533 = load ptr, ptr %t527 %t534 = call ptr @fn_fx_mul_code(ptr %t532, ptr %t533) store ptr %t534, ptr %t535 %t536 = load ptr, ptr %t531 %t537 = load ptr, ptr %t535 %t538 = call ptr @fn_vec_pack(ptr %t536, ptr %t537) %t539 = call ptr @fn_val(ptr %t538, ptr @.str2553) store ptr %t539, ptr %retval br label %ret ifend62: %t540 = load ptr, ptr %t0 %t541 = call i32 @lp_str_eq(ptr %t540, ptr @.str2554) %t542 = icmp ne i32 %t541, 0 br i1 %t542, label %then65, label %ifend67 then65: store i32 1, ptr @g_g_uses_mathrt %t543 = load ptr, ptr %t1 %t544 = getelementptr inbounds %Cmp_Node, ptr %t543, i32 0, i32 7 %t545 = load ptr, ptr %t544 %t546 = getelementptr inbounds %LSlice, ptr %t545, i32 0, i32 0 %t547 = load ptr, ptr %t546 %t548 = getelementptr inbounds %LSlice, ptr %t545, i32 0, i32 1 %t549 = load i32, ptr %t548 %t550 = icmp ult i32 0, %t549 br i1 %t550, label %ixok68, label %ixbad69 ixbad69: %t551 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t551, ptr @.fmt_bounds, ptr @.str2555, i32 0, i32 %t549) call void @exit(i32 1) unreachable ixok68: %t552 = getelementptr inbounds ptr, ptr %t547, i32 0 %t553 = load ptr, ptr %t552 %t554 = call ptr @fn_emit_expr(ptr %t553) store ptr %t554, ptr %t555 %t556 = load ptr, ptr %t1 %t557 = getelementptr inbounds %Cmp_Node, ptr %t556, i32 0, i32 7 %t558 = load ptr, ptr %t557 %t559 = getelementptr inbounds %LSlice, ptr %t558, i32 0, i32 0 %t560 = load ptr, ptr %t559 %t561 = getelementptr inbounds %LSlice, ptr %t558, i32 0, i32 1 %t562 = load i32, ptr %t561 %t563 = icmp ult i32 1, %t562 br i1 %t563, label %ixok70, label %ixbad71 ixbad71: %t564 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t564, ptr @.fmt_bounds, ptr @.str2556, i32 1, i32 %t562) call void @exit(i32 1) unreachable ixok70: %t565 = getelementptr inbounds ptr, ptr %t560, i32 1 %t566 = load ptr, ptr %t565 %t567 = call ptr @fn_emit_expr(ptr %t566) store ptr %t567, ptr %t568 %t569 = load ptr, ptr %t568 %t570 = getelementptr inbounds %Cmp_Val, ptr %t569, i32 0, i32 0 %t571 = load ptr, ptr %t570 %t572 = call ptr @lp_str_concat(ptr @.str2557, ptr %t571) %t573 = call ptr @lp_str_concat(ptr %t572, ptr @.str2558) %t574 = call ptr @fn_emit_bind(ptr %t573) store ptr %t574, ptr %t575 %t576 = load ptr, ptr %t568 %t577 = getelementptr inbounds %Cmp_Val, ptr %t576, i32 0, i32 0 %t578 = load ptr, ptr %t577 %t579 = call ptr @lp_str_concat(ptr @.str2559, ptr %t578) %t580 = call ptr @lp_str_concat(ptr %t579, ptr @.str2560) %t581 = call ptr @fn_emit_bind(ptr %t580) store ptr %t581, ptr %t582 %t583 = load ptr, ptr %t582 %t584 = call ptr @lp_str_concat(ptr @.str2561, ptr %t583) %t585 = call ptr @lp_str_concat(ptr %t584, ptr @.str2562) %t586 = call ptr @fn_emit_bind(ptr %t585) store ptr %t586, ptr %t587 %t588 = load ptr, ptr %t555 %t589 = getelementptr inbounds %Cmp_Val, ptr %t588, i32 0, i32 0 %t590 = load ptr, ptr %t589 %t591 = call ptr @fn_vec_x(ptr %t590) store ptr %t591, ptr %t592 %t593 = load ptr, ptr %t555 %t594 = getelementptr inbounds %Cmp_Val, ptr %t593, i32 0, i32 0 %t595 = load ptr, ptr %t594 %t596 = call ptr @fn_vec_y(ptr %t595) store ptr %t596, ptr %t597 %t598 = load ptr, ptr %t592 %t599 = load ptr, ptr %t587 %t600 = call ptr @fn_fx_mul_code(ptr %t598, ptr %t599) store ptr %t600, ptr %t601 %t602 = load ptr, ptr %t597 %t603 = load ptr, ptr %t575 %t604 = call ptr @fn_fx_mul_code(ptr %t602, ptr %t603) store ptr %t604, ptr %t605 %t606 = load ptr, ptr %t592 %t607 = load ptr, ptr %t575 %t608 = call ptr @fn_fx_mul_code(ptr %t606, ptr %t607) store ptr %t608, ptr %t609 %t610 = load ptr, ptr %t597 %t611 = load ptr, ptr %t587 %t612 = call ptr @fn_fx_mul_code(ptr %t610, ptr %t611) store ptr %t612, ptr %t613 %t614 = load ptr, ptr %t601 %t615 = call ptr @lp_str_concat(ptr @.str2563, ptr %t614) %t616 = call ptr @lp_str_concat(ptr %t615, ptr @.str2564) %t617 = load ptr, ptr %t605 %t618 = call ptr @lp_str_concat(ptr %t616, ptr %t617) %t619 = call ptr @fn_emit_bind(ptr %t618) store ptr %t619, ptr %t620 %t621 = load ptr, ptr %t609 %t622 = call ptr @lp_str_concat(ptr @.str2565, ptr %t621) %t623 = call ptr @lp_str_concat(ptr %t622, ptr @.str2566) %t624 = load ptr, ptr %t613 %t625 = call ptr @lp_str_concat(ptr %t623, ptr %t624) %t626 = call ptr @fn_emit_bind(ptr %t625) store ptr %t626, ptr %t627 %t628 = load ptr, ptr %t620 %t629 = load ptr, ptr %t627 %t630 = call ptr @fn_vec_pack(ptr %t628, ptr %t629) %t631 = call ptr @fn_val(ptr %t630, ptr @.str2567) store ptr %t631, ptr %retval br label %ret ifend67: %t632 = load ptr, ptr %t0 %t633 = call i32 @lp_str_eq(ptr %t632, ptr @.str2568) %t634 = icmp ne i32 %t633, 0 br i1 %t634, label %then72, label %ifend74 then72: store i32 1, ptr @g_g_uses_mathrt %t635 = load ptr, ptr %t1 %t636 = getelementptr inbounds %Cmp_Node, ptr %t635, i32 0, i32 7 %t637 = load ptr, ptr %t636 %t638 = getelementptr inbounds %LSlice, ptr %t637, i32 0, i32 0 %t639 = load ptr, ptr %t638 %t640 = getelementptr inbounds %LSlice, ptr %t637, i32 0, i32 1 %t641 = load i32, ptr %t640 %t642 = icmp ult i32 0, %t641 br i1 %t642, label %ixok75, label %ixbad76 ixbad76: %t643 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t643, ptr @.fmt_bounds, ptr @.str2569, i32 0, i32 %t641) call void @exit(i32 1) unreachable ixok75: %t644 = getelementptr inbounds ptr, ptr %t639, i32 0 %t645 = load ptr, ptr %t644 %t646 = call ptr @fn_emit_expr(ptr %t645) store ptr %t646, ptr %t647 %t648 = load ptr, ptr %t647 %t649 = getelementptr inbounds %Cmp_Val, ptr %t648, i32 0, i32 0 %t650 = load ptr, ptr %t649 %t651 = call ptr @fn_vec_x(ptr %t650) store ptr %t651, ptr %t652 %t653 = load ptr, ptr %t647 %t654 = getelementptr inbounds %Cmp_Val, ptr %t653, i32 0, i32 0 %t655 = load ptr, ptr %t654 %t656 = call ptr @fn_vec_y(ptr %t655) store ptr %t656, ptr %t657 %t658 = load ptr, ptr %t657 %t659 = call ptr @lp_str_concat(ptr @.str2570, ptr %t658) %t660 = call ptr @lp_str_concat(ptr %t659, ptr @.str2571) %t661 = load ptr, ptr %t652 %t662 = call ptr @lp_str_concat(ptr %t660, ptr %t661) %t663 = call ptr @lp_str_concat(ptr %t662, ptr @.str2572) %t664 = call ptr @fn_emit_bind(ptr %t663) %t665 = call ptr @fn_val(ptr %t664, ptr @.str2573) store ptr %t665, ptr %retval br label %ret ifend74: %t666 = load ptr, ptr %t0 %t667 = call i32 @lp_str_eq(ptr %t666, ptr @.str2574) %t668 = icmp ne i32 %t667, 0 br i1 %t668, label %then77, label %ifend79 then77: store i32 1, ptr @g_g_uses_mathrt %t669 = load ptr, ptr %t1 %t670 = getelementptr inbounds %Cmp_Node, ptr %t669, i32 0, i32 7 %t671 = load ptr, ptr %t670 %t672 = getelementptr inbounds %LSlice, ptr %t671, i32 0, i32 0 %t673 = load ptr, ptr %t672 %t674 = getelementptr inbounds %LSlice, ptr %t671, i32 0, i32 1 %t675 = load i32, ptr %t674 %t676 = icmp ult i32 0, %t675 br i1 %t676, label %ixok80, label %ixbad81 ixbad81: %t677 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t677, ptr @.fmt_bounds, ptr @.str2575, i32 0, i32 %t675) call void @exit(i32 1) unreachable ixok80: %t678 = getelementptr inbounds ptr, ptr %t673, i32 0 %t679 = load ptr, ptr %t678 %t680 = call ptr @fn_emit_expr(ptr %t679) store ptr %t680, ptr %t681 %t682 = load ptr, ptr %t681 %t683 = getelementptr inbounds %Cmp_Val, ptr %t682, i32 0, i32 0 %t684 = load ptr, ptr %t683 %t685 = call ptr @lp_str_concat(ptr @.str2576, ptr %t684) %t686 = call ptr @lp_str_concat(ptr %t685, ptr @.str2577) %t687 = call ptr @fn_emit_bind(ptr %t686) store ptr %t687, ptr %t688 %t689 = load ptr, ptr %t681 %t690 = getelementptr inbounds %Cmp_Val, ptr %t689, i32 0, i32 0 %t691 = load ptr, ptr %t690 %t692 = call ptr @lp_str_concat(ptr @.str2578, ptr %t691) %t693 = call ptr @lp_str_concat(ptr %t692, ptr @.str2579) %t694 = call ptr @fn_emit_bind(ptr %t693) store ptr %t694, ptr %t695 %t696 = load ptr, ptr %t695 %t697 = call ptr @lp_str_concat(ptr @.str2580, ptr %t696) %t698 = call ptr @lp_str_concat(ptr %t697, ptr @.str2581) %t699 = call ptr @fn_emit_bind(ptr %t698) store ptr %t699, ptr %t700 %t701 = load ptr, ptr %t700 %t702 = load ptr, ptr %t688 %t703 = call ptr @fn_vec_pack(ptr %t701, ptr %t702) %t704 = call ptr @fn_val(ptr %t703, ptr @.str2582) store ptr %t704, ptr %retval br label %ret ifend79: %t705 = load ptr, ptr %t1 %t706 = getelementptr inbounds %Cmp_Node, ptr %t705, i32 0, i32 7 %t707 = load ptr, ptr %t706 %t708 = getelementptr inbounds %LSlice, ptr %t707, i32 0, i32 0 %t709 = load ptr, ptr %t708 %t710 = getelementptr inbounds %LSlice, ptr %t707, i32 0, i32 1 %t711 = load i32, ptr %t710 %t712 = icmp ult i32 0, %t711 br i1 %t712, label %ixok82, label %ixbad83 ixbad83: %t713 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t713, ptr @.fmt_bounds, ptr @.str2583, i32 0, i32 %t711) call void @exit(i32 1) unreachable ixok82: %t714 = getelementptr inbounds ptr, ptr %t709, i32 0 %t715 = load ptr, ptr %t714 %t716 = call ptr @fn_emit_expr(ptr %t715) store ptr %t716, ptr %t717 %t718 = load ptr, ptr %t1 %t719 = getelementptr inbounds %Cmp_Node, ptr %t718, i32 0, i32 7 %t720 = load ptr, ptr %t719 %t721 = getelementptr inbounds %LSlice, ptr %t720, i32 0, i32 0 %t722 = load ptr, ptr %t721 %t723 = getelementptr inbounds %LSlice, ptr %t720, i32 0, i32 1 %t724 = load i32, ptr %t723 %t725 = icmp ult i32 1, %t724 br i1 %t725, label %ixok84, label %ixbad85 ixbad85: %t726 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t726, ptr @.fmt_bounds, ptr @.str2584, i32 1, i32 %t724) call void @exit(i32 1) unreachable ixok84: %t727 = getelementptr inbounds ptr, ptr %t722, i32 1 %t728 = load ptr, ptr %t727 %t729 = call ptr @fn_emit_expr(ptr %t728) store ptr %t729, ptr %t730 %t731 = load ptr, ptr %t1 %t732 = getelementptr inbounds %Cmp_Node, ptr %t731, i32 0, i32 7 %t733 = load ptr, ptr %t732 %t734 = getelementptr inbounds %LSlice, ptr %t733, i32 0, i32 0 %t735 = load ptr, ptr %t734 %t736 = getelementptr inbounds %LSlice, ptr %t733, i32 0, i32 1 %t737 = load i32, ptr %t736 %t738 = icmp ult i32 2, %t737 br i1 %t738, label %ixok86, label %ixbad87 ixbad87: %t739 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t739, ptr @.fmt_bounds, ptr @.str2585, i32 2, i32 %t737) call void @exit(i32 1) unreachable ixok86: %t740 = getelementptr inbounds ptr, ptr %t735, i32 2 %t741 = load ptr, ptr %t740 %t742 = call ptr @fn_emit_expr(ptr %t741) store ptr %t742, ptr %t743 %t744 = load ptr, ptr %t717 %t745 = getelementptr inbounds %Cmp_Val, ptr %t744, i32 0, i32 0 %t746 = load ptr, ptr %t745 %t747 = call ptr @fn_vec_x(ptr %t746) store ptr %t747, ptr %t748 %t749 = load ptr, ptr %t717 %t750 = getelementptr inbounds %Cmp_Val, ptr %t749, i32 0, i32 0 %t751 = load ptr, ptr %t750 %t752 = call ptr @fn_vec_y(ptr %t751) store ptr %t752, ptr %t753 %t754 = load ptr, ptr %t730 %t755 = getelementptr inbounds %Cmp_Val, ptr %t754, i32 0, i32 0 %t756 = load ptr, ptr %t755 %t757 = call ptr @fn_vec_x(ptr %t756) store ptr %t757, ptr %t758 %t759 = load ptr, ptr %t730 %t760 = getelementptr inbounds %Cmp_Val, ptr %t759, i32 0, i32 0 %t761 = load ptr, ptr %t760 %t762 = call ptr @fn_vec_y(ptr %t761) store ptr %t762, ptr %t763 %t764 = load ptr, ptr %t748 %t765 = load ptr, ptr %t758 %t766 = load ptr, ptr %t743 %t767 = getelementptr inbounds %Cmp_Val, ptr %t766, i32 0, i32 0 %t768 = load ptr, ptr %t767 %t769 = call ptr @fn_fx_lerp_code(ptr %t764, ptr %t765, ptr %t768) store ptr %t769, ptr %t770 %t771 = load ptr, ptr %t753 %t772 = load ptr, ptr %t763 %t773 = load ptr, ptr %t743 %t774 = getelementptr inbounds %Cmp_Val, ptr %t773, i32 0, i32 0 %t775 = load ptr, ptr %t774 %t776 = call ptr @fn_fx_lerp_code(ptr %t771, ptr %t772, ptr %t775) store ptr %t776, ptr %t777 %t778 = load ptr, ptr %t770 %t779 = load ptr, ptr %t777 %t780 = call ptr @fn_vec_pack(ptr %t778, ptr %t779) %t781 = call ptr @fn_val(ptr %t780, ptr @.str2586) store ptr %t781, ptr %retval br label %ret ret: %t782 = load ptr, ptr %retval ret ptr %t782 } define ptr @fn_ivec_abs(ptr %arg_d) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca ptr %t9 = alloca ptr store ptr %arg_d, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @lp_str_concat(ptr @.str2587, ptr %t1) %t3 = call ptr @fn_emit_bind(ptr %t2) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t0 %t6 = call ptr @lp_str_concat(ptr @.str2588, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str2589) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t9 %t11 = call ptr @lp_str_concat(ptr @.str2590, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str2591) %t13 = load ptr, ptr %t4 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2592) %t16 = load ptr, ptr %t0 %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %retval br label %ret ret: %t19 = load ptr, ptr %retval ret ptr %t19 } define i32 @fn_is_ivec_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t28 = alloca i32 %t29 = alloca i32 %t30 = alloca i32 %t55 = alloca i32 %t56 = alloca i32 %t74 = alloca i32 %t75 = alloca i32 %t76 = alloca i32 %t77 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str2593) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t3 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str2594) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 br label %scend1 scend1: %t12 = load i32, ptr %t3 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str2595) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br label %scend3 scend3: %t19 = load i32, ptr %t2 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t1 br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str2596) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 br label %scend5 scend5: %t26 = load i32, ptr %t1 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %ifend8 then6: store i32 1, ptr %retval br label %ret ifend8: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str2597) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t30 br i1 %t33, label %scend10, label %sc9 sc9: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str2598) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t30 br label %scend10 scend10: %t39 = load i32, ptr %t30 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t29 br i1 %t40, label %scend12, label %sc11 sc11: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str2599) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t29 br label %scend12 scend12: %t46 = load i32, ptr %t29 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t28 br i1 %t47, label %scend14, label %sc13 sc13: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str2600) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t28 br label %scend14 scend14: %t53 = load i32, ptr %t28 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then15, label %ifend17 then15: store i32 1, ptr %retval br label %ret ifend17: %t57 = load ptr, ptr %t0 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str2601) %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t56 br i1 %t59, label %scend19, label %sc18 sc18: %t61 = load ptr, ptr %t0 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str2602) %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t56 br label %scend19 scend19: %t65 = load i32, ptr %t56 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t55 br i1 %t66, label %scend21, label %sc20 sc20: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str2603) %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t55 br label %scend21 scend21: %t72 = load i32, ptr %t55 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then22, label %ifend24 then22: store i32 1, ptr %retval br label %ret ifend24: %t78 = load ptr, ptr %t0 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str2604) %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t77 br i1 %t80, label %scend26, label %sc25 sc25: %t82 = load ptr, ptr %t0 %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str2605) %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t77 br label %scend26 scend26: %t86 = load i32, ptr %t77 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t76 br i1 %t87, label %scend28, label %sc27 sc27: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str2606) %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t76 br label %scend28 scend28: %t93 = load i32, ptr %t76 %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t75 br i1 %t94, label %scend30, label %sc29 sc29: %t96 = load ptr, ptr %t0 %t97 = call i32 @lp_str_eq(ptr %t96, ptr @.str2607) %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t75 br label %scend30 scend30: %t100 = load i32, ptr %t75 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t74 br i1 %t101, label %scend32, label %sc31 sc31: %t103 = load ptr, ptr %t0 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str2608) %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t74 br label %scend32 scend32: %t107 = load i32, ptr %t74 %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then33, label %ifend35 then33: store i32 1, ptr %retval br label %ret ifend35: store i32 0, ptr %retval br label %ret ret: %t109 = load i32, ptr %retval ret i32 %t109 } define ptr @fn_emit_ivec_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t21 = alloca ptr %t34 = alloca ptr %t58 = alloca ptr %t79 = alloca ptr %t85 = alloca i32 %t108 = alloca ptr %t121 = alloca ptr %t134 = alloca ptr %t147 = alloca ptr %t154 = alloca ptr %t161 = alloca ptr %t168 = alloca ptr %t186 = alloca ptr %t197 = alloca ptr %t204 = alloca ptr %t229 = alloca ptr %t242 = alloca ptr %t274 = alloca ptr %t287 = alloca ptr %t300 = alloca ptr %t337 = alloca ptr %t360 = alloca ptr %t373 = alloca ptr %t378 = alloca ptr %t383 = alloca ptr %t388 = alloca ptr %t393 = alloca ptr %t400 = alloca ptr %t407 = alloca ptr %t427 = alloca ptr %t440 = alloca ptr %t445 = alloca ptr %t450 = alloca ptr %t455 = alloca ptr %t460 = alloca ptr %t467 = alloca ptr %t474 = alloca ptr %t494 = alloca ptr %t507 = alloca ptr %t512 = alloca ptr %t517 = alloca ptr %t526 = alloca ptr %t535 = alloca ptr %t555 = alloca ptr %t568 = alloca ptr %t573 = alloca ptr %t578 = alloca ptr %t583 = alloca ptr %t588 = alloca ptr %t595 = alloca ptr %t602 = alloca ptr %t625 = alloca ptr %t638 = alloca ptr %t649 = alloca ptr %t670 = alloca ptr %t683 = alloca ptr %t688 = alloca ptr %t693 = alloca ptr %t698 = alloca ptr %t703 = alloca ptr %t710 = alloca ptr %t717 = alloca ptr %t720 = alloca ptr %t723 = alloca ptr %t743 = alloca ptr %t748 = alloca ptr %t753 = alloca ptr %t758 = alloca ptr %t763 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str2609) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str2610, ptr @.str2611) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str2612) %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then3, label %ifend5 then3: %t9 = load ptr, ptr %t1 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 0, %t15 br i1 %t16, label %ixok6, label %ixbad7 ixbad7: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str2613, i32 0, i32 %t15) call void @exit(i32 1) unreachable ixok6: %t18 = getelementptr inbounds ptr, ptr %t13, i32 0 %t19 = load ptr, ptr %t18 %t20 = call ptr @fn_emit_expr(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t1 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 1, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str2614, i32 1, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t26, i32 1 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_emit_expr(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t21 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = load ptr, ptr %t34 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = call ptr @fn_vec_pack(ptr %t37, ptr %t40) %t42 = call ptr @fn_val(ptr %t41, ptr @.str2615) store ptr %t42, ptr %retval br label %ret ifend5: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str2616) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then10, label %ifend12 then10: %t46 = load ptr, ptr %t1 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 7 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 0, %t52 br i1 %t53, label %ixok13, label %ixbad14 ixbad14: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str2617, i32 0, i32 %t52) call void @exit(i32 1) unreachable ixok13: %t55 = getelementptr inbounds ptr, ptr %t50, i32 0 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_emit_expr(ptr %t56) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %Cmp_Val, ptr %t59, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = call ptr @fn_vec_x(ptr %t61) %t63 = call ptr @fn_val(ptr %t62, ptr @.str2618) store ptr %t63, ptr %retval br label %ret ifend12: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str2619) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then15, label %ifend17 then15: %t67 = load ptr, ptr %t1 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 7 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 0, %t73 br i1 %t74, label %ixok18, label %ixbad19 ixbad19: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str2620, i32 0, i32 %t73) call void @exit(i32 1) unreachable ixok18: %t76 = getelementptr inbounds ptr, ptr %t71, i32 0 %t77 = load ptr, ptr %t76 %t78 = call ptr @fn_emit_expr(ptr %t77) store ptr %t78, ptr %t79 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %Cmp_Val, ptr %t80, i32 0, i32 0 %t82 = load ptr, ptr %t81 %t83 = call ptr @fn_vec_y(ptr %t82) %t84 = call ptr @fn_val(ptr %t83, ptr @.str2621) store ptr %t84, ptr %retval br label %ret ifend17: %t86 = load ptr, ptr %t0 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str2622) %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t85 br i1 %t88, label %scend21, label %sc20 sc20: %t90 = load ptr, ptr %t0 %t91 = call i32 @lp_str_eq(ptr %t90, ptr @.str2623) %t92 = icmp ne i32 %t91, 0 %t93 = zext i1 %t92 to i32 store i32 %t93, ptr %t85 br label %scend21 scend21: %t94 = load i32, ptr %t85 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then22, label %ifend24 then22: %t96 = load ptr, ptr %t1 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 7 %t98 = load ptr, ptr %t97 %t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 %t100 = load ptr, ptr %t99 %t101 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 %t102 = load i32, ptr %t101 %t103 = icmp ult i32 0, %t102 br i1 %t103, label %ixok25, label %ixbad26 ixbad26: %t104 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str2624, i32 0, i32 %t102) call void @exit(i32 1) unreachable ixok25: %t105 = getelementptr inbounds ptr, ptr %t100, i32 0 %t106 = load ptr, ptr %t105 %t107 = call ptr @fn_emit_expr(ptr %t106) store ptr %t107, ptr %t108 %t109 = load ptr, ptr %t1 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 7 %t111 = load ptr, ptr %t110 %t112 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 0 %t113 = load ptr, ptr %t112 %t114 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 1 %t115 = load i32, ptr %t114 %t116 = icmp ult i32 1, %t115 br i1 %t116, label %ixok27, label %ixbad28 ixbad28: %t117 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t117, ptr @.fmt_bounds, ptr @.str2625, i32 1, i32 %t115) call void @exit(i32 1) unreachable ixok27: %t118 = getelementptr inbounds ptr, ptr %t113, i32 1 %t119 = load ptr, ptr %t118 %t120 = call ptr @fn_emit_expr(ptr %t119) store ptr %t120, ptr %t121 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0 %t124 = load ptr, ptr %t123 %t125 = call ptr @fn_vec_x(ptr %t124) %t126 = call ptr @lp_str_concat(ptr @.str2626, ptr %t125) %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str2627) %t128 = load ptr, ptr %t108 %t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0 %t130 = load ptr, ptr %t129 %t131 = call ptr @fn_vec_x(ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t127, ptr %t131) %t133 = call ptr @fn_emit_bind(ptr %t132) store ptr %t133, ptr %t134 %t135 = load ptr, ptr %t121 %t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0 %t137 = load ptr, ptr %t136 %t138 = call ptr @fn_vec_y(ptr %t137) %t139 = call ptr @lp_str_concat(ptr @.str2628, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str2629) %t141 = load ptr, ptr %t108 %t142 = getelementptr inbounds %Cmp_Val, ptr %t141, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = call ptr @fn_vec_y(ptr %t143) %t145 = call ptr @lp_str_concat(ptr %t140, ptr %t144) %t146 = call ptr @fn_emit_bind(ptr %t145) store ptr %t146, ptr %t147 %t148 = load ptr, ptr %t134 %t149 = call ptr @lp_str_concat(ptr @.str2630, ptr %t148) %t150 = call ptr @lp_str_concat(ptr %t149, ptr @.str2631) %t151 = load ptr, ptr %t134 %t152 = call ptr @lp_str_concat(ptr %t150, ptr %t151) %t153 = call ptr @fn_emit_bind(ptr %t152) store ptr %t153, ptr %t154 %t155 = load ptr, ptr %t147 %t156 = call ptr @lp_str_concat(ptr @.str2632, ptr %t155) %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str2633) %t158 = load ptr, ptr %t147 %t159 = call ptr @lp_str_concat(ptr %t157, ptr %t158) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t154 %t163 = call ptr @lp_str_concat(ptr @.str2634, ptr %t162) %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str2635) %t165 = load ptr, ptr %t161 %t166 = call ptr @lp_str_concat(ptr %t164, ptr %t165) %t167 = call ptr @fn_emit_bind(ptr %t166) store ptr %t167, ptr %t168 %t169 = load ptr, ptr %t0 %t170 = call i32 @lp_str_eq(ptr %t169, ptr @.str2636) %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then29, label %ifend31 then29: %t172 = load ptr, ptr %t168 %t173 = call ptr @fn_val(ptr %t172, ptr @.str2637) store ptr %t173, ptr %retval br label %ret ifend31: %t174 = load ptr, ptr %t1 %t175 = getelementptr inbounds %Cmp_Node, ptr %t174, i32 0, i32 7 %t176 = load ptr, ptr %t175 %t177 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 0 %t178 = load ptr, ptr %t177 %t179 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1 %t180 = load i32, ptr %t179 %t181 = icmp ult i32 2, %t180 br i1 %t181, label %ixok32, label %ixbad33 ixbad33: %t182 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t182, ptr @.fmt_bounds, ptr @.str2638, i32 2, i32 %t180) call void @exit(i32 1) unreachable ixok32: %t183 = getelementptr inbounds ptr, ptr %t178, i32 2 %t184 = load ptr, ptr %t183 %t185 = call ptr @fn_emit_expr(ptr %t184) store ptr %t185, ptr %t186 %t187 = load ptr, ptr %t186 %t188 = getelementptr inbounds %Cmp_Val, ptr %t187, i32 0, i32 0 %t189 = load ptr, ptr %t188 %t190 = call ptr @lp_str_concat(ptr @.str2639, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str2640) %t192 = load ptr, ptr %t186 %t193 = getelementptr inbounds %Cmp_Val, ptr %t192, i32 0, i32 0 %t194 = load ptr, ptr %t193 %t195 = call ptr @lp_str_concat(ptr %t191, ptr %t194) %t196 = call ptr @fn_emit_bind(ptr %t195) store ptr %t196, ptr %t197 %t198 = load ptr, ptr %t168 %t199 = call ptr @lp_str_concat(ptr @.str2641, ptr %t198) %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str2642) %t201 = load ptr, ptr %t197 %t202 = call ptr @lp_str_concat(ptr %t200, ptr %t201) %t203 = call ptr @fn_emit_bind(ptr %t202) store ptr %t203, ptr %t204 %t205 = load ptr, ptr %t204 %t206 = call ptr @lp_str_concat(ptr @.str2643, ptr %t205) %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str2644) %t208 = call ptr @fn_emit_bind(ptr %t207) %t209 = call ptr @fn_val(ptr %t208, ptr @.str2645) store ptr %t209, ptr %retval br label %ret ifend24: %t210 = load ptr, ptr %t0 %t211 = call i32 @lp_str_eq(ptr %t210, ptr @.str2646) %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %then34, label %ifend36 then34: %t213 = call ptr @fn_find_fn(ptr @.str2647) %t214 = icmp eq ptr %t213, null %t215 = zext i1 %t214 to i32 %t216 = icmp ne i32 %t215, 0 br i1 %t216, label %then37, label %ifend39 then37: call void @fn_perr(ptr @.str2648) br label %ifend39 ifend39: %t217 = load ptr, ptr %t1 %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 7 %t219 = load ptr, ptr %t218 %t220 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 0 %t221 = load ptr, ptr %t220 %t222 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 1 %t223 = load i32, ptr %t222 %t224 = icmp ult i32 0, %t223 br i1 %t224, label %ixok40, label %ixbad41 ixbad41: %t225 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str2649, i32 0, i32 %t223) call void @exit(i32 1) unreachable ixok40: %t226 = getelementptr inbounds ptr, ptr %t221, i32 0 %t227 = load ptr, ptr %t226 %t228 = call ptr @fn_emit_expr(ptr %t227) store ptr %t228, ptr %t229 %t230 = load ptr, ptr %t1 %t231 = getelementptr inbounds %Cmp_Node, ptr %t230, i32 0, i32 7 %t232 = load ptr, ptr %t231 %t233 = getelementptr inbounds %LSlice, ptr %t232, i32 0, i32 0 %t234 = load ptr, ptr %t233 %t235 = getelementptr inbounds %LSlice, ptr %t232, i32 0, i32 1 %t236 = load i32, ptr %t235 %t237 = icmp ult i32 1, %t236 br i1 %t237, label %ixok42, label %ixbad43 ixbad43: %t238 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t238, ptr @.fmt_bounds, ptr @.str2650, i32 1, i32 %t236) call void @exit(i32 1) unreachable ixok42: %t239 = getelementptr inbounds ptr, ptr %t234, i32 1 %t240 = load ptr, ptr %t239 %t241 = call ptr @fn_emit_expr(ptr %t240) store ptr %t241, ptr %t242 %t243 = load ptr, ptr %t229 %t244 = getelementptr inbounds %Cmp_Val, ptr %t243, i32 0, i32 0 %t245 = load ptr, ptr %t244 %t246 = call ptr @lp_str_concat(ptr @.str2651, ptr %t245) %t247 = call ptr @lp_str_concat(ptr %t246, ptr @.str2652) %t248 = load ptr, ptr %t242 %t249 = getelementptr inbounds %Cmp_Val, ptr %t248, i32 0, i32 0 %t250 = load ptr, ptr %t249 %t251 = call ptr @lp_str_concat(ptr %t247, ptr %t250) %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str2653) %t253 = call ptr @fn_emit_bind(ptr %t252) %t254 = call ptr @fn_val(ptr %t253, ptr @.str2654) store ptr %t254, ptr %retval br label %ret ifend36: %t255 = load ptr, ptr %t0 %t256 = call i32 @lp_str_eq(ptr %t255, ptr @.str2655) %t257 = icmp ne i32 %t256, 0 br i1 %t257, label %then44, label %ifend46 then44: %t258 = call ptr @fn_find_fn(ptr @.str2656) %t259 = icmp eq ptr %t258, null %t260 = zext i1 %t259 to i32 %t261 = icmp ne i32 %t260, 0 br i1 %t261, label %then47, label %ifend49 then47: call void @fn_perr(ptr @.str2657) br label %ifend49 ifend49: %t262 = load ptr, ptr %t1 %t263 = getelementptr inbounds %Cmp_Node, ptr %t262, i32 0, i32 7 %t264 = load ptr, ptr %t263 %t265 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 0 %t266 = load ptr, ptr %t265 %t267 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 1 %t268 = load i32, ptr %t267 %t269 = icmp ult i32 0, %t268 br i1 %t269, label %ixok50, label %ixbad51 ixbad51: %t270 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t270, ptr @.fmt_bounds, ptr @.str2658, i32 0, i32 %t268) call void @exit(i32 1) unreachable ixok50: %t271 = getelementptr inbounds ptr, ptr %t266, i32 0 %t272 = load ptr, ptr %t271 %t273 = call ptr @fn_emit_expr(ptr %t272) store ptr %t273, ptr %t274 %t275 = load ptr, ptr %t1 %t276 = getelementptr inbounds %Cmp_Node, ptr %t275, i32 0, i32 7 %t277 = load ptr, ptr %t276 %t278 = getelementptr inbounds %LSlice, ptr %t277, i32 0, i32 0 %t279 = load ptr, ptr %t278 %t280 = getelementptr inbounds %LSlice, ptr %t277, i32 0, i32 1 %t281 = load i32, ptr %t280 %t282 = icmp ult i32 1, %t281 br i1 %t282, label %ixok52, label %ixbad53 ixbad53: %t283 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t283, ptr @.fmt_bounds, ptr @.str2659, i32 1, i32 %t281) call void @exit(i32 1) unreachable ixok52: %t284 = getelementptr inbounds ptr, ptr %t279, i32 1 %t285 = load ptr, ptr %t284 %t286 = call ptr @fn_emit_expr(ptr %t285) store ptr %t286, ptr %t287 %t288 = load ptr, ptr %t1 %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 7 %t290 = load ptr, ptr %t289 %t291 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 0 %t292 = load ptr, ptr %t291 %t293 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 1 %t294 = load i32, ptr %t293 %t295 = icmp ult i32 2, %t294 br i1 %t295, label %ixok54, label %ixbad55 ixbad55: %t296 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t296, ptr @.fmt_bounds, ptr @.str2660, i32 2, i32 %t294) call void @exit(i32 1) unreachable ixok54: %t297 = getelementptr inbounds ptr, ptr %t292, i32 2 %t298 = load ptr, ptr %t297 %t299 = call ptr @fn_emit_expr(ptr %t298) store ptr %t299, ptr %t300 %t301 = load ptr, ptr %t274 %t302 = getelementptr inbounds %Cmp_Val, ptr %t301, i32 0, i32 0 %t303 = load ptr, ptr %t302 %t304 = call ptr @lp_str_concat(ptr @.str2661, ptr %t303) %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str2662) %t306 = load ptr, ptr %t287 %t307 = getelementptr inbounds %Cmp_Val, ptr %t306, i32 0, i32 0 %t308 = load ptr, ptr %t307 %t309 = call ptr @lp_str_concat(ptr %t305, ptr %t308) %t310 = call ptr @lp_str_concat(ptr %t309, ptr @.str2663) %t311 = load ptr, ptr %t300 %t312 = getelementptr inbounds %Cmp_Val, ptr %t311, i32 0, i32 0 %t313 = load ptr, ptr %t312 %t314 = call ptr @lp_str_concat(ptr %t310, ptr %t313) %t315 = call ptr @lp_str_concat(ptr %t314, ptr @.str2664) %t316 = call ptr @fn_emit_bind(ptr %t315) %t317 = call ptr @fn_val(ptr %t316, ptr @.str2665) store ptr %t317, ptr %retval br label %ret ifend46: %t318 = load ptr, ptr %t0 %t319 = call i32 @lp_str_eq(ptr %t318, ptr @.str2666) %t320 = icmp ne i32 %t319, 0 br i1 %t320, label %then56, label %ifend58 then56: %t321 = call ptr @fn_find_fn(ptr @.str2667) %t322 = icmp eq ptr %t321, null %t323 = zext i1 %t322 to i32 %t324 = icmp ne i32 %t323, 0 br i1 %t324, label %then59, label %ifend61 then59: call void @fn_perr(ptr @.str2668) br label %ifend61 ifend61: %t325 = load ptr, ptr %t1 %t326 = getelementptr inbounds %Cmp_Node, ptr %t325, i32 0, i32 7 %t327 = load ptr, ptr %t326 %t328 = getelementptr inbounds %LSlice, ptr %t327, i32 0, i32 0 %t329 = load ptr, ptr %t328 %t330 = getelementptr inbounds %LSlice, ptr %t327, i32 0, i32 1 %t331 = load i32, ptr %t330 %t332 = icmp ult i32 0, %t331 br i1 %t332, label %ixok62, label %ixbad63 ixbad63: %t333 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t333, ptr @.fmt_bounds, ptr @.str2669, i32 0, i32 %t331) call void @exit(i32 1) unreachable ixok62: %t334 = getelementptr inbounds ptr, ptr %t329, i32 0 %t335 = load ptr, ptr %t334 %t336 = call ptr @fn_emit_expr(ptr %t335) store ptr %t336, ptr %t337 %t338 = load ptr, ptr %t337 %t339 = getelementptr inbounds %Cmp_Val, ptr %t338, i32 0, i32 0 %t340 = load ptr, ptr %t339 %t341 = call ptr @lp_str_concat(ptr @.str2670, ptr %t340) %t342 = call ptr @lp_str_concat(ptr %t341, ptr @.str2671) %t343 = call ptr @fn_emit_bind(ptr %t342) %t344 = call ptr @fn_val(ptr %t343, ptr @.str2672) store ptr %t344, ptr %retval br label %ret ifend58: %t345 = load ptr, ptr %t0 %t346 = call i32 @lp_str_eq(ptr %t345, ptr @.str2673) %t347 = icmp ne i32 %t346, 0 br i1 %t347, label %then64, label %ifend66 then64: %t348 = load ptr, ptr %t1 %t349 = getelementptr inbounds %Cmp_Node, ptr %t348, i32 0, i32 7 %t350 = load ptr, ptr %t349 %t351 = getelementptr inbounds %LSlice, ptr %t350, i32 0, i32 0 %t352 = load ptr, ptr %t351 %t353 = getelementptr inbounds %LSlice, ptr %t350, i32 0, i32 1 %t354 = load i32, ptr %t353 %t355 = icmp ult i32 0, %t354 br i1 %t355, label %ixok67, label %ixbad68 ixbad68: %t356 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t356, ptr @.fmt_bounds, ptr @.str2674, i32 0, i32 %t354) call void @exit(i32 1) unreachable ixok67: %t357 = getelementptr inbounds ptr, ptr %t352, i32 0 %t358 = load ptr, ptr %t357 %t359 = call ptr @fn_emit_expr(ptr %t358) store ptr %t359, ptr %t360 %t361 = load ptr, ptr %t1 %t362 = getelementptr inbounds %Cmp_Node, ptr %t361, i32 0, i32 7 %t363 = load ptr, ptr %t362 %t364 = getelementptr inbounds %LSlice, ptr %t363, i32 0, i32 0 %t365 = load ptr, ptr %t364 %t366 = getelementptr inbounds %LSlice, ptr %t363, i32 0, i32 1 %t367 = load i32, ptr %t366 %t368 = icmp ult i32 1, %t367 br i1 %t368, label %ixok69, label %ixbad70 ixbad70: %t369 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t369, ptr @.fmt_bounds, ptr @.str2675, i32 1, i32 %t367) call void @exit(i32 1) unreachable ixok69: %t370 = getelementptr inbounds ptr, ptr %t365, i32 1 %t371 = load ptr, ptr %t370 %t372 = call ptr @fn_emit_expr(ptr %t371) store ptr %t372, ptr %t373 %t374 = load ptr, ptr %t360 %t375 = getelementptr inbounds %Cmp_Val, ptr %t374, i32 0, i32 0 %t376 = load ptr, ptr %t375 %t377 = call ptr @fn_vec_x(ptr %t376) store ptr %t377, ptr %t378 %t379 = load ptr, ptr %t360 %t380 = getelementptr inbounds %Cmp_Val, ptr %t379, i32 0, i32 0 %t381 = load ptr, ptr %t380 %t382 = call ptr @fn_vec_y(ptr %t381) store ptr %t382, ptr %t383 %t384 = load ptr, ptr %t373 %t385 = getelementptr inbounds %Cmp_Val, ptr %t384, i32 0, i32 0 %t386 = load ptr, ptr %t385 %t387 = call ptr @fn_vec_x(ptr %t386) store ptr %t387, ptr %t388 %t389 = load ptr, ptr %t373 %t390 = getelementptr inbounds %Cmp_Val, ptr %t389, i32 0, i32 0 %t391 = load ptr, ptr %t390 %t392 = call ptr @fn_vec_y(ptr %t391) store ptr %t392, ptr %t393 %t394 = load ptr, ptr %t378 %t395 = call ptr @lp_str_concat(ptr @.str2676, ptr %t394) %t396 = call ptr @lp_str_concat(ptr %t395, ptr @.str2677) %t397 = load ptr, ptr %t388 %t398 = call ptr @lp_str_concat(ptr %t396, ptr %t397) %t399 = call ptr @fn_emit_bind(ptr %t398) store ptr %t399, ptr %t400 %t401 = load ptr, ptr %t383 %t402 = call ptr @lp_str_concat(ptr @.str2678, ptr %t401) %t403 = call ptr @lp_str_concat(ptr %t402, ptr @.str2679) %t404 = load ptr, ptr %t393 %t405 = call ptr @lp_str_concat(ptr %t403, ptr %t404) %t406 = call ptr @fn_emit_bind(ptr %t405) store ptr %t406, ptr %t407 %t408 = load ptr, ptr %t400 %t409 = load ptr, ptr %t407 %t410 = call ptr @fn_vec_pack(ptr %t408, ptr %t409) %t411 = call ptr @fn_val(ptr %t410, ptr @.str2680) store ptr %t411, ptr %retval br label %ret ifend66: %t412 = load ptr, ptr %t0 %t413 = call i32 @lp_str_eq(ptr %t412, ptr @.str2681) %t414 = icmp ne i32 %t413, 0 br i1 %t414, label %then71, label %ifend73 then71: %t415 = load ptr, ptr %t1 %t416 = getelementptr inbounds %Cmp_Node, ptr %t415, i32 0, i32 7 %t417 = load ptr, ptr %t416 %t418 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 0 %t419 = load ptr, ptr %t418 %t420 = getelementptr inbounds %LSlice, ptr %t417, i32 0, i32 1 %t421 = load i32, ptr %t420 %t422 = icmp ult i32 0, %t421 br i1 %t422, label %ixok74, label %ixbad75 ixbad75: %t423 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t423, ptr @.fmt_bounds, ptr @.str2682, i32 0, i32 %t421) call void @exit(i32 1) unreachable ixok74: %t424 = getelementptr inbounds ptr, ptr %t419, i32 0 %t425 = load ptr, ptr %t424 %t426 = call ptr @fn_emit_expr(ptr %t425) store ptr %t426, ptr %t427 %t428 = load ptr, ptr %t1 %t429 = getelementptr inbounds %Cmp_Node, ptr %t428, i32 0, i32 7 %t430 = load ptr, ptr %t429 %t431 = getelementptr inbounds %LSlice, ptr %t430, i32 0, i32 0 %t432 = load ptr, ptr %t431 %t433 = getelementptr inbounds %LSlice, ptr %t430, i32 0, i32 1 %t434 = load i32, ptr %t433 %t435 = icmp ult i32 1, %t434 br i1 %t435, label %ixok76, label %ixbad77 ixbad77: %t436 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t436, ptr @.fmt_bounds, ptr @.str2683, i32 1, i32 %t434) call void @exit(i32 1) unreachable ixok76: %t437 = getelementptr inbounds ptr, ptr %t432, i32 1 %t438 = load ptr, ptr %t437 %t439 = call ptr @fn_emit_expr(ptr %t438) store ptr %t439, ptr %t440 %t441 = load ptr, ptr %t427 %t442 = getelementptr inbounds %Cmp_Val, ptr %t441, i32 0, i32 0 %t443 = load ptr, ptr %t442 %t444 = call ptr @fn_vec_x(ptr %t443) store ptr %t444, ptr %t445 %t446 = load ptr, ptr %t427 %t447 = getelementptr inbounds %Cmp_Val, ptr %t446, i32 0, i32 0 %t448 = load ptr, ptr %t447 %t449 = call ptr @fn_vec_y(ptr %t448) store ptr %t449, ptr %t450 %t451 = load ptr, ptr %t440 %t452 = getelementptr inbounds %Cmp_Val, ptr %t451, i32 0, i32 0 %t453 = load ptr, ptr %t452 %t454 = call ptr @fn_vec_x(ptr %t453) store ptr %t454, ptr %t455 %t456 = load ptr, ptr %t440 %t457 = getelementptr inbounds %Cmp_Val, ptr %t456, i32 0, i32 0 %t458 = load ptr, ptr %t457 %t459 = call ptr @fn_vec_y(ptr %t458) store ptr %t459, ptr %t460 %t461 = load ptr, ptr %t445 %t462 = call ptr @lp_str_concat(ptr @.str2684, ptr %t461) %t463 = call ptr @lp_str_concat(ptr %t462, ptr @.str2685) %t464 = load ptr, ptr %t455 %t465 = call ptr @lp_str_concat(ptr %t463, ptr %t464) %t466 = call ptr @fn_emit_bind(ptr %t465) store ptr %t466, ptr %t467 %t468 = load ptr, ptr %t450 %t469 = call ptr @lp_str_concat(ptr @.str2686, ptr %t468) %t470 = call ptr @lp_str_concat(ptr %t469, ptr @.str2687) %t471 = load ptr, ptr %t460 %t472 = call ptr @lp_str_concat(ptr %t470, ptr %t471) %t473 = call ptr @fn_emit_bind(ptr %t472) store ptr %t473, ptr %t474 %t475 = load ptr, ptr %t467 %t476 = load ptr, ptr %t474 %t477 = call ptr @fn_vec_pack(ptr %t475, ptr %t476) %t478 = call ptr @fn_val(ptr %t477, ptr @.str2688) store ptr %t478, ptr %retval br label %ret ifend73: %t479 = load ptr, ptr %t0 %t480 = call i32 @lp_str_eq(ptr %t479, ptr @.str2689) %t481 = icmp ne i32 %t480, 0 br i1 %t481, label %then78, label %ifend80 then78: %t482 = load ptr, ptr %t1 %t483 = getelementptr inbounds %Cmp_Node, ptr %t482, i32 0, i32 7 %t484 = load ptr, ptr %t483 %t485 = getelementptr inbounds %LSlice, ptr %t484, i32 0, i32 0 %t486 = load ptr, ptr %t485 %t487 = getelementptr inbounds %LSlice, ptr %t484, i32 0, i32 1 %t488 = load i32, ptr %t487 %t489 = icmp ult i32 0, %t488 br i1 %t489, label %ixok81, label %ixbad82 ixbad82: %t490 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t490, ptr @.fmt_bounds, ptr @.str2690, i32 0, i32 %t488) call void @exit(i32 1) unreachable ixok81: %t491 = getelementptr inbounds ptr, ptr %t486, i32 0 %t492 = load ptr, ptr %t491 %t493 = call ptr @fn_emit_expr(ptr %t492) store ptr %t493, ptr %t494 %t495 = load ptr, ptr %t1 %t496 = getelementptr inbounds %Cmp_Node, ptr %t495, i32 0, i32 7 %t497 = load ptr, ptr %t496 %t498 = getelementptr inbounds %LSlice, ptr %t497, i32 0, i32 0 %t499 = load ptr, ptr %t498 %t500 = getelementptr inbounds %LSlice, ptr %t497, i32 0, i32 1 %t501 = load i32, ptr %t500 %t502 = icmp ult i32 1, %t501 br i1 %t502, label %ixok83, label %ixbad84 ixbad84: %t503 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t503, ptr @.fmt_bounds, ptr @.str2691, i32 1, i32 %t501) call void @exit(i32 1) unreachable ixok83: %t504 = getelementptr inbounds ptr, ptr %t499, i32 1 %t505 = load ptr, ptr %t504 %t506 = call ptr @fn_emit_expr(ptr %t505) store ptr %t506, ptr %t507 %t508 = load ptr, ptr %t494 %t509 = getelementptr inbounds %Cmp_Val, ptr %t508, i32 0, i32 0 %t510 = load ptr, ptr %t509 %t511 = call ptr @fn_vec_x(ptr %t510) store ptr %t511, ptr %t512 %t513 = load ptr, ptr %t494 %t514 = getelementptr inbounds %Cmp_Val, ptr %t513, i32 0, i32 0 %t515 = load ptr, ptr %t514 %t516 = call ptr @fn_vec_y(ptr %t515) store ptr %t516, ptr %t517 %t518 = load ptr, ptr %t512 %t519 = call ptr @lp_str_concat(ptr @.str2692, ptr %t518) %t520 = call ptr @lp_str_concat(ptr %t519, ptr @.str2693) %t521 = load ptr, ptr %t507 %t522 = getelementptr inbounds %Cmp_Val, ptr %t521, i32 0, i32 0 %t523 = load ptr, ptr %t522 %t524 = call ptr @lp_str_concat(ptr %t520, ptr %t523) %t525 = call ptr @fn_emit_bind(ptr %t524) store ptr %t525, ptr %t526 %t527 = load ptr, ptr %t517 %t528 = call ptr @lp_str_concat(ptr @.str2694, ptr %t527) %t529 = call ptr @lp_str_concat(ptr %t528, ptr @.str2695) %t530 = load ptr, ptr %t507 %t531 = getelementptr inbounds %Cmp_Val, ptr %t530, i32 0, i32 0 %t532 = load ptr, ptr %t531 %t533 = call ptr @lp_str_concat(ptr %t529, ptr %t532) %t534 = call ptr @fn_emit_bind(ptr %t533) store ptr %t534, ptr %t535 %t536 = load ptr, ptr %t526 %t537 = load ptr, ptr %t535 %t538 = call ptr @fn_vec_pack(ptr %t536, ptr %t537) %t539 = call ptr @fn_val(ptr %t538, ptr @.str2696) store ptr %t539, ptr %retval br label %ret ifend80: %t540 = load ptr, ptr %t0 %t541 = call i32 @lp_str_eq(ptr %t540, ptr @.str2697) %t542 = icmp ne i32 %t541, 0 br i1 %t542, label %then85, label %ifend87 then85: %t543 = load ptr, ptr %t1 %t544 = getelementptr inbounds %Cmp_Node, ptr %t543, i32 0, i32 7 %t545 = load ptr, ptr %t544 %t546 = getelementptr inbounds %LSlice, ptr %t545, i32 0, i32 0 %t547 = load ptr, ptr %t546 %t548 = getelementptr inbounds %LSlice, ptr %t545, i32 0, i32 1 %t549 = load i32, ptr %t548 %t550 = icmp ult i32 0, %t549 br i1 %t550, label %ixok88, label %ixbad89 ixbad89: %t551 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t551, ptr @.fmt_bounds, ptr @.str2698, i32 0, i32 %t549) call void @exit(i32 1) unreachable ixok88: %t552 = getelementptr inbounds ptr, ptr %t547, i32 0 %t553 = load ptr, ptr %t552 %t554 = call ptr @fn_emit_expr(ptr %t553) store ptr %t554, ptr %t555 %t556 = load ptr, ptr %t1 %t557 = getelementptr inbounds %Cmp_Node, ptr %t556, i32 0, i32 7 %t558 = load ptr, ptr %t557 %t559 = getelementptr inbounds %LSlice, ptr %t558, i32 0, i32 0 %t560 = load ptr, ptr %t559 %t561 = getelementptr inbounds %LSlice, ptr %t558, i32 0, i32 1 %t562 = load i32, ptr %t561 %t563 = icmp ult i32 1, %t562 br i1 %t563, label %ixok90, label %ixbad91 ixbad91: %t564 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t564, ptr @.fmt_bounds, ptr @.str2699, i32 1, i32 %t562) call void @exit(i32 1) unreachable ixok90: %t565 = getelementptr inbounds ptr, ptr %t560, i32 1 %t566 = load ptr, ptr %t565 %t567 = call ptr @fn_emit_expr(ptr %t566) store ptr %t567, ptr %t568 %t569 = load ptr, ptr %t555 %t570 = getelementptr inbounds %Cmp_Val, ptr %t569, i32 0, i32 0 %t571 = load ptr, ptr %t570 %t572 = call ptr @fn_vec_x(ptr %t571) store ptr %t572, ptr %t573 %t574 = load ptr, ptr %t555 %t575 = getelementptr inbounds %Cmp_Val, ptr %t574, i32 0, i32 0 %t576 = load ptr, ptr %t575 %t577 = call ptr @fn_vec_y(ptr %t576) store ptr %t577, ptr %t578 %t579 = load ptr, ptr %t568 %t580 = getelementptr inbounds %Cmp_Val, ptr %t579, i32 0, i32 0 %t581 = load ptr, ptr %t580 %t582 = call ptr @fn_vec_x(ptr %t581) store ptr %t582, ptr %t583 %t584 = load ptr, ptr %t568 %t585 = getelementptr inbounds %Cmp_Val, ptr %t584, i32 0, i32 0 %t586 = load ptr, ptr %t585 %t587 = call ptr @fn_vec_y(ptr %t586) store ptr %t587, ptr %t588 %t589 = load ptr, ptr %t573 %t590 = call ptr @lp_str_concat(ptr @.str2700, ptr %t589) %t591 = call ptr @lp_str_concat(ptr %t590, ptr @.str2701) %t592 = load ptr, ptr %t583 %t593 = call ptr @lp_str_concat(ptr %t591, ptr %t592) %t594 = call ptr @fn_emit_bind(ptr %t593) store ptr %t594, ptr %t595 %t596 = load ptr, ptr %t578 %t597 = call ptr @lp_str_concat(ptr @.str2702, ptr %t596) %t598 = call ptr @lp_str_concat(ptr %t597, ptr @.str2703) %t599 = load ptr, ptr %t588 %t600 = call ptr @lp_str_concat(ptr %t598, ptr %t599) %t601 = call ptr @fn_emit_bind(ptr %t600) store ptr %t601, ptr %t602 %t603 = load ptr, ptr %t595 %t604 = call ptr @lp_str_concat(ptr @.str2704, ptr %t603) %t605 = call ptr @lp_str_concat(ptr %t604, ptr @.str2705) %t606 = load ptr, ptr %t602 %t607 = call ptr @lp_str_concat(ptr %t605, ptr %t606) %t608 = call ptr @fn_emit_bind(ptr %t607) %t609 = call ptr @fn_val(ptr %t608, ptr @.str2706) store ptr %t609, ptr %retval br label %ret ifend87: %t610 = load ptr, ptr %t0 %t611 = call i32 @lp_str_eq(ptr %t610, ptr @.str2707) %t612 = icmp ne i32 %t611, 0 br i1 %t612, label %then92, label %ifend94 then92: %t613 = load ptr, ptr %t1 %t614 = getelementptr inbounds %Cmp_Node, ptr %t613, i32 0, i32 7 %t615 = load ptr, ptr %t614 %t616 = getelementptr inbounds %LSlice, ptr %t615, i32 0, i32 0 %t617 = load ptr, ptr %t616 %t618 = getelementptr inbounds %LSlice, ptr %t615, i32 0, i32 1 %t619 = load i32, ptr %t618 %t620 = icmp ult i32 0, %t619 br i1 %t620, label %ixok95, label %ixbad96 ixbad96: %t621 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t621, ptr @.fmt_bounds, ptr @.str2708, i32 0, i32 %t619) call void @exit(i32 1) unreachable ixok95: %t622 = getelementptr inbounds ptr, ptr %t617, i32 0 %t623 = load ptr, ptr %t622 %t624 = call ptr @fn_emit_expr(ptr %t623) store ptr %t624, ptr %t625 %t626 = load ptr, ptr %t1 %t627 = getelementptr inbounds %Cmp_Node, ptr %t626, i32 0, i32 7 %t628 = load ptr, ptr %t627 %t629 = getelementptr inbounds %LSlice, ptr %t628, i32 0, i32 0 %t630 = load ptr, ptr %t629 %t631 = getelementptr inbounds %LSlice, ptr %t628, i32 0, i32 1 %t632 = load i32, ptr %t631 %t633 = icmp ult i32 1, %t632 br i1 %t633, label %ixok97, label %ixbad98 ixbad98: %t634 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t634, ptr @.fmt_bounds, ptr @.str2709, i32 1, i32 %t632) call void @exit(i32 1) unreachable ixok97: %t635 = getelementptr inbounds ptr, ptr %t630, i32 1 %t636 = load ptr, ptr %t635 %t637 = call ptr @fn_emit_expr(ptr %t636) store ptr %t637, ptr %t638 %t639 = load ptr, ptr %t625 %t640 = getelementptr inbounds %Cmp_Val, ptr %t639, i32 0, i32 0 %t641 = load ptr, ptr %t640 %t642 = call ptr @lp_str_concat(ptr @.str2710, ptr %t641) %t643 = call ptr @lp_str_concat(ptr %t642, ptr @.str2711) %t644 = load ptr, ptr %t638 %t645 = getelementptr inbounds %Cmp_Val, ptr %t644, i32 0, i32 0 %t646 = load ptr, ptr %t645 %t647 = call ptr @lp_str_concat(ptr %t643, ptr %t646) %t648 = call ptr @fn_emit_bind(ptr %t647) store ptr %t648, ptr %t649 %t650 = load ptr, ptr %t649 %t651 = call ptr @lp_str_concat(ptr @.str2712, ptr %t650) %t652 = call ptr @lp_str_concat(ptr %t651, ptr @.str2713) %t653 = call ptr @fn_emit_bind(ptr %t652) %t654 = call ptr @fn_val(ptr %t653, ptr @.str2714) store ptr %t654, ptr %retval br label %ret ifend94: %t655 = load ptr, ptr %t0 %t656 = call i32 @lp_str_eq(ptr %t655, ptr @.str2715) %t657 = icmp ne i32 %t656, 0 br i1 %t657, label %then99, label %ifend101 then99: %t658 = load ptr, ptr %t1 %t659 = getelementptr inbounds %Cmp_Node, ptr %t658, i32 0, i32 7 %t660 = load ptr, ptr %t659 %t661 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 0 %t662 = load ptr, ptr %t661 %t663 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 1 %t664 = load i32, ptr %t663 %t665 = icmp ult i32 0, %t664 br i1 %t665, label %ixok102, label %ixbad103 ixbad103: %t666 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t666, ptr @.fmt_bounds, ptr @.str2716, i32 0, i32 %t664) call void @exit(i32 1) unreachable ixok102: %t667 = getelementptr inbounds ptr, ptr %t662, i32 0 %t668 = load ptr, ptr %t667 %t669 = call ptr @fn_emit_expr(ptr %t668) store ptr %t669, ptr %t670 %t671 = load ptr, ptr %t1 %t672 = getelementptr inbounds %Cmp_Node, ptr %t671, i32 0, i32 7 %t673 = load ptr, ptr %t672 %t674 = getelementptr inbounds %LSlice, ptr %t673, i32 0, i32 0 %t675 = load ptr, ptr %t674 %t676 = getelementptr inbounds %LSlice, ptr %t673, i32 0, i32 1 %t677 = load i32, ptr %t676 %t678 = icmp ult i32 1, %t677 br i1 %t678, label %ixok104, label %ixbad105 ixbad105: %t679 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t679, ptr @.fmt_bounds, ptr @.str2717, i32 1, i32 %t677) call void @exit(i32 1) unreachable ixok104: %t680 = getelementptr inbounds ptr, ptr %t675, i32 1 %t681 = load ptr, ptr %t680 %t682 = call ptr @fn_emit_expr(ptr %t681) store ptr %t682, ptr %t683 %t684 = load ptr, ptr %t670 %t685 = getelementptr inbounds %Cmp_Val, ptr %t684, i32 0, i32 0 %t686 = load ptr, ptr %t685 %t687 = call ptr @fn_vec_x(ptr %t686) store ptr %t687, ptr %t688 %t689 = load ptr, ptr %t670 %t690 = getelementptr inbounds %Cmp_Val, ptr %t689, i32 0, i32 0 %t691 = load ptr, ptr %t690 %t692 = call ptr @fn_vec_y(ptr %t691) store ptr %t692, ptr %t693 %t694 = load ptr, ptr %t683 %t695 = getelementptr inbounds %Cmp_Val, ptr %t694, i32 0, i32 0 %t696 = load ptr, ptr %t695 %t697 = call ptr @fn_vec_x(ptr %t696) store ptr %t697, ptr %t698 %t699 = load ptr, ptr %t683 %t700 = getelementptr inbounds %Cmp_Val, ptr %t699, i32 0, i32 0 %t701 = load ptr, ptr %t700 %t702 = call ptr @fn_vec_y(ptr %t701) store ptr %t702, ptr %t703 %t704 = load ptr, ptr %t688 %t705 = call ptr @lp_str_concat(ptr @.str2718, ptr %t704) %t706 = call ptr @lp_str_concat(ptr %t705, ptr @.str2719) %t707 = load ptr, ptr %t698 %t708 = call ptr @lp_str_concat(ptr %t706, ptr %t707) %t709 = call ptr @fn_emit_bind(ptr %t708) store ptr %t709, ptr %t710 %t711 = load ptr, ptr %t693 %t712 = call ptr @lp_str_concat(ptr @.str2720, ptr %t711) %t713 = call ptr @lp_str_concat(ptr %t712, ptr @.str2721) %t714 = load ptr, ptr %t703 %t715 = call ptr @lp_str_concat(ptr %t713, ptr %t714) %t716 = call ptr @fn_emit_bind(ptr %t715) store ptr %t716, ptr %t717 %t718 = load ptr, ptr %t710 %t719 = call ptr @fn_ivec_abs(ptr %t718) store ptr %t719, ptr %t720 %t721 = load ptr, ptr %t717 %t722 = call ptr @fn_ivec_abs(ptr %t721) store ptr %t722, ptr %t723 %t724 = load ptr, ptr %t720 %t725 = call ptr @lp_str_concat(ptr @.str2722, ptr %t724) %t726 = call ptr @lp_str_concat(ptr %t725, ptr @.str2723) %t727 = load ptr, ptr %t723 %t728 = call ptr @lp_str_concat(ptr %t726, ptr %t727) %t729 = call ptr @fn_emit_bind(ptr %t728) %t730 = call ptr @fn_val(ptr %t729, ptr @.str2724) store ptr %t730, ptr %retval br label %ret ifend101: %t731 = load ptr, ptr %t1 %t732 = getelementptr inbounds %Cmp_Node, ptr %t731, i32 0, i32 7 %t733 = load ptr, ptr %t732 %t734 = getelementptr inbounds %LSlice, ptr %t733, i32 0, i32 0 %t735 = load ptr, ptr %t734 %t736 = getelementptr inbounds %LSlice, ptr %t733, i32 0, i32 1 %t737 = load i32, ptr %t736 %t738 = icmp ult i32 0, %t737 br i1 %t738, label %ixok106, label %ixbad107 ixbad107: %t739 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t739, ptr @.fmt_bounds, ptr @.str2725, i32 0, i32 %t737) call void @exit(i32 1) unreachable ixok106: %t740 = getelementptr inbounds ptr, ptr %t735, i32 0 %t741 = load ptr, ptr %t740 %t742 = call ptr @fn_emit_expr(ptr %t741) store ptr %t742, ptr %t743 %t744 = load ptr, ptr %t743 %t745 = getelementptr inbounds %Cmp_Val, ptr %t744, i32 0, i32 0 %t746 = load ptr, ptr %t745 %t747 = call ptr @fn_vec_x(ptr %t746) store ptr %t747, ptr %t748 %t749 = load ptr, ptr %t743 %t750 = getelementptr inbounds %Cmp_Val, ptr %t749, i32 0, i32 0 %t751 = load ptr, ptr %t750 %t752 = call ptr @fn_vec_y(ptr %t751) store ptr %t752, ptr %t753 %t754 = load ptr, ptr %t748 %t755 = call ptr @lp_str_concat(ptr @.str2726, ptr %t754) %t756 = call ptr @lp_str_concat(ptr %t755, ptr @.str2727) %t757 = call ptr @fn_emit_bind(ptr %t756) store ptr %t757, ptr %t758 %t759 = load ptr, ptr %t753 %t760 = call ptr @lp_str_concat(ptr @.str2728, ptr %t759) %t761 = call ptr @lp_str_concat(ptr %t760, ptr @.str2729) %t762 = call ptr @fn_emit_bind(ptr %t761) store ptr %t762, ptr %t763 %t764 = load ptr, ptr %t758 %t765 = load ptr, ptr %t763 %t766 = call ptr @fn_vec_pack(ptr %t764, ptr %t765) %t767 = call ptr @fn_val(ptr %t766, ptr @.str2730) store ptr %t767, ptr %retval br label %ret ret: %t768 = load ptr, ptr %retval ret ptr %t768 } define ptr @fn_rect_pack(ptr %arg_x, ptr %arg_y, ptr %arg_w, ptr %arg_h) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t8 = alloca ptr %t13 = alloca ptr %t18 = alloca ptr %t23 = alloca ptr %t28 = alloca ptr %t33 = alloca ptr %t38 = alloca ptr %t45 = alloca ptr %t52 = alloca ptr store ptr %arg_x, ptr %t0 store ptr %arg_y, ptr %t1 store ptr %arg_w, ptr %t2 store ptr %arg_h, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = call ptr @lp_str_concat(ptr @.str2731, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str2732) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 %t9 = load ptr, ptr %t8 %t10 = call ptr @lp_str_concat(ptr @.str2733, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str2734) %t12 = call ptr @fn_emit_bind(ptr %t11) store ptr %t12, ptr %t13 %t14 = load ptr, ptr %t1 %t15 = call ptr @lp_str_concat(ptr @.str2735, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str2736) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 %t20 = call ptr @lp_str_concat(ptr @.str2737, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str2738) %t22 = call ptr @fn_emit_bind(ptr %t21) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t2 %t25 = call ptr @lp_str_concat(ptr @.str2739, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str2740) %t27 = call ptr @fn_emit_bind(ptr %t26) store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = call ptr @lp_str_concat(ptr @.str2741, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str2742) %t32 = call ptr @fn_emit_bind(ptr %t31) store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t3 %t35 = call ptr @lp_str_concat(ptr @.str2743, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str2744) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t13 %t40 = call ptr @lp_str_concat(ptr @.str2745, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str2746) %t42 = load ptr, ptr %t23 %t43 = call ptr @lp_str_concat(ptr %t41, ptr %t42) %t44 = call ptr @fn_emit_bind(ptr %t43) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 %t47 = call ptr @lp_str_concat(ptr @.str2747, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str2748) %t49 = load ptr, ptr %t33 %t50 = call ptr @lp_str_concat(ptr %t48, ptr %t49) %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 %t54 = call ptr @lp_str_concat(ptr @.str2749, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str2750) %t56 = load ptr, ptr %t38 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @fn_emit_bind(ptr %t57) store ptr %t58, ptr %retval br label %ret ret: %t59 = load ptr, ptr %retval ret ptr %t59 } define ptr @fn_rect_field(ptr %arg_r, i32 %arg_sh) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t17 = alloca ptr store ptr %arg_r, ptr %t0 store i32 %arg_sh, ptr %t1 %t2 = load i32, ptr %t1 %t3 = icmp eq i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t0 %t7 = call ptr @lp_str_concat(ptr @.str2751, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2752) %t9 = call ptr @fn_emit_bind(ptr %t8) store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 %t11 = call ptr @lp_str_concat(ptr @.str2753, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str2754) %t13 = load i32, ptr %t1 %t14 = call ptr @fn_itoa(i32 %t13) %t15 = call ptr @lp_str_concat(ptr %t12, ptr %t14) %t16 = call ptr @fn_emit_bind(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = call ptr @lp_str_concat(ptr @.str2755, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str2756) %t21 = call ptr @fn_emit_bind(ptr %t20) store ptr %t21, ptr %retval br label %ret ret: %t22 = load ptr, ptr %retval ret ptr %t22 } define ptr @fn_rect_cmp(ptr %arg_cmp, ptr %arg_a, ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t12 = alloca ptr store ptr %arg_cmp, ptr %t0 store ptr %arg_a, ptr %t1 store ptr %arg_b, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call ptr @lp_str_concat(ptr @.str2757, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str2758) %t6 = load ptr, ptr %t1 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str2759) %t9 = load ptr, ptr %t2 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = call ptr @lp_str_concat(ptr @.str2760, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str2761) %t16 = call ptr @fn_emit_bind(ptr %t15) store ptr %t16, ptr %retval br label %ret ret: %t17 = load ptr, ptr %retval ret ptr %t17 } define i32 @fn_is_rect_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t36 = alloca i32 %t37 = alloca i32 %t55 = alloca i32 store ptr %arg_meth, ptr %t0 %t5 = load ptr, ptr %t0 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str2762) %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t4 br i1 %t7, label %scend1, label %sc0 sc0: %t9 = load ptr, ptr %t0 %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str2763) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t4 br label %scend1 scend1: %t13 = load i32, ptr %t4 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t3 br i1 %t14, label %scend3, label %sc2 sc2: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str2764) %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t3 br label %scend3 scend3: %t20 = load i32, ptr %t3 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t2 br i1 %t21, label %scend5, label %sc4 sc4: %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str2765) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t2 br label %scend5 scend5: %t27 = load i32, ptr %t2 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t1 br i1 %t28, label %scend7, label %sc6 sc6: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str2766) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t1 br label %scend7 scend7: %t34 = load i32, ptr %t1 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: %t38 = load ptr, ptr %t0 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str2767) %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t37 br i1 %t40, label %scend12, label %sc11 sc11: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str2768) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t37 br label %scend12 scend12: %t46 = load i32, ptr %t37 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t36 br i1 %t47, label %scend14, label %sc13 sc13: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str2769) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t36 br label %scend14 scend14: %t53 = load i32, ptr %t36 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then15, label %ifend17 then15: store i32 1, ptr %retval br label %ret ifend17: %t56 = load ptr, ptr %t0 %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str2770) %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t55 br i1 %t58, label %scend19, label %sc18 sc18: %t60 = load ptr, ptr %t0 %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str2771) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t55 br label %scend19 scend19: %t64 = load i32, ptr %t55 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then20, label %ifend22 then20: store i32 1, ptr %retval br label %ret ifend22: store i32 0, ptr %retval br label %ret ret: %t66 = load i32, ptr %retval ret i32 %t66 } define ptr @fn_emit_rect_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t30 = alloca ptr %t43 = alloca ptr %t56 = alloca ptr %t86 = alloca ptr %t107 = alloca ptr %t128 = alloca ptr %t149 = alloca ptr %t170 = alloca ptr %t175 = alloca ptr %t180 = alloca ptr %t203 = alloca ptr %t208 = alloca ptr %t213 = alloca ptr %t236 = alloca ptr %t241 = alloca ptr %t246 = alloca ptr %t251 = alloca ptr %t256 = alloca ptr %t261 = alloca ptr %t266 = alloca ptr %t273 = alloca ptr %t280 = alloca ptr %t300 = alloca ptr %t313 = alloca ptr %t326 = alloca ptr %t331 = alloca ptr %t336 = alloca ptr %t341 = alloca ptr %t346 = alloca ptr %t353 = alloca ptr %t360 = alloca ptr %t366 = alloca ptr %t372 = alloca ptr %t378 = alloca ptr %t384 = alloca ptr %t391 = alloca ptr %t398 = alloca ptr %t418 = alloca ptr %t431 = alloca ptr %t436 = alloca ptr %t441 = alloca ptr %t446 = alloca ptr %t451 = alloca ptr %t456 = alloca ptr %t461 = alloca ptr %t466 = alloca ptr %t471 = alloca ptr %t478 = alloca ptr %t485 = alloca ptr %t492 = alloca ptr %t499 = alloca ptr %t503 = alloca ptr %t507 = alloca ptr %t511 = alloca ptr %t515 = alloca ptr %t522 = alloca ptr %t529 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str2772) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str2773, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t1 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 1, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str2774, i32 1, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 1 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_emit_expr(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t1 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 2, %t37 br i1 %t38, label %ixok7, label %ixbad8 ixbad8: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str2775, i32 2, i32 %t37) call void @exit(i32 1) unreachable ixok7: %t40 = getelementptr inbounds ptr, ptr %t35, i32 2 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_emit_expr(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t1 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp ult i32 3, %t50 br i1 %t51, label %ixok9, label %ixbad10 ixbad10: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str2776, i32 3, i32 %t50) call void @exit(i32 1) unreachable ixok9: %t53 = getelementptr inbounds ptr, ptr %t48, i32 3 %t54 = load ptr, ptr %t53 %t55 = call ptr @fn_emit_expr(ptr %t54) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t17 %t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = load ptr, ptr %t30 %t61 = getelementptr inbounds %Cmp_Val, ptr %t60, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = load ptr, ptr %t43 %t64 = getelementptr inbounds %Cmp_Val, ptr %t63, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = load ptr, ptr %t56 %t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = call ptr @fn_rect_pack(ptr %t59, ptr %t62, ptr %t65, ptr %t68) %t70 = call ptr @fn_val(ptr %t69, ptr @.str2777) store ptr %t70, ptr %retval br label %ret ifend2: %t71 = load ptr, ptr %t0 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str2778) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then11, label %ifend13 then11: %t74 = load ptr, ptr %t1 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 7 %t76 = load ptr, ptr %t75 %t77 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 0 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %LSlice, ptr %t76, i32 0, i32 1 %t80 = load i32, ptr %t79 %t81 = icmp ult i32 0, %t80 br i1 %t81, label %ixok14, label %ixbad15 ixbad15: %t82 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str2779, i32 0, i32 %t80) call void @exit(i32 1) unreachable ixok14: %t83 = getelementptr inbounds ptr, ptr %t78, i32 0 %t84 = load ptr, ptr %t83 %t85 = call ptr @fn_emit_expr(ptr %t84) store ptr %t85, ptr %t86 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %Cmp_Val, ptr %t87, i32 0, i32 0 %t89 = load ptr, ptr %t88 %t90 = call ptr @fn_rect_field(ptr %t89, i32 96) %t91 = call ptr @fn_val(ptr %t90, ptr @.str2780) store ptr %t91, ptr %retval br label %ret ifend13: %t92 = load ptr, ptr %t0 %t93 = call i32 @lp_str_eq(ptr %t92, ptr @.str2781) %t94 = icmp ne i32 %t93, 0 br i1 %t94, label %then16, label %ifend18 then16: %t95 = load ptr, ptr %t1 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 7 %t97 = load ptr, ptr %t96 %t98 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 0, %t101 br i1 %t102, label %ixok19, label %ixbad20 ixbad20: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str2782, i32 0, i32 %t101) call void @exit(i32 1) unreachable ixok19: %t104 = getelementptr inbounds ptr, ptr %t99, i32 0 %t105 = load ptr, ptr %t104 %t106 = call ptr @fn_emit_expr(ptr %t105) store ptr %t106, ptr %t107 %t108 = load ptr, ptr %t107 %t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0 %t110 = load ptr, ptr %t109 %t111 = call ptr @fn_rect_field(ptr %t110, i32 64) %t112 = call ptr @fn_val(ptr %t111, ptr @.str2783) store ptr %t112, ptr %retval br label %ret ifend18: %t113 = load ptr, ptr %t0 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str2784) %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then21, label %ifend23 then21: %t116 = load ptr, ptr %t1 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 7 %t118 = load ptr, ptr %t117 %t119 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp ult i32 0, %t122 br i1 %t123, label %ixok24, label %ixbad25 ixbad25: %t124 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str2785, i32 0, i32 %t122) call void @exit(i32 1) unreachable ixok24: %t125 = getelementptr inbounds ptr, ptr %t120, i32 0 %t126 = load ptr, ptr %t125 %t127 = call ptr @fn_emit_expr(ptr %t126) store ptr %t127, ptr %t128 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %Cmp_Val, ptr %t129, i32 0, i32 0 %t131 = load ptr, ptr %t130 %t132 = call ptr @fn_rect_field(ptr %t131, i32 32) %t133 = call ptr @fn_val(ptr %t132, ptr @.str2786) store ptr %t133, ptr %retval br label %ret ifend23: %t134 = load ptr, ptr %t0 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str2787) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then26, label %ifend28 then26: %t137 = load ptr, ptr %t1 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 7 %t139 = load ptr, ptr %t138 %t140 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 0 %t141 = load ptr, ptr %t140 %t142 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 1 %t143 = load i32, ptr %t142 %t144 = icmp ult i32 0, %t143 br i1 %t144, label %ixok29, label %ixbad30 ixbad30: %t145 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t145, ptr @.fmt_bounds, ptr @.str2788, i32 0, i32 %t143) call void @exit(i32 1) unreachable ixok29: %t146 = getelementptr inbounds ptr, ptr %t141, i32 0 %t147 = load ptr, ptr %t146 %t148 = call ptr @fn_emit_expr(ptr %t147) store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t149 %t151 = getelementptr inbounds %Cmp_Val, ptr %t150, i32 0, i32 0 %t152 = load ptr, ptr %t151 %t153 = call ptr @fn_rect_field(ptr %t152, i32 0) %t154 = call ptr @fn_val(ptr %t153, ptr @.str2789) store ptr %t154, ptr %retval br label %ret ifend28: %t155 = load ptr, ptr %t0 %t156 = call i32 @lp_str_eq(ptr %t155, ptr @.str2790) %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then31, label %ifend33 then31: %t158 = load ptr, ptr %t1 %t159 = getelementptr inbounds %Cmp_Node, ptr %t158, i32 0, i32 7 %t160 = load ptr, ptr %t159 %t161 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 0 %t162 = load ptr, ptr %t161 %t163 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 1 %t164 = load i32, ptr %t163 %t165 = icmp ult i32 0, %t164 br i1 %t165, label %ixok34, label %ixbad35 ixbad35: %t166 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t166, ptr @.fmt_bounds, ptr @.str2791, i32 0, i32 %t164) call void @exit(i32 1) unreachable ixok34: %t167 = getelementptr inbounds ptr, ptr %t162, i32 0 %t168 = load ptr, ptr %t167 %t169 = call ptr @fn_emit_expr(ptr %t168) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t170 %t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0 %t173 = load ptr, ptr %t172 %t174 = call ptr @fn_rect_field(ptr %t173, i32 96) store ptr %t174, ptr %t175 %t176 = load ptr, ptr %t170 %t177 = getelementptr inbounds %Cmp_Val, ptr %t176, i32 0, i32 0 %t178 = load ptr, ptr %t177 %t179 = call ptr @fn_rect_field(ptr %t178, i32 32) store ptr %t179, ptr %t180 %t181 = load ptr, ptr %t175 %t182 = call ptr @lp_str_concat(ptr @.str2792, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str2793) %t184 = load ptr, ptr %t180 %t185 = call ptr @lp_str_concat(ptr %t183, ptr %t184) %t186 = call ptr @fn_emit_bind(ptr %t185) %t187 = call ptr @fn_val(ptr %t186, ptr @.str2794) store ptr %t187, ptr %retval br label %ret ifend33: %t188 = load ptr, ptr %t0 %t189 = call i32 @lp_str_eq(ptr %t188, ptr @.str2795) %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %then36, label %ifend38 then36: %t191 = load ptr, ptr %t1 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 7 %t193 = load ptr, ptr %t192 %t194 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 0 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 1 %t197 = load i32, ptr %t196 %t198 = icmp ult i32 0, %t197 br i1 %t198, label %ixok39, label %ixbad40 ixbad40: %t199 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str2796, i32 0, i32 %t197) call void @exit(i32 1) unreachable ixok39: %t200 = getelementptr inbounds ptr, ptr %t195, i32 0 %t201 = load ptr, ptr %t200 %t202 = call ptr @fn_emit_expr(ptr %t201) store ptr %t202, ptr %t203 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %Cmp_Val, ptr %t204, i32 0, i32 0 %t206 = load ptr, ptr %t205 %t207 = call ptr @fn_rect_field(ptr %t206, i32 64) store ptr %t207, ptr %t208 %t209 = load ptr, ptr %t203 %t210 = getelementptr inbounds %Cmp_Val, ptr %t209, i32 0, i32 0 %t211 = load ptr, ptr %t210 %t212 = call ptr @fn_rect_field(ptr %t211, i32 0) store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t208 %t215 = call ptr @lp_str_concat(ptr @.str2797, ptr %t214) %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str2798) %t217 = load ptr, ptr %t213 %t218 = call ptr @lp_str_concat(ptr %t216, ptr %t217) %t219 = call ptr @fn_emit_bind(ptr %t218) %t220 = call ptr @fn_val(ptr %t219, ptr @.str2799) store ptr %t220, ptr %retval br label %ret ifend38: %t221 = load ptr, ptr %t0 %t222 = call i32 @lp_str_eq(ptr %t221, ptr @.str2800) %t223 = icmp ne i32 %t222, 0 br i1 %t223, label %then41, label %ifend43 then41: %t224 = load ptr, ptr %t1 %t225 = getelementptr inbounds %Cmp_Node, ptr %t224, i32 0, i32 7 %t226 = load ptr, ptr %t225 %t227 = getelementptr inbounds %LSlice, ptr %t226, i32 0, i32 0 %t228 = load ptr, ptr %t227 %t229 = getelementptr inbounds %LSlice, ptr %t226, i32 0, i32 1 %t230 = load i32, ptr %t229 %t231 = icmp ult i32 0, %t230 br i1 %t231, label %ixok44, label %ixbad45 ixbad45: %t232 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t232, ptr @.fmt_bounds, ptr @.str2801, i32 0, i32 %t230) call void @exit(i32 1) unreachable ixok44: %t233 = getelementptr inbounds ptr, ptr %t228, i32 0 %t234 = load ptr, ptr %t233 %t235 = call ptr @fn_emit_expr(ptr %t234) store ptr %t235, ptr %t236 %t237 = load ptr, ptr %t236 %t238 = getelementptr inbounds %Cmp_Val, ptr %t237, i32 0, i32 0 %t239 = load ptr, ptr %t238 %t240 = call ptr @fn_rect_field(ptr %t239, i32 96) store ptr %t240, ptr %t241 %t242 = load ptr, ptr %t236 %t243 = getelementptr inbounds %Cmp_Val, ptr %t242, i32 0, i32 0 %t244 = load ptr, ptr %t243 %t245 = call ptr @fn_rect_field(ptr %t244, i32 64) store ptr %t245, ptr %t246 %t247 = load ptr, ptr %t236 %t248 = getelementptr inbounds %Cmp_Val, ptr %t247, i32 0, i32 0 %t249 = load ptr, ptr %t248 %t250 = call ptr @fn_rect_field(ptr %t249, i32 32) store ptr %t250, ptr %t251 %t252 = load ptr, ptr %t236 %t253 = getelementptr inbounds %Cmp_Val, ptr %t252, i32 0, i32 0 %t254 = load ptr, ptr %t253 %t255 = call ptr @fn_rect_field(ptr %t254, i32 0) store ptr %t255, ptr %t256 %t257 = load ptr, ptr %t251 %t258 = call ptr @lp_str_concat(ptr @.str2802, ptr %t257) %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str2803) %t260 = call ptr @fn_emit_bind(ptr %t259) store ptr %t260, ptr %t261 %t262 = load ptr, ptr %t256 %t263 = call ptr @lp_str_concat(ptr @.str2804, ptr %t262) %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str2805) %t265 = call ptr @fn_emit_bind(ptr %t264) store ptr %t265, ptr %t266 %t267 = load ptr, ptr %t241 %t268 = call ptr @lp_str_concat(ptr @.str2806, ptr %t267) %t269 = call ptr @lp_str_concat(ptr %t268, ptr @.str2807) %t270 = load ptr, ptr %t261 %t271 = call ptr @lp_str_concat(ptr %t269, ptr %t270) %t272 = call ptr @fn_emit_bind(ptr %t271) store ptr %t272, ptr %t273 %t274 = load ptr, ptr %t246 %t275 = call ptr @lp_str_concat(ptr @.str2808, ptr %t274) %t276 = call ptr @lp_str_concat(ptr %t275, ptr @.str2809) %t277 = load ptr, ptr %t266 %t278 = call ptr @lp_str_concat(ptr %t276, ptr %t277) %t279 = call ptr @fn_emit_bind(ptr %t278) store ptr %t279, ptr %t280 %t281 = load ptr, ptr %t273 %t282 = load ptr, ptr %t280 %t283 = call ptr @fn_vec_pack(ptr %t281, ptr %t282) %t284 = call ptr @fn_val(ptr %t283, ptr @.str2810) store ptr %t284, ptr %retval br label %ret ifend43: %t285 = load ptr, ptr %t0 %t286 = call i32 @lp_str_eq(ptr %t285, ptr @.str2811) %t287 = icmp ne i32 %t286, 0 br i1 %t287, label %then46, label %ifend48 then46: %t288 = load ptr, ptr %t1 %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 7 %t290 = load ptr, ptr %t289 %t291 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 0 %t292 = load ptr, ptr %t291 %t293 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 1 %t294 = load i32, ptr %t293 %t295 = icmp ult i32 0, %t294 br i1 %t295, label %ixok49, label %ixbad50 ixbad50: %t296 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t296, ptr @.fmt_bounds, ptr @.str2812, i32 0, i32 %t294) call void @exit(i32 1) unreachable ixok49: %t297 = getelementptr inbounds ptr, ptr %t292, i32 0 %t298 = load ptr, ptr %t297 %t299 = call ptr @fn_emit_expr(ptr %t298) store ptr %t299, ptr %t300 %t301 = load ptr, ptr %t1 %t302 = getelementptr inbounds %Cmp_Node, ptr %t301, i32 0, i32 7 %t303 = load ptr, ptr %t302 %t304 = getelementptr inbounds %LSlice, ptr %t303, i32 0, i32 0 %t305 = load ptr, ptr %t304 %t306 = getelementptr inbounds %LSlice, ptr %t303, i32 0, i32 1 %t307 = load i32, ptr %t306 %t308 = icmp ult i32 1, %t307 br i1 %t308, label %ixok51, label %ixbad52 ixbad52: %t309 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t309, ptr @.fmt_bounds, ptr @.str2813, i32 1, i32 %t307) call void @exit(i32 1) unreachable ixok51: %t310 = getelementptr inbounds ptr, ptr %t305, i32 1 %t311 = load ptr, ptr %t310 %t312 = call ptr @fn_emit_expr(ptr %t311) store ptr %t312, ptr %t313 %t314 = load ptr, ptr %t1 %t315 = getelementptr inbounds %Cmp_Node, ptr %t314, i32 0, i32 7 %t316 = load ptr, ptr %t315 %t317 = getelementptr inbounds %LSlice, ptr %t316, i32 0, i32 0 %t318 = load ptr, ptr %t317 %t319 = getelementptr inbounds %LSlice, ptr %t316, i32 0, i32 1 %t320 = load i32, ptr %t319 %t321 = icmp ult i32 2, %t320 br i1 %t321, label %ixok53, label %ixbad54 ixbad54: %t322 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t322, ptr @.fmt_bounds, ptr @.str2814, i32 2, i32 %t320) call void @exit(i32 1) unreachable ixok53: %t323 = getelementptr inbounds ptr, ptr %t318, i32 2 %t324 = load ptr, ptr %t323 %t325 = call ptr @fn_emit_expr(ptr %t324) store ptr %t325, ptr %t326 %t327 = load ptr, ptr %t300 %t328 = getelementptr inbounds %Cmp_Val, ptr %t327, i32 0, i32 0 %t329 = load ptr, ptr %t328 %t330 = call ptr @fn_rect_field(ptr %t329, i32 96) store ptr %t330, ptr %t331 %t332 = load ptr, ptr %t300 %t333 = getelementptr inbounds %Cmp_Val, ptr %t332, i32 0, i32 0 %t334 = load ptr, ptr %t333 %t335 = call ptr @fn_rect_field(ptr %t334, i32 64) store ptr %t335, ptr %t336 %t337 = load ptr, ptr %t300 %t338 = getelementptr inbounds %Cmp_Val, ptr %t337, i32 0, i32 0 %t339 = load ptr, ptr %t338 %t340 = call ptr @fn_rect_field(ptr %t339, i32 32) store ptr %t340, ptr %t341 %t342 = load ptr, ptr %t300 %t343 = getelementptr inbounds %Cmp_Val, ptr %t342, i32 0, i32 0 %t344 = load ptr, ptr %t343 %t345 = call ptr @fn_rect_field(ptr %t344, i32 0) store ptr %t345, ptr %t346 %t347 = load ptr, ptr %t331 %t348 = call ptr @lp_str_concat(ptr @.str2815, ptr %t347) %t349 = call ptr @lp_str_concat(ptr %t348, ptr @.str2816) %t350 = load ptr, ptr %t341 %t351 = call ptr @lp_str_concat(ptr %t349, ptr %t350) %t352 = call ptr @fn_emit_bind(ptr %t351) store ptr %t352, ptr %t353 %t354 = load ptr, ptr %t336 %t355 = call ptr @lp_str_concat(ptr @.str2817, ptr %t354) %t356 = call ptr @lp_str_concat(ptr %t355, ptr @.str2818) %t357 = load ptr, ptr %t346 %t358 = call ptr @lp_str_concat(ptr %t356, ptr %t357) %t359 = call ptr @fn_emit_bind(ptr %t358) store ptr %t359, ptr %t360 %t361 = load ptr, ptr %t313 %t362 = getelementptr inbounds %Cmp_Val, ptr %t361, i32 0, i32 0 %t363 = load ptr, ptr %t362 %t364 = load ptr, ptr %t331 %t365 = call ptr @fn_rect_cmp(ptr @.str2819, ptr %t363, ptr %t364) store ptr %t365, ptr %t366 %t367 = load ptr, ptr %t313 %t368 = getelementptr inbounds %Cmp_Val, ptr %t367, i32 0, i32 0 %t369 = load ptr, ptr %t368 %t370 = load ptr, ptr %t353 %t371 = call ptr @fn_rect_cmp(ptr @.str2820, ptr %t369, ptr %t370) store ptr %t371, ptr %t372 %t373 = load ptr, ptr %t326 %t374 = getelementptr inbounds %Cmp_Val, ptr %t373, i32 0, i32 0 %t375 = load ptr, ptr %t374 %t376 = load ptr, ptr %t336 %t377 = call ptr @fn_rect_cmp(ptr @.str2821, ptr %t375, ptr %t376) store ptr %t377, ptr %t378 %t379 = load ptr, ptr %t326 %t380 = getelementptr inbounds %Cmp_Val, ptr %t379, i32 0, i32 0 %t381 = load ptr, ptr %t380 %t382 = load ptr, ptr %t360 %t383 = call ptr @fn_rect_cmp(ptr @.str2822, ptr %t381, ptr %t382) store ptr %t383, ptr %t384 %t385 = load ptr, ptr %t366 %t386 = call ptr @lp_str_concat(ptr @.str2823, ptr %t385) %t387 = call ptr @lp_str_concat(ptr %t386, ptr @.str2824) %t388 = load ptr, ptr %t372 %t389 = call ptr @lp_str_concat(ptr %t387, ptr %t388) %t390 = call ptr @fn_emit_bind(ptr %t389) store ptr %t390, ptr %t391 %t392 = load ptr, ptr %t378 %t393 = call ptr @lp_str_concat(ptr @.str2825, ptr %t392) %t394 = call ptr @lp_str_concat(ptr %t393, ptr @.str2826) %t395 = load ptr, ptr %t384 %t396 = call ptr @lp_str_concat(ptr %t394, ptr %t395) %t397 = call ptr @fn_emit_bind(ptr %t396) store ptr %t397, ptr %t398 %t399 = load ptr, ptr %t391 %t400 = call ptr @lp_str_concat(ptr @.str2827, ptr %t399) %t401 = call ptr @lp_str_concat(ptr %t400, ptr @.str2828) %t402 = load ptr, ptr %t398 %t403 = call ptr @lp_str_concat(ptr %t401, ptr %t402) %t404 = call ptr @fn_emit_bind(ptr %t403) %t405 = call ptr @fn_val(ptr %t404, ptr @.str2829) store ptr %t405, ptr %retval br label %ret ifend48: %t406 = load ptr, ptr %t1 %t407 = getelementptr inbounds %Cmp_Node, ptr %t406, i32 0, i32 7 %t408 = load ptr, ptr %t407 %t409 = getelementptr inbounds %LSlice, ptr %t408, i32 0, i32 0 %t410 = load ptr, ptr %t409 %t411 = getelementptr inbounds %LSlice, ptr %t408, i32 0, i32 1 %t412 = load i32, ptr %t411 %t413 = icmp ult i32 0, %t412 br i1 %t413, label %ixok55, label %ixbad56 ixbad56: %t414 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t414, ptr @.fmt_bounds, ptr @.str2830, i32 0, i32 %t412) call void @exit(i32 1) unreachable ixok55: %t415 = getelementptr inbounds ptr, ptr %t410, i32 0 %t416 = load ptr, ptr %t415 %t417 = call ptr @fn_emit_expr(ptr %t416) store ptr %t417, ptr %t418 %t419 = load ptr, ptr %t1 %t420 = getelementptr inbounds %Cmp_Node, ptr %t419, i32 0, i32 7 %t421 = load ptr, ptr %t420 %t422 = getelementptr inbounds %LSlice, ptr %t421, i32 0, i32 0 %t423 = load ptr, ptr %t422 %t424 = getelementptr inbounds %LSlice, ptr %t421, i32 0, i32 1 %t425 = load i32, ptr %t424 %t426 = icmp ult i32 1, %t425 br i1 %t426, label %ixok57, label %ixbad58 ixbad58: %t427 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t427, ptr @.fmt_bounds, ptr @.str2831, i32 1, i32 %t425) call void @exit(i32 1) unreachable ixok57: %t428 = getelementptr inbounds ptr, ptr %t423, i32 1 %t429 = load ptr, ptr %t428 %t430 = call ptr @fn_emit_expr(ptr %t429) store ptr %t430, ptr %t431 %t432 = load ptr, ptr %t418 %t433 = getelementptr inbounds %Cmp_Val, ptr %t432, i32 0, i32 0 %t434 = load ptr, ptr %t433 %t435 = call ptr @fn_rect_field(ptr %t434, i32 96) store ptr %t435, ptr %t436 %t437 = load ptr, ptr %t418 %t438 = getelementptr inbounds %Cmp_Val, ptr %t437, i32 0, i32 0 %t439 = load ptr, ptr %t438 %t440 = call ptr @fn_rect_field(ptr %t439, i32 64) store ptr %t440, ptr %t441 %t442 = load ptr, ptr %t418 %t443 = getelementptr inbounds %Cmp_Val, ptr %t442, i32 0, i32 0 %t444 = load ptr, ptr %t443 %t445 = call ptr @fn_rect_field(ptr %t444, i32 32) store ptr %t445, ptr %t446 %t447 = load ptr, ptr %t418 %t448 = getelementptr inbounds %Cmp_Val, ptr %t447, i32 0, i32 0 %t449 = load ptr, ptr %t448 %t450 = call ptr @fn_rect_field(ptr %t449, i32 0) store ptr %t450, ptr %t451 %t452 = load ptr, ptr %t431 %t453 = getelementptr inbounds %Cmp_Val, ptr %t452, i32 0, i32 0 %t454 = load ptr, ptr %t453 %t455 = call ptr @fn_rect_field(ptr %t454, i32 96) store ptr %t455, ptr %t456 %t457 = load ptr, ptr %t431 %t458 = getelementptr inbounds %Cmp_Val, ptr %t457, i32 0, i32 0 %t459 = load ptr, ptr %t458 %t460 = call ptr @fn_rect_field(ptr %t459, i32 64) store ptr %t460, ptr %t461 %t462 = load ptr, ptr %t431 %t463 = getelementptr inbounds %Cmp_Val, ptr %t462, i32 0, i32 0 %t464 = load ptr, ptr %t463 %t465 = call ptr @fn_rect_field(ptr %t464, i32 32) store ptr %t465, ptr %t466 %t467 = load ptr, ptr %t431 %t468 = getelementptr inbounds %Cmp_Val, ptr %t467, i32 0, i32 0 %t469 = load ptr, ptr %t468 %t470 = call ptr @fn_rect_field(ptr %t469, i32 0) store ptr %t470, ptr %t471 %t472 = load ptr, ptr %t436 %t473 = call ptr @lp_str_concat(ptr @.str2832, ptr %t472) %t474 = call ptr @lp_str_concat(ptr %t473, ptr @.str2833) %t475 = load ptr, ptr %t446 %t476 = call ptr @lp_str_concat(ptr %t474, ptr %t475) %t477 = call ptr @fn_emit_bind(ptr %t476) store ptr %t477, ptr %t478 %t479 = load ptr, ptr %t441 %t480 = call ptr @lp_str_concat(ptr @.str2834, ptr %t479) %t481 = call ptr @lp_str_concat(ptr %t480, ptr @.str2835) %t482 = load ptr, ptr %t451 %t483 = call ptr @lp_str_concat(ptr %t481, ptr %t482) %t484 = call ptr @fn_emit_bind(ptr %t483) store ptr %t484, ptr %t485 %t486 = load ptr, ptr %t456 %t487 = call ptr @lp_str_concat(ptr @.str2836, ptr %t486) %t488 = call ptr @lp_str_concat(ptr %t487, ptr @.str2837) %t489 = load ptr, ptr %t466 %t490 = call ptr @lp_str_concat(ptr %t488, ptr %t489) %t491 = call ptr @fn_emit_bind(ptr %t490) store ptr %t491, ptr %t492 %t493 = load ptr, ptr %t461 %t494 = call ptr @lp_str_concat(ptr @.str2838, ptr %t493) %t495 = call ptr @lp_str_concat(ptr %t494, ptr @.str2839) %t496 = load ptr, ptr %t471 %t497 = call ptr @lp_str_concat(ptr %t495, ptr %t496) %t498 = call ptr @fn_emit_bind(ptr %t497) store ptr %t498, ptr %t499 %t500 = load ptr, ptr %t436 %t501 = load ptr, ptr %t492 %t502 = call ptr @fn_rect_cmp(ptr @.str2840, ptr %t500, ptr %t501) store ptr %t502, ptr %t503 %t504 = load ptr, ptr %t456 %t505 = load ptr, ptr %t478 %t506 = call ptr @fn_rect_cmp(ptr @.str2841, ptr %t504, ptr %t505) store ptr %t506, ptr %t507 %t508 = load ptr, ptr %t441 %t509 = load ptr, ptr %t499 %t510 = call ptr @fn_rect_cmp(ptr @.str2842, ptr %t508, ptr %t509) store ptr %t510, ptr %t511 %t512 = load ptr, ptr %t461 %t513 = load ptr, ptr %t485 %t514 = call ptr @fn_rect_cmp(ptr @.str2843, ptr %t512, ptr %t513) store ptr %t514, ptr %t515 %t516 = load ptr, ptr %t503 %t517 = call ptr @lp_str_concat(ptr @.str2844, ptr %t516) %t518 = call ptr @lp_str_concat(ptr %t517, ptr @.str2845) %t519 = load ptr, ptr %t507 %t520 = call ptr @lp_str_concat(ptr %t518, ptr %t519) %t521 = call ptr @fn_emit_bind(ptr %t520) store ptr %t521, ptr %t522 %t523 = load ptr, ptr %t511 %t524 = call ptr @lp_str_concat(ptr @.str2846, ptr %t523) %t525 = call ptr @lp_str_concat(ptr %t524, ptr @.str2847) %t526 = load ptr, ptr %t515 %t527 = call ptr @lp_str_concat(ptr %t525, ptr %t526) %t528 = call ptr @fn_emit_bind(ptr %t527) store ptr %t528, ptr %t529 %t530 = load ptr, ptr %t522 %t531 = call ptr @lp_str_concat(ptr @.str2848, ptr %t530) %t532 = call ptr @lp_str_concat(ptr %t531, ptr @.str2849) %t533 = load ptr, ptr %t529 %t534 = call ptr @lp_str_concat(ptr %t532, ptr %t533) %t535 = call ptr @fn_emit_bind(ptr %t534) %t536 = call ptr @fn_val(ptr %t535, ptr @.str2850) store ptr %t536, ptr %retval br label %ret ret: %t537 = load ptr, ptr %retval ret ptr %t537 } define i32 @fn_is_text_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t20 = alloca i32 %t21 = alloca i32 %t22 = alloca i32 %t50 = alloca i32 %t61 = alloca i32 %t72 = alloca i32 %t73 = alloca i32 %t74 = alloca i32 %t99 = alloca i32 %t110 = alloca i32 %t111 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str2851) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str2852) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str2853) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str2854) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t22 br i1 %t25, label %scend8, label %sc7 sc7: %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str2855) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t22 br label %scend8 scend8: %t31 = load i32, ptr %t22 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t21 br i1 %t32, label %scend10, label %sc9 sc9: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str2856) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t21 br label %scend10 scend10: %t38 = load i32, ptr %t21 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t20 br i1 %t39, label %scend12, label %sc11 sc11: %t41 = load ptr, ptr %t0 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str2857) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t20 br label %scend12 scend12: %t45 = load i32, ptr %t20 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then13, label %ifend15 then13: store i32 1, ptr %retval br label %ret ifend15: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str2858) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then16, label %ifend18 then16: store i32 1, ptr %retval br label %ret ifend18: %t51 = load ptr, ptr %t0 %t52 = call i32 @lp_str_eq(ptr %t51, ptr @.str2859) %t53 = icmp ne i32 %t52, 0 %t54 = zext i1 %t53 to i32 store i32 %t54, ptr %t50 br i1 %t53, label %scend20, label %sc19 sc19: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str2860) %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t50 br label %scend20 scend20: %t59 = load i32, ptr %t50 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then21, label %ifend23 then21: store i32 1, ptr %retval br label %ret ifend23: %t62 = load ptr, ptr %t0 %t63 = call i32 @lp_str_eq(ptr %t62, ptr @.str2861) %t64 = icmp ne i32 %t63, 0 %t65 = zext i1 %t64 to i32 store i32 %t65, ptr %t61 br i1 %t64, label %scend25, label %sc24 sc24: %t66 = load ptr, ptr %t0 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str2862) %t68 = icmp ne i32 %t67, 0 %t69 = zext i1 %t68 to i32 store i32 %t69, ptr %t61 br label %scend25 scend25: %t70 = load i32, ptr %t61 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then26, label %ifend28 then26: store i32 1, ptr %retval br label %ret ifend28: %t75 = load ptr, ptr %t0 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str2863) %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t74 br i1 %t77, label %scend30, label %sc29 sc29: %t79 = load ptr, ptr %t0 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str2864) %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t74 br label %scend30 scend30: %t83 = load i32, ptr %t74 %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t73 br i1 %t84, label %scend32, label %sc31 sc31: %t86 = load ptr, ptr %t0 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str2865) %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t73 br label %scend32 scend32: %t90 = load i32, ptr %t73 %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t72 br i1 %t91, label %scend34, label %sc33 sc33: %t93 = load ptr, ptr %t0 %t94 = call i32 @lp_str_eq(ptr %t93, ptr @.str2866) %t95 = icmp ne i32 %t94, 0 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr %t72 br label %scend34 scend34: %t97 = load i32, ptr %t72 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then35, label %ifend37 then35: store i32 1, ptr %retval br label %ret ifend37: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str2867) %t102 = icmp ne i32 %t101, 0 %t103 = zext i1 %t102 to i32 store i32 %t103, ptr %t99 br i1 %t102, label %scend39, label %sc38 sc38: %t104 = load ptr, ptr %t0 %t105 = call i32 @lp_str_eq(ptr %t104, ptr @.str2868) %t106 = icmp ne i32 %t105, 0 %t107 = zext i1 %t106 to i32 store i32 %t107, ptr %t99 br label %scend39 scend39: %t108 = load i32, ptr %t99 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then40, label %ifend42 then40: store i32 1, ptr %retval br label %ret ifend42: %t112 = load ptr, ptr %t0 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str2869) %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t111 br i1 %t114, label %scend44, label %sc43 sc43: %t116 = load ptr, ptr %t0 %t117 = call i32 @lp_str_eq(ptr %t116, ptr @.str2870) %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t111 br label %scend44 scend44: %t120 = load i32, ptr %t111 %t121 = icmp ne i32 %t120, 0 %t122 = zext i1 %t121 to i32 store i32 %t122, ptr %t110 br i1 %t121, label %scend46, label %sc45 sc45: %t123 = load ptr, ptr %t0 %t124 = call i32 @lp_str_eq(ptr %t123, ptr @.str2871) %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t110 br label %scend46 scend46: %t127 = load i32, ptr %t110 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then47, label %ifend49 then47: store i32 1, ptr %retval br label %ret ifend49: store i32 0, ptr %retval br label %ret ret: %t129 = load i32, ptr %retval ret i32 %t129 } define ptr @fn_emit_text_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t40 = alloca ptr %t53 = alloca ptr %t66 = alloca ptr %t99 = alloca ptr %t112 = alloca ptr %t140 = alloca ptr %t153 = alloca ptr %t178 = alloca ptr %t188 = alloca ptr %t209 = alloca ptr %t220 = alloca ptr %t224 = alloca ptr %t239 = alloca ptr %t300 = alloca ptr %t328 = alloca ptr %t356 = alloca ptr %t384 = alloca ptr %t397 = alloca ptr %t430 = alloca ptr %t458 = alloca ptr %t471 = alloca i32 %t494 = alloca ptr %t506 = alloca ptr %t514 = alloca ptr %t524 = alloca ptr %t529 = alloca ptr %t536 = alloca ptr %t543 = alloca ptr %t548 = alloca ptr %t568 = alloca ptr %t575 = alloca ptr %t593 = alloca ptr %t598 = alloca ptr %t610 = alloca ptr %t617 = alloca ptr %t619 = alloca ptr %t625 = alloca ptr %t627 = alloca ptr %t629 = alloca ptr %t642 = alloca ptr %t655 = alloca ptr %t660 = alloca ptr %t665 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str2872) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str2873, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 store i32 1, ptr @g_g_uses_intstr %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @lp_str_concat(ptr @.str2874, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str2875) %t23 = call ptr @fn_emit_bind(ptr %t22) %t24 = call ptr @fn_val(ptr %t23, ptr @.str2876) store ptr %t24, ptr %retval br label %ret ifend2: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str2877) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: %t28 = load ptr, ptr %t1 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 0, %t34 br i1 %t35, label %ixok8, label %ixbad9 ixbad9: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str2878, i32 0, i32 %t34) call void @exit(i32 1) unreachable ixok8: %t37 = getelementptr inbounds ptr, ptr %t32, i32 0 %t38 = load ptr, ptr %t37 %t39 = call ptr @fn_emit_expr(ptr %t38) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t1 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 7 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 1, %t47 br i1 %t48, label %ixok10, label %ixbad11 ixbad11: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str2879, i32 1, i32 %t47) call void @exit(i32 1) unreachable ixok10: %t50 = getelementptr inbounds ptr, ptr %t45, i32 1 %t51 = load ptr, ptr %t50 %t52 = call ptr @fn_emit_expr(ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t1 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 7 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp ult i32 2, %t60 br i1 %t61, label %ixok12, label %ixbad13 ixbad13: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str2880, i32 2, i32 %t60) call void @exit(i32 1) unreachable ixok12: %t63 = getelementptr inbounds ptr, ptr %t58, i32 2 %t64 = load ptr, ptr %t63 %t65 = call ptr @fn_emit_expr(ptr %t64) store ptr %t65, ptr %t66 store i32 1, ptr @g_g_uses_strslice %t67 = load ptr, ptr %t40 %t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = call ptr @lp_str_concat(ptr @.str2881, ptr %t69) %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str2882) %t72 = load ptr, ptr %t53 %t73 = getelementptr inbounds %Cmp_Val, ptr %t72, i32 0, i32 0 %t74 = load ptr, ptr %t73 %t75 = call ptr @lp_str_concat(ptr %t71, ptr %t74) %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str2883) %t77 = load ptr, ptr %t66 %t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = call ptr @lp_str_concat(ptr %t76, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str2884) %t82 = call ptr @fn_emit_bind(ptr %t81) %t83 = call ptr @fn_val(ptr %t82, ptr @.str2885) store ptr %t83, ptr %retval br label %ret ifend7: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str2886) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then14, label %ifend16 then14: %t87 = load ptr, ptr %t1 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 7 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t91 = load ptr, ptr %t90 %t92 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t93 = load i32, ptr %t92 %t94 = icmp ult i32 0, %t93 br i1 %t94, label %ixok17, label %ixbad18 ixbad18: %t95 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str2887, i32 0, i32 %t93) call void @exit(i32 1) unreachable ixok17: %t96 = getelementptr inbounds ptr, ptr %t91, i32 0 %t97 = load ptr, ptr %t96 %t98 = call ptr @fn_emit_expr(ptr %t97) store ptr %t98, ptr %t99 %t100 = load ptr, ptr %t1 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 7 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t106 = load i32, ptr %t105 %t107 = icmp ult i32 1, %t106 br i1 %t107, label %ixok19, label %ixbad20 ixbad20: %t108 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str2888, i32 1, i32 %t106) call void @exit(i32 1) unreachable ixok19: %t109 = getelementptr inbounds ptr, ptr %t104, i32 1 %t110 = load ptr, ptr %t109 %t111 = call ptr @fn_emit_expr(ptr %t110) store ptr %t111, ptr %t112 store i32 1, ptr @g_g_uses_str %t113 = load ptr, ptr %t99 %t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = call ptr @lp_str_concat(ptr @.str2889, ptr %t115) %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str2890) %t118 = load ptr, ptr %t112 %t119 = getelementptr inbounds %Cmp_Val, ptr %t118, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = call ptr @lp_str_concat(ptr %t117, ptr %t120) %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str2891) %t123 = call ptr @fn_emit_bind(ptr %t122) %t124 = call ptr @fn_val(ptr %t123, ptr @.str2892) store ptr %t124, ptr %retval br label %ret ifend16: %t125 = load ptr, ptr %t0 %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str2893) %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then21, label %ifend23 then21: %t128 = load ptr, ptr %t1 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 7 %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t134 = load i32, ptr %t133 %t135 = icmp ult i32 0, %t134 br i1 %t135, label %ixok24, label %ixbad25 ixbad25: %t136 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t136, ptr @.fmt_bounds, ptr @.str2894, i32 0, i32 %t134) call void @exit(i32 1) unreachable ixok24: %t137 = getelementptr inbounds ptr, ptr %t132, i32 0 %t138 = load ptr, ptr %t137 %t139 = call ptr @fn_emit_expr(ptr %t138) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t1 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 7 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t145 = load ptr, ptr %t144 %t146 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t147 = load i32, ptr %t146 %t148 = icmp ult i32 1, %t147 br i1 %t148, label %ixok26, label %ixbad27 ixbad27: %t149 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str2895, i32 1, i32 %t147) call void @exit(i32 1) unreachable ixok26: %t150 = getelementptr inbounds ptr, ptr %t145, i32 1 %t151 = load ptr, ptr %t150 %t152 = call ptr @fn_emit_expr(ptr %t151) store ptr %t152, ptr %t153 store i32 1, ptr @g_g_uses_str %t154 = load ptr, ptr %t140 %t155 = getelementptr inbounds %Cmp_Val, ptr %t154, i32 0, i32 0 %t156 = load ptr, ptr %t155 %t157 = call ptr @lp_str_concat(ptr @.str2896, ptr %t156) %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str2897) %t159 = load ptr, ptr %t153 %t160 = getelementptr inbounds %Cmp_Val, ptr %t159, i32 0, i32 0 %t161 = load ptr, ptr %t160 %t162 = call ptr @lp_str_concat(ptr %t158, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str2898) %t164 = call ptr @fn_emit_bind(ptr %t163) %t165 = call ptr @fn_val(ptr %t164, ptr @.str2899) store ptr %t165, ptr %retval br label %ret ifend23: %t166 = load ptr, ptr %t1 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 7 %t168 = load ptr, ptr %t167 %t169 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 0 %t170 = load ptr, ptr %t169 %t171 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 1 %t172 = load i32, ptr %t171 %t173 = icmp ult i32 0, %t172 br i1 %t173, label %ixok28, label %ixbad29 ixbad29: %t174 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t174, ptr @.fmt_bounds, ptr @.str2900, i32 0, i32 %t172) call void @exit(i32 1) unreachable ixok28: %t175 = getelementptr inbounds ptr, ptr %t170, i32 0 %t176 = load ptr, ptr %t175 %t177 = call ptr @fn_emit_expr(ptr %t176) store ptr %t177, ptr %t178 %t179 = load ptr, ptr %t0 %t180 = call i32 @lp_str_eq(ptr %t179, ptr @.str2901) %t181 = icmp ne i32 %t180, 0 br i1 %t181, label %then30, label %ifend32 then30: %t182 = load ptr, ptr %t178 %t183 = getelementptr inbounds %Cmp_Val, ptr %t182, i32 0, i32 0 %t184 = load ptr, ptr %t183 %t185 = call ptr @lp_str_concat(ptr @.str2902, ptr %t184) %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str2903) %t187 = call ptr @fn_emit_bind(ptr %t186) store ptr %t187, ptr %t188 %t189 = load ptr, ptr %t188 %t190 = call ptr @lp_str_concat(ptr @.str2904, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str2905) %t192 = call ptr @fn_emit_bind(ptr %t191) %t193 = call ptr @fn_val(ptr %t192, ptr @.str2906) store ptr %t193, ptr %retval br label %ret ifend32: %t194 = load ptr, ptr %t0 %t195 = call i32 @lp_str_eq(ptr %t194, ptr @.str2907) %t196 = icmp ne i32 %t195, 0 br i1 %t196, label %then33, label %ifend35 then33: %t197 = load ptr, ptr %t1 %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 7 %t199 = load ptr, ptr %t198 %t200 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 0 %t201 = load ptr, ptr %t200 %t202 = getelementptr inbounds %LSlice, ptr %t199, i32 0, i32 1 %t203 = load i32, ptr %t202 %t204 = icmp ult i32 1, %t203 br i1 %t204, label %ixok36, label %ixbad37 ixbad37: %t205 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str2908, i32 1, i32 %t203) call void @exit(i32 1) unreachable ixok36: %t206 = getelementptr inbounds ptr, ptr %t201, i32 1 %t207 = load ptr, ptr %t206 %t208 = call ptr @fn_emit_expr(ptr %t207) store ptr %t208, ptr %t209 %t210 = load ptr, ptr %t178 %t211 = getelementptr inbounds %Cmp_Val, ptr %t210, i32 0, i32 0 %t212 = load ptr, ptr %t211 %t213 = call ptr @lp_str_concat(ptr @.str2909, ptr %t212) %t214 = call ptr @lp_str_concat(ptr %t213, ptr @.str2910) %t215 = load ptr, ptr %t209 %t216 = getelementptr inbounds %Cmp_Val, ptr %t215, i32 0, i32 0 %t217 = load ptr, ptr %t216 %t218 = call ptr @lp_str_concat(ptr %t214, ptr %t217) %t219 = call ptr @fn_emit_bind(ptr %t218) store ptr %t219, ptr %t220 %t221 = load ptr, ptr %t220 %t222 = call ptr @lp_str_concat(ptr @.str2911, ptr %t221) %t223 = call ptr @fn_emit_bind(ptr %t222) store ptr %t223, ptr %t224 %t225 = load ptr, ptr %t224 %t226 = call ptr @lp_str_concat(ptr @.str2912, ptr %t225) %t227 = call ptr @lp_str_concat(ptr %t226, ptr @.str2913) %t228 = call ptr @fn_emit_bind(ptr %t227) %t229 = call ptr @fn_val(ptr %t228, ptr @.str2914) store ptr %t229, ptr %retval br label %ret ifend35: %t230 = load ptr, ptr %t0 %t231 = call i32 @lp_str_eq(ptr %t230, ptr @.str2915) %t232 = icmp ne i32 %t231, 0 br i1 %t232, label %then38, label %ifend40 then38: call void @fn_fp_declare(ptr @.str2916) %t233 = load ptr, ptr %t178 %t234 = getelementptr inbounds %Cmp_Val, ptr %t233, i32 0, i32 0 %t235 = load ptr, ptr %t234 %t236 = call ptr @lp_str_concat(ptr @.str2917, ptr %t235) %t237 = call ptr @lp_str_concat(ptr %t236, ptr @.str2918) %t238 = call ptr @fn_emit_bind(ptr %t237) store ptr %t238, ptr %t239 %t240 = load ptr, ptr %t239 %t241 = call ptr @lp_str_concat(ptr @.str2919, ptr %t240) %t242 = call ptr @lp_str_concat(ptr %t241, ptr @.str2920) %t243 = call ptr @fn_emit_bind(ptr %t242) %t244 = call ptr @fn_val(ptr %t243, ptr @.str2921) store ptr %t244, ptr %retval br label %ret ifend40: %t245 = load ptr, ptr %t0 %t246 = call i32 @lp_str_eq(ptr %t245, ptr @.str2922) %t247 = icmp ne i32 %t246, 0 br i1 %t247, label %then41, label %ifend43 then41: %t248 = load ptr, ptr %t178 %t249 = getelementptr inbounds %Cmp_Val, ptr %t248, i32 0, i32 0 %t250 = load ptr, ptr %t249 %t251 = call ptr @lp_str_concat(ptr @.str2923, ptr %t250) %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str2924) %t253 = call ptr @fn_emit_bind(ptr %t252) %t254 = call ptr @fn_val(ptr %t253, ptr @.str2925) store ptr %t254, ptr %retval br label %ret ifend43: %t255 = load ptr, ptr %t0 %t256 = call i32 @lp_str_eq(ptr %t255, ptr @.str2926) %t257 = icmp ne i32 %t256, 0 br i1 %t257, label %then44, label %ifend46 then44: store i32 1, ptr @g_g_uses_textrt %t258 = load ptr, ptr %t178 %t259 = getelementptr inbounds %Cmp_Val, ptr %t258, i32 0, i32 0 %t260 = load ptr, ptr %t259 %t261 = call ptr @lp_str_concat(ptr @.str2927, ptr %t260) %t262 = call ptr @lp_str_concat(ptr %t261, ptr @.str2928) %t263 = call ptr @fn_emit_bind(ptr %t262) %t264 = call ptr @fn_val(ptr %t263, ptr @.str2929) store ptr %t264, ptr %retval br label %ret ifend46: %t265 = load ptr, ptr %t0 %t266 = call i32 @lp_str_eq(ptr %t265, ptr @.str2930) %t267 = icmp ne i32 %t266, 0 br i1 %t267, label %then47, label %ifend49 then47: store i32 1, ptr @g_g_uses_textrt %t268 = load ptr, ptr %t178 %t269 = getelementptr inbounds %Cmp_Val, ptr %t268, i32 0, i32 0 %t270 = load ptr, ptr %t269 %t271 = call ptr @lp_str_concat(ptr @.str2931, ptr %t270) %t272 = call ptr @lp_str_concat(ptr %t271, ptr @.str2932) %t273 = call ptr @fn_emit_bind(ptr %t272) %t274 = call ptr @fn_val(ptr %t273, ptr @.str2933) store ptr %t274, ptr %retval br label %ret ifend49: %t275 = load ptr, ptr %t0 %t276 = call i32 @lp_str_eq(ptr %t275, ptr @.str2934) %t277 = icmp ne i32 %t276, 0 br i1 %t277, label %then50, label %ifend52 then50: store i32 1, ptr @g_g_uses_textrt %t278 = load ptr, ptr %t178 %t279 = getelementptr inbounds %Cmp_Val, ptr %t278, i32 0, i32 0 %t280 = load ptr, ptr %t279 %t281 = call ptr @lp_str_concat(ptr @.str2935, ptr %t280) %t282 = call ptr @lp_str_concat(ptr %t281, ptr @.str2936) %t283 = call ptr @fn_emit_bind(ptr %t282) %t284 = call ptr @fn_val(ptr %t283, ptr @.str2937) store ptr %t284, ptr %retval br label %ret ifend52: %t285 = load ptr, ptr %t0 %t286 = call i32 @lp_str_eq(ptr %t285, ptr @.str2938) %t287 = icmp ne i32 %t286, 0 br i1 %t287, label %then53, label %ifend55 then53: store i32 1, ptr @g_g_uses_textrt %t288 = load ptr, ptr %t1 %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 7 %t290 = load ptr, ptr %t289 %t291 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 0 %t292 = load ptr, ptr %t291 %t293 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 1 %t294 = load i32, ptr %t293 %t295 = icmp ult i32 1, %t294 br i1 %t295, label %ixok56, label %ixbad57 ixbad57: %t296 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t296, ptr @.fmt_bounds, ptr @.str2939, i32 1, i32 %t294) call void @exit(i32 1) unreachable ixok56: %t297 = getelementptr inbounds ptr, ptr %t292, i32 1 %t298 = load ptr, ptr %t297 %t299 = call ptr @fn_emit_expr(ptr %t298) store ptr %t299, ptr %t300 %t301 = load ptr, ptr %t178 %t302 = getelementptr inbounds %Cmp_Val, ptr %t301, i32 0, i32 0 %t303 = load ptr, ptr %t302 %t304 = call ptr @lp_str_concat(ptr @.str2940, ptr %t303) %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str2941) %t306 = load ptr, ptr %t300 %t307 = getelementptr inbounds %Cmp_Val, ptr %t306, i32 0, i32 0 %t308 = load ptr, ptr %t307 %t309 = call ptr @lp_str_concat(ptr %t305, ptr %t308) %t310 = call ptr @lp_str_concat(ptr %t309, ptr @.str2942) %t311 = call ptr @fn_emit_bind(ptr %t310) %t312 = call ptr @fn_val(ptr %t311, ptr @.str2943) store ptr %t312, ptr %retval br label %ret ifend55: %t313 = load ptr, ptr %t0 %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str2944) %t315 = icmp ne i32 %t314, 0 br i1 %t315, label %then58, label %ifend60 then58: store i32 1, ptr @g_g_uses_textrt %t316 = load ptr, ptr %t1 %t317 = getelementptr inbounds %Cmp_Node, ptr %t316, i32 0, i32 7 %t318 = load ptr, ptr %t317 %t319 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 0 %t320 = load ptr, ptr %t319 %t321 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 1 %t322 = load i32, ptr %t321 %t323 = icmp ult i32 1, %t322 br i1 %t323, label %ixok61, label %ixbad62 ixbad62: %t324 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t324, ptr @.fmt_bounds, ptr @.str2945, i32 1, i32 %t322) call void @exit(i32 1) unreachable ixok61: %t325 = getelementptr inbounds ptr, ptr %t320, i32 1 %t326 = load ptr, ptr %t325 %t327 = call ptr @fn_emit_expr(ptr %t326) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t178 %t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0 %t331 = load ptr, ptr %t330 %t332 = call ptr @lp_str_concat(ptr @.str2946, ptr %t331) %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str2947) %t334 = load ptr, ptr %t328 %t335 = getelementptr inbounds %Cmp_Val, ptr %t334, i32 0, i32 0 %t336 = load ptr, ptr %t335 %t337 = call ptr @lp_str_concat(ptr %t333, ptr %t336) %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str2948) %t339 = call ptr @fn_emit_bind(ptr %t338) %t340 = call ptr @fn_val(ptr %t339, ptr @.str2949) store ptr %t340, ptr %retval br label %ret ifend60: %t341 = load ptr, ptr %t0 %t342 = call i32 @lp_str_eq(ptr %t341, ptr @.str2950) %t343 = icmp ne i32 %t342, 0 br i1 %t343, label %then63, label %ifend65 then63: store i32 1, ptr @g_g_uses_textrt %t344 = load ptr, ptr %t1 %t345 = getelementptr inbounds %Cmp_Node, ptr %t344, i32 0, i32 7 %t346 = load ptr, ptr %t345 %t347 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 0 %t348 = load ptr, ptr %t347 %t349 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 1 %t350 = load i32, ptr %t349 %t351 = icmp ult i32 1, %t350 br i1 %t351, label %ixok66, label %ixbad67 ixbad67: %t352 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t352, ptr @.fmt_bounds, ptr @.str2951, i32 1, i32 %t350) call void @exit(i32 1) unreachable ixok66: %t353 = getelementptr inbounds ptr, ptr %t348, i32 1 %t354 = load ptr, ptr %t353 %t355 = call ptr @fn_emit_expr(ptr %t354) store ptr %t355, ptr %t356 %t357 = load ptr, ptr %t178 %t358 = getelementptr inbounds %Cmp_Val, ptr %t357, i32 0, i32 0 %t359 = load ptr, ptr %t358 %t360 = call ptr @lp_str_concat(ptr @.str2952, ptr %t359) %t361 = call ptr @lp_str_concat(ptr %t360, ptr @.str2953) %t362 = load ptr, ptr %t356 %t363 = getelementptr inbounds %Cmp_Val, ptr %t362, i32 0, i32 0 %t364 = load ptr, ptr %t363 %t365 = call ptr @lp_str_concat(ptr %t361, ptr %t364) %t366 = call ptr @lp_str_concat(ptr %t365, ptr @.str2954) %t367 = call ptr @fn_emit_bind(ptr %t366) %t368 = call ptr @fn_val(ptr %t367, ptr @.str2955) store ptr %t368, ptr %retval br label %ret ifend65: %t369 = load ptr, ptr %t0 %t370 = call i32 @lp_str_eq(ptr %t369, ptr @.str2956) %t371 = icmp ne i32 %t370, 0 br i1 %t371, label %then68, label %ifend70 then68: store i32 1, ptr @g_g_uses_textrt2 %t372 = load ptr, ptr %t1 %t373 = getelementptr inbounds %Cmp_Node, ptr %t372, i32 0, i32 7 %t374 = load ptr, ptr %t373 %t375 = getelementptr inbounds %LSlice, ptr %t374, i32 0, i32 0 %t376 = load ptr, ptr %t375 %t377 = getelementptr inbounds %LSlice, ptr %t374, i32 0, i32 1 %t378 = load i32, ptr %t377 %t379 = icmp ult i32 1, %t378 br i1 %t379, label %ixok71, label %ixbad72 ixbad72: %t380 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t380, ptr @.fmt_bounds, ptr @.str2957, i32 1, i32 %t378) call void @exit(i32 1) unreachable ixok71: %t381 = getelementptr inbounds ptr, ptr %t376, i32 1 %t382 = load ptr, ptr %t381 %t383 = call ptr @fn_emit_expr(ptr %t382) store ptr %t383, ptr %t384 %t385 = load ptr, ptr %t1 %t386 = getelementptr inbounds %Cmp_Node, ptr %t385, i32 0, i32 7 %t387 = load ptr, ptr %t386 %t388 = getelementptr inbounds %LSlice, ptr %t387, i32 0, i32 0 %t389 = load ptr, ptr %t388 %t390 = getelementptr inbounds %LSlice, ptr %t387, i32 0, i32 1 %t391 = load i32, ptr %t390 %t392 = icmp ult i32 2, %t391 br i1 %t392, label %ixok73, label %ixbad74 ixbad74: %t393 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t393, ptr @.fmt_bounds, ptr @.str2958, i32 2, i32 %t391) call void @exit(i32 1) unreachable ixok73: %t394 = getelementptr inbounds ptr, ptr %t389, i32 2 %t395 = load ptr, ptr %t394 %t396 = call ptr @fn_emit_expr(ptr %t395) store ptr %t396, ptr %t397 %t398 = load ptr, ptr %t178 %t399 = getelementptr inbounds %Cmp_Val, ptr %t398, i32 0, i32 0 %t400 = load ptr, ptr %t399 %t401 = call ptr @lp_str_concat(ptr @.str2959, ptr %t400) %t402 = call ptr @lp_str_concat(ptr %t401, ptr @.str2960) %t403 = load ptr, ptr %t384 %t404 = getelementptr inbounds %Cmp_Val, ptr %t403, i32 0, i32 0 %t405 = load ptr, ptr %t404 %t406 = call ptr @lp_str_concat(ptr %t402, ptr %t405) %t407 = call ptr @lp_str_concat(ptr %t406, ptr @.str2961) %t408 = load ptr, ptr %t397 %t409 = getelementptr inbounds %Cmp_Val, ptr %t408, i32 0, i32 0 %t410 = load ptr, ptr %t409 %t411 = call ptr @lp_str_concat(ptr %t407, ptr %t410) %t412 = call ptr @lp_str_concat(ptr %t411, ptr @.str2962) %t413 = call ptr @fn_emit_bind(ptr %t412) %t414 = call ptr @fn_val(ptr %t413, ptr @.str2963) store ptr %t414, ptr %retval br label %ret ifend70: %t415 = load ptr, ptr %t0 %t416 = call i32 @lp_str_eq(ptr %t415, ptr @.str2964) %t417 = icmp ne i32 %t416, 0 br i1 %t417, label %then75, label %ifend77 then75: store i32 1, ptr @g_g_uses_textrt2 %t418 = load ptr, ptr %t1 %t419 = getelementptr inbounds %Cmp_Node, ptr %t418, i32 0, i32 7 %t420 = load ptr, ptr %t419 %t421 = getelementptr inbounds %LSlice, ptr %t420, i32 0, i32 0 %t422 = load ptr, ptr %t421 %t423 = getelementptr inbounds %LSlice, ptr %t420, i32 0, i32 1 %t424 = load i32, ptr %t423 %t425 = icmp ult i32 1, %t424 br i1 %t425, label %ixok78, label %ixbad79 ixbad79: %t426 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t426, ptr @.fmt_bounds, ptr @.str2965, i32 1, i32 %t424) call void @exit(i32 1) unreachable ixok78: %t427 = getelementptr inbounds ptr, ptr %t422, i32 1 %t428 = load ptr, ptr %t427 %t429 = call ptr @fn_emit_expr(ptr %t428) store ptr %t429, ptr %t430 %t431 = load ptr, ptr %t178 %t432 = getelementptr inbounds %Cmp_Val, ptr %t431, i32 0, i32 0 %t433 = load ptr, ptr %t432 %t434 = call ptr @lp_str_concat(ptr @.str2966, ptr %t433) %t435 = call ptr @lp_str_concat(ptr %t434, ptr @.str2967) %t436 = load ptr, ptr %t430 %t437 = getelementptr inbounds %Cmp_Val, ptr %t436, i32 0, i32 0 %t438 = load ptr, ptr %t437 %t439 = call ptr @lp_str_concat(ptr %t435, ptr %t438) %t440 = call ptr @lp_str_concat(ptr %t439, ptr @.str2968) %t441 = call ptr @fn_emit_bind(ptr %t440) %t442 = call ptr @fn_val(ptr %t441, ptr @.str2969) store ptr %t442, ptr %retval br label %ret ifend77: %t443 = load ptr, ptr %t0 %t444 = call i32 @lp_str_eq(ptr %t443, ptr @.str2970) %t445 = icmp ne i32 %t444, 0 br i1 %t445, label %then80, label %ifend82 then80: store i32 1, ptr @g_g_uses_textrt2 %t446 = load ptr, ptr %t1 %t447 = getelementptr inbounds %Cmp_Node, ptr %t446, i32 0, i32 7 %t448 = load ptr, ptr %t447 %t449 = getelementptr inbounds %LSlice, ptr %t448, i32 0, i32 0 %t450 = load ptr, ptr %t449 %t451 = getelementptr inbounds %LSlice, ptr %t448, i32 0, i32 1 %t452 = load i32, ptr %t451 %t453 = icmp ult i32 1, %t452 br i1 %t453, label %ixok83, label %ixbad84 ixbad84: %t454 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t454, ptr @.fmt_bounds, ptr @.str2971, i32 1, i32 %t452) call void @exit(i32 1) unreachable ixok83: %t455 = getelementptr inbounds ptr, ptr %t450, i32 1 %t456 = load ptr, ptr %t455 %t457 = call ptr @fn_emit_expr(ptr %t456) store ptr %t457, ptr %t458 %t459 = load ptr, ptr %t178 %t460 = getelementptr inbounds %Cmp_Val, ptr %t459, i32 0, i32 0 %t461 = load ptr, ptr %t460 %t462 = call ptr @lp_str_concat(ptr @.str2972, ptr %t461) %t463 = call ptr @lp_str_concat(ptr %t462, ptr @.str2973) %t464 = load ptr, ptr %t458 %t465 = getelementptr inbounds %Cmp_Val, ptr %t464, i32 0, i32 0 %t466 = load ptr, ptr %t465 %t467 = call ptr @lp_str_concat(ptr %t463, ptr %t466) %t468 = call ptr @lp_str_concat(ptr %t467, ptr @.str2974) %t469 = call ptr @fn_emit_bind(ptr %t468) %t470 = call ptr @fn_val(ptr %t469, ptr @.str2975) store ptr %t470, ptr %retval br label %ret ifend82: %t472 = load ptr, ptr %t0 %t473 = call i32 @lp_str_eq(ptr %t472, ptr @.str2976) %t474 = icmp ne i32 %t473, 0 %t475 = zext i1 %t474 to i32 store i32 %t475, ptr %t471 br i1 %t474, label %scend86, label %sc85 sc85: %t476 = load ptr, ptr %t0 %t477 = call i32 @lp_str_eq(ptr %t476, ptr @.str2977) %t478 = icmp ne i32 %t477, 0 %t479 = zext i1 %t478 to i32 store i32 %t479, ptr %t471 br label %scend86 scend86: %t480 = load i32, ptr %t471 %t481 = icmp ne i32 %t480, 0 br i1 %t481, label %then87, label %ifend89 then87: %t482 = load ptr, ptr %t1 %t483 = getelementptr inbounds %Cmp_Node, ptr %t482, i32 0, i32 7 %t484 = load ptr, ptr %t483 %t485 = getelementptr inbounds %LSlice, ptr %t484, i32 0, i32 0 %t486 = load ptr, ptr %t485 %t487 = getelementptr inbounds %LSlice, ptr %t484, i32 0, i32 1 %t488 = load i32, ptr %t487 %t489 = icmp ult i32 1, %t488 br i1 %t489, label %ixok90, label %ixbad91 ixbad91: %t490 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t490, ptr @.fmt_bounds, ptr @.str2978, i32 1, i32 %t488) call void @exit(i32 1) unreachable ixok90: %t491 = getelementptr inbounds ptr, ptr %t486, i32 1 %t492 = load ptr, ptr %t491 %t493 = call ptr @fn_emit_expr(ptr %t492) store ptr %t493, ptr %t494 %t495 = load ptr, ptr %t178 %t496 = getelementptr inbounds %Cmp_Val, ptr %t495, i32 0, i32 0 %t497 = load ptr, ptr %t496 %t498 = call ptr @lp_str_concat(ptr @.str2979, ptr %t497) %t499 = call ptr @lp_str_concat(ptr %t498, ptr @.str2980) %t500 = load ptr, ptr %t494 %t501 = getelementptr inbounds %Cmp_Val, ptr %t500, i32 0, i32 0 %t502 = load ptr, ptr %t501 %t503 = call ptr @lp_str_concat(ptr %t499, ptr %t502) %t504 = call ptr @lp_str_concat(ptr %t503, ptr @.str2981) %t505 = call ptr @fn_emit_bind(ptr %t504) store ptr %t505, ptr %t506 %t507 = load ptr, ptr %t0 %t508 = call i32 @lp_str_eq(ptr %t507, ptr @.str2982) %t509 = icmp ne i32 %t508, 0 br i1 %t509, label %then92, label %ifend94 then92: %t510 = load ptr, ptr %t506 %t511 = call ptr @lp_str_concat(ptr @.str2983, ptr %t510) %t512 = call ptr @lp_str_concat(ptr %t511, ptr @.str2984) %t513 = call ptr @fn_emit_bind(ptr %t512) store ptr %t513, ptr %t514 %t515 = load ptr, ptr %t514 %t516 = call ptr @lp_str_concat(ptr @.str2985, ptr %t515) %t517 = call ptr @lp_str_concat(ptr %t516, ptr @.str2986) %t518 = call ptr @fn_emit_bind(ptr %t517) %t519 = call ptr @fn_val(ptr %t518, ptr @.str2987) store ptr %t519, ptr %retval br label %ret ifend94: %t520 = load ptr, ptr %t506 %t521 = call ptr @lp_str_concat(ptr @.str2988, ptr %t520) %t522 = call ptr @lp_str_concat(ptr %t521, ptr @.str2989) %t523 = call ptr @fn_emit_bind(ptr %t522) store ptr %t523, ptr %t524 %t525 = load ptr, ptr %t506 %t526 = call ptr @lp_str_concat(ptr @.str2990, ptr %t525) %t527 = call ptr @lp_str_concat(ptr %t526, ptr @.str2991) %t528 = call ptr @fn_emit_bind(ptr %t527) store ptr %t528, ptr %t529 %t530 = load ptr, ptr %t178 %t531 = getelementptr inbounds %Cmp_Val, ptr %t530, i32 0, i32 0 %t532 = load ptr, ptr %t531 %t533 = call ptr @lp_str_concat(ptr @.str2992, ptr %t532) %t534 = call ptr @lp_str_concat(ptr %t533, ptr @.str2993) %t535 = call ptr @fn_emit_bind(ptr %t534) store ptr %t535, ptr %t536 %t537 = load ptr, ptr %t529 %t538 = call ptr @lp_str_concat(ptr @.str2994, ptr %t537) %t539 = call ptr @lp_str_concat(ptr %t538, ptr @.str2995) %t540 = load ptr, ptr %t536 %t541 = call ptr @lp_str_concat(ptr %t539, ptr %t540) %t542 = call ptr @fn_emit_bind(ptr %t541) store ptr %t542, ptr %t543 %t544 = load ptr, ptr %t543 %t545 = call ptr @lp_str_concat(ptr @.str2996, ptr %t544) %t546 = call ptr @lp_str_concat(ptr %t545, ptr @.str2997) %t547 = call ptr @fn_emit_bind(ptr %t546) store ptr %t547, ptr %t548 %t549 = load ptr, ptr %t524 %t550 = call ptr @lp_str_concat(ptr @.str2998, ptr %t549) %t551 = call ptr @lp_str_concat(ptr %t550, ptr @.str2999) %t552 = load ptr, ptr %t548 %t553 = call ptr @lp_str_concat(ptr %t551, ptr %t552) %t554 = call ptr @fn_emit_bind(ptr %t553) %t555 = call ptr @fn_val(ptr %t554, ptr @.str3000) store ptr %t555, ptr %retval br label %ret ifend89: %t556 = load ptr, ptr %t1 %t557 = getelementptr inbounds %Cmp_Node, ptr %t556, i32 0, i32 7 %t558 = load ptr, ptr %t557 %t559 = getelementptr inbounds %LSlice, ptr %t558, i32 0, i32 0 %t560 = load ptr, ptr %t559 %t561 = getelementptr inbounds %LSlice, ptr %t558, i32 0, i32 1 %t562 = load i32, ptr %t561 %t563 = icmp ult i32 1, %t562 br i1 %t563, label %ixok95, label %ixbad96 ixbad96: %t564 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t564, ptr @.fmt_bounds, ptr @.str3001, i32 1, i32 %t562) call void @exit(i32 1) unreachable ixok95: %t565 = getelementptr inbounds ptr, ptr %t560, i32 1 %t566 = load ptr, ptr %t565 %t567 = call ptr @fn_emit_expr(ptr %t566) store ptr %t567, ptr %t568 %t569 = load ptr, ptr %t568 %t570 = getelementptr inbounds %Cmp_Val, ptr %t569, i32 0, i32 0 %t571 = load ptr, ptr %t570 %t572 = call ptr @lp_str_concat(ptr @.str3002, ptr %t571) %t573 = call ptr @lp_str_concat(ptr %t572, ptr @.str3003) %t574 = call ptr @fn_emit_bind(ptr %t573) store ptr %t574, ptr %t575 %t576 = load ptr, ptr %t0 %t577 = call i32 @lp_str_eq(ptr %t576, ptr @.str3004) %t578 = icmp ne i32 %t577, 0 br i1 %t578, label %then97, label %ifend99 then97: %t579 = load ptr, ptr %t178 %t580 = getelementptr inbounds %Cmp_Val, ptr %t579, i32 0, i32 0 %t581 = load ptr, ptr %t580 %t582 = call ptr @lp_str_concat(ptr @.str3005, ptr %t581) %t583 = call ptr @lp_str_concat(ptr %t582, ptr @.str3006) %t584 = load ptr, ptr %t568 %t585 = getelementptr inbounds %Cmp_Val, ptr %t584, i32 0, i32 0 %t586 = load ptr, ptr %t585 %t587 = call ptr @lp_str_concat(ptr %t583, ptr %t586) %t588 = call ptr @lp_str_concat(ptr %t587, ptr @.str3007) %t589 = load ptr, ptr %t575 %t590 = call ptr @lp_str_concat(ptr %t588, ptr %t589) %t591 = call ptr @lp_str_concat(ptr %t590, ptr @.str3008) %t592 = call ptr @fn_emit_bind(ptr %t591) store ptr %t592, ptr %t593 %t594 = load ptr, ptr %t593 %t595 = call ptr @lp_str_concat(ptr @.str3009, ptr %t594) %t596 = call ptr @lp_str_concat(ptr %t595, ptr @.str3010) %t597 = call ptr @fn_emit_bind(ptr %t596) store ptr %t597, ptr %t598 %t599 = load ptr, ptr %t598 %t600 = call ptr @lp_str_concat(ptr @.str3011, ptr %t599) %t601 = call ptr @lp_str_concat(ptr %t600, ptr @.str3012) %t602 = call ptr @fn_emit_bind(ptr %t601) %t603 = call ptr @fn_val(ptr %t602, ptr @.str3013) store ptr %t603, ptr %retval br label %ret ifend99: %t604 = load ptr, ptr %t178 %t605 = getelementptr inbounds %Cmp_Val, ptr %t604, i32 0, i32 0 %t606 = load ptr, ptr %t605 %t607 = call ptr @lp_str_concat(ptr @.str3014, ptr %t606) %t608 = call ptr @lp_str_concat(ptr %t607, ptr @.str3015) %t609 = call ptr @fn_emit_bind(ptr %t608) store ptr %t609, ptr %t610 %t611 = load ptr, ptr %t610 %t612 = call ptr @lp_str_concat(ptr @.str3016, ptr %t611) %t613 = call ptr @lp_str_concat(ptr %t612, ptr @.str3017) %t614 = load ptr, ptr %t575 %t615 = call ptr @lp_str_concat(ptr %t613, ptr %t614) %t616 = call ptr @fn_emit_bind(ptr %t615) store ptr %t616, ptr %t617 %t618 = call ptr @fn_emit_alloca(ptr @.str3018) store ptr %t618, ptr %t619 %t620 = load ptr, ptr %t619 call void @fn_store_at(ptr @.str3019, ptr @.str3020, ptr %t620) %t621 = load ptr, ptr %t617 %t622 = call ptr @lp_str_concat(ptr @.str3021, ptr %t621) %t623 = call ptr @lp_str_concat(ptr %t622, ptr @.str3022) %t624 = call ptr @fn_emit_bind(ptr %t623) store ptr %t624, ptr %t625 %t626 = call ptr @fn_lbl(ptr @.str3023) store ptr %t626, ptr %t627 %t628 = call ptr @fn_lbl(ptr @.str3024) store ptr %t628, ptr %t629 call void @fn_emit(ptr @.str3025) %t630 = load ptr, ptr %t625 call void @fn_emit(ptr %t630) call void @fn_emit(ptr @.str3026) %t631 = load ptr, ptr %t629 call void @fn_emit(ptr %t631) call void @fn_emit(ptr @.str3027) %t632 = load ptr, ptr %t627 call void @fn_emit(ptr %t632) call void @fn_emit(ptr @.str3028) %t633 = load ptr, ptr %t627 call void @fn_emit(ptr %t633) call void @fn_emit(ptr @.str3029) %t634 = load ptr, ptr %t178 %t635 = getelementptr inbounds %Cmp_Val, ptr %t634, i32 0, i32 0 %t636 = load ptr, ptr %t635 %t637 = call ptr @lp_str_concat(ptr @.str3030, ptr %t636) %t638 = call ptr @lp_str_concat(ptr %t637, ptr @.str3031) %t639 = load ptr, ptr %t617 %t640 = call ptr @lp_str_concat(ptr %t638, ptr %t639) %t641 = call ptr @fn_emit_bind(ptr %t640) store ptr %t641, ptr %t642 %t643 = load ptr, ptr %t642 %t644 = call ptr @lp_str_concat(ptr @.str3032, ptr %t643) %t645 = call ptr @lp_str_concat(ptr %t644, ptr @.str3033) %t646 = load ptr, ptr %t568 %t647 = getelementptr inbounds %Cmp_Val, ptr %t646, i32 0, i32 0 %t648 = load ptr, ptr %t647 %t649 = call ptr @lp_str_concat(ptr %t645, ptr %t648) %t650 = call ptr @lp_str_concat(ptr %t649, ptr @.str3034) %t651 = load ptr, ptr %t575 %t652 = call ptr @lp_str_concat(ptr %t650, ptr %t651) %t653 = call ptr @lp_str_concat(ptr %t652, ptr @.str3035) %t654 = call ptr @fn_emit_bind(ptr %t653) store ptr %t654, ptr %t655 %t656 = load ptr, ptr %t655 %t657 = call ptr @lp_str_concat(ptr @.str3036, ptr %t656) %t658 = call ptr @lp_str_concat(ptr %t657, ptr @.str3037) %t659 = call ptr @fn_emit_bind(ptr %t658) store ptr %t659, ptr %t660 %t661 = load ptr, ptr %t660 %t662 = call ptr @lp_str_concat(ptr @.str3038, ptr %t661) %t663 = call ptr @lp_str_concat(ptr %t662, ptr @.str3039) %t664 = call ptr @fn_emit_bind(ptr %t663) store ptr %t664, ptr %t665 %t666 = load ptr, ptr %t665 %t667 = load ptr, ptr %t619 call void @fn_store_at(ptr @.str3040, ptr %t666, ptr %t667) call void @fn_emit(ptr @.str3041) %t668 = load ptr, ptr %t629 call void @fn_emit(ptr %t668) call void @fn_emit(ptr @.str3042) %t669 = load ptr, ptr %t629 call void @fn_emit(ptr %t669) call void @fn_emit(ptr @.str3043) %t670 = load ptr, ptr %t619 %t671 = call ptr @lp_str_concat(ptr @.str3044, ptr %t670) %t672 = call ptr @fn_emit_bind(ptr %t671) %t673 = call ptr @fn_val(ptr %t672, ptr @.str3045) store ptr %t673, ptr %retval br label %ret ret: %t674 = load ptr, ptr %retval ret ptr %t674 } define void @fn_emit_text_prelude() { entry: call void @fn_emith(ptr @.str3046) call void @fn_emith(ptr @.str3047) call void @fn_emith(ptr @.str3048) call void @fn_emith(ptr @.str3049) call void @fn_emith(ptr @.str3050) call void @fn_emith(ptr @.str3051) call void @fn_emith(ptr @.str3052) call void @fn_emith(ptr @.str3053) call void @fn_emith(ptr @.str3054) call void @fn_emith(ptr @.str3055) call void @fn_emith(ptr @.str3056) call void @fn_emith(ptr @.str3057) call void @fn_emith(ptr @.str3058) call void @fn_emith(ptr @.str3059) call void @fn_emith(ptr @.str3060) call void @fn_emith(ptr @.str3061) call void @fn_emith(ptr @.str3062) call void @fn_emith(ptr @.str3063) call void @fn_emith(ptr @.str3064) call void @fn_emith(ptr @.str3065) call void @fn_emith(ptr @.str3066) call void @fn_emith(ptr @.str3067) call void @fn_emith(ptr @.str3068) call void @fn_emith(ptr @.str3069) call void @fn_emith(ptr @.str3070) call void @fn_emith(ptr @.str3071) call void @fn_emith(ptr @.str3072) call void @fn_emith(ptr @.str3073) call void @fn_emith(ptr @.str3074) call void @fn_emith(ptr @.str3075) call void @fn_emith(ptr @.str3076) call void @fn_emith(ptr @.str3077) call void @fn_emith(ptr @.str3078) call void @fn_emith(ptr @.str3079) call void @fn_emith(ptr @.str3080) call void @fn_emith(ptr @.str3081) call void @fn_emith(ptr @.str3082) call void @fn_emith(ptr @.str3083) call void @fn_emith(ptr @.str3084) call void @fn_emith(ptr @.str3085) call void @fn_emith(ptr @.str3086) call void @fn_emith(ptr @.str3087) call void @fn_emith(ptr @.str3088) call void @fn_emith(ptr @.str3089) call void @fn_emith(ptr @.str3090) call void @fn_emith(ptr @.str3091) call void @fn_emith(ptr @.str3092) call void @fn_emith(ptr @.str3093) call void @fn_emith(ptr @.str3094) call void @fn_emith(ptr @.str3095) call void @fn_emith(ptr @.str3096) call void @fn_emith(ptr @.str3097) call void @fn_emith(ptr @.str3098) call void @fn_emith(ptr @.str3099) call void @fn_emith(ptr @.str3100) call void @fn_emith(ptr @.str3101) call void @fn_emith(ptr @.str3102) call void @fn_emith(ptr @.str3103) call void @fn_emith(ptr @.str3104) call void @fn_emith(ptr @.str3105) call void @fn_emith(ptr @.str3106) call void @fn_emith(ptr @.str3107) call void @fn_emith(ptr @.str3108) call void @fn_emith(ptr @.str3109) call void @fn_emith(ptr @.str3110) call void @fn_emith(ptr @.str3111) call void @fn_emith(ptr @.str3112) call void @fn_emith(ptr @.str3113) call void @fn_emith(ptr @.str3114) call void @fn_emith(ptr @.str3115) call void @fn_emith(ptr @.str3116) call void @fn_emith(ptr @.str3117) call void @fn_emith(ptr @.str3118) call void @fn_emith(ptr @.str3119) call void @fn_emith(ptr @.str3120) call void @fn_emith(ptr @.str3121) call void @fn_emith(ptr @.str3122) call void @fn_emith(ptr @.str3123) call void @fn_emith(ptr @.str3124) call void @fn_emith(ptr @.str3125) call void @fn_emith(ptr @.str3126) call void @fn_emith(ptr @.str3127) call void @fn_emith(ptr @.str3128) call void @fn_emith(ptr @.str3129) call void @fn_emith(ptr @.str3130) call void @fn_emith(ptr @.str3131) call void @fn_emith(ptr @.str3132) call void @fn_emith(ptr @.str3133) call void @fn_emith(ptr @.str3134) call void @fn_emith(ptr @.str3135) call void @fn_emith(ptr @.str3136) call void @fn_emith(ptr @.str3137) call void @fn_emith(ptr @.str3138) call void @fn_emith(ptr @.str3139) call void @fn_emith(ptr @.str3140) call void @fn_emith(ptr @.str3141) call void @fn_emith(ptr @.str3142) call void @fn_emith(ptr @.str3143) call void @fn_emith(ptr @.str3144) call void @fn_emith(ptr @.str3145) call void @fn_emith(ptr @.str3146) call void @fn_emith(ptr @.str3147) call void @fn_emith(ptr @.str3148) call void @fn_emith(ptr @.str3149) call void @fn_emith(ptr @.str3150) call void @fn_emith(ptr @.str3151) call void @fn_emith(ptr @.str3152) call void @fn_emith(ptr @.str3153) call void @fn_emith(ptr @.str3154) call void @fn_emith(ptr @.str3155) call void @fn_emith(ptr @.str3156) call void @fn_emith(ptr @.str3157) call void @fn_emith(ptr @.str3158) call void @fn_emith(ptr @.str3159) call void @fn_emith(ptr @.str3160) call void @fn_emith(ptr @.str3161) call void @fn_emith(ptr @.str3162) call void @fn_emith(ptr @.str3163) call void @fn_emith(ptr @.str3164) call void @fn_emith(ptr @.str3165) call void @fn_emith(ptr @.str3166) call void @fn_emith(ptr @.str3167) call void @fn_emith(ptr @.str3168) call void @fn_emith(ptr @.str3169) call void @fn_emith(ptr @.str3170) call void @fn_emith(ptr @.str3171) call void @fn_emith(ptr @.str3172) call void @fn_emith(ptr @.str3173) call void @fn_emith(ptr @.str3174) call void @fn_emith(ptr @.str3175) call void @fn_emith(ptr @.str3176) call void @fn_emith(ptr @.str3177) call void @fn_emith(ptr @.str3178) call void @fn_emith(ptr @.str3179) call void @fn_emith(ptr @.str3180) call void @fn_emith(ptr @.str3181) call void @fn_emith(ptr @.str3182) call void @fn_emith(ptr @.str3183) call void @fn_emith(ptr @.str3184) call void @fn_emith(ptr @.str3185) call void @fn_emith(ptr @.str3186) call void @fn_emith(ptr @.str3187) call void @fn_emith(ptr @.str3188) call void @fn_emith(ptr @.str3189) call void @fn_emith(ptr @.str3190) call void @fn_emith(ptr @.str3191) call void @fn_emith(ptr @.str3192) call void @fn_emith(ptr @.str3193) call void @fn_emith(ptr @.str3194) call void @fn_emith(ptr @.str3195) call void @fn_emith(ptr @.str3196) call void @fn_emith(ptr @.str3197) call void @fn_emith(ptr @.str3198) call void @fn_emith(ptr @.str3199) call void @fn_emith(ptr @.str3200) call void @fn_emith(ptr @.str3201) call void @fn_emith(ptr @.str3202) call void @fn_emith(ptr @.str3203) call void @fn_emith(ptr @.str3204) call void @fn_emith(ptr @.str3205) call void @fn_emith(ptr @.str3206) call void @fn_emith(ptr @.str3207) call void @fn_emith(ptr @.str3208) call void @fn_emith(ptr @.str3209) call void @fn_emith(ptr @.str3210) call void @fn_emith(ptr @.str3211) call void @fn_emith(ptr @.str3212) call void @fn_emith(ptr @.str3213) call void @fn_emith(ptr @.str3214) call void @fn_emith(ptr @.str3215) call void @fn_emith(ptr @.str3216) call void @fn_emith(ptr @.str3217) call void @fn_emith(ptr @.str3218) call void @fn_emith(ptr @.str3219) call void @fn_emith(ptr @.str3220) call void @fn_emith(ptr @.str3221) call void @fn_emith(ptr @.str3222) call void @fn_emith(ptr @.str3223) call void @fn_emith(ptr @.str3224) call void @fn_emith(ptr @.str3225) call void @fn_emith(ptr @.str3226) call void @fn_emith(ptr @.str3227) call void @fn_emith(ptr @.str3228) call void @fn_emith(ptr @.str3229) call void @fn_emith(ptr @.str3230) call void @fn_emith(ptr @.str3231) call void @fn_emith(ptr @.str3232) call void @fn_emith(ptr @.str3233) call void @fn_emith(ptr @.str3234) call void @fn_emith(ptr @.str3235) call void @fn_emith(ptr @.str3236) call void @fn_emith(ptr @.str3237) call void @fn_emith(ptr @.str3238) call void @fn_emith(ptr @.str3239) call void @fn_emith(ptr @.str3240) call void @fn_emith(ptr @.str3241) call void @fn_emith(ptr @.str3242) call void @fn_emith(ptr @.str3243) br label %ret ret: ret void } define void @fn_emit_text2_prelude() { entry: call void @fn_emith(ptr @.str3244) call void @fn_emith(ptr @.str3245) call void @fn_emith(ptr @.str3246) call void @fn_emith(ptr @.str3247) call void @fn_emith(ptr @.str3248) call void @fn_emith(ptr @.str3249) call void @fn_emith(ptr @.str3250) call void @fn_emith(ptr @.str3251) call void @fn_emith(ptr @.str3252) call void @fn_emith(ptr @.str3253) call void @fn_emith(ptr @.str3254) call void @fn_emith(ptr @.str3255) call void @fn_emith(ptr @.str3256) call void @fn_emith(ptr @.str3257) call void @fn_emith(ptr @.str3258) call void @fn_emith(ptr @.str3259) call void @fn_emith(ptr @.str3260) call void @fn_emith(ptr @.str3261) call void @fn_emith(ptr @.str3262) call void @fn_emith(ptr @.str3263) call void @fn_emith(ptr @.str3264) call void @fn_emith(ptr @.str3265) call void @fn_emith(ptr @.str3266) call void @fn_emith(ptr @.str3267) call void @fn_emith(ptr @.str3268) call void @fn_emith(ptr @.str3269) call void @fn_emith(ptr @.str3270) call void @fn_emith(ptr @.str3271) call void @fn_emith(ptr @.str3272) call void @fn_emith(ptr @.str3273) call void @fn_emith(ptr @.str3274) call void @fn_emith(ptr @.str3275) call void @fn_emith(ptr @.str3276) call void @fn_emith(ptr @.str3277) call void @fn_emith(ptr @.str3278) call void @fn_emith(ptr @.str3279) call void @fn_emith(ptr @.str3280) call void @fn_emith(ptr @.str3281) call void @fn_emith(ptr @.str3282) call void @fn_emith(ptr @.str3283) call void @fn_emith(ptr @.str3284) call void @fn_emith(ptr @.str3285) call void @fn_emith(ptr @.str3286) call void @fn_emith(ptr @.str3287) call void @fn_emith(ptr @.str3288) call void @fn_emith(ptr @.str3289) call void @fn_emith(ptr @.str3290) call void @fn_emith(ptr @.str3291) call void @fn_emith(ptr @.str3292) call void @fn_emith(ptr @.str3293) call void @fn_emith(ptr @.str3294) call void @fn_emith(ptr @.str3295) call void @fn_emith(ptr @.str3296) call void @fn_emith(ptr @.str3297) call void @fn_emith(ptr @.str3298) call void @fn_emith(ptr @.str3299) call void @fn_emith(ptr @.str3300) call void @fn_emith(ptr @.str3301) call void @fn_emith(ptr @.str3302) call void @fn_emith(ptr @.str3303) call void @fn_emith(ptr @.str3304) call void @fn_emith(ptr @.str3305) call void @fn_emith(ptr @.str3306) call void @fn_emith(ptr @.str3307) call void @fn_emith(ptr @.str3308) call void @fn_emith(ptr @.str3309) call void @fn_emith(ptr @.str3310) call void @fn_emith(ptr @.str3311) call void @fn_emith(ptr @.str3312) call void @fn_emith(ptr @.str3313) call void @fn_emith(ptr @.str3314) call void @fn_emith(ptr @.str3315) call void @fn_emith(ptr @.str3316) call void @fn_emith(ptr @.str3317) call void @fn_emith(ptr @.str3318) call void @fn_emith(ptr @.str3319) call void @fn_emith(ptr @.str3320) call void @fn_emith(ptr @.str3321) call void @fn_emith(ptr @.str3322) call void @fn_emith(ptr @.str3323) call void @fn_emith(ptr @.str3324) call void @fn_emith(ptr @.str3325) call void @fn_emith(ptr @.str3326) call void @fn_emith(ptr @.str3327) call void @fn_emith(ptr @.str3328) call void @fn_emith(ptr @.str3329) call void @fn_emith(ptr @.str3330) call void @fn_emith(ptr @.str3331) call void @fn_emith(ptr @.str3332) call void @fn_emith(ptr @.str3333) call void @fn_emith(ptr @.str3334) call void @fn_emith(ptr @.str3335) call void @fn_emith(ptr @.str3336) call void @fn_emith(ptr @.str3337) call void @fn_emith(ptr @.str3338) call void @fn_emith(ptr @.str3339) call void @fn_emith(ptr @.str3340) call void @fn_emith(ptr @.str3341) call void @fn_emith(ptr @.str3342) call void @fn_emith(ptr @.str3343) call void @fn_emith(ptr @.str3344) call void @fn_emith(ptr @.str3345) call void @fn_emith(ptr @.str3346) call void @fn_emith(ptr @.str3347) call void @fn_emith(ptr @.str3348) call void @fn_emith(ptr @.str3349) call void @fn_emith(ptr @.str3350) call void @fn_emith(ptr @.str3351) call void @fn_emith(ptr @.str3352) call void @fn_emith(ptr @.str3353) call void @fn_emith(ptr @.str3354) call void @fn_emith(ptr @.str3355) call void @fn_emith(ptr @.str3356) call void @fn_emith(ptr @.str3357) call void @fn_emith(ptr @.str3358) call void @fn_emith(ptr @.str3359) call void @fn_emith(ptr @.str3360) call void @fn_emith(ptr @.str3361) call void @fn_emith(ptr @.str3362) call void @fn_emith(ptr @.str3363) call void @fn_emith(ptr @.str3364) call void @fn_emith(ptr @.str3365) call void @fn_emith(ptr @.str3366) call void @fn_emith(ptr @.str3367) call void @fn_emith(ptr @.str3368) call void @fn_emith(ptr @.str3369) call void @fn_emith(ptr @.str3370) call void @fn_emith(ptr @.str3371) call void @fn_emith(ptr @.str3372) call void @fn_emith(ptr @.str3373) call void @fn_emith(ptr @.str3374) call void @fn_emith(ptr @.str3375) call void @fn_emith(ptr @.str3376) call void @fn_emith(ptr @.str3377) call void @fn_emith(ptr @.str3378) call void @fn_emith(ptr @.str3379) call void @fn_emith(ptr @.str3380) call void @fn_emith(ptr @.str3381) call void @fn_emith(ptr @.str3382) call void @fn_emith(ptr @.str3383) call void @fn_emith(ptr @.str3384) call void @fn_emith(ptr @.str3385) call void @fn_emith(ptr @.str3386) call void @fn_emith(ptr @.str3387) call void @fn_emith(ptr @.str3388) call void @fn_emith(ptr @.str3389) call void @fn_emith(ptr @.str3390) call void @fn_emith(ptr @.str3391) call void @fn_emith(ptr @.str3392) call void @fn_emith(ptr @.str3393) call void @fn_emith(ptr @.str3394) call void @fn_emith(ptr @.str3395) call void @fn_emith(ptr @.str3396) call void @fn_emith(ptr @.str3397) call void @fn_emith(ptr @.str3398) call void @fn_emith(ptr @.str3399) call void @fn_emith(ptr @.str3400) call void @fn_emith(ptr @.str3401) call void @fn_emith(ptr @.str3402) call void @fn_emith(ptr @.str3403) call void @fn_emith(ptr @.str3404) call void @fn_emith(ptr @.str3405) call void @fn_emith(ptr @.str3406) call void @fn_emith(ptr @.str3407) call void @fn_emith(ptr @.str3408) call void @fn_emith(ptr @.str3409) call void @fn_emith(ptr @.str3410) call void @fn_emith(ptr @.str3411) call void @fn_emith(ptr @.str3412) call void @fn_emith(ptr @.str3413) call void @fn_emith(ptr @.str3414) call void @fn_emith(ptr @.str3415) call void @fn_emith(ptr @.str3416) call void @fn_emith(ptr @.str3417) call void @fn_emith(ptr @.str3418) call void @fn_emith(ptr @.str3419) call void @fn_emith(ptr @.str3420) call void @fn_emith(ptr @.str3421) call void @fn_emith(ptr @.str3422) call void @fn_emith(ptr @.str3423) call void @fn_emith(ptr @.str3424) call void @fn_emith(ptr @.str3425) call void @fn_emith(ptr @.str3426) call void @fn_emith(ptr @.str3427) call void @fn_emith(ptr @.str3428) call void @fn_emith(ptr @.str3429) call void @fn_emith(ptr @.str3430) call void @fn_emith(ptr @.str3431) call void @fn_emith(ptr @.str3432) call void @fn_emith(ptr @.str3433) call void @fn_emith(ptr @.str3434) call void @fn_emith(ptr @.str3435) call void @fn_emith(ptr @.str3436) call void @fn_emith(ptr @.str3437) call void @fn_emith(ptr @.str3438) call void @fn_emith(ptr @.str3439) call void @fn_emith(ptr @.str3440) call void @fn_emith(ptr @.str3441) call void @fn_emith(ptr @.str3442) call void @fn_emith(ptr @.str3443) call void @fn_emith(ptr @.str3444) call void @fn_emith(ptr @.str3445) call void @fn_emith(ptr @.str3446) call void @fn_emith(ptr @.str3447) call void @fn_emith(ptr @.str3448) call void @fn_emith(ptr @.str3449) call void @fn_emith(ptr @.str3450) call void @fn_emith(ptr @.str3451) call void @fn_emith(ptr @.str3452) call void @fn_emith(ptr @.str3453) call void @fn_emith(ptr @.str3454) br label %ret ret: ret void } define i32 @fn_is_hash_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t20 = alloca i32 %t31 = alloca i32 %t32 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3455) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3456) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str3457) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3458) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t20 br i1 %t23, label %scend8, label %sc7 sc7: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str3459) %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t20 br label %scend8 scend8: %t29 = load i32, ptr %t20 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3460) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t32 br i1 %t35, label %scend13, label %sc12 sc12: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str3461) %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t32 br label %scend13 scend13: %t41 = load i32, ptr %t32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t31 br i1 %t42, label %scend15, label %sc14 sc14: %t44 = load ptr, ptr %t0 %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str3462) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t31 br label %scend15 scend15: %t48 = load i32, ptr %t31 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then16, label %ifend18 then16: store i32 1, ptr %retval br label %ret ifend18: store i32 0, ptr %retval br label %ret ret: %t50 = load i32, ptr %retval ret i32 %t50 } define ptr @fn_hash_mix_code(ptr %arg_x) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr %t12 = alloca ptr %t17 = alloca ptr %t22 = alloca ptr %t29 = alloca ptr %t34 = alloca ptr %t39 = alloca ptr store ptr %arg_x, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @lp_str_concat(ptr @.str3463, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str3464) %t4 = call ptr @fn_emit_bind(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t0 %t7 = call ptr @lp_str_concat(ptr @.str3465, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str3466) %t9 = load ptr, ptr %t5 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = call ptr @lp_str_concat(ptr @.str3467, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str3468) %t16 = call ptr @fn_emit_bind(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = call ptr @lp_str_concat(ptr @.str3469, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3470) %t21 = call ptr @fn_emit_bind(ptr %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t17 %t24 = call ptr @lp_str_concat(ptr @.str3471, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3472) %t26 = load ptr, ptr %t22 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t29 %t31 = call ptr @lp_str_concat(ptr @.str3473, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str3474) %t33 = call ptr @fn_emit_bind(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = call ptr @lp_str_concat(ptr @.str3475, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str3476) %t38 = call ptr @fn_emit_bind(ptr %t37) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t34 %t41 = call ptr @lp_str_concat(ptr @.str3477, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str3478) %t43 = load ptr, ptr %t39 %t44 = call ptr @lp_str_concat(ptr %t42, ptr %t43) %t45 = call ptr @fn_emit_bind(ptr %t44) store ptr %t45, ptr %retval br label %ret ret: %t46 = load ptr, ptr %retval ret ptr %t46 } define ptr @fn_hash_mix64_code(ptr %arg_x) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr %t12 = alloca ptr %t17 = alloca ptr %t22 = alloca ptr %t29 = alloca ptr %t34 = alloca ptr %t39 = alloca ptr store ptr %arg_x, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @lp_str_concat(ptr @.str3479, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str3480) %t4 = call ptr @fn_emit_bind(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t0 %t7 = call ptr @lp_str_concat(ptr @.str3481, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str3482) %t9 = load ptr, ptr %t5 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = call ptr @lp_str_concat(ptr @.str3483, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str3484) %t16 = call ptr @fn_emit_bind(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = call ptr @lp_str_concat(ptr @.str3485, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str3486) %t21 = call ptr @fn_emit_bind(ptr %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t17 %t24 = call ptr @lp_str_concat(ptr @.str3487, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str3488) %t26 = load ptr, ptr %t22 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t29 %t31 = call ptr @lp_str_concat(ptr @.str3489, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str3490) %t33 = call ptr @fn_emit_bind(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = call ptr @lp_str_concat(ptr @.str3491, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str3492) %t38 = call ptr @fn_emit_bind(ptr %t37) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t34 %t41 = call ptr @lp_str_concat(ptr @.str3493, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str3494) %t43 = load ptr, ptr %t39 %t44 = call ptr @lp_str_concat(ptr %t42, ptr %t43) %t45 = call ptr @fn_emit_bind(ptr %t44) store ptr %t45, ptr %retval br label %ret ret: %t46 = load ptr, ptr %retval ret ptr %t46 } define ptr @fn_emit_hash_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t25 = alloca ptr %t33 = alloca i32 %t56 = alloca ptr %t79 = alloca ptr %t99 = alloca ptr %t122 = alloca ptr %t128 = alloca ptr %t129 = alloca i32 %t152 = alloca ptr %t159 = alloca ptr %t164 = alloca ptr %t169 = alloca ptr %t176 = alloca ptr %t183 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3495) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3496) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then2, label %ifend4 then2: store i32 1, ptr @g_g_uses_hashrt %t13 = load ptr, ptr %t1 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 0, %t19 br i1 %t20, label %ixok5, label %ixbad6 ixbad6: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str3497, i32 0, i32 %t19) call void @exit(i32 1) unreachable ixok5: %t22 = getelementptr inbounds ptr, ptr %t17, i32 0 %t23 = load ptr, ptr %t22 %t24 = call ptr @fn_emit_expr(ptr %t23) store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Val, ptr %t26, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = call ptr @lp_str_concat(ptr @.str3498, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str3499) %t31 = call ptr @fn_emit_bind(ptr %t30) %t32 = call ptr @fn_val(ptr %t31, ptr @.str3500) store ptr %t32, ptr %retval br label %ret ifend4: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str3501) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t33 br i1 %t36, label %scend8, label %sc7 sc7: %t38 = load ptr, ptr %t0 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str3502) %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t33 br label %scend8 scend8: %t42 = load i32, ptr %t33 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then9, label %ifend11 then9: store i32 1, ptr @g_g_uses_hashrt %t44 = load ptr, ptr %t1 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp ult i32 0, %t50 br i1 %t51, label %ixok12, label %ixbad13 ixbad13: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str3503, i32 0, i32 %t50) call void @exit(i32 1) unreachable ixok12: %t53 = getelementptr inbounds ptr, ptr %t48, i32 0 %t54 = load ptr, ptr %t53 %t55 = call ptr @fn_emit_expr(ptr %t54) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 %t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = call ptr @lp_str_concat(ptr @.str3504, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str3505) %t62 = call ptr @fn_emit_bind(ptr %t61) %t63 = call ptr @fn_val(ptr %t62, ptr @.str3506) store ptr %t63, ptr %retval br label %ret ifend11: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str3507) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then14, label %ifend16 then14: %t67 = load ptr, ptr %t1 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 7 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 0, %t73 br i1 %t74, label %ixok17, label %ixbad18 ixbad18: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str3508, i32 0, i32 %t73) call void @exit(i32 1) unreachable ixok17: %t76 = getelementptr inbounds ptr, ptr %t71, i32 0 %t77 = load ptr, ptr %t76 %t78 = call ptr @fn_emit_expr(ptr %t77) store ptr %t78, ptr %t79 %t80 = load ptr, ptr %t79 %t81 = call ptr @fn_to_long(ptr %t80) %t82 = call ptr @fn_hash_mix64_code(ptr %t81) %t83 = call ptr @fn_val(ptr %t82, ptr @.str3509) store ptr %t83, ptr %retval br label %ret ifend16: %t84 = load ptr, ptr %t0 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str3510) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then19, label %ifend21 then19: store i32 1, ptr @g_g_uses_hashrt %t87 = load ptr, ptr %t1 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 7 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t91 = load ptr, ptr %t90 %t92 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t93 = load i32, ptr %t92 %t94 = icmp ult i32 0, %t93 br i1 %t94, label %ixok22, label %ixbad23 ixbad23: %t95 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str3511, i32 0, i32 %t93) call void @exit(i32 1) unreachable ixok22: %t96 = getelementptr inbounds ptr, ptr %t91, i32 0 %t97 = load ptr, ptr %t96 %t98 = call ptr @fn_emit_expr(ptr %t97) store ptr %t98, ptr %t99 %t100 = load ptr, ptr %t99 %t101 = getelementptr inbounds %Cmp_Val, ptr %t100, i32 0, i32 0 %t102 = load ptr, ptr %t101 %t103 = call ptr @lp_str_concat(ptr @.str3512, ptr %t102) %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str3513) %t105 = call ptr @fn_emit_bind(ptr %t104) %t106 = call ptr @fn_val(ptr %t105, ptr @.str3514) store ptr %t106, ptr %retval br label %ret ifend21: %t107 = load ptr, ptr %t0 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str3515) %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then24, label %ifend26 then24: %t110 = load ptr, ptr %t1 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 7 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0 %t114 = load ptr, ptr %t113 %t115 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 %t116 = load i32, ptr %t115 %t117 = icmp ult i32 0, %t116 br i1 %t117, label %ixok27, label %ixbad28 ixbad28: %t118 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str3516, i32 0, i32 %t116) call void @exit(i32 1) unreachable ixok27: %t119 = getelementptr inbounds ptr, ptr %t114, i32 0 %t120 = load ptr, ptr %t119 %t121 = call ptr @fn_emit_expr(ptr %t120) store ptr %t121, ptr %t122 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %Cmp_Val, ptr %t123, i32 0, i32 0 %t125 = load ptr, ptr %t124 %t126 = call ptr @fn_hash_mix_code(ptr %t125) %t127 = call ptr @fn_val(ptr %t126, ptr @.str3517) store ptr %t127, ptr %retval br label %ret ifend26: store ptr @.str3518, ptr %t128 store i32 0, ptr %t129 br label %wcond29 wcond29: %t130 = load i32, ptr %t129 %t131 = load ptr, ptr %t1 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 7 %t133 = load ptr, ptr %t132 %t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 1 %t135 = load i32, ptr %t134 %t136 = icmp slt i32 %t130, %t135 %t137 = zext i1 %t136 to i32 %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %wbody30, label %wend31 wbody30: %t139 = load ptr, ptr %t1 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 7 %t141 = load ptr, ptr %t140 %t142 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = load i32, ptr %t129 %t145 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t146 = load i32, ptr %t145 %t147 = icmp ult i32 %t144, %t146 br i1 %t147, label %ixok32, label %ixbad33 ixbad33: %t148 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t148, ptr @.fmt_bounds, ptr @.str3519, i32 %t144, i32 %t146) call void @exit(i32 1) unreachable ixok32: %t149 = getelementptr inbounds ptr, ptr %t143, i32 %t144 %t150 = load ptr, ptr %t149 %t151 = call ptr @fn_emit_expr(ptr %t150) store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %Cmp_Val, ptr %t153, i32 0, i32 0 %t155 = load ptr, ptr %t154 %t156 = call ptr @lp_str_concat(ptr @.str3520, ptr %t155) %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str3521) %t158 = call ptr @fn_emit_bind(ptr %t157) store ptr %t158, ptr %t159 %t160 = load ptr, ptr %t128 %t161 = call ptr @lp_str_concat(ptr @.str3522, ptr %t160) %t162 = call ptr @lp_str_concat(ptr %t161, ptr @.str3523) %t163 = call ptr @fn_emit_bind(ptr %t162) store ptr %t163, ptr %t164 %t165 = load ptr, ptr %t128 %t166 = call ptr @lp_str_concat(ptr @.str3524, ptr %t165) %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str3525) %t168 = call ptr @fn_emit_bind(ptr %t167) store ptr %t168, ptr %t169 %t170 = load ptr, ptr %t159 %t171 = call ptr @lp_str_concat(ptr @.str3526, ptr %t170) %t172 = call ptr @lp_str_concat(ptr %t171, ptr @.str3527) %t173 = load ptr, ptr %t164 %t174 = call ptr @lp_str_concat(ptr %t172, ptr %t173) %t175 = call ptr @fn_emit_bind(ptr %t174) store ptr %t175, ptr %t176 %t177 = load ptr, ptr %t176 %t178 = call ptr @lp_str_concat(ptr @.str3528, ptr %t177) %t179 = call ptr @lp_str_concat(ptr %t178, ptr @.str3529) %t180 = load ptr, ptr %t169 %t181 = call ptr @lp_str_concat(ptr %t179, ptr %t180) %t182 = call ptr @fn_emit_bind(ptr %t181) store ptr %t182, ptr %t183 %t184 = load ptr, ptr %t128 %t185 = call ptr @lp_str_concat(ptr @.str3530, ptr %t184) %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str3531) %t187 = load ptr, ptr %t183 %t188 = call ptr @lp_str_concat(ptr %t186, ptr %t187) %t189 = call ptr @fn_emit_bind(ptr %t188) store ptr %t189, ptr %t128 %t190 = load i32, ptr %t129 %t191 = add i32 %t190, 1 store i32 %t191, ptr %t129 br label %wcond29 wend31: %t192 = load ptr, ptr %t128 %t193 = call ptr @fn_val(ptr %t192, ptr @.str3532) store ptr %t193, ptr %retval br label %ret ret: %t194 = load ptr, ptr %retval ret ptr %t194 } define void @fn_emit_hash_prelude() { entry: call void @fn_emith(ptr @.str3533) call void @fn_emith(ptr @.str3534) call void @fn_emith(ptr @.str3535) call void @fn_emith(ptr @.str3536) call void @fn_emith(ptr @.str3537) call void @fn_emith(ptr @.str3538) call void @fn_emith(ptr @.str3539) call void @fn_emith(ptr @.str3540) call void @fn_emith(ptr @.str3541) call void @fn_emith(ptr @.str3542) call void @fn_emith(ptr @.str3543) call void @fn_emith(ptr @.str3544) call void @fn_emith(ptr @.str3545) call void @fn_emith(ptr @.str3546) call void @fn_emith(ptr @.str3547) call void @fn_emith(ptr @.str3548) call void @fn_emith(ptr @.str3549) call void @fn_emith(ptr @.str3550) call void @fn_emith(ptr @.str3551) call void @fn_emith(ptr @.str3552) call void @fn_emith(ptr @.str3553) call void @fn_emith(ptr @.str3554) call void @fn_emith(ptr @.str3555) call void @fn_emith(ptr @.str3556) call void @fn_emith(ptr @.str3557) call void @fn_emith(ptr @.str3558) call void @fn_emith(ptr @.str3559) call void @fn_emith(ptr @.str3560) call void @fn_emith(ptr @.str3561) call void @fn_emith(ptr @.str3562) call void @fn_emith(ptr @.str3563) call void @fn_emith(ptr @.str3564) call void @fn_emith(ptr @.str3565) call void @fn_emith(ptr @.str3566) call void @fn_emith(ptr @.str3567) call void @fn_emith(ptr @.str3568) call void @fn_emith(ptr @.str3569) call void @fn_emith(ptr @.str3570) call void @fn_emith(ptr @.str3571) call void @fn_emith(ptr @.str3572) call void @fn_emith(ptr @.str3573) call void @fn_emith(ptr @.str3574) call void @fn_emith(ptr @.str3575) call void @fn_emith(ptr @.str3576) call void @fn_emith(ptr @.str3577) call void @fn_emith(ptr @.str3578) call void @fn_emith(ptr @.str3579) call void @fn_emith(ptr @.str3580) call void @fn_emith(ptr @.str3581) call void @fn_emith(ptr @.str3582) call void @fn_emith(ptr @.str3583) call void @fn_emith(ptr @.str3584) call void @fn_emith(ptr @.str3585) call void @fn_emith(ptr @.str3586) call void @fn_emith(ptr @.str3587) call void @fn_emith(ptr @.str3588) call void @fn_emith(ptr @.str3589) call void @fn_emith(ptr @.str3590) call void @fn_emith(ptr @.str3591) call void @fn_emith(ptr @.str3592) call void @fn_emith(ptr @.str3593) call void @fn_emith(ptr @.str3594) call void @fn_emith(ptr @.str3595) call void @fn_emith(ptr @.str3596) call void @fn_emith(ptr @.str3597) call void @fn_emith(ptr @.str3598) call void @fn_emith(ptr @.str3599) call void @fn_emith(ptr @.str3600) call void @fn_emith(ptr @.str3601) call void @fn_emith(ptr @.str3602) call void @fn_emith(ptr @.str3603) call void @fn_emith(ptr @.str3604) call void @fn_emith(ptr @.str3605) call void @fn_emith(ptr @.str3606) call void @fn_emith(ptr @.str3607) call void @fn_emith(ptr @.str3608) call void @fn_emith(ptr @.str3609) call void @fn_emith(ptr @.str3610) call void @fn_emith(ptr @.str3611) call void @fn_emith(ptr @.str3612) call void @fn_emith(ptr @.str3613) call void @fn_emith(ptr @.str3614) call void @fn_emith(ptr @.str3615) call void @fn_emith(ptr @.str3616) call void @fn_emith(ptr @.str3617) call void @fn_emith(ptr @.str3618) call void @fn_emith(ptr @.str3619) call void @fn_emith(ptr @.str3620) call void @fn_emith(ptr @.str3621) call void @fn_emith(ptr @.str3622) call void @fn_emith(ptr @.str3623) call void @fn_emith(ptr @.str3624) call void @fn_emith(ptr @.str3625) call void @fn_emith(ptr @.str3626) call void @fn_emith(ptr @.str3627) call void @fn_emith(ptr @.str3628) call void @fn_emith(ptr @.str3629) br label %ret ret: ret void } define i32 @fn_is_crypto_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t20 = alloca i32 %t31 = alloca i32 %t32 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3630) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3631) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str3632) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str3633) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t20 br i1 %t23, label %scend8, label %sc7 sc7: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str3634) %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t20 br label %scend8 scend8: %t29 = load i32, ptr %t20 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3635) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t32 br i1 %t35, label %scend13, label %sc12 sc12: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str3636) %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t32 br label %scend13 scend13: %t41 = load i32, ptr %t32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t31 br i1 %t42, label %scend15, label %sc14 sc14: %t44 = load ptr, ptr %t0 %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str3637) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t31 br label %scend15 scend15: %t48 = load i32, ptr %t31 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then16, label %ifend18 then16: store i32 1, ptr %retval br label %ret ifend18: %t50 = load ptr, ptr %t0 %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str3638) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then19, label %ifend21 then19: store i32 1, ptr %retval br label %ret ifend21: store i32 0, ptr %retval br label %ret ret: %t53 = load i32, ptr %retval ret i32 %t53 } define ptr @fn_emit_crypto_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t40 = alloca ptr %t53 = alloca ptr %t81 = alloca ptr %t104 = alloca ptr %t117 = alloca ptr %t130 = alloca i32 %t153 = alloca ptr %t160 = alloca ptr %t186 = alloca ptr %t206 = alloca ptr %t219 = alloca ptr %t232 = alloca ptr %t244 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 store i32 1, ptr @g_g_uses_cryptort %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str3639) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str3640, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @lp_str_concat(ptr @.str3641, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str3642) %t23 = call ptr @fn_emit_bind(ptr %t22) %t24 = call ptr @fn_val(ptr %t23, ptr @.str3643) store ptr %t24, ptr %retval br label %ret ifend2: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str3644) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: %t28 = load ptr, ptr %t1 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 0, %t34 br i1 %t35, label %ixok8, label %ixbad9 ixbad9: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str3645, i32 0, i32 %t34) call void @exit(i32 1) unreachable ixok8: %t37 = getelementptr inbounds ptr, ptr %t32, i32 0 %t38 = load ptr, ptr %t37 %t39 = call ptr @fn_emit_expr(ptr %t38) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t1 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 7 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 1, %t47 br i1 %t48, label %ixok10, label %ixbad11 ixbad11: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str3646, i32 1, i32 %t47) call void @exit(i32 1) unreachable ixok10: %t50 = getelementptr inbounds ptr, ptr %t45, i32 1 %t51 = load ptr, ptr %t50 %t52 = call ptr @fn_emit_expr(ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t40 %t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = call ptr @lp_str_concat(ptr @.str3647, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str3648) %t59 = load ptr, ptr %t53 %t60 = getelementptr inbounds %Cmp_Val, ptr %t59, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = call ptr @lp_str_concat(ptr %t58, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str3649) %t64 = call ptr @fn_emit_bind(ptr %t63) %t65 = call ptr @fn_val(ptr %t64, ptr @.str3650) store ptr %t65, ptr %retval br label %ret ifend7: %t66 = load ptr, ptr %t0 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str3651) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then12, label %ifend14 then12: %t69 = load ptr, ptr %t1 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 7 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t75 = load i32, ptr %t74 %t76 = icmp ult i32 0, %t75 br i1 %t76, label %ixok15, label %ixbad16 ixbad16: %t77 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t77, ptr @.fmt_bounds, ptr @.str3652, i32 0, i32 %t75) call void @exit(i32 1) unreachable ixok15: %t78 = getelementptr inbounds ptr, ptr %t73, i32 0 %t79 = load ptr, ptr %t78 %t80 = call ptr @fn_emit_expr(ptr %t79) store ptr %t80, ptr %t81 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0 %t84 = load ptr, ptr %t83 %t85 = call ptr @lp_str_concat(ptr @.str3653, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str3654) %t87 = call ptr @fn_emit_bind(ptr %t86) %t88 = call ptr @fn_val(ptr %t87, ptr @.str3655) store ptr %t88, ptr %retval br label %ret ifend14: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str3656) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then17, label %ifend19 then17: %t92 = load ptr, ptr %t1 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 7 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 0, %t98 br i1 %t99, label %ixok20, label %ixbad21 ixbad21: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str3657, i32 0, i32 %t98) call void @exit(i32 1) unreachable ixok20: %t101 = getelementptr inbounds ptr, ptr %t96, i32 0 %t102 = load ptr, ptr %t101 %t103 = call ptr @fn_emit_expr(ptr %t102) store ptr %t103, ptr %t104 %t105 = load ptr, ptr %t1 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 7 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 %t111 = load i32, ptr %t110 %t112 = icmp ult i32 1, %t111 br i1 %t112, label %ixok22, label %ixbad23 ixbad23: %t113 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str3658, i32 1, i32 %t111) call void @exit(i32 1) unreachable ixok22: %t114 = getelementptr inbounds ptr, ptr %t109, i32 1 %t115 = load ptr, ptr %t114 %t116 = call ptr @fn_emit_expr(ptr %t115) store ptr %t116, ptr %t117 %t118 = load ptr, ptr %t104 %t119 = getelementptr inbounds %Cmp_Val, ptr %t118, i32 0, i32 0 %t120 = load ptr, ptr %t119 %t121 = call ptr @lp_str_concat(ptr @.str3659, ptr %t120) %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str3660) %t123 = load ptr, ptr %t117 %t124 = getelementptr inbounds %Cmp_Val, ptr %t123, i32 0, i32 0 %t125 = load ptr, ptr %t124 %t126 = call ptr @lp_str_concat(ptr %t122, ptr %t125) %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str3661) %t128 = call ptr @fn_emit_bind(ptr %t127) %t129 = call ptr @fn_val(ptr %t128, ptr @.str3662) store ptr %t129, ptr %retval br label %ret ifend19: %t131 = load ptr, ptr %t0 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str3663) %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t130 br i1 %t133, label %scend25, label %sc24 sc24: %t135 = load ptr, ptr %t0 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str3664) %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t130 br label %scend25 scend25: %t139 = load i32, ptr %t130 %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then26, label %ifend28 then26: %t141 = load ptr, ptr %t1 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 7 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t145 = load ptr, ptr %t144 %t146 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t147 = load i32, ptr %t146 %t148 = icmp ult i32 0, %t147 br i1 %t148, label %ixok29, label %ixbad30 ixbad30: %t149 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str3665, i32 0, i32 %t147) call void @exit(i32 1) unreachable ixok29: %t150 = getelementptr inbounds ptr, ptr %t145, i32 0 %t151 = load ptr, ptr %t150 %t152 = call ptr @fn_emit_expr(ptr %t151) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t153 %t155 = getelementptr inbounds %Cmp_Val, ptr %t154, i32 0, i32 0 %t156 = load ptr, ptr %t155 %t157 = call ptr @lp_str_concat(ptr @.str3666, ptr %t156) %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str3667) %t159 = call ptr @fn_emit_bind(ptr %t158) store ptr %t159, ptr %t160 %t161 = load ptr, ptr %t160 %t162 = call ptr @lp_str_concat(ptr @.str3668, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str3669) %t164 = call ptr @fn_emit_bind(ptr %t163) %t165 = call ptr @fn_val(ptr %t164, ptr @.str3670) store ptr %t165, ptr %retval br label %ret ifend28: %t166 = load ptr, ptr %t0 %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str3671) %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then31, label %ifend33 then31: %t169 = call ptr @fn_emit_bind(ptr @.str3672) %t170 = call ptr @fn_val(ptr %t169, ptr @.str3673) store ptr %t170, ptr %retval br label %ret ifend33: %t171 = load ptr, ptr %t0 %t172 = call i32 @lp_str_eq(ptr %t171, ptr @.str3674) %t173 = icmp ne i32 %t172, 0 br i1 %t173, label %then34, label %ifend36 then34: %t174 = load ptr, ptr %t1 %t175 = getelementptr inbounds %Cmp_Node, ptr %t174, i32 0, i32 7 %t176 = load ptr, ptr %t175 %t177 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 0 %t178 = load ptr, ptr %t177 %t179 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1 %t180 = load i32, ptr %t179 %t181 = icmp ult i32 0, %t180 br i1 %t181, label %ixok37, label %ixbad38 ixbad38: %t182 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t182, ptr @.fmt_bounds, ptr @.str3675, i32 0, i32 %t180) call void @exit(i32 1) unreachable ixok37: %t183 = getelementptr inbounds ptr, ptr %t178, i32 0 %t184 = load ptr, ptr %t183 %t185 = call ptr @fn_emit_expr(ptr %t184) store ptr %t185, ptr %t186 %t187 = load ptr, ptr %t186 %t188 = getelementptr inbounds %Cmp_Val, ptr %t187, i32 0, i32 0 %t189 = load ptr, ptr %t188 %t190 = call ptr @lp_str_concat(ptr @.str3676, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str3677) %t192 = call ptr @fn_emit_bind(ptr %t191) %t193 = call ptr @fn_val(ptr %t192, ptr @.str3678) store ptr %t193, ptr %retval br label %ret ifend36: %t194 = load ptr, ptr %t1 %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 7 %t196 = load ptr, ptr %t195 %t197 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 0 %t198 = load ptr, ptr %t197 %t199 = getelementptr inbounds %LSlice, ptr %t196, i32 0, i32 1 %t200 = load i32, ptr %t199 %t201 = icmp ult i32 0, %t200 br i1 %t201, label %ixok39, label %ixbad40 ixbad40: %t202 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t202, ptr @.fmt_bounds, ptr @.str3679, i32 0, i32 %t200) call void @exit(i32 1) unreachable ixok39: %t203 = getelementptr inbounds ptr, ptr %t198, i32 0 %t204 = load ptr, ptr %t203 %t205 = call ptr @fn_emit_expr(ptr %t204) store ptr %t205, ptr %t206 %t207 = load ptr, ptr %t1 %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 7 %t209 = load ptr, ptr %t208 %t210 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0 %t211 = load ptr, ptr %t210 %t212 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 1 %t213 = load i32, ptr %t212 %t214 = icmp ult i32 1, %t213 br i1 %t214, label %ixok41, label %ixbad42 ixbad42: %t215 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t215, ptr @.fmt_bounds, ptr @.str3680, i32 1, i32 %t213) call void @exit(i32 1) unreachable ixok41: %t216 = getelementptr inbounds ptr, ptr %t211, i32 1 %t217 = load ptr, ptr %t216 %t218 = call ptr @fn_emit_expr(ptr %t217) store ptr %t218, ptr %t219 %t220 = load ptr, ptr %t1 %t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 7 %t222 = load ptr, ptr %t221 %t223 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 0 %t224 = load ptr, ptr %t223 %t225 = getelementptr inbounds %LSlice, ptr %t222, i32 0, i32 1 %t226 = load i32, ptr %t225 %t227 = icmp ult i32 2, %t226 br i1 %t227, label %ixok43, label %ixbad44 ixbad44: %t228 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t228, ptr @.fmt_bounds, ptr @.str3681, i32 2, i32 %t226) call void @exit(i32 1) unreachable ixok43: %t229 = getelementptr inbounds ptr, ptr %t224, i32 2 %t230 = load ptr, ptr %t229 %t231 = call ptr @fn_emit_expr(ptr %t230) store ptr %t231, ptr %t232 %t233 = load ptr, ptr %t206 %t234 = getelementptr inbounds %Cmp_Val, ptr %t233, i32 0, i32 0 %t235 = load ptr, ptr %t234 %t236 = call ptr @lp_str_concat(ptr @.str3682, ptr %t235) %t237 = call ptr @lp_str_concat(ptr %t236, ptr @.str3683) %t238 = load ptr, ptr %t219 %t239 = getelementptr inbounds %Cmp_Val, ptr %t238, i32 0, i32 0 %t240 = load ptr, ptr %t239 %t241 = call ptr @lp_str_concat(ptr %t237, ptr %t240) %t242 = call ptr @lp_str_concat(ptr %t241, ptr @.str3684) %t243 = call ptr @fn_emit_bind(ptr %t242) store ptr %t243, ptr %t244 %t245 = load ptr, ptr %t244 %t246 = call ptr @lp_str_concat(ptr @.str3685, ptr %t245) %t247 = call ptr @lp_str_concat(ptr %t246, ptr @.str3686) %t248 = load ptr, ptr %t232 %t249 = getelementptr inbounds %Cmp_Val, ptr %t248, i32 0, i32 0 %t250 = load ptr, ptr %t249 %t251 = call ptr @lp_str_concat(ptr %t247, ptr %t250) %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str3687) %t253 = call ptr @fn_emit_bind(ptr %t252) %t254 = call ptr @fn_val(ptr %t253, ptr @.str3688) store ptr %t254, ptr %retval br label %ret ret: %t255 = load ptr, ptr %retval ret ptr %t255 } define void @fn_emit_crypto_prelude() { entry: call void @fn_emith(ptr @.str3689) call void @fn_emith(ptr @.str3690) call void @fn_emith(ptr @.str3691) call void @fn_emith(ptr @.str3692) call void @fn_emith(ptr @.str3693) call void @fn_emith(ptr @.str3694) call void @fn_emith(ptr @.str3695) call void @fn_emith(ptr @.str3696) call void @fn_emith(ptr @.str3697) call void @fn_emith(ptr @.str3698) call void @fn_emith(ptr @.str3699) call void @fn_emith(ptr @.str3700) call void @fn_emith(ptr @.str3701) call void @fn_emith(ptr @.str3702) call void @fn_emith(ptr @.str3703) call void @fn_emith(ptr @.str3704) call void @fn_emith(ptr @.str3705) call void @fn_emith(ptr @.str3706) call void @fn_emith(ptr @.str3707) call void @fn_emith(ptr @.str3708) call void @fn_emith(ptr @.str3709) call void @fn_emith(ptr @.str3710) call void @fn_emith(ptr @.str3711) call void @fn_emith(ptr @.str3712) call void @fn_emith(ptr @.str3713) call void @fn_emith(ptr @.str3714) call void @fn_emith(ptr @.str3715) call void @fn_emith(ptr @.str3716) call void @fn_emith(ptr @.str3717) call void @fn_emith(ptr @.str3718) call void @fn_emith(ptr @.str3719) call void @fn_emith(ptr @.str3720) call void @fn_emith(ptr @.str3721) call void @fn_emith(ptr @.str3722) call void @fn_emith(ptr @.str3723) call void @fn_emith(ptr @.str3724) call void @fn_emith(ptr @.str3725) call void @fn_emith(ptr @.str3726) call void @fn_emith(ptr @.str3727) call void @fn_emith(ptr @.str3728) call void @fn_emith(ptr @.str3729) call void @fn_emith(ptr @.str3730) call void @fn_emith(ptr @.str3731) call void @fn_emith(ptr @.str3732) call void @fn_emith(ptr @.str3733) call void @fn_emith(ptr @.str3734) call void @fn_emith(ptr @.str3735) call void @fn_emith(ptr @.str3736) call void @fn_emith(ptr @.str3737) call void @fn_emith(ptr @.str3738) call void @fn_emith(ptr @.str3739) call void @fn_emith(ptr @.str3740) call void @fn_emith(ptr @.str3741) call void @fn_emith(ptr @.str3742) call void @fn_emith(ptr @.str3743) call void @fn_emith(ptr @.str3744) call void @fn_emith(ptr @.str3745) call void @fn_emith(ptr @.str3746) call void @fn_emith(ptr @.str3747) call void @fn_emith(ptr @.str3748) call void @fn_emith(ptr @.str3749) call void @fn_emith(ptr @.str3750) call void @fn_emith(ptr @.str3751) call void @fn_emith(ptr @.str3752) call void @fn_emith(ptr @.str3753) call void @fn_emith(ptr @.str3754) call void @fn_emith(ptr @.str3755) call void @fn_emith(ptr @.str3756) call void @fn_emith(ptr @.str3757) call void @fn_emith(ptr @.str3758) call void @fn_emith(ptr @.str3759) call void @fn_emith(ptr @.str3760) call void @fn_emith(ptr @.str3761) call void @fn_emith(ptr @.str3762) call void @fn_emith(ptr @.str3763) call void @fn_emith(ptr @.str3764) call void @fn_emith(ptr @.str3765) call void @fn_emith(ptr @.str3766) call void @fn_emith(ptr @.str3767) call void @fn_emith(ptr @.str3768) call void @fn_emith(ptr @.str3769) call void @fn_emith(ptr @.str3770) call void @fn_emith(ptr @.str3771) call void @fn_emith(ptr @.str3772) call void @fn_emith(ptr @.str3773) call void @fn_emith(ptr @.str3774) call void @fn_emith(ptr @.str3775) call void @fn_emith(ptr @.str3776) call void @fn_emith(ptr @.str3777) call void @fn_emith(ptr @.str3778) call void @fn_emith(ptr @.str3779) call void @fn_emith(ptr @.str3780) call void @fn_emith(ptr @.str3781) call void @fn_emith(ptr @.str3782) call void @fn_emith(ptr @.str3783) call void @fn_emith(ptr @.str3784) call void @fn_emith(ptr @.str3785) call void @fn_emith(ptr @.str3786) call void @fn_emith(ptr @.str3787) call void @fn_emith(ptr @.str3788) call void @fn_emith(ptr @.str3789) call void @fn_emith(ptr @.str3790) call void @fn_emith(ptr @.str3791) call void @fn_emith(ptr @.str3792) call void @fn_emith(ptr @.str3793) call void @fn_emith(ptr @.str3794) call void @fn_emith(ptr @.str3795) call void @fn_emith(ptr @.str3796) call void @fn_emith(ptr @.str3797) call void @fn_emith(ptr @.str3798) call void @fn_emith(ptr @.str3799) call void @fn_emith(ptr @.str3800) call void @fn_emith(ptr @.str3801) call void @fn_emith(ptr @.str3802) call void @fn_emith(ptr @.str3803) call void @fn_emith(ptr @.str3804) call void @fn_emith(ptr @.str3805) call void @fn_emith(ptr @.str3806) call void @fn_emith(ptr @.str3807) call void @fn_emith(ptr @.str3808) call void @fn_emith(ptr @.str3809) call void @fn_emith(ptr @.str3810) call void @fn_emith(ptr @.str3811) call void @fn_emith(ptr @.str3812) call void @fn_emith(ptr @.str3813) call void @fn_emith(ptr @.str3814) call void @fn_emith(ptr @.str3815) call void @fn_emith(ptr @.str3816) call void @fn_emith(ptr @.str3817) call void @fn_emith(ptr @.str3818) call void @fn_emith(ptr @.str3819) call void @fn_emith(ptr @.str3820) call void @fn_emith(ptr @.str3821) call void @fn_emith(ptr @.str3822) call void @fn_emith(ptr @.str3823) call void @fn_emith(ptr @.str3824) call void @fn_emith(ptr @.str3825) call void @fn_emith(ptr @.str3826) call void @fn_emith(ptr @.str3827) call void @fn_emith(ptr @.str3828) call void @fn_emith(ptr @.str3829) call void @fn_emith(ptr @.str3830) call void @fn_emith(ptr @.str3831) call void @fn_emith(ptr @.str3832) call void @fn_emith(ptr @.str3833) call void @fn_emith(ptr @.str3834) call void @fn_emith(ptr @.str3835) call void @fn_emith(ptr @.str3836) call void @fn_emith(ptr @.str3837) call void @fn_emith(ptr @.str3838) call void @fn_emith(ptr @.str3839) call void @fn_emith(ptr @.str3840) call void @fn_emit_secure_rand_prelude() br label %ret ret: ret void } define void @fn_emit_secure_rand_prelude() { entry: call void @fn_emith(ptr @.str3841) call void @fn_emith(ptr @.str3842) call void @fn_emith(ptr @.str3843) %t0 = load i32, ptr @g_g_target_win %t1 = icmp ne i32 %t0, 0 br i1 %t1, label %then0, label %else1 then0: call void @fn_emith(ptr @.str3844) call void @fn_emith(ptr @.str3845) call void @fn_emith(ptr @.str3846) call void @fn_emith(ptr @.str3847) call void @fn_emith(ptr @.str3848) call void @fn_emith(ptr @.str3849) call void @fn_emith(ptr @.str3850) call void @fn_emith(ptr @.str3851) br label %ifend2 else1: call void @fn_emith(ptr @.str3852) call void @fn_emith(ptr @.str3853) call void @fn_emith(ptr @.str3854) call void @fn_emith(ptr @.str3855) call void @fn_emith(ptr @.str3856) call void @fn_emith(ptr @.str3857) br label %ifend2 ifend2: call void @fn_emith(ptr @.str3858) call void @fn_emith(ptr @.str3859) call void @fn_emith(ptr @.str3860) call void @fn_emith(ptr @.str3861) call void @fn_emith(ptr @.str3862) call void @fn_emith(ptr @.str3863) call void @fn_emith(ptr @.str3864) call void @fn_emith(ptr @.str3865) call void @fn_emith(ptr @.str3866) call void @fn_emith(ptr @.str3867) call void @fn_emith(ptr @.str3868) call void @fn_emith(ptr @.str3869) call void @fn_emith(ptr @.str3870) call void @fn_emith(ptr @.str3871) call void @fn_emith(ptr @.str3872) call void @fn_emith(ptr @.str3873) call void @fn_emith(ptr @.str3874) call void @fn_emith(ptr @.str3875) call void @fn_emith(ptr @.str3876) call void @fn_emith(ptr @.str3877) call void @fn_emith(ptr @.str3878) call void @fn_emith(ptr @.str3879) call void @fn_emith(ptr @.str3880) call void @fn_emith(ptr @.str3881) call void @fn_emith(ptr @.str3882) call void @fn_emith(ptr @.str3883) call void @fn_emith(ptr @.str3884) call void @fn_emith(ptr @.str3885) call void @fn_emith(ptr @.str3886) call void @fn_emith(ptr @.str3887) call void @fn_emith(ptr @.str3888) call void @fn_emith(ptr @.str3889) call void @fn_emith(ptr @.str3890) call void @fn_emith(ptr @.str3891) call void @fn_emith(ptr @.str3892) call void @fn_emith(ptr @.str3893) call void @fn_emith(ptr @.str3894) call void @fn_emith(ptr @.str3895) call void @fn_emith(ptr @.str3896) br label %ret ret: ret void } define i32 @fn_is_uuid_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t28 = alloca i32 %t29 = alloca i32 %t47 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str3897) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t3 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str3898) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 br label %scend1 scend1: %t12 = load i32, ptr %t3 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str3899) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br label %scend3 scend3: %t19 = load i32, ptr %t2 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t1 br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str3900) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 br label %scend5 scend5: %t26 = load i32, ptr %t1 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %ifend8 then6: store i32 1, ptr %retval br label %ret ifend8: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str3901) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t29 br i1 %t32, label %scend10, label %sc9 sc9: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str3902) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t29 br label %scend10 scend10: %t38 = load i32, ptr %t29 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t28 br i1 %t39, label %scend12, label %sc11 sc11: %t41 = load ptr, ptr %t0 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str3903) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t28 br label %scend12 scend12: %t45 = load i32, ptr %t28 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then13, label %ifend15 then13: store i32 1, ptr %retval br label %ret ifend15: %t48 = load ptr, ptr %t0 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str3904) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t47 br i1 %t50, label %scend17, label %sc16 sc16: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str3905) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t47 br label %scend17 scend17: %t56 = load i32, ptr %t47 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then18, label %ifend20 then18: store i32 1, ptr %retval br label %ret ifend20: store i32 0, ptr %retval br label %ret ret: %t58 = load i32, ptr %retval ret i32 %t58 } define ptr @fn_emit_uuid_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t15 = alloca i32 %t48 = alloca ptr %t71 = alloca ptr %t91 = alloca ptr %t104 = alloca ptr %t129 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 store i32 1, ptr @g_g_uses_cryptort store i32 1, ptr @g_g_uses_uuidrt %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str3906) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str3907) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then2, label %ifend4 then2: %t13 = call ptr @fn_emit_bind(ptr @.str3908) %t14 = call ptr @fn_val(ptr %t13, ptr @.str3909) store ptr %t14, ptr %retval br label %ret ifend4: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str3910) %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t15 br i1 %t18, label %scend6, label %sc5 sc5: %t20 = load ptr, ptr %t0 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str3911) %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t15 br label %scend6 scend6: %t24 = load i32, ptr %t15 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then7, label %ifend9 then7: %t26 = call ptr @fn_emit_bind(ptr @.str3912) %t27 = call ptr @fn_val(ptr %t26, ptr @.str3913) store ptr %t27, ptr %retval br label %ret ifend9: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str3914) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then10, label %ifend12 then10: %t31 = call ptr @fn_emit_bind(ptr @.str3915) %t32 = call ptr @fn_val(ptr %t31, ptr @.str3916) store ptr %t32, ptr %retval br label %ret ifend12: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str3917) %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then13, label %ifend15 then13: %t36 = load ptr, ptr %t1 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 0, %t42 br i1 %t43, label %ixok16, label %ixbad17 ixbad17: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str3918, i32 0, i32 %t42) call void @exit(i32 1) unreachable ixok16: %t45 = getelementptr inbounds ptr, ptr %t40, i32 0 %t46 = load ptr, ptr %t45 %t47 = call ptr @fn_emit_expr(ptr %t46) store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %Cmp_Val, ptr %t49, i32 0, i32 0 %t51 = load ptr, ptr %t50 %t52 = call ptr @lp_str_concat(ptr @.str3919, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str3920) %t54 = call ptr @fn_emit_bind(ptr %t53) %t55 = call ptr @fn_val(ptr %t54, ptr @.str3921) store ptr %t55, ptr %retval br label %ret ifend15: %t56 = load ptr, ptr %t0 %t57 = call i32 @lp_str_eq(ptr %t56, ptr @.str3922) %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then18, label %ifend20 then18: %t59 = load ptr, ptr %t1 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 7 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 0, %t65 br i1 %t66, label %ixok21, label %ixbad22 ixbad22: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str3923, i32 0, i32 %t65) call void @exit(i32 1) unreachable ixok21: %t68 = getelementptr inbounds ptr, ptr %t63, i32 0 %t69 = load ptr, ptr %t68 %t70 = call ptr @fn_emit_expr(ptr %t69) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %Cmp_Val, ptr %t72, i32 0, i32 0 %t74 = load ptr, ptr %t73 %t75 = call ptr @fn_val(ptr %t74, ptr @.str3924) store ptr %t75, ptr %retval br label %ret ifend20: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str3925) %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then23, label %ifend25 then23: %t79 = load ptr, ptr %t1 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 7 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 0, %t85 br i1 %t86, label %ixok26, label %ixbad27 ixbad27: %t87 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str3926, i32 0, i32 %t85) call void @exit(i32 1) unreachable ixok26: %t88 = getelementptr inbounds ptr, ptr %t83, i32 0 %t89 = load ptr, ptr %t88 %t90 = call ptr @fn_emit_expr(ptr %t89) store ptr %t90, ptr %t91 %t92 = load ptr, ptr %t1 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 7 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 1, %t98 br i1 %t99, label %ixok28, label %ixbad29 ixbad29: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str3927, i32 1, i32 %t98) call void @exit(i32 1) unreachable ixok28: %t101 = getelementptr inbounds ptr, ptr %t96, i32 1 %t102 = load ptr, ptr %t101 %t103 = call ptr @fn_emit_expr(ptr %t102) store ptr %t103, ptr %t104 %t105 = load ptr, ptr %t91 %t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 0 %t107 = load ptr, ptr %t106 %t108 = call ptr @lp_str_concat(ptr @.str3928, ptr %t107) %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str3929) %t110 = load ptr, ptr %t104 %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0 %t112 = load ptr, ptr %t111 %t113 = call ptr @lp_str_concat(ptr %t109, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str3930) %t115 = call ptr @fn_emit_bind(ptr %t114) %t116 = call ptr @fn_val(ptr %t115, ptr @.str3931) store ptr %t116, ptr %retval br label %ret ifend25: %t117 = load ptr, ptr %t1 %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 7 %t119 = load ptr, ptr %t118 %t120 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 0 %t121 = load ptr, ptr %t120 %t122 = getelementptr inbounds %LSlice, ptr %t119, i32 0, i32 1 %t123 = load i32, ptr %t122 %t124 = icmp ult i32 0, %t123 br i1 %t124, label %ixok30, label %ixbad31 ixbad31: %t125 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t125, ptr @.fmt_bounds, ptr @.str3932, i32 0, i32 %t123) call void @exit(i32 1) unreachable ixok30: %t126 = getelementptr inbounds ptr, ptr %t121, i32 0 %t127 = load ptr, ptr %t126 %t128 = call ptr @fn_emit_expr(ptr %t127) store ptr %t128, ptr %t129 %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = call ptr @lp_str_concat(ptr @.str3933, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str3934) %t135 = call ptr @fn_emit_bind(ptr %t134) %t136 = call ptr @fn_val(ptr %t135, ptr @.str3935) store ptr %t136, ptr %retval br label %ret ret: %t137 = load ptr, ptr %retval ret ptr %t137 } define void @fn_emit_uuid_prelude() { entry: call void @fn_emith(ptr @.str3936) call void @fn_emith(ptr @.str3937) call void @fn_emith(ptr @.str3938) call void @fn_emith(ptr @.str3939) call void @fn_emith(ptr @.str3940) call void @fn_emith(ptr @.str3941) call void @fn_emith(ptr @.str3942) call void @fn_emith(ptr @.str3943) call void @fn_emith(ptr @.str3944) call void @fn_emith(ptr @.str3945) call void @fn_emith(ptr @.str3946) call void @fn_emith(ptr @.str3947) call void @fn_emith(ptr @.str3948) call void @fn_emith(ptr @.str3949) call void @fn_emith(ptr @.str3950) call void @fn_emith(ptr @.str3951) call void @fn_emith(ptr @.str3952) call void @fn_emith(ptr @.str3953) call void @fn_emith(ptr @.str3954) call void @fn_emith(ptr @.str3955) call void @fn_emith(ptr @.str3956) call void @fn_emith(ptr @.str3957) call void @fn_emith(ptr @.str3958) call void @fn_emith(ptr @.str3959) call void @fn_emith(ptr @.str3960) call void @fn_emith(ptr @.str3961) call void @fn_emith(ptr @.str3962) call void @fn_emith(ptr @.str3963) call void @fn_emith(ptr @.str3964) call void @fn_emith(ptr @.str3965) call void @fn_emith(ptr @.str3966) call void @fn_emith(ptr @.str3967) call void @fn_emith(ptr @.str3968) call void @fn_emith(ptr @.str3969) call void @fn_emith(ptr @.str3970) call void @fn_emith(ptr @.str3971) call void @fn_emith(ptr @.str3972) call void @fn_emith(ptr @.str3973) call void @fn_emith(ptr @.str3974) call void @fn_emith(ptr @.str3975) call void @fn_emith(ptr @.str3976) call void @fn_emith(ptr @.str3977) call void @fn_emith(ptr @.str3978) call void @fn_emith(ptr @.str3979) call void @fn_emith(ptr @.str3980) call void @fn_emith(ptr @.str3981) call void @fn_emith(ptr @.str3982) call void @fn_emith(ptr @.str3983) call void @fn_emith(ptr @.str3984) call void @fn_emith(ptr @.str3985) call void @fn_emith(ptr @.str3986) call void @fn_emith(ptr @.str3987) call void @fn_emith(ptr @.str3988) call void @fn_emith(ptr @.str3989) call void @fn_emith(ptr @.str3990) call void @fn_emith(ptr @.str3991) call void @fn_emith(ptr @.str3992) call void @fn_emith(ptr @.str3993) call void @fn_emith(ptr @.str3994) call void @fn_emith(ptr @.str3995) call void @fn_emith(ptr @.str3996) call void @fn_emith(ptr @.str3997) call void @fn_emith(ptr @.str3998) call void @fn_emith(ptr @.str3999) call void @fn_emith(ptr @.str4000) call void @fn_emith(ptr @.str4001) call void @fn_emith(ptr @.str4002) call void @fn_emith(ptr @.str4003) call void @fn_emith(ptr @.str4004) call void @fn_emith(ptr @.str4005) call void @fn_emith(ptr @.str4006) call void @fn_emith(ptr @.str4007) call void @fn_emith(ptr @.str4008) call void @fn_emith(ptr @.str4009) br label %ret ret: ret void } define i32 @fn_is_noise_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t20 = alloca i32 %t21 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str4010) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str4011) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str4012) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str4013) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t21 br i1 %t24, label %scend8, label %sc7 sc7: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str4014) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t21 br label %scend8 scend8: %t30 = load i32, ptr %t21 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t20 br i1 %t31, label %scend10, label %sc9 sc9: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str4015) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t20 br label %scend10 scend10: %t37 = load i32, ptr %t20 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then11, label %ifend13 then11: store i32 1, ptr %retval br label %ret ifend13: %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str4016) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then14, label %ifend16 then14: store i32 1, ptr %retval br label %ret ifend16: store i32 0, ptr %retval br label %ret ret: %t42 = load i32, ptr %retval ret i32 %t42 } define ptr @fn_emit_noise_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t24 = alloca ptr %t45 = alloca ptr %t58 = alloca ptr %t71 = alloca ptr %t104 = alloca ptr %t117 = alloca ptr %t130 = alloca ptr %t163 = alloca ptr %t176 = alloca ptr %t189 = alloca ptr %t222 = alloca ptr %t235 = alloca ptr %t248 = alloca ptr %t261 = alloca ptr %t299 = alloca ptr %t312 = alloca ptr %t325 = alloca ptr %t355 = alloca ptr %t368 = alloca ptr %t381 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str4017) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str4018, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @lp_str_concat(ptr @.str4019, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str4020) %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str4021, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4022) %t28 = call ptr @fn_emit_bind(ptr %t27) %t29 = call ptr @fn_val(ptr %t28, ptr @.str4023) store ptr %t29, ptr %retval br label %ret ifend2: store i32 1, ptr @g_g_uses_noisert %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str4024) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t1 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 0, %t39 br i1 %t40, label %ixok8, label %ixbad9 ixbad9: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str4025, i32 0, i32 %t39) call void @exit(i32 1) unreachable ixok8: %t42 = getelementptr inbounds ptr, ptr %t37, i32 0 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_emit_expr(ptr %t43) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t1 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 7 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 1, %t52 br i1 %t53, label %ixok10, label %ixbad11 ixbad11: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str4026, i32 1, i32 %t52) call void @exit(i32 1) unreachable ixok10: %t55 = getelementptr inbounds ptr, ptr %t50, i32 1 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_emit_expr(ptr %t56) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t1 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 7 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 2, %t65 br i1 %t66, label %ixok12, label %ixbad13 ixbad13: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str4027, i32 2, i32 %t65) call void @exit(i32 1) unreachable ixok12: %t68 = getelementptr inbounds ptr, ptr %t63, i32 2 %t69 = load ptr, ptr %t68 %t70 = call ptr @fn_emit_expr(ptr %t69) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t45 %t73 = getelementptr inbounds %Cmp_Val, ptr %t72, i32 0, i32 0 %t74 = load ptr, ptr %t73 %t75 = call ptr @lp_str_concat(ptr @.str4028, ptr %t74) %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str4029) %t77 = load ptr, ptr %t58 %t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = call ptr @lp_str_concat(ptr %t76, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str4030) %t82 = load ptr, ptr %t71 %t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0 %t84 = load ptr, ptr %t83 %t85 = call ptr @lp_str_concat(ptr %t81, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str4031) %t87 = call ptr @fn_emit_bind(ptr %t86) %t88 = call ptr @fn_val(ptr %t87, ptr @.str4032) store ptr %t88, ptr %retval br label %ret ifend7: %t89 = load ptr, ptr %t0 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str4033) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then14, label %ifend16 then14: %t92 = load ptr, ptr %t1 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 7 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 0, %t98 br i1 %t99, label %ixok17, label %ixbad18 ixbad18: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str4034, i32 0, i32 %t98) call void @exit(i32 1) unreachable ixok17: %t101 = getelementptr inbounds ptr, ptr %t96, i32 0 %t102 = load ptr, ptr %t101 %t103 = call ptr @fn_emit_expr(ptr %t102) store ptr %t103, ptr %t104 %t105 = load ptr, ptr %t1 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 7 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 %t111 = load i32, ptr %t110 %t112 = icmp ult i32 1, %t111 br i1 %t112, label %ixok19, label %ixbad20 ixbad20: %t113 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t113, ptr @.fmt_bounds, ptr @.str4035, i32 1, i32 %t111) call void @exit(i32 1) unreachable ixok19: %t114 = getelementptr inbounds ptr, ptr %t109, i32 1 %t115 = load ptr, ptr %t114 %t116 = call ptr @fn_emit_expr(ptr %t115) store ptr %t116, ptr %t117 %t118 = load ptr, ptr %t1 %t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 7 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 1 %t124 = load i32, ptr %t123 %t125 = icmp ult i32 2, %t124 br i1 %t125, label %ixok21, label %ixbad22 ixbad22: %t126 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t126, ptr @.fmt_bounds, ptr @.str4036, i32 2, i32 %t124) call void @exit(i32 1) unreachable ixok21: %t127 = getelementptr inbounds ptr, ptr %t122, i32 2 %t128 = load ptr, ptr %t127 %t129 = call ptr @fn_emit_expr(ptr %t128) store ptr %t129, ptr %t130 %t131 = load ptr, ptr %t104 %t132 = getelementptr inbounds %Cmp_Val, ptr %t131, i32 0, i32 0 %t133 = load ptr, ptr %t132 %t134 = call ptr @lp_str_concat(ptr @.str4037, ptr %t133) %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str4038) %t136 = load ptr, ptr %t117 %t137 = getelementptr inbounds %Cmp_Val, ptr %t136, i32 0, i32 0 %t138 = load ptr, ptr %t137 %t139 = call ptr @lp_str_concat(ptr %t135, ptr %t138) %t140 = call ptr @lp_str_concat(ptr %t139, ptr @.str4039) %t141 = load ptr, ptr %t130 %t142 = getelementptr inbounds %Cmp_Val, ptr %t141, i32 0, i32 0 %t143 = load ptr, ptr %t142 %t144 = call ptr @lp_str_concat(ptr %t140, ptr %t143) %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str4040) %t146 = call ptr @fn_emit_bind(ptr %t145) %t147 = call ptr @fn_val(ptr %t146, ptr @.str4041) store ptr %t147, ptr %retval br label %ret ifend16: %t148 = load ptr, ptr %t0 %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str4042) %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %then23, label %ifend25 then23: %t151 = load ptr, ptr %t1 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 7 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 0 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 1 %t157 = load i32, ptr %t156 %t158 = icmp ult i32 0, %t157 br i1 %t158, label %ixok26, label %ixbad27 ixbad27: %t159 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str4043, i32 0, i32 %t157) call void @exit(i32 1) unreachable ixok26: %t160 = getelementptr inbounds ptr, ptr %t155, i32 0 %t161 = load ptr, ptr %t160 %t162 = call ptr @fn_emit_expr(ptr %t161) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t1 %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 7 %t166 = load ptr, ptr %t165 %t167 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0 %t168 = load ptr, ptr %t167 %t169 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 1 %t170 = load i32, ptr %t169 %t171 = icmp ult i32 1, %t170 br i1 %t171, label %ixok28, label %ixbad29 ixbad29: %t172 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t172, ptr @.fmt_bounds, ptr @.str4044, i32 1, i32 %t170) call void @exit(i32 1) unreachable ixok28: %t173 = getelementptr inbounds ptr, ptr %t168, i32 1 %t174 = load ptr, ptr %t173 %t175 = call ptr @fn_emit_expr(ptr %t174) store ptr %t175, ptr %t176 %t177 = load ptr, ptr %t1 %t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 7 %t179 = load ptr, ptr %t178 %t180 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 0 %t181 = load ptr, ptr %t180 %t182 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 1 %t183 = load i32, ptr %t182 %t184 = icmp ult i32 2, %t183 br i1 %t184, label %ixok30, label %ixbad31 ixbad31: %t185 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t185, ptr @.fmt_bounds, ptr @.str4045, i32 2, i32 %t183) call void @exit(i32 1) unreachable ixok30: %t186 = getelementptr inbounds ptr, ptr %t181, i32 2 %t187 = load ptr, ptr %t186 %t188 = call ptr @fn_emit_expr(ptr %t187) store ptr %t188, ptr %t189 %t190 = load ptr, ptr %t163 %t191 = getelementptr inbounds %Cmp_Val, ptr %t190, i32 0, i32 0 %t192 = load ptr, ptr %t191 %t193 = call ptr @lp_str_concat(ptr @.str4046, ptr %t192) %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str4047) %t195 = load ptr, ptr %t176 %t196 = getelementptr inbounds %Cmp_Val, ptr %t195, i32 0, i32 0 %t197 = load ptr, ptr %t196 %t198 = call ptr @lp_str_concat(ptr %t194, ptr %t197) %t199 = call ptr @lp_str_concat(ptr %t198, ptr @.str4048) %t200 = load ptr, ptr %t189 %t201 = getelementptr inbounds %Cmp_Val, ptr %t200, i32 0, i32 0 %t202 = load ptr, ptr %t201 %t203 = call ptr @lp_str_concat(ptr %t199, ptr %t202) %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str4049) %t205 = call ptr @fn_emit_bind(ptr %t204) %t206 = call ptr @fn_val(ptr %t205, ptr @.str4050) store ptr %t206, ptr %retval br label %ret ifend25: %t207 = load ptr, ptr %t0 %t208 = call i32 @lp_str_eq(ptr %t207, ptr @.str4051) %t209 = icmp ne i32 %t208, 0 br i1 %t209, label %then32, label %ifend34 then32: store i32 1, ptr @g_g_uses_mathrt %t210 = load ptr, ptr %t1 %t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 7 %t212 = load ptr, ptr %t211 %t213 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 0 %t214 = load ptr, ptr %t213 %t215 = getelementptr inbounds %LSlice, ptr %t212, i32 0, i32 1 %t216 = load i32, ptr %t215 %t217 = icmp ult i32 0, %t216 br i1 %t217, label %ixok35, label %ixbad36 ixbad36: %t218 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t218, ptr @.fmt_bounds, ptr @.str4052, i32 0, i32 %t216) call void @exit(i32 1) unreachable ixok35: %t219 = getelementptr inbounds ptr, ptr %t214, i32 0 %t220 = load ptr, ptr %t219 %t221 = call ptr @fn_emit_expr(ptr %t220) store ptr %t221, ptr %t222 %t223 = load ptr, ptr %t1 %t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 7 %t225 = load ptr, ptr %t224 %t226 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 0 %t227 = load ptr, ptr %t226 %t228 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 1 %t229 = load i32, ptr %t228 %t230 = icmp ult i32 1, %t229 br i1 %t230, label %ixok37, label %ixbad38 ixbad38: %t231 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t231, ptr @.fmt_bounds, ptr @.str4053, i32 1, i32 %t229) call void @exit(i32 1) unreachable ixok37: %t232 = getelementptr inbounds ptr, ptr %t227, i32 1 %t233 = load ptr, ptr %t232 %t234 = call ptr @fn_emit_expr(ptr %t233) store ptr %t234, ptr %t235 %t236 = load ptr, ptr %t1 %t237 = getelementptr inbounds %Cmp_Node, ptr %t236, i32 0, i32 7 %t238 = load ptr, ptr %t237 %t239 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 0 %t240 = load ptr, ptr %t239 %t241 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 1 %t242 = load i32, ptr %t241 %t243 = icmp ult i32 2, %t242 br i1 %t243, label %ixok39, label %ixbad40 ixbad40: %t244 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t244, ptr @.fmt_bounds, ptr @.str4054, i32 2, i32 %t242) call void @exit(i32 1) unreachable ixok39: %t245 = getelementptr inbounds ptr, ptr %t240, i32 2 %t246 = load ptr, ptr %t245 %t247 = call ptr @fn_emit_expr(ptr %t246) store ptr %t247, ptr %t248 %t249 = load ptr, ptr %t1 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 7 %t251 = load ptr, ptr %t250 %t252 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 0 %t253 = load ptr, ptr %t252 %t254 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 1 %t255 = load i32, ptr %t254 %t256 = icmp ult i32 3, %t255 br i1 %t256, label %ixok41, label %ixbad42 ixbad42: %t257 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t257, ptr @.fmt_bounds, ptr @.str4055, i32 3, i32 %t255) call void @exit(i32 1) unreachable ixok41: %t258 = getelementptr inbounds ptr, ptr %t253, i32 3 %t259 = load ptr, ptr %t258 %t260 = call ptr @fn_emit_expr(ptr %t259) store ptr %t260, ptr %t261 %t262 = load ptr, ptr %t222 %t263 = getelementptr inbounds %Cmp_Val, ptr %t262, i32 0, i32 0 %t264 = load ptr, ptr %t263 %t265 = call ptr @lp_str_concat(ptr @.str4056, ptr %t264) %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str4057) %t267 = load ptr, ptr %t235 %t268 = getelementptr inbounds %Cmp_Val, ptr %t267, i32 0, i32 0 %t269 = load ptr, ptr %t268 %t270 = call ptr @lp_str_concat(ptr %t266, ptr %t269) %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str4058) %t272 = load ptr, ptr %t248 %t273 = getelementptr inbounds %Cmp_Val, ptr %t272, i32 0, i32 0 %t274 = load ptr, ptr %t273 %t275 = call ptr @lp_str_concat(ptr %t271, ptr %t274) %t276 = call ptr @lp_str_concat(ptr %t275, ptr @.str4059) %t277 = load ptr, ptr %t261 %t278 = getelementptr inbounds %Cmp_Val, ptr %t277, i32 0, i32 0 %t279 = load ptr, ptr %t278 %t280 = call ptr @lp_str_concat(ptr %t276, ptr %t279) %t281 = call ptr @lp_str_concat(ptr %t280, ptr @.str4060) %t282 = call ptr @fn_emit_bind(ptr %t281) %t283 = call ptr @fn_val(ptr %t282, ptr @.str4061) store ptr %t283, ptr %retval br label %ret ifend34: %t284 = load ptr, ptr %t0 %t285 = call i32 @lp_str_eq(ptr %t284, ptr @.str4062) %t286 = icmp ne i32 %t285, 0 br i1 %t286, label %then43, label %ifend45 then43: store i32 1, ptr @g_g_uses_mathrt %t287 = load ptr, ptr %t1 %t288 = getelementptr inbounds %Cmp_Node, ptr %t287, i32 0, i32 7 %t289 = load ptr, ptr %t288 %t290 = getelementptr inbounds %LSlice, ptr %t289, i32 0, i32 0 %t291 = load ptr, ptr %t290 %t292 = getelementptr inbounds %LSlice, ptr %t289, i32 0, i32 1 %t293 = load i32, ptr %t292 %t294 = icmp ult i32 0, %t293 br i1 %t294, label %ixok46, label %ixbad47 ixbad47: %t295 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t295, ptr @.fmt_bounds, ptr @.str4063, i32 0, i32 %t293) call void @exit(i32 1) unreachable ixok46: %t296 = getelementptr inbounds ptr, ptr %t291, i32 0 %t297 = load ptr, ptr %t296 %t298 = call ptr @fn_emit_expr(ptr %t297) store ptr %t298, ptr %t299 %t300 = load ptr, ptr %t1 %t301 = getelementptr inbounds %Cmp_Node, ptr %t300, i32 0, i32 7 %t302 = load ptr, ptr %t301 %t303 = getelementptr inbounds %LSlice, ptr %t302, i32 0, i32 0 %t304 = load ptr, ptr %t303 %t305 = getelementptr inbounds %LSlice, ptr %t302, i32 0, i32 1 %t306 = load i32, ptr %t305 %t307 = icmp ult i32 1, %t306 br i1 %t307, label %ixok48, label %ixbad49 ixbad49: %t308 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t308, ptr @.fmt_bounds, ptr @.str4064, i32 1, i32 %t306) call void @exit(i32 1) unreachable ixok48: %t309 = getelementptr inbounds ptr, ptr %t304, i32 1 %t310 = load ptr, ptr %t309 %t311 = call ptr @fn_emit_expr(ptr %t310) store ptr %t311, ptr %t312 %t313 = load ptr, ptr %t1 %t314 = getelementptr inbounds %Cmp_Node, ptr %t313, i32 0, i32 7 %t315 = load ptr, ptr %t314 %t316 = getelementptr inbounds %LSlice, ptr %t315, i32 0, i32 0 %t317 = load ptr, ptr %t316 %t318 = getelementptr inbounds %LSlice, ptr %t315, i32 0, i32 1 %t319 = load i32, ptr %t318 %t320 = icmp ult i32 2, %t319 br i1 %t320, label %ixok50, label %ixbad51 ixbad51: %t321 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t321, ptr @.fmt_bounds, ptr @.str4065, i32 2, i32 %t319) call void @exit(i32 1) unreachable ixok50: %t322 = getelementptr inbounds ptr, ptr %t317, i32 2 %t323 = load ptr, ptr %t322 %t324 = call ptr @fn_emit_expr(ptr %t323) store ptr %t324, ptr %t325 %t326 = load ptr, ptr %t299 %t327 = getelementptr inbounds %Cmp_Val, ptr %t326, i32 0, i32 0 %t328 = load ptr, ptr %t327 %t329 = call ptr @lp_str_concat(ptr @.str4066, ptr %t328) %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str4067) %t331 = load ptr, ptr %t312 %t332 = getelementptr inbounds %Cmp_Val, ptr %t331, i32 0, i32 0 %t333 = load ptr, ptr %t332 %t334 = call ptr @lp_str_concat(ptr %t330, ptr %t333) %t335 = call ptr @lp_str_concat(ptr %t334, ptr @.str4068) %t336 = load ptr, ptr %t325 %t337 = getelementptr inbounds %Cmp_Val, ptr %t336, i32 0, i32 0 %t338 = load ptr, ptr %t337 %t339 = call ptr @lp_str_concat(ptr %t335, ptr %t338) %t340 = call ptr @lp_str_concat(ptr %t339, ptr @.str4069) %t341 = call ptr @fn_emit_bind(ptr %t340) %t342 = call ptr @fn_val(ptr %t341, ptr @.str4070) store ptr %t342, ptr %retval br label %ret ifend45: %t343 = load ptr, ptr %t1 %t344 = getelementptr inbounds %Cmp_Node, ptr %t343, i32 0, i32 7 %t345 = load ptr, ptr %t344 %t346 = getelementptr inbounds %LSlice, ptr %t345, i32 0, i32 0 %t347 = load ptr, ptr %t346 %t348 = getelementptr inbounds %LSlice, ptr %t345, i32 0, i32 1 %t349 = load i32, ptr %t348 %t350 = icmp ult i32 0, %t349 br i1 %t350, label %ixok52, label %ixbad53 ixbad53: %t351 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t351, ptr @.fmt_bounds, ptr @.str4071, i32 0, i32 %t349) call void @exit(i32 1) unreachable ixok52: %t352 = getelementptr inbounds ptr, ptr %t347, i32 0 %t353 = load ptr, ptr %t352 %t354 = call ptr @fn_emit_expr(ptr %t353) store ptr %t354, ptr %t355 %t356 = load ptr, ptr %t1 %t357 = getelementptr inbounds %Cmp_Node, ptr %t356, i32 0, i32 7 %t358 = load ptr, ptr %t357 %t359 = getelementptr inbounds %LSlice, ptr %t358, i32 0, i32 0 %t360 = load ptr, ptr %t359 %t361 = getelementptr inbounds %LSlice, ptr %t358, i32 0, i32 1 %t362 = load i32, ptr %t361 %t363 = icmp ult i32 1, %t362 br i1 %t363, label %ixok54, label %ixbad55 ixbad55: %t364 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t364, ptr @.fmt_bounds, ptr @.str4072, i32 1, i32 %t362) call void @exit(i32 1) unreachable ixok54: %t365 = getelementptr inbounds ptr, ptr %t360, i32 1 %t366 = load ptr, ptr %t365 %t367 = call ptr @fn_emit_expr(ptr %t366) store ptr %t367, ptr %t368 %t369 = load ptr, ptr %t1 %t370 = getelementptr inbounds %Cmp_Node, ptr %t369, i32 0, i32 7 %t371 = load ptr, ptr %t370 %t372 = getelementptr inbounds %LSlice, ptr %t371, i32 0, i32 0 %t373 = load ptr, ptr %t372 %t374 = getelementptr inbounds %LSlice, ptr %t371, i32 0, i32 1 %t375 = load i32, ptr %t374 %t376 = icmp ult i32 2, %t375 br i1 %t376, label %ixok56, label %ixbad57 ixbad57: %t377 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t377, ptr @.fmt_bounds, ptr @.str4073, i32 2, i32 %t375) call void @exit(i32 1) unreachable ixok56: %t378 = getelementptr inbounds ptr, ptr %t373, i32 2 %t379 = load ptr, ptr %t378 %t380 = call ptr @fn_emit_expr(ptr %t379) store ptr %t380, ptr %t381 %t382 = load ptr, ptr %t355 %t383 = getelementptr inbounds %Cmp_Val, ptr %t382, i32 0, i32 0 %t384 = load ptr, ptr %t383 %t385 = call ptr @lp_str_concat(ptr @.str4074, ptr %t384) %t386 = call ptr @lp_str_concat(ptr %t385, ptr @.str4075) %t387 = load ptr, ptr %t368 %t388 = getelementptr inbounds %Cmp_Val, ptr %t387, i32 0, i32 0 %t389 = load ptr, ptr %t388 %t390 = call ptr @lp_str_concat(ptr %t386, ptr %t389) %t391 = call ptr @lp_str_concat(ptr %t390, ptr @.str4076) %t392 = load ptr, ptr %t381 %t393 = getelementptr inbounds %Cmp_Val, ptr %t392, i32 0, i32 0 %t394 = load ptr, ptr %t393 %t395 = call ptr @lp_str_concat(ptr %t391, ptr %t394) %t396 = call ptr @lp_str_concat(ptr %t395, ptr @.str4077) %t397 = call ptr @fn_emit_bind(ptr %t396) %t398 = call ptr @fn_val(ptr %t397, ptr @.str4078) store ptr %t398, ptr %retval br label %ret ret: %t399 = load ptr, ptr %retval ret ptr %t399 } define void @fn_emit_noise_prelude() { entry: call void @fn_emith(ptr @.str4079) call void @fn_emith(ptr @.str4080) call void @fn_emith(ptr @.str4081) call void @fn_emith(ptr @.str4082) call void @fn_emith(ptr @.str4083) call void @fn_emith(ptr @.str4084) call void @fn_emith(ptr @.str4085) call void @fn_emith(ptr @.str4086) call void @fn_emith(ptr @.str4087) call void @fn_emith(ptr @.str4088) call void @fn_emith(ptr @.str4089) call void @fn_emith(ptr @.str4090) call void @fn_emith(ptr @.str4091) call void @fn_emith(ptr @.str4092) call void @fn_emith(ptr @.str4093) call void @fn_emith(ptr @.str4094) call void @fn_emith(ptr @.str4095) call void @fn_emith(ptr @.str4096) call void @fn_emith(ptr @.str4097) call void @fn_emith(ptr @.str4098) call void @fn_emith(ptr @.str4099) call void @fn_emith(ptr @.str4100) call void @fn_emith(ptr @.str4101) call void @fn_emith(ptr @.str4102) call void @fn_emith(ptr @.str4103) call void @fn_emith(ptr @.str4104) call void @fn_emith(ptr @.str4105) call void @fn_emith(ptr @.str4106) call void @fn_emith(ptr @.str4107) call void @fn_emith(ptr @.str4108) call void @fn_emith(ptr @.str4109) call void @fn_emith(ptr @.str4110) call void @fn_emith(ptr @.str4111) call void @fn_emith(ptr @.str4112) call void @fn_emith(ptr @.str4113) call void @fn_emith(ptr @.str4114) call void @fn_emith(ptr @.str4115) call void @fn_emith(ptr @.str4116) call void @fn_emith(ptr @.str4117) call void @fn_emith(ptr @.str4118) call void @fn_emith(ptr @.str4119) call void @fn_emith(ptr @.str4120) call void @fn_emith(ptr @.str4121) call void @fn_emith(ptr @.str4122) call void @fn_emith(ptr @.str4123) call void @fn_emith(ptr @.str4124) call void @fn_emith(ptr @.str4125) call void @fn_emith(ptr @.str4126) call void @fn_emith(ptr @.str4127) call void @fn_emith(ptr @.str4128) call void @fn_emith(ptr @.str4129) call void @fn_emith(ptr @.str4130) call void @fn_emith(ptr @.str4131) call void @fn_emith(ptr @.str4132) call void @fn_emith(ptr @.str4133) call void @fn_emith(ptr @.str4134) call void @fn_emith(ptr @.str4135) call void @fn_emith(ptr @.str4136) call void @fn_emith(ptr @.str4137) call void @fn_emith(ptr @.str4138) call void @fn_emith(ptr @.str4139) call void @fn_emith(ptr @.str4140) call void @fn_emith(ptr @.str4141) call void @fn_emith(ptr @.str4142) call void @fn_emith(ptr @.str4143) call void @fn_emith(ptr @.str4144) call void @fn_emith(ptr @.str4145) call void @fn_emith(ptr @.str4146) call void @fn_emith(ptr @.str4147) call void @fn_emith(ptr @.str4148) call void @fn_emith(ptr @.str4149) call void @fn_emith(ptr @.str4150) call void @fn_emith(ptr @.str4151) call void @fn_emith(ptr @.str4152) call void @fn_emith(ptr @.str4153) call void @fn_emith(ptr @.str4154) call void @fn_emith(ptr @.str4155) call void @fn_emith(ptr @.str4156) call void @fn_emith(ptr @.str4157) call void @fn_emith(ptr @.str4158) call void @fn_emith(ptr @.str4159) call void @fn_emith(ptr @.str4160) call void @fn_emith(ptr @.str4161) call void @fn_emith(ptr @.str4162) call void @fn_emit_noise_cellular() br label %ret ret: ret void } define void @fn_emit_noise_cellular() { entry: call void @fn_emith(ptr @.str4163) call void @fn_emith(ptr @.str4164) call void @fn_emith(ptr @.str4165) call void @fn_emith(ptr @.str4166) call void @fn_emith(ptr @.str4167) call void @fn_emith(ptr @.str4168) call void @fn_emith(ptr @.str4169) call void @fn_emith(ptr @.str4170) call void @fn_emith(ptr @.str4171) call void @fn_emith(ptr @.str4172) call void @fn_emith(ptr @.str4173) call void @fn_emith(ptr @.str4174) call void @fn_emith(ptr @.str4175) call void @fn_emith(ptr @.str4176) call void @fn_emith(ptr @.str4177) call void @fn_emith(ptr @.str4178) call void @fn_emith(ptr @.str4179) call void @fn_emith(ptr @.str4180) call void @fn_emith(ptr @.str4181) call void @fn_emith(ptr @.str4182) call void @fn_emith(ptr @.str4183) call void @fn_emith(ptr @.str4184) call void @fn_emith(ptr @.str4185) call void @fn_emith(ptr @.str4186) br label %ret ret: ret void } define i32 @fn_is_log_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t20 = alloca i32 %t31 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str4187) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str4188) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str4189) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str4190) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t20 br i1 %t23, label %scend8, label %sc7 sc7: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str4191) %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t20 br label %scend8 scend8: %t29 = load i32, ptr %t20 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t32 = load ptr, ptr %t0 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str4192) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t31 br i1 %t34, label %scend13, label %sc12 sc12: %t36 = load ptr, ptr %t0 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str4193) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t31 br label %scend13 scend13: %t40 = load i32, ptr %t31 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then14, label %ifend16 then14: store i32 1, ptr %retval br label %ret ifend16: store i32 0, ptr %retval br label %ret ret: %t42 = load i32, ptr %retval ret i32 %t42 } define ptr @fn_log_stringify(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_llty(ptr %t3) %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str4194) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Val, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 1 %t12 = load ptr, ptr %t11 %t13 = call ptr @fn_llty(ptr %t12) %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str4195) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then3, label %ifend5 then3: store i32 1, ptr @g_g_uses_longstr %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Val, ptr %t16, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = call ptr @lp_str_concat(ptr @.str4196, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str4197) %t21 = call ptr @fn_emit_bind(ptr %t20) store ptr %t21, ptr %retval br label %ret ifend5: store i32 1, ptr @g_g_uses_intstr %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = call ptr @lp_str_concat(ptr @.str4198, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str4199) %t27 = call ptr @fn_emit_bind(ptr %t26) store ptr %t27, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval ret ptr %t28 } define ptr @fn_emit_log_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t29 = alloca ptr %t30 = alloca ptr %t46 = alloca ptr %t59 = alloca ptr %t65 = alloca i32 %t89 = alloca ptr %t104 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 store i32 1, ptr @g_g_uses_logrt %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str4200) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str4201, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @lp_str_concat(ptr @.str4202, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str4203) call void @fn_emit(ptr %t22) %t23 = call ptr @fn_val(ptr @.str4204, ptr @.str4205) store ptr %t23, ptr %retval br label %ret ifend2: %t24 = load ptr, ptr %t0 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str4206) %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then5, label %ifend7 then5: %t27 = call ptr @fn_emit_bind(ptr @.str4207) %t28 = call ptr @fn_val(ptr %t27, ptr @.str4208) store ptr %t28, ptr %retval br label %ret ifend7: store ptr @.str4209, ptr %t29 store ptr @.str4210, ptr %t30 %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str4211) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then8, label %ifend10 then8: store ptr @.str4212, ptr %t29 store ptr @.str4213, ptr %t30 br label %ifend10 ifend10: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str4214) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then11, label %ifend13 then11: store ptr @.str4215, ptr %t29 store ptr @.str4216, ptr %t30 br label %ifend13 ifend13: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str4217) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then14, label %ifend16 then14: store ptr @.str4218, ptr %t29 store ptr @.str4219, ptr %t30 br label %ifend16 ifend16: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str4220) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then17, label %ifend19 then17: store ptr @.str4221, ptr %t29 store ptr @.str4222, ptr %t30 br label %ifend19 ifend19: store i32 1, ptr @g_g_uses_str %t43 = load ptr, ptr %t30 %t44 = call ptr @fn_emit_str_const(ptr %t43) %t45 = call ptr @fn_val(ptr %t44, ptr @.str4223) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t1 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 7 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t53 = load i32, ptr %t52 %t54 = icmp ult i32 0, %t53 br i1 %t54, label %ixok20, label %ixbad21 ixbad21: %t55 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str4224, i32 0, i32 %t53) call void @exit(i32 1) unreachable ixok20: %t56 = getelementptr inbounds ptr, ptr %t51, i32 0 %t57 = load ptr, ptr %t56 %t58 = call ptr @fn_emit_expr(ptr %t57) store ptr %t58, ptr %t59 %t60 = load ptr, ptr %t46 %t61 = load ptr, ptr %t59 %t62 = call ptr @fn_log_stringify(ptr %t61) %t63 = call ptr @fn_val(ptr %t62, ptr @.str4226) %t64 = call ptr @fn_emit_str_op(ptr @.str4225, ptr %t60, ptr %t63) store ptr %t64, ptr %t46 store i32 1, ptr %t65 br label %wcond22 wcond22: %t66 = load i32, ptr %t65 %t67 = add i32 %t66, 1 %t68 = load ptr, ptr %t1 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 7 %t70 = load ptr, ptr %t69 %t71 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t72 = load i32, ptr %t71 %t73 = icmp slt i32 %t67, %t72 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %wbody23, label %wend24 wbody23: %t76 = load ptr, ptr %t1 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = load i32, ptr %t65 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t81, %t83 br i1 %t84, label %ixok25, label %ixbad26 ixbad26: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str4227, i32 %t81, i32 %t83) call void @exit(i32 1) unreachable ixok25: %t86 = getelementptr inbounds ptr, ptr %t80, i32 %t81 %t87 = load ptr, ptr %t86 %t88 = call ptr @fn_emit_expr(ptr %t87) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t1 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 7 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 %t94 = load ptr, ptr %t93 %t95 = load i32, ptr %t65 %t96 = add i32 %t95, 1 %t97 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 %t96, %t98 br i1 %t99, label %ixok27, label %ixbad28 ixbad28: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str4228, i32 %t96, i32 %t98) call void @exit(i32 1) unreachable ixok27: %t101 = getelementptr inbounds ptr, ptr %t94, i32 %t96 %t102 = load ptr, ptr %t101 %t103 = call ptr @fn_emit_expr(ptr %t102) store ptr %t103, ptr %t104 %t105 = load ptr, ptr %t46 %t106 = call ptr @fn_emit_str_const(ptr @.str4230) %t107 = call ptr @fn_val(ptr %t106, ptr @.str4231) %t108 = call ptr @fn_emit_str_op(ptr @.str4229, ptr %t105, ptr %t107) store ptr %t108, ptr %t46 %t109 = load ptr, ptr %t46 %t110 = load ptr, ptr %t89 %t111 = call ptr @fn_log_stringify(ptr %t110) %t112 = call ptr @fn_val(ptr %t111, ptr @.str4233) %t113 = call ptr @fn_emit_str_op(ptr @.str4232, ptr %t109, ptr %t112) store ptr %t113, ptr %t46 %t114 = load ptr, ptr %t46 %t115 = call ptr @fn_emit_str_const(ptr @.str4235) %t116 = call ptr @fn_val(ptr %t115, ptr @.str4236) %t117 = call ptr @fn_emit_str_op(ptr @.str4234, ptr %t114, ptr %t116) store ptr %t117, ptr %t46 %t118 = load ptr, ptr %t46 %t119 = load ptr, ptr %t104 %t120 = call ptr @fn_log_stringify(ptr %t119) %t121 = call ptr @fn_val(ptr %t120, ptr @.str4238) %t122 = call ptr @fn_emit_str_op(ptr @.str4237, ptr %t118, ptr %t121) store ptr %t122, ptr %t46 %t123 = load i32, ptr %t65 %t124 = add i32 %t123, 2 store i32 %t124, ptr %t65 br label %wcond22 wend24: %t125 = load ptr, ptr %t29 %t126 = call ptr @lp_str_concat(ptr @.str4239, ptr %t125) %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str4240) %t128 = load ptr, ptr %t46 %t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0 %t130 = load ptr, ptr %t129 %t131 = call ptr @lp_str_concat(ptr %t127, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str4241) call void @fn_emit(ptr %t132) %t133 = call ptr @fn_val(ptr @.str4242, ptr @.str4243) store ptr %t133, ptr %retval br label %ret ret: %t134 = load ptr, ptr %retval ret ptr %t134 } define void @fn_emit_log_prelude() { entry: call void @fn_emith(ptr @.str4244) call void @fn_emith(ptr @.str4245) call void @fn_emith(ptr @.str4246) call void @fn_emith(ptr @.str4247) %t0 = call ptr @fn_stdstream_rhs(i32 2) %t1 = call ptr @lp_str_concat(ptr @.str4248, ptr %t0) %t2 = call ptr @lp_str_concat(ptr %t1, ptr @.str4249) call void @fn_emith(ptr %t2) call void @fn_emith(ptr @.str4250) call void @fn_emith(ptr @.str4251) br label %ret ret: ret void } define i32 @fn_is_os_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t20 = alloca i32 %t21 = alloca i32 %t39 = alloca i32 %t50 = alloca i32 %t51 = alloca i32 %t52 = alloca i32 %t77 = alloca i32 %t88 = alloca i32 %t89 = alloca i32 %t90 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str4252) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str4253) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str4254) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str4255) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t21 br i1 %t24, label %scend8, label %sc7 sc7: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str4256) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t21 br label %scend8 scend8: %t30 = load i32, ptr %t21 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t20 br i1 %t31, label %scend10, label %sc9 sc9: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str4257) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t20 br label %scend10 scend10: %t37 = load i32, ptr %t20 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then11, label %ifend13 then11: store i32 1, ptr %retval br label %ret ifend13: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str4258) %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t39 br i1 %t42, label %scend15, label %sc14 sc14: %t44 = load ptr, ptr %t0 %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str4259) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t39 br label %scend15 scend15: %t48 = load i32, ptr %t39 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then16, label %ifend18 then16: store i32 1, ptr %retval br label %ret ifend18: %t53 = load ptr, ptr %t0 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str4260) %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t52 br i1 %t55, label %scend20, label %sc19 sc19: %t57 = load ptr, ptr %t0 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str4261) %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t52 br label %scend20 scend20: %t61 = load i32, ptr %t52 %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t51 br i1 %t62, label %scend22, label %sc21 sc21: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str4262) %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t51 br label %scend22 scend22: %t68 = load i32, ptr %t51 %t69 = icmp ne i32 %t68, 0 %t70 = zext i1 %t69 to i32 store i32 %t70, ptr %t50 br i1 %t69, label %scend24, label %sc23 sc23: %t71 = load ptr, ptr %t0 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str4263) %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t50 br label %scend24 scend24: %t75 = load i32, ptr %t50 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then25, label %ifend27 then25: store i32 1, ptr %retval br label %ret ifend27: %t78 = load ptr, ptr %t0 %t79 = call i32 @lp_str_eq(ptr %t78, ptr @.str4264) %t80 = icmp ne i32 %t79, 0 %t81 = zext i1 %t80 to i32 store i32 %t81, ptr %t77 br i1 %t80, label %scend29, label %sc28 sc28: %t82 = load ptr, ptr %t0 %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str4265) %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t77 br label %scend29 scend29: %t86 = load i32, ptr %t77 %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then30, label %ifend32 then30: store i32 1, ptr %retval br label %ret ifend32: %t91 = load ptr, ptr %t0 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str4266) %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t90 br i1 %t93, label %scend34, label %sc33 sc33: %t95 = load ptr, ptr %t0 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str4267) %t97 = icmp ne i32 %t96, 0 %t98 = zext i1 %t97 to i32 store i32 %t98, ptr %t90 br label %scend34 scend34: %t99 = load i32, ptr %t90 %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t89 br i1 %t100, label %scend36, label %sc35 sc35: %t102 = load ptr, ptr %t0 %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str4268) %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t89 br label %scend36 scend36: %t106 = load i32, ptr %t89 %t107 = icmp ne i32 %t106, 0 %t108 = zext i1 %t107 to i32 store i32 %t108, ptr %t88 br i1 %t107, label %scend38, label %sc37 sc37: %t109 = load ptr, ptr %t0 %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str4269) %t111 = icmp ne i32 %t110, 0 %t112 = zext i1 %t111 to i32 store i32 %t112, ptr %t88 br label %scend38 scend38: %t113 = load i32, ptr %t88 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then39, label %ifend41 then39: store i32 1, ptr %retval br label %ret ifend41: store i32 0, ptr %retval br label %ret ret: %t115 = load i32, ptr %retval ret i32 %t115 } define ptr @fn_emit_os_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t22 = alloca ptr %t24 = alloca ptr %t33 = alloca ptr %t58 = alloca ptr %t80 = alloca ptr %t103 = alloca ptr %t110 = alloca ptr %t115 = alloca ptr %t121 = alloca i32 %t132 = alloca i32 %t148 = alloca ptr %t152 = alloca ptr %t159 = alloca ptr %t192 = alloca ptr %t205 = alloca ptr %t233 = alloca ptr %t246 = alloca ptr %t258 = alloca ptr %t263 = alloca ptr %t284 = alloca ptr %t291 = alloca ptr %t296 = alloca ptr %t327 = alloca ptr %t350 = alloca ptr %t373 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str4270) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str4271) %t6 = call ptr @fn_val(ptr %t5, ptr @.str4272) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str4273) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: %t10 = load ptr, ptr %t1 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 0, %t16 br i1 %t17, label %ixok6, label %ixbad7 ixbad7: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str4274, i32 0, i32 %t16) call void @exit(i32 1) unreachable ixok6: %t19 = getelementptr inbounds ptr, ptr %t14, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_emit_expr(ptr %t20) store ptr %t21, ptr %t22 %t23 = call ptr @fn_emit_bind(ptr @.str4275) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str4276, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4277) %t28 = load ptr, ptr %t22 %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = call ptr @lp_str_concat(ptr %t27, ptr %t30) %t32 = call ptr @fn_emit_bind(ptr %t31) store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t33 %t35 = call ptr @lp_str_concat(ptr @.str4278, ptr %t34) %t36 = call ptr @fn_emit_bind(ptr %t35) %t37 = call ptr @fn_val(ptr %t36, ptr @.str4279) store ptr %t37, ptr %retval br label %ret ifend5: %t38 = load ptr, ptr %t0 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str4280) %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then8, label %ifend10 then8: store i32 1, ptr @g_g_uses_pid %t41 = call ptr @fn_emit_bind(ptr @.str4281) %t42 = call ptr @fn_val(ptr %t41, ptr @.str4282) store ptr %t42, ptr %retval br label %ret ifend10: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str4283) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then11, label %ifend13 then11: %t46 = load ptr, ptr %t1 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 7 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp ult i32 0, %t52 br i1 %t53, label %ixok14, label %ixbad15 ixbad15: %t54 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t54, ptr @.fmt_bounds, ptr @.str4284, i32 0, i32 %t52) call void @exit(i32 1) unreachable ixok14: %t55 = getelementptr inbounds ptr, ptr %t50, i32 0 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_emit_expr(ptr %t56) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %Cmp_Val, ptr %t59, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = call ptr @lp_str_concat(ptr @.str4285, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str4286) call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str4287) store i32 1, ptr @g_g_term %t64 = call ptr @fn_val(ptr @.str4288, ptr @.str4289) store ptr %t64, ptr %retval br label %ret ifend13: %t65 = load ptr, ptr %t0 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str4290) %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then16, label %ifend18 then16: %t68 = load ptr, ptr %t1 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 7 %t70 = load ptr, ptr %t69 %t71 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t74 = load i32, ptr %t73 %t75 = icmp ult i32 0, %t74 br i1 %t75, label %ixok19, label %ixbad20 ixbad20: %t76 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t76, ptr @.fmt_bounds, ptr @.str4291, i32 0, i32 %t74) call void @exit(i32 1) unreachable ixok19: %t77 = getelementptr inbounds ptr, ptr %t72, i32 0 %t78 = load ptr, ptr %t77 %t79 = call ptr @fn_emit_expr(ptr %t78) store ptr %t79, ptr %t80 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %Cmp_Val, ptr %t81, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = call ptr @lp_str_concat(ptr @.str4292, ptr %t83) %t85 = call ptr @lp_str_concat(ptr %t84, ptr @.str4293) %t86 = call ptr @fn_emit_bind(ptr %t85) %t87 = call ptr @fn_val(ptr %t86, ptr @.str4294) store ptr %t87, ptr %retval br label %ret ifend18: %t88 = load ptr, ptr %t0 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str4295) %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then21, label %ifend23 then21: %t91 = load ptr, ptr %t1 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 7 %t93 = load ptr, ptr %t92 %t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t95 = load ptr, ptr %t94 %t96 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t97 = load i32, ptr %t96 %t98 = icmp ult i32 0, %t97 br i1 %t98, label %ixok24, label %ixbad25 ixbad25: %t99 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t99, ptr @.fmt_bounds, ptr @.str4296, i32 0, i32 %t97) call void @exit(i32 1) unreachable ixok24: %t100 = getelementptr inbounds ptr, ptr %t95, i32 0 %t101 = load ptr, ptr %t100 %t102 = call ptr @fn_emit_expr(ptr %t101) store ptr %t102, ptr %t103 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0 %t106 = load ptr, ptr %t105 %t107 = call ptr @lp_str_concat(ptr @.str4297, ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str4298) %t109 = call ptr @fn_emit_bind(ptr %t108) store ptr %t109, ptr %t110 %t111 = load ptr, ptr %t110 %t112 = call ptr @lp_str_concat(ptr @.str4299, ptr %t111) %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str4300) %t114 = call ptr @fn_emit_bind(ptr %t113) store ptr %t114, ptr %t115 %t116 = load ptr, ptr %t115 %t117 = call ptr @lp_str_concat(ptr @.str4301, ptr %t116) %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str4302) %t119 = call ptr @fn_emit_bind(ptr %t118) %t120 = call ptr @fn_val(ptr %t119, ptr @.str4303) store ptr %t120, ptr %retval br label %ret ifend23: %t122 = load ptr, ptr %t0 %t123 = call i32 @lp_str_eq(ptr %t122, ptr @.str4304) %t124 = icmp ne i32 %t123, 0 %t125 = zext i1 %t124 to i32 store i32 %t125, ptr %t121 br i1 %t124, label %scend27, label %sc26 sc26: %t126 = load ptr, ptr %t0 %t127 = call i32 @lp_str_eq(ptr %t126, ptr @.str4305) %t128 = icmp ne i32 %t127, 0 %t129 = zext i1 %t128 to i32 store i32 %t129, ptr %t121 br label %scend27 scend27: %t130 = load i32, ptr %t121 %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then28, label %ifend30 then28: store i32 1, ptr %t132 %t133 = load ptr, ptr %t0 %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str4306) %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then31, label %ifend33 then31: store i32 2, ptr %t132 br label %ifend33 ifend33: %t136 = load ptr, ptr %t1 %t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 7 %t138 = load ptr, ptr %t137 %t139 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 0 %t140 = load ptr, ptr %t139 %t141 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 1 %t142 = load i32, ptr %t141 %t143 = icmp ult i32 0, %t142 br i1 %t143, label %ixok34, label %ixbad35 ixbad35: %t144 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t144, ptr @.fmt_bounds, ptr @.str4307, i32 0, i32 %t142) call void @exit(i32 1) unreachable ixok34: %t145 = getelementptr inbounds ptr, ptr %t140, i32 0 %t146 = load ptr, ptr %t145 %t147 = call ptr @fn_emit_expr(ptr %t146) store ptr %t147, ptr %t148 %t149 = load i32, ptr %t132 %t150 = call ptr @fn_stdstream_rhs(i32 %t149) %t151 = call ptr @fn_emit_bind(ptr %t150) store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t148 %t154 = getelementptr inbounds %Cmp_Val, ptr %t153, i32 0, i32 0 %t155 = load ptr, ptr %t154 %t156 = call ptr @lp_str_concat(ptr @.str4308, ptr %t155) %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str4309) %t158 = call ptr @fn_emit_bind(ptr %t157) store ptr %t158, ptr %t159 %t160 = load ptr, ptr %t148 %t161 = getelementptr inbounds %Cmp_Val, ptr %t160, i32 0, i32 0 %t162 = load ptr, ptr %t161 %t163 = call ptr @lp_str_concat(ptr @.str4310, ptr %t162) %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str4311) %t165 = load ptr, ptr %t159 %t166 = call ptr @lp_str_concat(ptr %t164, ptr %t165) %t167 = call ptr @lp_str_concat(ptr %t166, ptr @.str4312) %t168 = load ptr, ptr %t152 %t169 = call ptr @lp_str_concat(ptr %t167, ptr %t168) %t170 = call ptr @lp_str_concat(ptr %t169, ptr @.str4313) call void @fn_emit(ptr %t170) %t171 = call ptr @fn_val(ptr @.str4314, ptr @.str4315) store ptr %t171, ptr %retval br label %ret ifend30: store i32 1, ptr @g_g_uses_osrt %t172 = load ptr, ptr %t0 %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str4316) %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then36, label %ifend38 then36: %t175 = call ptr @fn_emit_bind(ptr @.str4317) %t176 = call ptr @fn_val(ptr %t175, ptr @.str4318) store ptr %t176, ptr %retval br label %ret ifend38: %t177 = load ptr, ptr %t0 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str4319) %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then39, label %ifend41 then39: %t180 = load ptr, ptr %t1 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 7 %t182 = load ptr, ptr %t181 %t183 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0 %t184 = load ptr, ptr %t183 %t185 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 1 %t186 = load i32, ptr %t185 %t187 = icmp ult i32 0, %t186 br i1 %t187, label %ixok42, label %ixbad43 ixbad43: %t188 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t188, ptr @.fmt_bounds, ptr @.str4320, i32 0, i32 %t186) call void @exit(i32 1) unreachable ixok42: %t189 = getelementptr inbounds ptr, ptr %t184, i32 0 %t190 = load ptr, ptr %t189 %t191 = call ptr @fn_emit_expr(ptr %t190) store ptr %t191, ptr %t192 %t193 = load ptr, ptr %t1 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 7 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %LSlice, ptr %t195, i32 0, i32 0 %t197 = load ptr, ptr %t196 %t198 = getelementptr inbounds %LSlice, ptr %t195, i32 0, i32 1 %t199 = load i32, ptr %t198 %t200 = icmp ult i32 1, %t199 br i1 %t200, label %ixok44, label %ixbad45 ixbad45: %t201 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t201, ptr @.fmt_bounds, ptr @.str4321, i32 1, i32 %t199) call void @exit(i32 1) unreachable ixok44: %t202 = getelementptr inbounds ptr, ptr %t197, i32 1 %t203 = load ptr, ptr %t202 %t204 = call ptr @fn_emit_expr(ptr %t203) store ptr %t204, ptr %t205 %t206 = load ptr, ptr %t192 %t207 = getelementptr inbounds %Cmp_Val, ptr %t206, i32 0, i32 0 %t208 = load ptr, ptr %t207 %t209 = call ptr @lp_str_concat(ptr @.str4322, ptr %t208) %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str4323) %t211 = load ptr, ptr %t205 %t212 = getelementptr inbounds %Cmp_Val, ptr %t211, i32 0, i32 0 %t213 = load ptr, ptr %t212 %t214 = call ptr @lp_str_concat(ptr %t210, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str4324) %t216 = call ptr @fn_emit_bind(ptr %t215) %t217 = call ptr @fn_val(ptr %t216, ptr @.str4325) store ptr %t217, ptr %retval br label %ret ifend41: %t218 = load ptr, ptr %t0 %t219 = call i32 @lp_str_eq(ptr %t218, ptr @.str4326) %t220 = icmp ne i32 %t219, 0 br i1 %t220, label %then46, label %ifend48 then46: %t221 = load ptr, ptr %t1 %t222 = getelementptr inbounds %Cmp_Node, ptr %t221, i32 0, i32 7 %t223 = load ptr, ptr %t222 %t224 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0 %t225 = load ptr, ptr %t224 %t226 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 1 %t227 = load i32, ptr %t226 %t228 = icmp ult i32 0, %t227 br i1 %t228, label %ixok49, label %ixbad50 ixbad50: %t229 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t229, ptr @.fmt_bounds, ptr @.str4327, i32 0, i32 %t227) call void @exit(i32 1) unreachable ixok49: %t230 = getelementptr inbounds ptr, ptr %t225, i32 0 %t231 = load ptr, ptr %t230 %t232 = call ptr @fn_emit_expr(ptr %t231) store ptr %t232, ptr %t233 %t234 = load ptr, ptr %t1 %t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 7 %t236 = load ptr, ptr %t235 %t237 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 0 %t238 = load ptr, ptr %t237 %t239 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 1 %t240 = load i32, ptr %t239 %t241 = icmp ult i32 1, %t240 br i1 %t241, label %ixok51, label %ixbad52 ixbad52: %t242 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t242, ptr @.fmt_bounds, ptr @.str4328, i32 1, i32 %t240) call void @exit(i32 1) unreachable ixok51: %t243 = getelementptr inbounds ptr, ptr %t238, i32 1 %t244 = load ptr, ptr %t243 %t245 = call ptr @fn_emit_expr(ptr %t244) store ptr %t245, ptr %t246 %t247 = load ptr, ptr %t233 %t248 = getelementptr inbounds %Cmp_Val, ptr %t247, i32 0, i32 0 %t249 = load ptr, ptr %t248 %t250 = call ptr @lp_str_concat(ptr @.str4329, ptr %t249) %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str4330) %t252 = load ptr, ptr %t246 %t253 = getelementptr inbounds %Cmp_Val, ptr %t252, i32 0, i32 0 %t254 = load ptr, ptr %t253 %t255 = call ptr @lp_str_concat(ptr %t251, ptr %t254) %t256 = call ptr @lp_str_concat(ptr %t255, ptr @.str4331) %t257 = call ptr @fn_emit_bind(ptr %t256) store ptr %t257, ptr %t258 %t259 = load ptr, ptr %t258 %t260 = call ptr @lp_str_concat(ptr @.str4332, ptr %t259) %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str4333) %t262 = call ptr @fn_emit_bind(ptr %t261) store ptr %t262, ptr %t263 %t264 = load ptr, ptr %t263 %t265 = call ptr @lp_str_concat(ptr @.str4334, ptr %t264) %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str4335) %t267 = call ptr @fn_emit_bind(ptr %t266) %t268 = call ptr @fn_val(ptr %t267, ptr @.str4336) store ptr %t268, ptr %retval br label %ret ifend48: %t269 = load ptr, ptr %t0 %t270 = call i32 @lp_str_eq(ptr %t269, ptr @.str4337) %t271 = icmp ne i32 %t270, 0 br i1 %t271, label %then53, label %ifend55 then53: %t272 = load ptr, ptr %t1 %t273 = getelementptr inbounds %Cmp_Node, ptr %t272, i32 0, i32 7 %t274 = load ptr, ptr %t273 %t275 = getelementptr inbounds %LSlice, ptr %t274, i32 0, i32 0 %t276 = load ptr, ptr %t275 %t277 = getelementptr inbounds %LSlice, ptr %t274, i32 0, i32 1 %t278 = load i32, ptr %t277 %t279 = icmp ult i32 0, %t278 br i1 %t279, label %ixok56, label %ixbad57 ixbad57: %t280 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t280, ptr @.fmt_bounds, ptr @.str4338, i32 0, i32 %t278) call void @exit(i32 1) unreachable ixok56: %t281 = getelementptr inbounds ptr, ptr %t276, i32 0 %t282 = load ptr, ptr %t281 %t283 = call ptr @fn_emit_expr(ptr %t282) store ptr %t283, ptr %t284 %t285 = load ptr, ptr %t284 %t286 = getelementptr inbounds %Cmp_Val, ptr %t285, i32 0, i32 0 %t287 = load ptr, ptr %t286 %t288 = call ptr @lp_str_concat(ptr @.str4339, ptr %t287) %t289 = call ptr @lp_str_concat(ptr %t288, ptr @.str4340) %t290 = call ptr @fn_emit_bind(ptr %t289) store ptr %t290, ptr %t291 %t292 = load ptr, ptr %t291 %t293 = call ptr @lp_str_concat(ptr @.str4341, ptr %t292) %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str4342) %t295 = call ptr @fn_emit_bind(ptr %t294) store ptr %t295, ptr %t296 %t297 = load ptr, ptr %t296 %t298 = call ptr @lp_str_concat(ptr @.str4343, ptr %t297) %t299 = call ptr @lp_str_concat(ptr %t298, ptr @.str4344) %t300 = call ptr @fn_emit_bind(ptr %t299) %t301 = call ptr @fn_val(ptr %t300, ptr @.str4345) store ptr %t301, ptr %retval br label %ret ifend55: %t302 = load ptr, ptr %t0 %t303 = call i32 @lp_str_eq(ptr %t302, ptr @.str4346) %t304 = icmp ne i32 %t303, 0 br i1 %t304, label %then58, label %ifend60 then58: %t305 = call ptr @fn_emit_bind(ptr @.str4347) %t306 = call ptr @fn_val(ptr %t305, ptr @.str4348) store ptr %t306, ptr %retval br label %ret ifend60: %t307 = load ptr, ptr %t0 %t308 = call i32 @lp_str_eq(ptr %t307, ptr @.str4349) %t309 = icmp ne i32 %t308, 0 br i1 %t309, label %then61, label %ifend63 then61: %t310 = call ptr @fn_emit_bind(ptr @.str4350) %t311 = call ptr @fn_val(ptr %t310, ptr @.str4351) store ptr %t311, ptr %retval br label %ret ifend63: %t312 = load ptr, ptr %t0 %t313 = call i32 @lp_str_eq(ptr %t312, ptr @.str4352) %t314 = icmp ne i32 %t313, 0 br i1 %t314, label %then64, label %ifend66 then64: %t315 = load ptr, ptr %t1 %t316 = getelementptr inbounds %Cmp_Node, ptr %t315, i32 0, i32 7 %t317 = load ptr, ptr %t316 %t318 = getelementptr inbounds %LSlice, ptr %t317, i32 0, i32 0 %t319 = load ptr, ptr %t318 %t320 = getelementptr inbounds %LSlice, ptr %t317, i32 0, i32 1 %t321 = load i32, ptr %t320 %t322 = icmp ult i32 0, %t321 br i1 %t322, label %ixok67, label %ixbad68 ixbad68: %t323 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t323, ptr @.fmt_bounds, ptr @.str4353, i32 0, i32 %t321) call void @exit(i32 1) unreachable ixok67: %t324 = getelementptr inbounds ptr, ptr %t319, i32 0 %t325 = load ptr, ptr %t324 %t326 = call ptr @fn_emit_expr(ptr %t325) store ptr %t326, ptr %t327 %t328 = load ptr, ptr %t327 %t329 = getelementptr inbounds %Cmp_Val, ptr %t328, i32 0, i32 0 %t330 = load ptr, ptr %t329 %t331 = call ptr @lp_str_concat(ptr @.str4354, ptr %t330) %t332 = call ptr @lp_str_concat(ptr %t331, ptr @.str4355) %t333 = call ptr @fn_emit_bind(ptr %t332) %t334 = call ptr @fn_val(ptr %t333, ptr @.str4356) store ptr %t334, ptr %retval br label %ret ifend66: %t335 = load ptr, ptr %t0 %t336 = call i32 @lp_str_eq(ptr %t335, ptr @.str4357) %t337 = icmp ne i32 %t336, 0 br i1 %t337, label %then69, label %ifend71 then69: %t338 = load ptr, ptr %t1 %t339 = getelementptr inbounds %Cmp_Node, ptr %t338, i32 0, i32 7 %t340 = load ptr, ptr %t339 %t341 = getelementptr inbounds %LSlice, ptr %t340, i32 0, i32 0 %t342 = load ptr, ptr %t341 %t343 = getelementptr inbounds %LSlice, ptr %t340, i32 0, i32 1 %t344 = load i32, ptr %t343 %t345 = icmp ult i32 0, %t344 br i1 %t345, label %ixok72, label %ixbad73 ixbad73: %t346 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t346, ptr @.fmt_bounds, ptr @.str4358, i32 0, i32 %t344) call void @exit(i32 1) unreachable ixok72: %t347 = getelementptr inbounds ptr, ptr %t342, i32 0 %t348 = load ptr, ptr %t347 %t349 = call ptr @fn_emit_expr(ptr %t348) store ptr %t349, ptr %t350 %t351 = load ptr, ptr %t350 %t352 = getelementptr inbounds %Cmp_Val, ptr %t351, i32 0, i32 0 %t353 = load ptr, ptr %t352 %t354 = call ptr @lp_str_concat(ptr @.str4359, ptr %t353) %t355 = call ptr @lp_str_concat(ptr %t354, ptr @.str4360) %t356 = call ptr @fn_emit_bind(ptr %t355) %t357 = call ptr @fn_val(ptr %t356, ptr @.str4361) store ptr %t357, ptr %retval br label %ret ifend71: %t358 = load ptr, ptr %t0 %t359 = call i32 @lp_str_eq(ptr %t358, ptr @.str4362) %t360 = icmp ne i32 %t359, 0 br i1 %t360, label %then74, label %ifend76 then74: %t361 = load ptr, ptr %t1 %t362 = getelementptr inbounds %Cmp_Node, ptr %t361, i32 0, i32 7 %t363 = load ptr, ptr %t362 %t364 = getelementptr inbounds %LSlice, ptr %t363, i32 0, i32 0 %t365 = load ptr, ptr %t364 %t366 = getelementptr inbounds %LSlice, ptr %t363, i32 0, i32 1 %t367 = load i32, ptr %t366 %t368 = icmp ult i32 0, %t367 br i1 %t368, label %ixok77, label %ixbad78 ixbad78: %t369 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t369, ptr @.fmt_bounds, ptr @.str4363, i32 0, i32 %t367) call void @exit(i32 1) unreachable ixok77: %t370 = getelementptr inbounds ptr, ptr %t365, i32 0 %t371 = load ptr, ptr %t370 %t372 = call ptr @fn_emit_expr(ptr %t371) store ptr %t372, ptr %t373 %t374 = load ptr, ptr %t373 %t375 = getelementptr inbounds %Cmp_Val, ptr %t374, i32 0, i32 0 %t376 = load ptr, ptr %t375 %t377 = call ptr @lp_str_concat(ptr @.str4364, ptr %t376) %t378 = call ptr @lp_str_concat(ptr %t377, ptr @.str4365) %t379 = call ptr @fn_emit_bind(ptr %t378) %t380 = call ptr @fn_val(ptr %t379, ptr @.str4366) store ptr %t380, ptr %retval br label %ret ifend76: %t381 = call ptr @fn_emit_bind(ptr @.str4367) %t382 = call ptr @fn_val(ptr %t381, ptr @.str4368) store ptr %t382, ptr %retval br label %ret ret: %t383 = load ptr, ptr %retval ret ptr %t383 } define void @fn_emit_os_prelude() { entry: %t5 = alloca ptr %t7 = alloca ptr %t9 = alloca ptr %t11 = alloca ptr %t13 = alloca ptr %t15 = alloca ptr %t17 = alloca ptr %t19 = alloca ptr %t21 = alloca ptr %t23 = alloca ptr %t25 = alloca ptr %t27 = alloca ptr %t29 = alloca ptr %t31 = alloca ptr %t33 = alloca ptr %t35 = alloca ptr %t37 = alloca ptr %t0 = load i32, ptr @g_g_target_win %t1 = icmp eq i32 %t0, 0 %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: call void @fn_emith(ptr @.str4369) call void @fn_emith(ptr @.str4370) call void @fn_emith(ptr @.str4371) br label %ifend2 ifend2: %t4 = call ptr @fn_emit_str_const(ptr @.str4372) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_str_const(ptr @.str4373) store ptr %t6, ptr %t7 %t8 = call ptr @fn_emit_str_const(ptr @.str4374) store ptr %t8, ptr %t9 %t10 = call ptr @fn_emit_str_const(ptr @.str4375) store ptr %t10, ptr %t11 %t12 = call ptr @fn_emit_str_const(ptr @.str4376) store ptr %t12, ptr %t13 %t14 = call ptr @fn_emit_str_const(ptr @.str4377) store ptr %t14, ptr %t15 %t16 = call ptr @fn_emit_str_const(ptr @.str4378) store ptr %t16, ptr %t17 %t18 = call ptr @fn_emit_str_const(ptr @.str4379) store ptr %t18, ptr %t19 %t20 = call ptr @fn_emit_str_const(ptr @.str4380) store ptr %t20, ptr %t21 %t22 = call ptr @fn_emit_str_const(ptr @.str4381) store ptr %t22, ptr %t23 %t24 = call ptr @fn_emit_str_const(ptr @.str4382) store ptr %t24, ptr %t25 %t26 = call ptr @fn_emit_str_const(ptr @.str4383) store ptr %t26, ptr %t27 %t28 = call ptr @fn_emit_str_const(ptr @.str4384) store ptr %t28, ptr %t29 %t30 = call ptr @fn_emit_str_const(ptr @.str4385) store ptr %t30, ptr %t31 %t32 = call ptr @fn_emit_str_const(ptr @.str4386) store ptr %t32, ptr %t33 %t34 = call ptr @fn_emit_str_const(ptr @.str4387) store ptr %t34, ptr %t35 %t36 = call ptr @fn_emit_str_const(ptr @.str4388) store ptr %t36, ptr %t37 call void @fn_emith(ptr @.str4389) call void @fn_emith(ptr @.str4390) call void @fn_emith(ptr @.str4391) call void @fn_emith(ptr @.str4392) call void @fn_emith(ptr @.str4393) call void @fn_emith(ptr @.str4394) call void @fn_emith(ptr @.str4395) call void @fn_emith(ptr @.str4396) call void @fn_emith(ptr @.str4397) call void @fn_emith(ptr @.str4398) call void @fn_emith(ptr @.str4399) call void @fn_emith(ptr @.str4400) %t38 = load i32, ptr @g_g_target_win %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then3, label %ifend5 then3: %t40 = load ptr, ptr %t7 %t41 = load ptr, ptr %t31 call void @fn_emit_os_win_known(ptr %t40, ptr %t41) br label %ret ifend5: %t42 = load ptr, ptr %t5 %t43 = call ptr @lp_str_concat(ptr @.str4401, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str4402) %t45 = load ptr, ptr %t7 %t46 = call ptr @lp_str_concat(ptr %t44, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str4403) call void @fn_emith(ptr %t47) call void @fn_emith(ptr @.str4404) call void @fn_emith(ptr @.str4405) call void @fn_emith(ptr @.str4406) call void @fn_emith(ptr @.str4407) call void @fn_emith(ptr @.str4408) %t48 = load ptr, ptr %t17 %t49 = call ptr @lp_str_concat(ptr @.str4409, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str4410) call void @fn_emith(ptr %t50) call void @fn_emith(ptr @.str4411) call void @fn_emith(ptr @.str4412) call void @fn_emith(ptr @.str4413) call void @fn_emith(ptr @.str4414) %t51 = load ptr, ptr %t31 %t52 = call ptr @lp_str_concat(ptr @.str4415, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str4416) call void @fn_emith(ptr %t53) call void @fn_emith(ptr @.str4417) call void @fn_emith(ptr @.str4418) call void @fn_emith(ptr @.str4419) call void @fn_emith(ptr @.str4420) call void @fn_emith(ptr @.str4421) %t54 = load ptr, ptr %t9 %t55 = call ptr @lp_str_concat(ptr @.str4422, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str4423) %t57 = load ptr, ptr %t19 %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str4424) %t60 = load ptr, ptr %t25 %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str4425) call void @fn_emith(ptr %t62) %t63 = load ptr, ptr %t9 %t64 = call ptr @lp_str_concat(ptr @.str4426, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str4427) %t66 = load ptr, ptr %t21 %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str4428) %t69 = load ptr, ptr %t27 %t70 = call ptr @lp_str_concat(ptr %t68, ptr %t69) %t71 = call ptr @lp_str_concat(ptr %t70, ptr @.str4429) call void @fn_emith(ptr %t71) %t72 = load ptr, ptr %t11 %t73 = call ptr @lp_str_concat(ptr @.str4430, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str4431) %t75 = load ptr, ptr %t23 %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str4432) %t78 = load ptr, ptr %t29 %t79 = call ptr @lp_str_concat(ptr %t77, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str4433) call void @fn_emith(ptr %t80) %t81 = load ptr, ptr %t13 %t82 = call ptr @lp_str_concat(ptr @.str4434, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str4435) %t84 = load ptr, ptr %t15 %t85 = call ptr @lp_str_concat(ptr %t83, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str4436) call void @fn_emith(ptr %t86) call void @fn_emith(ptr @.str4437) call void @fn_emith(ptr @.str4438) call void @fn_emith(ptr @.str4439) call void @fn_emith(ptr @.str4440) call void @fn_emith(ptr @.str4441) call void @fn_emith(ptr @.str4442) call void @fn_emith(ptr @.str4443) call void @fn_emith(ptr @.str4444) call void @fn_emith(ptr @.str4445) %t87 = load ptr, ptr %t17 %t88 = call ptr @lp_str_concat(ptr @.str4446, ptr %t87) %t89 = call ptr @lp_str_concat(ptr %t88, ptr @.str4447) call void @fn_emith(ptr %t89) %t90 = load ptr, ptr %t33 %t91 = call ptr @lp_str_concat(ptr @.str4448, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str4449) call void @fn_emith(ptr %t92) %t93 = load ptr, ptr %t35 %t94 = call ptr @lp_str_concat(ptr @.str4450, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str4451) call void @fn_emith(ptr %t95) %t96 = load ptr, ptr %t37 %t97 = call ptr @lp_str_concat(ptr @.str4452, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str4453) call void @fn_emith(ptr %t98) call void @fn_emith(ptr @.str4454) call void @fn_emith(ptr @.str4455) call void @fn_emith(ptr @.str4456) call void @fn_emith(ptr @.str4457) br label %ret ret: ret void } define i32 @fn_is_unicode_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t20 = alloca i32 %t31 = alloca i32 %t32 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str4458) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str4459) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str4460) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str4461) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t20 br i1 %t23, label %scend8, label %sc7 sc7: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str4462) %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t20 br label %scend8 scend8: %t29 = load i32, ptr %t20 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str4463) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t32 br i1 %t35, label %scend13, label %sc12 sc12: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str4464) %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t32 br label %scend13 scend13: %t41 = load i32, ptr %t32 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t31 br i1 %t42, label %scend15, label %sc14 sc14: %t44 = load ptr, ptr %t0 %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str4465) %t46 = icmp ne i32 %t45, 0 %t47 = zext i1 %t46 to i32 store i32 %t47, ptr %t31 br label %scend15 scend15: %t48 = load i32, ptr %t31 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then16, label %ifend18 then16: store i32 1, ptr %retval br label %ret ifend18: %t50 = load ptr, ptr %t0 %t51 = call i32 @lp_str_eq(ptr %t50, ptr @.str4466) %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then19, label %ifend21 then19: store i32 1, ptr %retval br label %ret ifend21: store i32 0, ptr %retval br label %ret ret: %t53 = load i32, ptr %retval ret i32 %t53 } define ptr @fn_emit_unicode_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t24 = alloca ptr %t45 = alloca ptr %t68 = alloca ptr %t91 = alloca ptr %t104 = alloca ptr %t132 = alloca ptr %t155 = alloca ptr %t178 = alloca ptr %t201 = alloca ptr %t214 = alloca ptr %t239 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 store i32 1, ptr @g_g_uses_unicodert %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str4467) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str4468, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @lp_str_concat(ptr @.str4469, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str4470) %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str4471, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str4472) %t28 = call ptr @fn_emit_bind(ptr %t27) %t29 = call ptr @fn_val(ptr %t28, ptr @.str4473) store ptr %t29, ptr %retval br label %ret ifend2: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str4474) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t1 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 0, %t39 br i1 %t40, label %ixok8, label %ixbad9 ixbad9: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str4475, i32 0, i32 %t39) call void @exit(i32 1) unreachable ixok8: %t42 = getelementptr inbounds ptr, ptr %t37, i32 0 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_emit_expr(ptr %t43) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %Cmp_Val, ptr %t46, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = call ptr @lp_str_concat(ptr @.str4476, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str4477) %t51 = call ptr @fn_emit_bind(ptr %t50) %t52 = call ptr @fn_val(ptr %t51, ptr @.str4478) store ptr %t52, ptr %retval br label %ret ifend7: %t53 = load ptr, ptr %t0 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str4479) %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then10, label %ifend12 then10: %t56 = load ptr, ptr %t1 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t62 = load i32, ptr %t61 %t63 = icmp ult i32 0, %t62 br i1 %t63, label %ixok13, label %ixbad14 ixbad14: %t64 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str4480, i32 0, i32 %t62) call void @exit(i32 1) unreachable ixok13: %t65 = getelementptr inbounds ptr, ptr %t60, i32 0 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_emit_expr(ptr %t66) store ptr %t67, ptr %t68 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = call ptr @lp_str_concat(ptr @.str4481, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str4482) %t74 = call ptr @fn_emit_bind(ptr %t73) %t75 = call ptr @fn_val(ptr %t74, ptr @.str4483) store ptr %t75, ptr %retval br label %ret ifend12: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str4484) %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then15, label %ifend17 then15: %t79 = load ptr, ptr %t1 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 7 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 0, %t85 br i1 %t86, label %ixok18, label %ixbad19 ixbad19: %t87 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str4485, i32 0, i32 %t85) call void @exit(i32 1) unreachable ixok18: %t88 = getelementptr inbounds ptr, ptr %t83, i32 0 %t89 = load ptr, ptr %t88 %t90 = call ptr @fn_emit_expr(ptr %t89) store ptr %t90, ptr %t91 %t92 = load ptr, ptr %t1 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 7 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 1, %t98 br i1 %t99, label %ixok20, label %ixbad21 ixbad21: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str4486, i32 1, i32 %t98) call void @exit(i32 1) unreachable ixok20: %t101 = getelementptr inbounds ptr, ptr %t96, i32 1 %t102 = load ptr, ptr %t101 %t103 = call ptr @fn_emit_expr(ptr %t102) store ptr %t103, ptr %t104 %t105 = load ptr, ptr %t91 %t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 0 %t107 = load ptr, ptr %t106 %t108 = call ptr @lp_str_concat(ptr @.str4487, ptr %t107) %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str4488) %t110 = load ptr, ptr %t104 %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0 %t112 = load ptr, ptr %t111 %t113 = call ptr @lp_str_concat(ptr %t109, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str4489) %t115 = call ptr @fn_emit_bind(ptr %t114) %t116 = call ptr @fn_val(ptr %t115, ptr @.str4490) store ptr %t116, ptr %retval br label %ret ifend17: %t117 = load ptr, ptr %t0 %t118 = call i32 @lp_str_eq(ptr %t117, ptr @.str4491) %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then22, label %ifend24 then22: %t120 = load ptr, ptr %t1 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 7 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 0 %t124 = load ptr, ptr %t123 %t125 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 1 %t126 = load i32, ptr %t125 %t127 = icmp ult i32 0, %t126 br i1 %t127, label %ixok25, label %ixbad26 ixbad26: %t128 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t128, ptr @.fmt_bounds, ptr @.str4492, i32 0, i32 %t126) call void @exit(i32 1) unreachable ixok25: %t129 = getelementptr inbounds ptr, ptr %t124, i32 0 %t130 = load ptr, ptr %t129 %t131 = call ptr @fn_emit_expr(ptr %t130) store ptr %t131, ptr %t132 %t133 = load ptr, ptr %t132 %t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0 %t135 = load ptr, ptr %t134 %t136 = call ptr @lp_str_concat(ptr @.str4493, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str4494) %t138 = call ptr @fn_emit_bind(ptr %t137) %t139 = call ptr @fn_val(ptr %t138, ptr @.str4495) store ptr %t139, ptr %retval br label %ret ifend24: %t140 = load ptr, ptr %t0 %t141 = call i32 @lp_str_eq(ptr %t140, ptr @.str4496) %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then27, label %ifend29 then27: %t143 = load ptr, ptr %t1 %t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 7 %t145 = load ptr, ptr %t144 %t146 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 0 %t147 = load ptr, ptr %t146 %t148 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 1 %t149 = load i32, ptr %t148 %t150 = icmp ult i32 0, %t149 br i1 %t150, label %ixok30, label %ixbad31 ixbad31: %t151 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t151, ptr @.fmt_bounds, ptr @.str4497, i32 0, i32 %t149) call void @exit(i32 1) unreachable ixok30: %t152 = getelementptr inbounds ptr, ptr %t147, i32 0 %t153 = load ptr, ptr %t152 %t154 = call ptr @fn_emit_expr(ptr %t153) store ptr %t154, ptr %t155 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds %Cmp_Val, ptr %t156, i32 0, i32 0 %t158 = load ptr, ptr %t157 %t159 = call ptr @lp_str_concat(ptr @.str4498, ptr %t158) %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str4499) %t161 = call ptr @fn_emit_bind(ptr %t160) %t162 = call ptr @fn_val(ptr %t161, ptr @.str4500) store ptr %t162, ptr %retval br label %ret ifend29: %t163 = load ptr, ptr %t0 %t164 = call i32 @lp_str_eq(ptr %t163, ptr @.str4501) %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then32, label %ifend34 then32: %t166 = load ptr, ptr %t1 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 7 %t168 = load ptr, ptr %t167 %t169 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 0 %t170 = load ptr, ptr %t169 %t171 = getelementptr inbounds %LSlice, ptr %t168, i32 0, i32 1 %t172 = load i32, ptr %t171 %t173 = icmp ult i32 0, %t172 br i1 %t173, label %ixok35, label %ixbad36 ixbad36: %t174 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t174, ptr @.fmt_bounds, ptr @.str4502, i32 0, i32 %t172) call void @exit(i32 1) unreachable ixok35: %t175 = getelementptr inbounds ptr, ptr %t170, i32 0 %t176 = load ptr, ptr %t175 %t177 = call ptr @fn_emit_expr(ptr %t176) store ptr %t177, ptr %t178 %t179 = load ptr, ptr %t178 %t180 = getelementptr inbounds %Cmp_Val, ptr %t179, i32 0, i32 0 %t181 = load ptr, ptr %t180 %t182 = call ptr @lp_str_concat(ptr @.str4503, ptr %t181) %t183 = call ptr @lp_str_concat(ptr %t182, ptr @.str4504) %t184 = call ptr @fn_emit_bind(ptr %t183) %t185 = call ptr @fn_val(ptr %t184, ptr @.str4505) store ptr %t185, ptr %retval br label %ret ifend34: %t186 = load ptr, ptr %t0 %t187 = call i32 @lp_str_eq(ptr %t186, ptr @.str4506) %t188 = icmp ne i32 %t187, 0 br i1 %t188, label %then37, label %ifend39 then37: %t189 = load ptr, ptr %t1 %t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 7 %t191 = load ptr, ptr %t190 %t192 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 0 %t193 = load ptr, ptr %t192 %t194 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1 %t195 = load i32, ptr %t194 %t196 = icmp ult i32 0, %t195 br i1 %t196, label %ixok40, label %ixbad41 ixbad41: %t197 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t197, ptr @.fmt_bounds, ptr @.str4507, i32 0, i32 %t195) call void @exit(i32 1) unreachable ixok40: %t198 = getelementptr inbounds ptr, ptr %t193, i32 0 %t199 = load ptr, ptr %t198 %t200 = call ptr @fn_emit_expr(ptr %t199) store ptr %t200, ptr %t201 %t202 = load ptr, ptr %t1 %t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 7 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 0 %t206 = load ptr, ptr %t205 %t207 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 1 %t208 = load i32, ptr %t207 %t209 = icmp ult i32 1, %t208 br i1 %t209, label %ixok42, label %ixbad43 ixbad43: %t210 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str4508, i32 1, i32 %t208) call void @exit(i32 1) unreachable ixok42: %t211 = getelementptr inbounds ptr, ptr %t206, i32 1 %t212 = load ptr, ptr %t211 %t213 = call ptr @fn_emit_expr(ptr %t212) store ptr %t213, ptr %t214 %t215 = load ptr, ptr %t201 %t216 = getelementptr inbounds %Cmp_Val, ptr %t215, i32 0, i32 0 %t217 = load ptr, ptr %t216 %t218 = call ptr @lp_str_concat(ptr @.str4509, ptr %t217) %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str4510) %t220 = load ptr, ptr %t214 %t221 = getelementptr inbounds %Cmp_Val, ptr %t220, i32 0, i32 0 %t222 = load ptr, ptr %t221 %t223 = call ptr @lp_str_concat(ptr %t219, ptr %t222) %t224 = call ptr @lp_str_concat(ptr %t223, ptr @.str4511) %t225 = call ptr @fn_emit_bind(ptr %t224) %t226 = call ptr @fn_val(ptr %t225, ptr @.str4512) store ptr %t226, ptr %retval br label %ret ifend39: %t227 = load ptr, ptr %t1 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 7 %t229 = load ptr, ptr %t228 %t230 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 0 %t231 = load ptr, ptr %t230 %t232 = getelementptr inbounds %LSlice, ptr %t229, i32 0, i32 1 %t233 = load i32, ptr %t232 %t234 = icmp ult i32 0, %t233 br i1 %t234, label %ixok44, label %ixbad45 ixbad45: %t235 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t235, ptr @.fmt_bounds, ptr @.str4513, i32 0, i32 %t233) call void @exit(i32 1) unreachable ixok44: %t236 = getelementptr inbounds ptr, ptr %t231, i32 0 %t237 = load ptr, ptr %t236 %t238 = call ptr @fn_emit_expr(ptr %t237) store ptr %t238, ptr %t239 %t240 = load ptr, ptr %t239 %t241 = getelementptr inbounds %Cmp_Val, ptr %t240, i32 0, i32 0 %t242 = load ptr, ptr %t241 %t243 = call ptr @lp_str_concat(ptr @.str4514, ptr %t242) %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str4515) %t245 = call ptr @fn_emit_bind(ptr %t244) %t246 = call ptr @fn_val(ptr %t245, ptr @.str4516) store ptr %t246, ptr %retval br label %ret ret: %t247 = load ptr, ptr %retval ret ptr %t247 } define void @fn_emit_unicode_prelude() { entry: call void @fn_emit_uni_core() call void @fn_emit_uni_case_fns() call void @fn_emit_uni_str_fns() br label %ret ret: ret void } define void @fn_emit_uni_core() { entry: call void @fn_emith(ptr @.str4517) call void @fn_emith(ptr @.str4518) call void @fn_emith(ptr @.str4519) call void @fn_emith(ptr @.str4520) call void @fn_emith(ptr @.str4521) call void @fn_emith(ptr @.str4522) call void @fn_emith(ptr @.str4523) call void @fn_emith(ptr @.str4524) call void @fn_emith(ptr @.str4525) call void @fn_emith(ptr @.str4526) call void @fn_emith(ptr @.str4527) call void @fn_emith(ptr @.str4528) call void @fn_emith(ptr @.str4529) call void @fn_emith(ptr @.str4530) call void @fn_emith(ptr @.str4531) call void @fn_emith(ptr @.str4532) call void @fn_emith(ptr @.str4533) call void @fn_emith(ptr @.str4534) call void @fn_emith(ptr @.str4535) call void @fn_emith(ptr @.str4536) call void @fn_emith(ptr @.str4537) call void @fn_emith(ptr @.str4538) call void @fn_emith(ptr @.str4539) call void @fn_emith(ptr @.str4540) call void @fn_emith(ptr @.str4541) call void @fn_emith(ptr @.str4542) call void @fn_emith(ptr @.str4543) call void @fn_emith(ptr @.str4544) call void @fn_emith(ptr @.str4545) call void @fn_emith(ptr @.str4546) call void @fn_emith(ptr @.str4547) call void @fn_emith(ptr @.str4548) call void @fn_emith(ptr @.str4549) call void @fn_emith(ptr @.str4550) call void @fn_emith(ptr @.str4551) call void @fn_emith(ptr @.str4552) call void @fn_emith(ptr @.str4553) call void @fn_emith(ptr @.str4554) call void @fn_emith(ptr @.str4555) call void @fn_emith(ptr @.str4556) call void @fn_emith(ptr @.str4557) call void @fn_emith(ptr @.str4558) call void @fn_emith(ptr @.str4559) call void @fn_emith(ptr @.str4560) call void @fn_emith(ptr @.str4561) call void @fn_emith(ptr @.str4562) call void @fn_emith(ptr @.str4563) call void @fn_emith(ptr @.str4564) call void @fn_emith(ptr @.str4565) call void @fn_emith(ptr @.str4566) call void @fn_emith(ptr @.str4567) call void @fn_emith(ptr @.str4568) call void @fn_emith(ptr @.str4569) call void @fn_emith(ptr @.str4570) call void @fn_emith(ptr @.str4571) call void @fn_emith(ptr @.str4572) call void @fn_emith(ptr @.str4573) call void @fn_emith(ptr @.str4574) call void @fn_emith(ptr @.str4575) call void @fn_emith(ptr @.str4576) call void @fn_emith(ptr @.str4577) call void @fn_emith(ptr @.str4578) call void @fn_emith(ptr @.str4579) call void @fn_emith(ptr @.str4580) call void @fn_emith(ptr @.str4581) call void @fn_emith(ptr @.str4582) call void @fn_emith(ptr @.str4583) call void @fn_emith(ptr @.str4584) call void @fn_emith(ptr @.str4585) call void @fn_emith(ptr @.str4586) call void @fn_emith(ptr @.str4587) call void @fn_emith(ptr @.str4588) call void @fn_emith(ptr @.str4589) br label %ret ret: ret void } define void @fn_emit_uni_case_fns() { entry: call void @fn_emith(ptr @.str4590) call void @fn_emith(ptr @.str4591) call void @fn_emith(ptr @.str4592) call void @fn_emith(ptr @.str4593) call void @fn_emith(ptr @.str4594) call void @fn_emith(ptr @.str4595) call void @fn_emith(ptr @.str4596) call void @fn_emith(ptr @.str4597) call void @fn_emith(ptr @.str4598) call void @fn_emith(ptr @.str4599) call void @fn_emith(ptr @.str4600) call void @fn_emith(ptr @.str4601) call void @fn_emith(ptr @.str4602) call void @fn_emith(ptr @.str4603) call void @fn_emith(ptr @.str4604) call void @fn_emith(ptr @.str4605) call void @fn_emith(ptr @.str4606) call void @fn_emith(ptr @.str4607) call void @fn_emith(ptr @.str4608) call void @fn_emith(ptr @.str4609) call void @fn_emith(ptr @.str4610) call void @fn_emith(ptr @.str4611) call void @fn_emith(ptr @.str4612) call void @fn_emith(ptr @.str4613) call void @fn_emith(ptr @.str4614) call void @fn_emith(ptr @.str4615) call void @fn_emith(ptr @.str4616) call void @fn_emith(ptr @.str4617) call void @fn_emith(ptr @.str4618) call void @fn_emith(ptr @.str4619) call void @fn_emith(ptr @.str4620) call void @fn_emith(ptr @.str4621) call void @fn_emith(ptr @.str4622) call void @fn_emith(ptr @.str4623) call void @fn_emith(ptr @.str4624) call void @fn_emith(ptr @.str4625) call void @fn_emith(ptr @.str4626) call void @fn_emith(ptr @.str4627) call void @fn_emith(ptr @.str4628) call void @fn_emith(ptr @.str4629) br label %ret ret: ret void } define void @fn_emit_uni_str_fns() { entry: call void @fn_emith(ptr @.str4630) call void @fn_emith(ptr @.str4631) call void @fn_emith(ptr @.str4632) call void @fn_emith(ptr @.str4633) call void @fn_emith(ptr @.str4634) call void @fn_emith(ptr @.str4635) call void @fn_emith(ptr @.str4636) call void @fn_emith(ptr @.str4637) call void @fn_emith(ptr @.str4638) call void @fn_emith(ptr @.str4639) call void @fn_emith(ptr @.str4640) call void @fn_emith(ptr @.str4641) call void @fn_emith(ptr @.str4642) call void @fn_emith(ptr @.str4643) call void @fn_emith(ptr @.str4644) call void @fn_emith(ptr @.str4645) call void @fn_emith(ptr @.str4646) call void @fn_emith(ptr @.str4647) call void @fn_emith(ptr @.str4648) call void @fn_emith(ptr @.str4649) call void @fn_emith(ptr @.str4650) call void @fn_emith(ptr @.str4651) call void @fn_emith(ptr @.str4652) call void @fn_emith(ptr @.str4653) call void @fn_emith(ptr @.str4654) call void @fn_emith(ptr @.str4655) call void @fn_emith(ptr @.str4656) call void @fn_emith(ptr @.str4657) call void @fn_emith(ptr @.str4658) call void @fn_emith(ptr @.str4659) call void @fn_emith(ptr @.str4660) call void @fn_emith(ptr @.str4661) call void @fn_emith(ptr @.str4662) call void @fn_emith(ptr @.str4663) call void @fn_emith(ptr @.str4664) call void @fn_emith(ptr @.str4665) call void @fn_emith(ptr @.str4666) call void @fn_emit_uni_grapheme() br label %ret ret: ret void } define void @fn_emit_uni_grapheme() { entry: call void @fn_emith(ptr @.str4667) call void @fn_emith(ptr @.str4668) call void @fn_emith(ptr @.str4669) call void @fn_emith(ptr @.str4670) call void @fn_emith(ptr @.str4671) call void @fn_emith(ptr @.str4672) call void @fn_emith(ptr @.str4673) call void @fn_emith(ptr @.str4674) call void @fn_emith(ptr @.str4675) call void @fn_emith(ptr @.str4676) call void @fn_emith(ptr @.str4677) call void @fn_emith(ptr @.str4678) call void @fn_emith(ptr @.str4679) call void @fn_emith(ptr @.str4680) call void @fn_emith(ptr @.str4681) call void @fn_emith(ptr @.str4682) call void @fn_emith(ptr @.str4683) call void @fn_emith(ptr @.str4684) call void @fn_emith(ptr @.str4685) br label %ret ret: ret void } define i32 @fn_is_fs_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t20 = alloca i32 %t21 = alloca i32 %t39 = alloca i32 %t40 = alloca i32 %t41 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str4686) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str4687) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str4688) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str4689) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t21 br i1 %t24, label %scend8, label %sc7 sc7: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str4690) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t21 br label %scend8 scend8: %t30 = load i32, ptr %t21 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t20 br i1 %t31, label %scend10, label %sc9 sc9: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str4691) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t20 br label %scend10 scend10: %t37 = load i32, ptr %t20 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then11, label %ifend13 then11: store i32 1, ptr %retval br label %ret ifend13: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str4692) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t41 br i1 %t44, label %scend15, label %sc14 sc14: %t46 = load ptr, ptr %t0 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str4693) %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t41 br label %scend15 scend15: %t50 = load i32, ptr %t41 %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t40 br i1 %t51, label %scend17, label %sc16 sc16: %t53 = load ptr, ptr %t0 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str4694) %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t40 br label %scend17 scend17: %t57 = load i32, ptr %t40 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t39 br i1 %t58, label %scend19, label %sc18 sc18: %t60 = load ptr, ptr %t0 %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str4695) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t39 br label %scend19 scend19: %t64 = load i32, ptr %t39 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then20, label %ifend22 then20: store i32 1, ptr %retval br label %ret ifend22: store i32 0, ptr %retval br label %ret ret: %t66 = load i32, ptr %retval ret i32 %t66 } define i32 @fn_is_path_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t20 = alloca i32 %t21 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str4696) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str4697) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str4698) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str4699) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t21 br i1 %t24, label %scend8, label %sc7 sc7: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str4700) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t21 br label %scend8 scend8: %t30 = load i32, ptr %t21 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t20 br i1 %t31, label %scend10, label %sc9 sc9: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str4701) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t20 br label %scend10 scend10: %t37 = load i32, ptr %t20 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then11, label %ifend13 then11: store i32 1, ptr %retval br label %ret ifend13: store i32 0, ptr %retval br label %ret ret: %t39 = load i32, ptr %retval ret i32 %t39 } define i32 @fn_is_mime_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_meth, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str4702) %t4 = icmp ne i32 %t3, 0 %t5 = zext i1 %t4 to i32 store i32 %t5, ptr %t1 br i1 %t4, label %scend1, label %sc0 sc0: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str4703) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t1 br label %scend1 scend1: %t10 = load i32, ptr %t1 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then2, label %ifend4 then2: store i32 1, ptr %retval br label %ret ifend4: store i32 0, ptr %retval br label %ret ret: %t12 = load i32, ptr %retval ret i32 %t12 } define ptr @fn_emit_fs_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t14 = alloca ptr %t97 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 call void @fn_use_pak() %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 0, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str4704, i32 0, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 0 %t12 = load ptr, ptr %t11 %t13 = call ptr @fn_emit_expr(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str4705) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @lp_str_concat(ptr @.str4706, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str4707) %t23 = call ptr @fn_emit_bind(ptr %t22) %t24 = call ptr @fn_val(ptr %t23, ptr @.str4708) store ptr %t24, ptr %retval br label %ret ifend4: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str4709) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: %t28 = load ptr, ptr %t14 %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = call ptr @lp_str_concat(ptr @.str4710, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str4711) %t33 = call ptr @fn_emit_bind(ptr %t32) %t34 = call ptr @fn_val(ptr %t33, ptr @.str4712) store ptr %t34, ptr %retval br label %ret ifend7: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str4713) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then8, label %ifend10 then8: %t38 = load ptr, ptr %t14 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = call ptr @lp_str_concat(ptr @.str4714, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4715) %t43 = call ptr @fn_emit_bind(ptr %t42) %t44 = call ptr @fn_val(ptr %t43, ptr @.str4716) store ptr %t44, ptr %retval br label %ret ifend10: %t45 = load ptr, ptr %t0 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str4717) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then11, label %ifend13 then11: %t48 = load ptr, ptr %t14 %t49 = getelementptr inbounds %Cmp_Val, ptr %t48, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = call ptr @lp_str_concat(ptr @.str4718, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str4719) %t53 = call ptr @fn_emit_bind(ptr %t52) %t54 = call ptr @fn_val(ptr %t53, ptr @.str4720) store ptr %t54, ptr %retval br label %ret ifend13: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str4721) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then14, label %ifend16 then14: %t58 = load ptr, ptr %t14 %t59 = getelementptr inbounds %Cmp_Val, ptr %t58, i32 0, i32 0 %t60 = load ptr, ptr %t59 %t61 = call ptr @lp_str_concat(ptr @.str4722, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str4723) %t63 = call ptr @fn_emit_bind(ptr %t62) %t64 = call ptr @fn_val(ptr %t63, ptr @.str4724) store ptr %t64, ptr %retval br label %ret ifend16: %t65 = load ptr, ptr %t0 %t66 = call i32 @lp_str_eq(ptr %t65, ptr @.str4725) %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then17, label %ifend19 then17: %t68 = load ptr, ptr %t14 %t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 0 %t70 = load ptr, ptr %t69 %t71 = call ptr @lp_str_concat(ptr @.str4726, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str4727) %t73 = call ptr @fn_emit_bind(ptr %t72) %t74 = call ptr @fn_val(ptr %t73, ptr @.str4728) store ptr %t74, ptr %retval br label %ret ifend19: %t75 = load ptr, ptr %t0 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str4729) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then20, label %ifend22 then20: %t78 = load ptr, ptr %t14 %t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = call ptr @lp_str_concat(ptr @.str4730, ptr %t80) %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str4731) %t83 = call ptr @fn_emit_bind(ptr %t82) %t84 = call ptr @fn_val(ptr %t83, ptr @.str4732) store ptr %t84, ptr %retval br label %ret ifend22: %t85 = load ptr, ptr %t1 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 7 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t91 = load i32, ptr %t90 %t92 = icmp ult i32 1, %t91 br i1 %t92, label %ixok23, label %ixbad24 ixbad24: %t93 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str4733, i32 1, i32 %t91) call void @exit(i32 1) unreachable ixok23: %t94 = getelementptr inbounds ptr, ptr %t89, i32 1 %t95 = load ptr, ptr %t94 %t96 = call ptr @fn_emit_expr(ptr %t95) store ptr %t96, ptr %t97 %t98 = load ptr, ptr %t0 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str4734) %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then25, label %ifend27 then25: %t101 = load ptr, ptr %t14 %t102 = getelementptr inbounds %Cmp_Val, ptr %t101, i32 0, i32 0 %t103 = load ptr, ptr %t102 %t104 = call ptr @lp_str_concat(ptr @.str4735, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str4736) %t106 = load ptr, ptr %t97 %t107 = getelementptr inbounds %Cmp_Val, ptr %t106, i32 0, i32 0 %t108 = load ptr, ptr %t107 %t109 = call ptr @lp_str_concat(ptr %t105, ptr %t108) %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str4737) %t111 = call ptr @fn_emit_bind(ptr %t110) %t112 = call ptr @fn_val(ptr %t111, ptr @.str4738) store ptr %t112, ptr %retval br label %ret ifend27: %t113 = load ptr, ptr %t0 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str4739) %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then28, label %ifend30 then28: %t116 = load ptr, ptr %t14 %t117 = getelementptr inbounds %Cmp_Val, ptr %t116, i32 0, i32 0 %t118 = load ptr, ptr %t117 %t119 = call ptr @lp_str_concat(ptr @.str4740, ptr %t118) %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str4741) %t121 = load ptr, ptr %t97 %t122 = getelementptr inbounds %Cmp_Val, ptr %t121, i32 0, i32 0 %t123 = load ptr, ptr %t122 %t124 = call ptr @lp_str_concat(ptr %t120, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str4742) %t126 = call ptr @fn_emit_bind(ptr %t125) %t127 = call ptr @fn_val(ptr %t126, ptr @.str4743) store ptr %t127, ptr %retval br label %ret ifend30: %t128 = load ptr, ptr %t14 %t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0 %t130 = load ptr, ptr %t129 %t131 = call ptr @lp_str_concat(ptr @.str4744, ptr %t130) %t132 = call ptr @lp_str_concat(ptr %t131, ptr @.str4745) %t133 = load ptr, ptr %t97 %t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0 %t135 = load ptr, ptr %t134 %t136 = call ptr @lp_str_concat(ptr %t132, ptr %t135) %t137 = call ptr @lp_str_concat(ptr %t136, ptr @.str4746) %t138 = call ptr @fn_emit_bind(ptr %t137) %t139 = call ptr @fn_val(ptr %t138, ptr @.str4747) store ptr %t139, ptr %retval br label %ret ret: %t140 = load ptr, ptr %retval ret ptr %t140 } define ptr @fn_emit_path_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t14 = alloca ptr %t77 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 call void @fn_use_pak() %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 0, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str4748, i32 0, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 0 %t12 = load ptr, ptr %t11 %t13 = call ptr @fn_emit_expr(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str4749) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @lp_str_concat(ptr @.str4750, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str4751) %t23 = call ptr @fn_emit_bind(ptr %t22) %t24 = call ptr @fn_val(ptr %t23, ptr @.str4752) store ptr %t24, ptr %retval br label %ret ifend4: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str4753) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: %t28 = load ptr, ptr %t14 %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = call ptr @lp_str_concat(ptr @.str4754, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str4755) %t33 = call ptr @fn_emit_bind(ptr %t32) %t34 = call ptr @fn_val(ptr %t33, ptr @.str4756) store ptr %t34, ptr %retval br label %ret ifend7: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str4757) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then8, label %ifend10 then8: %t38 = load ptr, ptr %t14 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = call ptr @lp_str_concat(ptr @.str4758, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str4759) %t43 = call ptr @fn_emit_bind(ptr %t42) %t44 = call ptr @fn_val(ptr %t43, ptr @.str4760) store ptr %t44, ptr %retval br label %ret ifend10: %t45 = load ptr, ptr %t0 %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str4761) %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then11, label %ifend13 then11: %t48 = load ptr, ptr %t14 %t49 = getelementptr inbounds %Cmp_Val, ptr %t48, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = call ptr @lp_str_concat(ptr @.str4762, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str4763) %t53 = call ptr @fn_emit_bind(ptr %t52) %t54 = call ptr @fn_val(ptr %t53, ptr @.str4764) store ptr %t54, ptr %retval br label %ret ifend13: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str4765) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then14, label %ifend16 then14: %t58 = load ptr, ptr %t14 %t59 = getelementptr inbounds %Cmp_Val, ptr %t58, i32 0, i32 0 %t60 = load ptr, ptr %t59 %t61 = call ptr @lp_str_concat(ptr @.str4766, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str4767) %t63 = call ptr @fn_emit_bind(ptr %t62) %t64 = call ptr @fn_val(ptr %t63, ptr @.str4768) store ptr %t64, ptr %retval br label %ret ifend16: %t65 = load ptr, ptr %t1 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 7 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 0 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 1, %t71 br i1 %t72, label %ixok17, label %ixbad18 ixbad18: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str4769, i32 1, i32 %t71) call void @exit(i32 1) unreachable ixok17: %t74 = getelementptr inbounds ptr, ptr %t69, i32 1 %t75 = load ptr, ptr %t74 %t76 = call ptr @fn_emit_expr(ptr %t75) store ptr %t76, ptr %t77 %t78 = load ptr, ptr %t14 %t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = call ptr @lp_str_concat(ptr @.str4770, ptr %t80) %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str4771) %t83 = load ptr, ptr %t77 %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = call ptr @lp_str_concat(ptr %t82, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str4772) %t88 = call ptr @fn_emit_bind(ptr %t87) %t89 = call ptr @fn_val(ptr %t88, ptr @.str4773) store ptr %t89, ptr %retval br label %ret ret: %t90 = load ptr, ptr %retval ret ptr %t90 } define ptr @fn_emit_mime_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t14 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 call void @fn_use_pak() %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 0, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str4774, i32 0, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 0 %t12 = load ptr, ptr %t11 %t13 = call ptr @fn_emit_expr(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str4775) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @lp_str_concat(ptr @.str4776, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str4777) %t23 = call ptr @fn_emit_bind(ptr %t22) %t24 = call ptr @fn_val(ptr %t23, ptr @.str4778) store ptr %t24, ptr %retval br label %ret ifend4: %t25 = load ptr, ptr %t14 %t26 = getelementptr inbounds %Cmp_Val, ptr %t25, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = call ptr @lp_str_concat(ptr @.str4779, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str4780) %t30 = call ptr @fn_emit_bind(ptr %t29) %t31 = call ptr @fn_val(ptr %t30, ptr @.str4781) store ptr %t31, ptr %retval br label %ret ret: %t32 = load ptr, ptr %retval ret ptr %t32 } define void @fn_emit_fs_prelude() { entry: %t0 = load i32, ptr @g_g_target_win %t1 = icmp eq i32 %t0, 0 %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: call void @fn_emith(ptr @.str4782) call void @fn_emith(ptr @.str4783) call void @fn_emith(ptr @.str4784) call void @fn_emith(ptr @.str4785) call void @fn_emith(ptr @.str4786) call void @fn_emith(ptr @.str4787) call void @fn_emith(ptr @.str4788) br label %ifend2 ifend2: call void @fn_emit_fs_common() call void @fn_emit_fs_path() call void @fn_emit_fs_io() call void @fn_emit_fs_dir() call void @fn_emit_fs_mime() br label %ret ret: ret void } define void @fn_emit_fs_common() { entry: call void @fn_emith(ptr @.str4789) call void @fn_emith(ptr @.str4790) call void @fn_emith(ptr @.str4791) call void @fn_emith(ptr @.str4792) call void @fn_emith(ptr @.str4793) call void @fn_emith(ptr @.str4794) call void @fn_emith(ptr @.str4795) call void @fn_emith(ptr @.str4796) call void @fn_emith(ptr @.str4797) call void @fn_emith(ptr @.str4798) call void @fn_emith(ptr @.str4799) call void @fn_emith(ptr @.str4800) call void @fn_emith(ptr @.str4801) br label %ret ret: ret void } define void @fn_emit_fs_path() { entry: call void @fn_emith(ptr @.str4802) call void @fn_emith(ptr @.str4803) call void @fn_emith(ptr @.str4804) call void @fn_emith(ptr @.str4805) call void @fn_emith(ptr @.str4806) call void @fn_emith(ptr @.str4807) call void @fn_emith(ptr @.str4808) call void @fn_emith(ptr @.str4809) call void @fn_emith(ptr @.str4810) call void @fn_emith(ptr @.str4811) call void @fn_emith(ptr @.str4812) call void @fn_emith(ptr @.str4813) call void @fn_emith(ptr @.str4814) call void @fn_emith(ptr @.str4815) call void @fn_emith(ptr @.str4816) call void @fn_emith(ptr @.str4817) call void @fn_emith(ptr @.str4818) call void @fn_emith(ptr @.str4819) call void @fn_emith(ptr @.str4820) call void @fn_emith(ptr @.str4821) call void @fn_emith(ptr @.str4822) call void @fn_emith(ptr @.str4823) call void @fn_emith(ptr @.str4824) call void @fn_emith(ptr @.str4825) call void @fn_emith(ptr @.str4826) call void @fn_emith(ptr @.str4827) call void @fn_emith(ptr @.str4828) call void @fn_emith(ptr @.str4829) call void @fn_emith(ptr @.str4830) call void @fn_emith(ptr @.str4831) call void @fn_emith(ptr @.str4832) call void @fn_emith(ptr @.str4833) call void @fn_emith(ptr @.str4834) call void @fn_emith(ptr @.str4835) call void @fn_emith(ptr @.str4836) call void @fn_emith(ptr @.str4837) call void @fn_emith(ptr @.str4838) call void @fn_emith(ptr @.str4839) call void @fn_emith(ptr @.str4840) call void @fn_emith(ptr @.str4841) call void @fn_emith(ptr @.str4842) call void @fn_emith(ptr @.str4843) call void @fn_emit_fs_normalize() br label %ret ret: ret void } define void @fn_emit_fs_normalize() { entry: call void @fn_emith(ptr @.str4844) call void @fn_emith(ptr @.str4845) call void @fn_emith(ptr @.str4846) call void @fn_emith(ptr @.str4847) call void @fn_emith(ptr @.str4848) call void @fn_emith(ptr @.str4849) call void @fn_emith(ptr @.str4850) call void @fn_emith(ptr @.str4851) call void @fn_emith(ptr @.str4852) call void @fn_emith(ptr @.str4853) call void @fn_emith(ptr @.str4854) call void @fn_emith(ptr @.str4855) call void @fn_emith(ptr @.str4856) call void @fn_emith(ptr @.str4857) call void @fn_emith(ptr @.str4858) call void @fn_emith(ptr @.str4859) call void @fn_emith(ptr @.str4860) call void @fn_emith(ptr @.str4861) call void @fn_emith(ptr @.str4862) call void @fn_emith(ptr @.str4863) call void @fn_emith(ptr @.str4864) call void @fn_emith(ptr @.str4865) call void @fn_emith(ptr @.str4866) call void @fn_emith(ptr @.str4867) call void @fn_emith(ptr @.str4868) call void @fn_emith(ptr @.str4869) call void @fn_emith(ptr @.str4870) call void @fn_emith(ptr @.str4871) call void @fn_emith(ptr @.str4872) call void @fn_emith(ptr @.str4873) call void @fn_emith(ptr @.str4874) call void @fn_emith(ptr @.str4875) call void @fn_emith(ptr @.str4876) call void @fn_emith(ptr @.str4877) call void @fn_emith(ptr @.str4878) call void @fn_emith(ptr @.str4879) call void @fn_emith(ptr @.str4880) br label %ret ret: ret void } define void @fn_emit_fs_io() { entry: call void @fn_emith(ptr @.str4881) call void @fn_emith(ptr @.str4882) call void @fn_emith(ptr @.str4883) call void @fn_emith(ptr @.str4884) call void @fn_emith(ptr @.str4885) call void @fn_emith(ptr @.str4886) call void @fn_emith(ptr @.str4887) call void @fn_emith(ptr @.str4888) call void @fn_emith(ptr @.str4889) call void @fn_emith(ptr @.str4890) call void @fn_emith(ptr @.str4891) call void @fn_emith(ptr @.str4892) call void @fn_emith(ptr @.str4893) call void @fn_emith(ptr @.str4894) call void @fn_emith(ptr @.str4895) call void @fn_emith(ptr @.str4896) call void @fn_emith(ptr @.str4897) call void @fn_emith(ptr @.str4898) call void @fn_emith(ptr @.str4899) call void @fn_emith(ptr @.str4900) call void @fn_emith(ptr @.str4901) call void @fn_emith(ptr @.str4902) call void @fn_emith(ptr @.str4903) call void @fn_emith(ptr @.str4904) call void @fn_emith(ptr @.str4905) call void @fn_emith(ptr @.str4906) call void @fn_emith(ptr @.str4907) call void @fn_emith(ptr @.str4908) call void @fn_emith(ptr @.str4909) call void @fn_emith(ptr @.str4910) call void @fn_emith(ptr @.str4911) call void @fn_emith(ptr @.str4912) call void @fn_emith(ptr @.str4913) call void @fn_emith(ptr @.str4914) call void @fn_emith(ptr @.str4915) call void @fn_emith(ptr @.str4916) call void @fn_emith(ptr @.str4917) call void @fn_emith(ptr @.str4918) call void @fn_emith(ptr @.str4919) call void @fn_emith(ptr @.str4920) call void @fn_emith(ptr @.str4921) call void @fn_emith(ptr @.str4922) call void @fn_emith(ptr @.str4923) call void @fn_emith(ptr @.str4924) call void @fn_emith(ptr @.str4925) call void @fn_emith(ptr @.str4926) call void @fn_emith(ptr @.str4927) call void @fn_emith(ptr @.str4928) br label %ret ret: ret void } define void @fn_emit_fs_dir() { entry: call void @fn_emith(ptr @.str4929) call void @fn_emith(ptr @.str4930) call void @fn_emith(ptr @.str4931) call void @fn_emith(ptr @.str4932) call void @fn_emith(ptr @.str4933) call void @fn_emith(ptr @.str4934) call void @fn_emith(ptr @.str4935) call void @fn_emith(ptr @.str4936) call void @fn_emith(ptr @.str4937) call void @fn_emith(ptr @.str4938) call void @fn_emith(ptr @.str4939) call void @fn_emith(ptr @.str4940) call void @fn_emith(ptr @.str4941) call void @fn_emith(ptr @.str4942) call void @fn_emith(ptr @.str4943) call void @fn_emith(ptr @.str4944) call void @fn_emith(ptr @.str4945) call void @fn_emith(ptr @.str4946) call void @fn_emith(ptr @.str4947) call void @fn_emith(ptr @.str4948) call void @fn_emith(ptr @.str4949) call void @fn_emith(ptr @.str4950) call void @fn_emith(ptr @.str4951) call void @fn_emith(ptr @.str4952) br label %ret ret: ret void } define void @fn_emit_fs_mime() { entry: %t6 = alloca ptr %t13 = alloca ptr %t932 = alloca ptr %t939 = alloca ptr %t940 = alloca i32 %t1011 = alloca ptr %t1015 = alloca i32 %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 %t2 = call ptr @malloc(i64 %t1) %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 store ptr null, ptr %t3 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 store i32 0, ptr %t4 %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 store i32 0, ptr %t5 store ptr %t2, ptr %t6 %t7 = getelementptr %LSlice, ptr null, i32 1 %t8 = ptrtoint ptr %t7 to i64 %t9 = call ptr @malloc(i64 %t8) %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 store ptr null, ptr %t10 %t11 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 store i32 0, ptr %t11 %t12 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 2 store i32 0, ptr %t12 store ptr %t9, ptr %t13 %t14 = load ptr, ptr %t6 %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2 %t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t18 = load i32, ptr %t15 %t19 = load i32, ptr %t16 %t20 = icmp sge i32 %t18, %t19 br i1 %t20, label %grow0, label %put1 grow0: %t21 = mul i32 %t19, 2 %t22 = icmp eq i32 %t19, 0 %t23 = select i1 %t22, i32 8, i32 %t21 %t24 = getelementptr ptr, ptr null, i32 1 %t25 = ptrtoint ptr %t24 to i64 %t26 = zext i32 %t23 to i64 %t27 = mul i64 %t26, %t25 %t28 = load ptr, ptr %t17 %t29 = call ptr @realloc(ptr %t28, i64 %t27) store ptr %t29, ptr %t17 store i32 %t23, ptr %t16 br label %put1 put1: %t30 = load ptr, ptr %t17 %t31 = getelementptr inbounds ptr, ptr %t30, i32 %t18 store ptr @.str4953, ptr %t31 %t32 = add i32 %t18, 1 store i32 %t32, ptr %t15 %t33 = load ptr, ptr %t13 %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 2 %t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t37 = load i32, ptr %t34 %t38 = load i32, ptr %t35 %t39 = icmp sge i32 %t37, %t38 br i1 %t39, label %grow2, label %put3 grow2: %t40 = mul i32 %t38, 2 %t41 = icmp eq i32 %t38, 0 %t42 = select i1 %t41, i32 8, i32 %t40 %t43 = getelementptr ptr, ptr null, i32 1 %t44 = ptrtoint ptr %t43 to i64 %t45 = zext i32 %t42 to i64 %t46 = mul i64 %t45, %t44 %t47 = load ptr, ptr %t36 %t48 = call ptr @realloc(ptr %t47, i64 %t46) store ptr %t48, ptr %t36 store i32 %t42, ptr %t35 br label %put3 put3: %t49 = load ptr, ptr %t36 %t50 = getelementptr inbounds ptr, ptr %t49, i32 %t37 store ptr @.str4954, ptr %t50 %t51 = add i32 %t37, 1 store i32 %t51, ptr %t34 %t52 = load ptr, ptr %t6 %t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 2 %t55 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t56 = load i32, ptr %t53 %t57 = load i32, ptr %t54 %t58 = icmp sge i32 %t56, %t57 br i1 %t58, label %grow4, label %put5 grow4: %t59 = mul i32 %t57, 2 %t60 = icmp eq i32 %t57, 0 %t61 = select i1 %t60, i32 8, i32 %t59 %t62 = getelementptr ptr, ptr null, i32 1 %t63 = ptrtoint ptr %t62 to i64 %t64 = zext i32 %t61 to i64 %t65 = mul i64 %t64, %t63 %t66 = load ptr, ptr %t55 %t67 = call ptr @realloc(ptr %t66, i64 %t65) store ptr %t67, ptr %t55 store i32 %t61, ptr %t54 br label %put5 put5: %t68 = load ptr, ptr %t55 %t69 = getelementptr inbounds ptr, ptr %t68, i32 %t56 store ptr @.str4955, ptr %t69 %t70 = add i32 %t56, 1 store i32 %t70, ptr %t53 %t71 = load ptr, ptr %t13 %t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t73 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 2 %t74 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 %t75 = load i32, ptr %t72 %t76 = load i32, ptr %t73 %t77 = icmp sge i32 %t75, %t76 br i1 %t77, label %grow6, label %put7 grow6: %t78 = mul i32 %t76, 2 %t79 = icmp eq i32 %t76, 0 %t80 = select i1 %t79, i32 8, i32 %t78 %t81 = getelementptr ptr, ptr null, i32 1 %t82 = ptrtoint ptr %t81 to i64 %t83 = zext i32 %t80 to i64 %t84 = mul i64 %t83, %t82 %t85 = load ptr, ptr %t74 %t86 = call ptr @realloc(ptr %t85, i64 %t84) store ptr %t86, ptr %t74 store i32 %t80, ptr %t73 br label %put7 put7: %t87 = load ptr, ptr %t74 %t88 = getelementptr inbounds ptr, ptr %t87, i32 %t75 store ptr @.str4956, ptr %t88 %t89 = add i32 %t75, 1 store i32 %t89, ptr %t72 %t90 = load ptr, ptr %t6 %t91 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t92 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 2 %t93 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 0 %t94 = load i32, ptr %t91 %t95 = load i32, ptr %t92 %t96 = icmp sge i32 %t94, %t95 br i1 %t96, label %grow8, label %put9 grow8: %t97 = mul i32 %t95, 2 %t98 = icmp eq i32 %t95, 0 %t99 = select i1 %t98, i32 8, i32 %t97 %t100 = getelementptr ptr, ptr null, i32 1 %t101 = ptrtoint ptr %t100 to i64 %t102 = zext i32 %t99 to i64 %t103 = mul i64 %t102, %t101 %t104 = load ptr, ptr %t93 %t105 = call ptr @realloc(ptr %t104, i64 %t103) store ptr %t105, ptr %t93 store i32 %t99, ptr %t92 br label %put9 put9: %t106 = load ptr, ptr %t93 %t107 = getelementptr inbounds ptr, ptr %t106, i32 %t94 store ptr @.str4957, ptr %t107 %t108 = add i32 %t94, 1 store i32 %t108, ptr %t91 %t109 = load ptr, ptr %t13 %t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 %t111 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 2 %t112 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0 %t113 = load i32, ptr %t110 %t114 = load i32, ptr %t111 %t115 = icmp sge i32 %t113, %t114 br i1 %t115, label %grow10, label %put11 grow10: %t116 = mul i32 %t114, 2 %t117 = icmp eq i32 %t114, 0 %t118 = select i1 %t117, i32 8, i32 %t116 %t119 = getelementptr ptr, ptr null, i32 1 %t120 = ptrtoint ptr %t119 to i64 %t121 = zext i32 %t118 to i64 %t122 = mul i64 %t121, %t120 %t123 = load ptr, ptr %t112 %t124 = call ptr @realloc(ptr %t123, i64 %t122) store ptr %t124, ptr %t112 store i32 %t118, ptr %t111 br label %put11 put11: %t125 = load ptr, ptr %t112 %t126 = getelementptr inbounds ptr, ptr %t125, i32 %t113 store ptr @.str4958, ptr %t126 %t127 = add i32 %t113, 1 store i32 %t127, ptr %t110 %t128 = load ptr, ptr %t6 %t129 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 1 %t130 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 2 %t131 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0 %t132 = load i32, ptr %t129 %t133 = load i32, ptr %t130 %t134 = icmp sge i32 %t132, %t133 br i1 %t134, label %grow12, label %put13 grow12: %t135 = mul i32 %t133, 2 %t136 = icmp eq i32 %t133, 0 %t137 = select i1 %t136, i32 8, i32 %t135 %t138 = getelementptr ptr, ptr null, i32 1 %t139 = ptrtoint ptr %t138 to i64 %t140 = zext i32 %t137 to i64 %t141 = mul i64 %t140, %t139 %t142 = load ptr, ptr %t131 %t143 = call ptr @realloc(ptr %t142, i64 %t141) store ptr %t143, ptr %t131 store i32 %t137, ptr %t130 br label %put13 put13: %t144 = load ptr, ptr %t131 %t145 = getelementptr inbounds ptr, ptr %t144, i32 %t132 store ptr @.str4959, ptr %t145 %t146 = add i32 %t132, 1 store i32 %t146, ptr %t129 %t147 = load ptr, ptr %t13 %t148 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 1 %t149 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 2 %t150 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 0 %t151 = load i32, ptr %t148 %t152 = load i32, ptr %t149 %t153 = icmp sge i32 %t151, %t152 br i1 %t153, label %grow14, label %put15 grow14: %t154 = mul i32 %t152, 2 %t155 = icmp eq i32 %t152, 0 %t156 = select i1 %t155, i32 8, i32 %t154 %t157 = getelementptr ptr, ptr null, i32 1 %t158 = ptrtoint ptr %t157 to i64 %t159 = zext i32 %t156 to i64 %t160 = mul i64 %t159, %t158 %t161 = load ptr, ptr %t150 %t162 = call ptr @realloc(ptr %t161, i64 %t160) store ptr %t162, ptr %t150 store i32 %t156, ptr %t149 br label %put15 put15: %t163 = load ptr, ptr %t150 %t164 = getelementptr inbounds ptr, ptr %t163, i32 %t151 store ptr @.str4960, ptr %t164 %t165 = add i32 %t151, 1 store i32 %t165, ptr %t148 %t166 = load ptr, ptr %t6 %t167 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 1 %t168 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 2 %t169 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0 %t170 = load i32, ptr %t167 %t171 = load i32, ptr %t168 %t172 = icmp sge i32 %t170, %t171 br i1 %t172, label %grow16, label %put17 grow16: %t173 = mul i32 %t171, 2 %t174 = icmp eq i32 %t171, 0 %t175 = select i1 %t174, i32 8, i32 %t173 %t176 = getelementptr ptr, ptr null, i32 1 %t177 = ptrtoint ptr %t176 to i64 %t178 = zext i32 %t175 to i64 %t179 = mul i64 %t178, %t177 %t180 = load ptr, ptr %t169 %t181 = call ptr @realloc(ptr %t180, i64 %t179) store ptr %t181, ptr %t169 store i32 %t175, ptr %t168 br label %put17 put17: %t182 = load ptr, ptr %t169 %t183 = getelementptr inbounds ptr, ptr %t182, i32 %t170 store ptr @.str4961, ptr %t183 %t184 = add i32 %t170, 1 store i32 %t184, ptr %t167 %t185 = load ptr, ptr %t13 %t186 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 1 %t187 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 2 %t188 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 0 %t189 = load i32, ptr %t186 %t190 = load i32, ptr %t187 %t191 = icmp sge i32 %t189, %t190 br i1 %t191, label %grow18, label %put19 grow18: %t192 = mul i32 %t190, 2 %t193 = icmp eq i32 %t190, 0 %t194 = select i1 %t193, i32 8, i32 %t192 %t195 = getelementptr ptr, ptr null, i32 1 %t196 = ptrtoint ptr %t195 to i64 %t197 = zext i32 %t194 to i64 %t198 = mul i64 %t197, %t196 %t199 = load ptr, ptr %t188 %t200 = call ptr @realloc(ptr %t199, i64 %t198) store ptr %t200, ptr %t188 store i32 %t194, ptr %t187 br label %put19 put19: %t201 = load ptr, ptr %t188 %t202 = getelementptr inbounds ptr, ptr %t201, i32 %t189 store ptr @.str4962, ptr %t202 %t203 = add i32 %t189, 1 store i32 %t203, ptr %t186 %t204 = load ptr, ptr %t6 %t205 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 1 %t206 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 2 %t207 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 0 %t208 = load i32, ptr %t205 %t209 = load i32, ptr %t206 %t210 = icmp sge i32 %t208, %t209 br i1 %t210, label %grow20, label %put21 grow20: %t211 = mul i32 %t209, 2 %t212 = icmp eq i32 %t209, 0 %t213 = select i1 %t212, i32 8, i32 %t211 %t214 = getelementptr ptr, ptr null, i32 1 %t215 = ptrtoint ptr %t214 to i64 %t216 = zext i32 %t213 to i64 %t217 = mul i64 %t216, %t215 %t218 = load ptr, ptr %t207 %t219 = call ptr @realloc(ptr %t218, i64 %t217) store ptr %t219, ptr %t207 store i32 %t213, ptr %t206 br label %put21 put21: %t220 = load ptr, ptr %t207 %t221 = getelementptr inbounds ptr, ptr %t220, i32 %t208 store ptr @.str4963, ptr %t221 %t222 = add i32 %t208, 1 store i32 %t222, ptr %t205 %t223 = load ptr, ptr %t13 %t224 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 1 %t225 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 2 %t226 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0 %t227 = load i32, ptr %t224 %t228 = load i32, ptr %t225 %t229 = icmp sge i32 %t227, %t228 br i1 %t229, label %grow22, label %put23 grow22: %t230 = mul i32 %t228, 2 %t231 = icmp eq i32 %t228, 0 %t232 = select i1 %t231, i32 8, i32 %t230 %t233 = getelementptr ptr, ptr null, i32 1 %t234 = ptrtoint ptr %t233 to i64 %t235 = zext i32 %t232 to i64 %t236 = mul i64 %t235, %t234 %t237 = load ptr, ptr %t226 %t238 = call ptr @realloc(ptr %t237, i64 %t236) store ptr %t238, ptr %t226 store i32 %t232, ptr %t225 br label %put23 put23: %t239 = load ptr, ptr %t226 %t240 = getelementptr inbounds ptr, ptr %t239, i32 %t227 store ptr @.str4964, ptr %t240 %t241 = add i32 %t227, 1 store i32 %t241, ptr %t224 %t242 = load ptr, ptr %t6 %t243 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 1 %t244 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 2 %t245 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 0 %t246 = load i32, ptr %t243 %t247 = load i32, ptr %t244 %t248 = icmp sge i32 %t246, %t247 br i1 %t248, label %grow24, label %put25 grow24: %t249 = mul i32 %t247, 2 %t250 = icmp eq i32 %t247, 0 %t251 = select i1 %t250, i32 8, i32 %t249 %t252 = getelementptr ptr, ptr null, i32 1 %t253 = ptrtoint ptr %t252 to i64 %t254 = zext i32 %t251 to i64 %t255 = mul i64 %t254, %t253 %t256 = load ptr, ptr %t245 %t257 = call ptr @realloc(ptr %t256, i64 %t255) store ptr %t257, ptr %t245 store i32 %t251, ptr %t244 br label %put25 put25: %t258 = load ptr, ptr %t245 %t259 = getelementptr inbounds ptr, ptr %t258, i32 %t246 store ptr @.str4965, ptr %t259 %t260 = add i32 %t246, 1 store i32 %t260, ptr %t243 %t261 = load ptr, ptr %t13 %t262 = getelementptr inbounds %LSlice, ptr %t261, i32 0, i32 1 %t263 = getelementptr inbounds %LSlice, ptr %t261, i32 0, i32 2 %t264 = getelementptr inbounds %LSlice, ptr %t261, i32 0, i32 0 %t265 = load i32, ptr %t262 %t266 = load i32, ptr %t263 %t267 = icmp sge i32 %t265, %t266 br i1 %t267, label %grow26, label %put27 grow26: %t268 = mul i32 %t266, 2 %t269 = icmp eq i32 %t266, 0 %t270 = select i1 %t269, i32 8, i32 %t268 %t271 = getelementptr ptr, ptr null, i32 1 %t272 = ptrtoint ptr %t271 to i64 %t273 = zext i32 %t270 to i64 %t274 = mul i64 %t273, %t272 %t275 = load ptr, ptr %t264 %t276 = call ptr @realloc(ptr %t275, i64 %t274) store ptr %t276, ptr %t264 store i32 %t270, ptr %t263 br label %put27 put27: %t277 = load ptr, ptr %t264 %t278 = getelementptr inbounds ptr, ptr %t277, i32 %t265 store ptr @.str4966, ptr %t278 %t279 = add i32 %t265, 1 store i32 %t279, ptr %t262 %t280 = load ptr, ptr %t6 %t281 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 1 %t282 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 2 %t283 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 0 %t284 = load i32, ptr %t281 %t285 = load i32, ptr %t282 %t286 = icmp sge i32 %t284, %t285 br i1 %t286, label %grow28, label %put29 grow28: %t287 = mul i32 %t285, 2 %t288 = icmp eq i32 %t285, 0 %t289 = select i1 %t288, i32 8, i32 %t287 %t290 = getelementptr ptr, ptr null, i32 1 %t291 = ptrtoint ptr %t290 to i64 %t292 = zext i32 %t289 to i64 %t293 = mul i64 %t292, %t291 %t294 = load ptr, ptr %t283 %t295 = call ptr @realloc(ptr %t294, i64 %t293) store ptr %t295, ptr %t283 store i32 %t289, ptr %t282 br label %put29 put29: %t296 = load ptr, ptr %t283 %t297 = getelementptr inbounds ptr, ptr %t296, i32 %t284 store ptr @.str4967, ptr %t297 %t298 = add i32 %t284, 1 store i32 %t298, ptr %t281 %t299 = load ptr, ptr %t13 %t300 = getelementptr inbounds %LSlice, ptr %t299, i32 0, i32 1 %t301 = getelementptr inbounds %LSlice, ptr %t299, i32 0, i32 2 %t302 = getelementptr inbounds %LSlice, ptr %t299, i32 0, i32 0 %t303 = load i32, ptr %t300 %t304 = load i32, ptr %t301 %t305 = icmp sge i32 %t303, %t304 br i1 %t305, label %grow30, label %put31 grow30: %t306 = mul i32 %t304, 2 %t307 = icmp eq i32 %t304, 0 %t308 = select i1 %t307, i32 8, i32 %t306 %t309 = getelementptr ptr, ptr null, i32 1 %t310 = ptrtoint ptr %t309 to i64 %t311 = zext i32 %t308 to i64 %t312 = mul i64 %t311, %t310 %t313 = load ptr, ptr %t302 %t314 = call ptr @realloc(ptr %t313, i64 %t312) store ptr %t314, ptr %t302 store i32 %t308, ptr %t301 br label %put31 put31: %t315 = load ptr, ptr %t302 %t316 = getelementptr inbounds ptr, ptr %t315, i32 %t303 store ptr @.str4968, ptr %t316 %t317 = add i32 %t303, 1 store i32 %t317, ptr %t300 %t318 = load ptr, ptr %t6 %t319 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 1 %t320 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 2 %t321 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 0 %t322 = load i32, ptr %t319 %t323 = load i32, ptr %t320 %t324 = icmp sge i32 %t322, %t323 br i1 %t324, label %grow32, label %put33 grow32: %t325 = mul i32 %t323, 2 %t326 = icmp eq i32 %t323, 0 %t327 = select i1 %t326, i32 8, i32 %t325 %t328 = getelementptr ptr, ptr null, i32 1 %t329 = ptrtoint ptr %t328 to i64 %t330 = zext i32 %t327 to i64 %t331 = mul i64 %t330, %t329 %t332 = load ptr, ptr %t321 %t333 = call ptr @realloc(ptr %t332, i64 %t331) store ptr %t333, ptr %t321 store i32 %t327, ptr %t320 br label %put33 put33: %t334 = load ptr, ptr %t321 %t335 = getelementptr inbounds ptr, ptr %t334, i32 %t322 store ptr @.str4969, ptr %t335 %t336 = add i32 %t322, 1 store i32 %t336, ptr %t319 %t337 = load ptr, ptr %t13 %t338 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 1 %t339 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 2 %t340 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 0 %t341 = load i32, ptr %t338 %t342 = load i32, ptr %t339 %t343 = icmp sge i32 %t341, %t342 br i1 %t343, label %grow34, label %put35 grow34: %t344 = mul i32 %t342, 2 %t345 = icmp eq i32 %t342, 0 %t346 = select i1 %t345, i32 8, i32 %t344 %t347 = getelementptr ptr, ptr null, i32 1 %t348 = ptrtoint ptr %t347 to i64 %t349 = zext i32 %t346 to i64 %t350 = mul i64 %t349, %t348 %t351 = load ptr, ptr %t340 %t352 = call ptr @realloc(ptr %t351, i64 %t350) store ptr %t352, ptr %t340 store i32 %t346, ptr %t339 br label %put35 put35: %t353 = load ptr, ptr %t340 %t354 = getelementptr inbounds ptr, ptr %t353, i32 %t341 store ptr @.str4970, ptr %t354 %t355 = add i32 %t341, 1 store i32 %t355, ptr %t338 %t356 = load ptr, ptr %t6 %t357 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 1 %t358 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 2 %t359 = getelementptr inbounds %LSlice, ptr %t356, i32 0, i32 0 %t360 = load i32, ptr %t357 %t361 = load i32, ptr %t358 %t362 = icmp sge i32 %t360, %t361 br i1 %t362, label %grow36, label %put37 grow36: %t363 = mul i32 %t361, 2 %t364 = icmp eq i32 %t361, 0 %t365 = select i1 %t364, i32 8, i32 %t363 %t366 = getelementptr ptr, ptr null, i32 1 %t367 = ptrtoint ptr %t366 to i64 %t368 = zext i32 %t365 to i64 %t369 = mul i64 %t368, %t367 %t370 = load ptr, ptr %t359 %t371 = call ptr @realloc(ptr %t370, i64 %t369) store ptr %t371, ptr %t359 store i32 %t365, ptr %t358 br label %put37 put37: %t372 = load ptr, ptr %t359 %t373 = getelementptr inbounds ptr, ptr %t372, i32 %t360 store ptr @.str4971, ptr %t373 %t374 = add i32 %t360, 1 store i32 %t374, ptr %t357 %t375 = load ptr, ptr %t13 %t376 = getelementptr inbounds %LSlice, ptr %t375, i32 0, i32 1 %t377 = getelementptr inbounds %LSlice, ptr %t375, i32 0, i32 2 %t378 = getelementptr inbounds %LSlice, ptr %t375, i32 0, i32 0 %t379 = load i32, ptr %t376 %t380 = load i32, ptr %t377 %t381 = icmp sge i32 %t379, %t380 br i1 %t381, label %grow38, label %put39 grow38: %t382 = mul i32 %t380, 2 %t383 = icmp eq i32 %t380, 0 %t384 = select i1 %t383, i32 8, i32 %t382 %t385 = getelementptr ptr, ptr null, i32 1 %t386 = ptrtoint ptr %t385 to i64 %t387 = zext i32 %t384 to i64 %t388 = mul i64 %t387, %t386 %t389 = load ptr, ptr %t378 %t390 = call ptr @realloc(ptr %t389, i64 %t388) store ptr %t390, ptr %t378 store i32 %t384, ptr %t377 br label %put39 put39: %t391 = load ptr, ptr %t378 %t392 = getelementptr inbounds ptr, ptr %t391, i32 %t379 store ptr @.str4972, ptr %t392 %t393 = add i32 %t379, 1 store i32 %t393, ptr %t376 %t394 = load ptr, ptr %t6 %t395 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 1 %t396 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 2 %t397 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 0 %t398 = load i32, ptr %t395 %t399 = load i32, ptr %t396 %t400 = icmp sge i32 %t398, %t399 br i1 %t400, label %grow40, label %put41 grow40: %t401 = mul i32 %t399, 2 %t402 = icmp eq i32 %t399, 0 %t403 = select i1 %t402, i32 8, i32 %t401 %t404 = getelementptr ptr, ptr null, i32 1 %t405 = ptrtoint ptr %t404 to i64 %t406 = zext i32 %t403 to i64 %t407 = mul i64 %t406, %t405 %t408 = load ptr, ptr %t397 %t409 = call ptr @realloc(ptr %t408, i64 %t407) store ptr %t409, ptr %t397 store i32 %t403, ptr %t396 br label %put41 put41: %t410 = load ptr, ptr %t397 %t411 = getelementptr inbounds ptr, ptr %t410, i32 %t398 store ptr @.str4973, ptr %t411 %t412 = add i32 %t398, 1 store i32 %t412, ptr %t395 %t413 = load ptr, ptr %t13 %t414 = getelementptr inbounds %LSlice, ptr %t413, i32 0, i32 1 %t415 = getelementptr inbounds %LSlice, ptr %t413, i32 0, i32 2 %t416 = getelementptr inbounds %LSlice, ptr %t413, i32 0, i32 0 %t417 = load i32, ptr %t414 %t418 = load i32, ptr %t415 %t419 = icmp sge i32 %t417, %t418 br i1 %t419, label %grow42, label %put43 grow42: %t420 = mul i32 %t418, 2 %t421 = icmp eq i32 %t418, 0 %t422 = select i1 %t421, i32 8, i32 %t420 %t423 = getelementptr ptr, ptr null, i32 1 %t424 = ptrtoint ptr %t423 to i64 %t425 = zext i32 %t422 to i64 %t426 = mul i64 %t425, %t424 %t427 = load ptr, ptr %t416 %t428 = call ptr @realloc(ptr %t427, i64 %t426) store ptr %t428, ptr %t416 store i32 %t422, ptr %t415 br label %put43 put43: %t429 = load ptr, ptr %t416 %t430 = getelementptr inbounds ptr, ptr %t429, i32 %t417 store ptr @.str4974, ptr %t430 %t431 = add i32 %t417, 1 store i32 %t431, ptr %t414 %t432 = load ptr, ptr %t6 %t433 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 1 %t434 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 2 %t435 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 0 %t436 = load i32, ptr %t433 %t437 = load i32, ptr %t434 %t438 = icmp sge i32 %t436, %t437 br i1 %t438, label %grow44, label %put45 grow44: %t439 = mul i32 %t437, 2 %t440 = icmp eq i32 %t437, 0 %t441 = select i1 %t440, i32 8, i32 %t439 %t442 = getelementptr ptr, ptr null, i32 1 %t443 = ptrtoint ptr %t442 to i64 %t444 = zext i32 %t441 to i64 %t445 = mul i64 %t444, %t443 %t446 = load ptr, ptr %t435 %t447 = call ptr @realloc(ptr %t446, i64 %t445) store ptr %t447, ptr %t435 store i32 %t441, ptr %t434 br label %put45 put45: %t448 = load ptr, ptr %t435 %t449 = getelementptr inbounds ptr, ptr %t448, i32 %t436 store ptr @.str4975, ptr %t449 %t450 = add i32 %t436, 1 store i32 %t450, ptr %t433 %t451 = load ptr, ptr %t13 %t452 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 1 %t453 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 2 %t454 = getelementptr inbounds %LSlice, ptr %t451, i32 0, i32 0 %t455 = load i32, ptr %t452 %t456 = load i32, ptr %t453 %t457 = icmp sge i32 %t455, %t456 br i1 %t457, label %grow46, label %put47 grow46: %t458 = mul i32 %t456, 2 %t459 = icmp eq i32 %t456, 0 %t460 = select i1 %t459, i32 8, i32 %t458 %t461 = getelementptr ptr, ptr null, i32 1 %t462 = ptrtoint ptr %t461 to i64 %t463 = zext i32 %t460 to i64 %t464 = mul i64 %t463, %t462 %t465 = load ptr, ptr %t454 %t466 = call ptr @realloc(ptr %t465, i64 %t464) store ptr %t466, ptr %t454 store i32 %t460, ptr %t453 br label %put47 put47: %t467 = load ptr, ptr %t454 %t468 = getelementptr inbounds ptr, ptr %t467, i32 %t455 store ptr @.str4976, ptr %t468 %t469 = add i32 %t455, 1 store i32 %t469, ptr %t452 %t470 = load ptr, ptr %t6 %t471 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 1 %t472 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 2 %t473 = getelementptr inbounds %LSlice, ptr %t470, i32 0, i32 0 %t474 = load i32, ptr %t471 %t475 = load i32, ptr %t472 %t476 = icmp sge i32 %t474, %t475 br i1 %t476, label %grow48, label %put49 grow48: %t477 = mul i32 %t475, 2 %t478 = icmp eq i32 %t475, 0 %t479 = select i1 %t478, i32 8, i32 %t477 %t480 = getelementptr ptr, ptr null, i32 1 %t481 = ptrtoint ptr %t480 to i64 %t482 = zext i32 %t479 to i64 %t483 = mul i64 %t482, %t481 %t484 = load ptr, ptr %t473 %t485 = call ptr @realloc(ptr %t484, i64 %t483) store ptr %t485, ptr %t473 store i32 %t479, ptr %t472 br label %put49 put49: %t486 = load ptr, ptr %t473 %t487 = getelementptr inbounds ptr, ptr %t486, i32 %t474 store ptr @.str4977, ptr %t487 %t488 = add i32 %t474, 1 store i32 %t488, ptr %t471 %t489 = load ptr, ptr %t13 %t490 = getelementptr inbounds %LSlice, ptr %t489, i32 0, i32 1 %t491 = getelementptr inbounds %LSlice, ptr %t489, i32 0, i32 2 %t492 = getelementptr inbounds %LSlice, ptr %t489, i32 0, i32 0 %t493 = load i32, ptr %t490 %t494 = load i32, ptr %t491 %t495 = icmp sge i32 %t493, %t494 br i1 %t495, label %grow50, label %put51 grow50: %t496 = mul i32 %t494, 2 %t497 = icmp eq i32 %t494, 0 %t498 = select i1 %t497, i32 8, i32 %t496 %t499 = getelementptr ptr, ptr null, i32 1 %t500 = ptrtoint ptr %t499 to i64 %t501 = zext i32 %t498 to i64 %t502 = mul i64 %t501, %t500 %t503 = load ptr, ptr %t492 %t504 = call ptr @realloc(ptr %t503, i64 %t502) store ptr %t504, ptr %t492 store i32 %t498, ptr %t491 br label %put51 put51: %t505 = load ptr, ptr %t492 %t506 = getelementptr inbounds ptr, ptr %t505, i32 %t493 store ptr @.str4978, ptr %t506 %t507 = add i32 %t493, 1 store i32 %t507, ptr %t490 %t508 = load ptr, ptr %t6 %t509 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 1 %t510 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 2 %t511 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 0 %t512 = load i32, ptr %t509 %t513 = load i32, ptr %t510 %t514 = icmp sge i32 %t512, %t513 br i1 %t514, label %grow52, label %put53 grow52: %t515 = mul i32 %t513, 2 %t516 = icmp eq i32 %t513, 0 %t517 = select i1 %t516, i32 8, i32 %t515 %t518 = getelementptr ptr, ptr null, i32 1 %t519 = ptrtoint ptr %t518 to i64 %t520 = zext i32 %t517 to i64 %t521 = mul i64 %t520, %t519 %t522 = load ptr, ptr %t511 %t523 = call ptr @realloc(ptr %t522, i64 %t521) store ptr %t523, ptr %t511 store i32 %t517, ptr %t510 br label %put53 put53: %t524 = load ptr, ptr %t511 %t525 = getelementptr inbounds ptr, ptr %t524, i32 %t512 store ptr @.str4979, ptr %t525 %t526 = add i32 %t512, 1 store i32 %t526, ptr %t509 %t527 = load ptr, ptr %t13 %t528 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 1 %t529 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 2 %t530 = getelementptr inbounds %LSlice, ptr %t527, i32 0, i32 0 %t531 = load i32, ptr %t528 %t532 = load i32, ptr %t529 %t533 = icmp sge i32 %t531, %t532 br i1 %t533, label %grow54, label %put55 grow54: %t534 = mul i32 %t532, 2 %t535 = icmp eq i32 %t532, 0 %t536 = select i1 %t535, i32 8, i32 %t534 %t537 = getelementptr ptr, ptr null, i32 1 %t538 = ptrtoint ptr %t537 to i64 %t539 = zext i32 %t536 to i64 %t540 = mul i64 %t539, %t538 %t541 = load ptr, ptr %t530 %t542 = call ptr @realloc(ptr %t541, i64 %t540) store ptr %t542, ptr %t530 store i32 %t536, ptr %t529 br label %put55 put55: %t543 = load ptr, ptr %t530 %t544 = getelementptr inbounds ptr, ptr %t543, i32 %t531 store ptr @.str4980, ptr %t544 %t545 = add i32 %t531, 1 store i32 %t545, ptr %t528 %t546 = load ptr, ptr %t6 %t547 = getelementptr inbounds %LSlice, ptr %t546, i32 0, i32 1 %t548 = getelementptr inbounds %LSlice, ptr %t546, i32 0, i32 2 %t549 = getelementptr inbounds %LSlice, ptr %t546, i32 0, i32 0 %t550 = load i32, ptr %t547 %t551 = load i32, ptr %t548 %t552 = icmp sge i32 %t550, %t551 br i1 %t552, label %grow56, label %put57 grow56: %t553 = mul i32 %t551, 2 %t554 = icmp eq i32 %t551, 0 %t555 = select i1 %t554, i32 8, i32 %t553 %t556 = getelementptr ptr, ptr null, i32 1 %t557 = ptrtoint ptr %t556 to i64 %t558 = zext i32 %t555 to i64 %t559 = mul i64 %t558, %t557 %t560 = load ptr, ptr %t549 %t561 = call ptr @realloc(ptr %t560, i64 %t559) store ptr %t561, ptr %t549 store i32 %t555, ptr %t548 br label %put57 put57: %t562 = load ptr, ptr %t549 %t563 = getelementptr inbounds ptr, ptr %t562, i32 %t550 store ptr @.str4981, ptr %t563 %t564 = add i32 %t550, 1 store i32 %t564, ptr %t547 %t565 = load ptr, ptr %t13 %t566 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 1 %t567 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 2 %t568 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 0 %t569 = load i32, ptr %t566 %t570 = load i32, ptr %t567 %t571 = icmp sge i32 %t569, %t570 br i1 %t571, label %grow58, label %put59 grow58: %t572 = mul i32 %t570, 2 %t573 = icmp eq i32 %t570, 0 %t574 = select i1 %t573, i32 8, i32 %t572 %t575 = getelementptr ptr, ptr null, i32 1 %t576 = ptrtoint ptr %t575 to i64 %t577 = zext i32 %t574 to i64 %t578 = mul i64 %t577, %t576 %t579 = load ptr, ptr %t568 %t580 = call ptr @realloc(ptr %t579, i64 %t578) store ptr %t580, ptr %t568 store i32 %t574, ptr %t567 br label %put59 put59: %t581 = load ptr, ptr %t568 %t582 = getelementptr inbounds ptr, ptr %t581, i32 %t569 store ptr @.str4982, ptr %t582 %t583 = add i32 %t569, 1 store i32 %t583, ptr %t566 %t584 = load ptr, ptr %t6 %t585 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 1 %t586 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 2 %t587 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 0 %t588 = load i32, ptr %t585 %t589 = load i32, ptr %t586 %t590 = icmp sge i32 %t588, %t589 br i1 %t590, label %grow60, label %put61 grow60: %t591 = mul i32 %t589, 2 %t592 = icmp eq i32 %t589, 0 %t593 = select i1 %t592, i32 8, i32 %t591 %t594 = getelementptr ptr, ptr null, i32 1 %t595 = ptrtoint ptr %t594 to i64 %t596 = zext i32 %t593 to i64 %t597 = mul i64 %t596, %t595 %t598 = load ptr, ptr %t587 %t599 = call ptr @realloc(ptr %t598, i64 %t597) store ptr %t599, ptr %t587 store i32 %t593, ptr %t586 br label %put61 put61: %t600 = load ptr, ptr %t587 %t601 = getelementptr inbounds ptr, ptr %t600, i32 %t588 store ptr @.str4983, ptr %t601 %t602 = add i32 %t588, 1 store i32 %t602, ptr %t585 %t603 = load ptr, ptr %t13 %t604 = getelementptr inbounds %LSlice, ptr %t603, i32 0, i32 1 %t605 = getelementptr inbounds %LSlice, ptr %t603, i32 0, i32 2 %t606 = getelementptr inbounds %LSlice, ptr %t603, i32 0, i32 0 %t607 = load i32, ptr %t604 %t608 = load i32, ptr %t605 %t609 = icmp sge i32 %t607, %t608 br i1 %t609, label %grow62, label %put63 grow62: %t610 = mul i32 %t608, 2 %t611 = icmp eq i32 %t608, 0 %t612 = select i1 %t611, i32 8, i32 %t610 %t613 = getelementptr ptr, ptr null, i32 1 %t614 = ptrtoint ptr %t613 to i64 %t615 = zext i32 %t612 to i64 %t616 = mul i64 %t615, %t614 %t617 = load ptr, ptr %t606 %t618 = call ptr @realloc(ptr %t617, i64 %t616) store ptr %t618, ptr %t606 store i32 %t612, ptr %t605 br label %put63 put63: %t619 = load ptr, ptr %t606 %t620 = getelementptr inbounds ptr, ptr %t619, i32 %t607 store ptr @.str4984, ptr %t620 %t621 = add i32 %t607, 1 store i32 %t621, ptr %t604 %t622 = load ptr, ptr %t6 %t623 = getelementptr inbounds %LSlice, ptr %t622, i32 0, i32 1 %t624 = getelementptr inbounds %LSlice, ptr %t622, i32 0, i32 2 %t625 = getelementptr inbounds %LSlice, ptr %t622, i32 0, i32 0 %t626 = load i32, ptr %t623 %t627 = load i32, ptr %t624 %t628 = icmp sge i32 %t626, %t627 br i1 %t628, label %grow64, label %put65 grow64: %t629 = mul i32 %t627, 2 %t630 = icmp eq i32 %t627, 0 %t631 = select i1 %t630, i32 8, i32 %t629 %t632 = getelementptr ptr, ptr null, i32 1 %t633 = ptrtoint ptr %t632 to i64 %t634 = zext i32 %t631 to i64 %t635 = mul i64 %t634, %t633 %t636 = load ptr, ptr %t625 %t637 = call ptr @realloc(ptr %t636, i64 %t635) store ptr %t637, ptr %t625 store i32 %t631, ptr %t624 br label %put65 put65: %t638 = load ptr, ptr %t625 %t639 = getelementptr inbounds ptr, ptr %t638, i32 %t626 store ptr @.str4985, ptr %t639 %t640 = add i32 %t626, 1 store i32 %t640, ptr %t623 %t641 = load ptr, ptr %t13 %t642 = getelementptr inbounds %LSlice, ptr %t641, i32 0, i32 1 %t643 = getelementptr inbounds %LSlice, ptr %t641, i32 0, i32 2 %t644 = getelementptr inbounds %LSlice, ptr %t641, i32 0, i32 0 %t645 = load i32, ptr %t642 %t646 = load i32, ptr %t643 %t647 = icmp sge i32 %t645, %t646 br i1 %t647, label %grow66, label %put67 grow66: %t648 = mul i32 %t646, 2 %t649 = icmp eq i32 %t646, 0 %t650 = select i1 %t649, i32 8, i32 %t648 %t651 = getelementptr ptr, ptr null, i32 1 %t652 = ptrtoint ptr %t651 to i64 %t653 = zext i32 %t650 to i64 %t654 = mul i64 %t653, %t652 %t655 = load ptr, ptr %t644 %t656 = call ptr @realloc(ptr %t655, i64 %t654) store ptr %t656, ptr %t644 store i32 %t650, ptr %t643 br label %put67 put67: %t657 = load ptr, ptr %t644 %t658 = getelementptr inbounds ptr, ptr %t657, i32 %t645 store ptr @.str4986, ptr %t658 %t659 = add i32 %t645, 1 store i32 %t659, ptr %t642 %t660 = load ptr, ptr %t6 %t661 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 1 %t662 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 2 %t663 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 0 %t664 = load i32, ptr %t661 %t665 = load i32, ptr %t662 %t666 = icmp sge i32 %t664, %t665 br i1 %t666, label %grow68, label %put69 grow68: %t667 = mul i32 %t665, 2 %t668 = icmp eq i32 %t665, 0 %t669 = select i1 %t668, i32 8, i32 %t667 %t670 = getelementptr ptr, ptr null, i32 1 %t671 = ptrtoint ptr %t670 to i64 %t672 = zext i32 %t669 to i64 %t673 = mul i64 %t672, %t671 %t674 = load ptr, ptr %t663 %t675 = call ptr @realloc(ptr %t674, i64 %t673) store ptr %t675, ptr %t663 store i32 %t669, ptr %t662 br label %put69 put69: %t676 = load ptr, ptr %t663 %t677 = getelementptr inbounds ptr, ptr %t676, i32 %t664 store ptr @.str4987, ptr %t677 %t678 = add i32 %t664, 1 store i32 %t678, ptr %t661 %t679 = load ptr, ptr %t13 %t680 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 1 %t681 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 2 %t682 = getelementptr inbounds %LSlice, ptr %t679, i32 0, i32 0 %t683 = load i32, ptr %t680 %t684 = load i32, ptr %t681 %t685 = icmp sge i32 %t683, %t684 br i1 %t685, label %grow70, label %put71 grow70: %t686 = mul i32 %t684, 2 %t687 = icmp eq i32 %t684, 0 %t688 = select i1 %t687, i32 8, i32 %t686 %t689 = getelementptr ptr, ptr null, i32 1 %t690 = ptrtoint ptr %t689 to i64 %t691 = zext i32 %t688 to i64 %t692 = mul i64 %t691, %t690 %t693 = load ptr, ptr %t682 %t694 = call ptr @realloc(ptr %t693, i64 %t692) store ptr %t694, ptr %t682 store i32 %t688, ptr %t681 br label %put71 put71: %t695 = load ptr, ptr %t682 %t696 = getelementptr inbounds ptr, ptr %t695, i32 %t683 store ptr @.str4988, ptr %t696 %t697 = add i32 %t683, 1 store i32 %t697, ptr %t680 %t698 = load ptr, ptr %t6 %t699 = getelementptr inbounds %LSlice, ptr %t698, i32 0, i32 1 %t700 = getelementptr inbounds %LSlice, ptr %t698, i32 0, i32 2 %t701 = getelementptr inbounds %LSlice, ptr %t698, i32 0, i32 0 %t702 = load i32, ptr %t699 %t703 = load i32, ptr %t700 %t704 = icmp sge i32 %t702, %t703 br i1 %t704, label %grow72, label %put73 grow72: %t705 = mul i32 %t703, 2 %t706 = icmp eq i32 %t703, 0 %t707 = select i1 %t706, i32 8, i32 %t705 %t708 = getelementptr ptr, ptr null, i32 1 %t709 = ptrtoint ptr %t708 to i64 %t710 = zext i32 %t707 to i64 %t711 = mul i64 %t710, %t709 %t712 = load ptr, ptr %t701 %t713 = call ptr @realloc(ptr %t712, i64 %t711) store ptr %t713, ptr %t701 store i32 %t707, ptr %t700 br label %put73 put73: %t714 = load ptr, ptr %t701 %t715 = getelementptr inbounds ptr, ptr %t714, i32 %t702 store ptr @.str4989, ptr %t715 %t716 = add i32 %t702, 1 store i32 %t716, ptr %t699 %t717 = load ptr, ptr %t13 %t718 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 1 %t719 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 2 %t720 = getelementptr inbounds %LSlice, ptr %t717, i32 0, i32 0 %t721 = load i32, ptr %t718 %t722 = load i32, ptr %t719 %t723 = icmp sge i32 %t721, %t722 br i1 %t723, label %grow74, label %put75 grow74: %t724 = mul i32 %t722, 2 %t725 = icmp eq i32 %t722, 0 %t726 = select i1 %t725, i32 8, i32 %t724 %t727 = getelementptr ptr, ptr null, i32 1 %t728 = ptrtoint ptr %t727 to i64 %t729 = zext i32 %t726 to i64 %t730 = mul i64 %t729, %t728 %t731 = load ptr, ptr %t720 %t732 = call ptr @realloc(ptr %t731, i64 %t730) store ptr %t732, ptr %t720 store i32 %t726, ptr %t719 br label %put75 put75: %t733 = load ptr, ptr %t720 %t734 = getelementptr inbounds ptr, ptr %t733, i32 %t721 store ptr @.str4990, ptr %t734 %t735 = add i32 %t721, 1 store i32 %t735, ptr %t718 %t736 = load ptr, ptr %t6 %t737 = getelementptr inbounds %LSlice, ptr %t736, i32 0, i32 1 %t738 = getelementptr inbounds %LSlice, ptr %t736, i32 0, i32 2 %t739 = getelementptr inbounds %LSlice, ptr %t736, i32 0, i32 0 %t740 = load i32, ptr %t737 %t741 = load i32, ptr %t738 %t742 = icmp sge i32 %t740, %t741 br i1 %t742, label %grow76, label %put77 grow76: %t743 = mul i32 %t741, 2 %t744 = icmp eq i32 %t741, 0 %t745 = select i1 %t744, i32 8, i32 %t743 %t746 = getelementptr ptr, ptr null, i32 1 %t747 = ptrtoint ptr %t746 to i64 %t748 = zext i32 %t745 to i64 %t749 = mul i64 %t748, %t747 %t750 = load ptr, ptr %t739 %t751 = call ptr @realloc(ptr %t750, i64 %t749) store ptr %t751, ptr %t739 store i32 %t745, ptr %t738 br label %put77 put77: %t752 = load ptr, ptr %t739 %t753 = getelementptr inbounds ptr, ptr %t752, i32 %t740 store ptr @.str4991, ptr %t753 %t754 = add i32 %t740, 1 store i32 %t754, ptr %t737 %t755 = load ptr, ptr %t13 %t756 = getelementptr inbounds %LSlice, ptr %t755, i32 0, i32 1 %t757 = getelementptr inbounds %LSlice, ptr %t755, i32 0, i32 2 %t758 = getelementptr inbounds %LSlice, ptr %t755, i32 0, i32 0 %t759 = load i32, ptr %t756 %t760 = load i32, ptr %t757 %t761 = icmp sge i32 %t759, %t760 br i1 %t761, label %grow78, label %put79 grow78: %t762 = mul i32 %t760, 2 %t763 = icmp eq i32 %t760, 0 %t764 = select i1 %t763, i32 8, i32 %t762 %t765 = getelementptr ptr, ptr null, i32 1 %t766 = ptrtoint ptr %t765 to i64 %t767 = zext i32 %t764 to i64 %t768 = mul i64 %t767, %t766 %t769 = load ptr, ptr %t758 %t770 = call ptr @realloc(ptr %t769, i64 %t768) store ptr %t770, ptr %t758 store i32 %t764, ptr %t757 br label %put79 put79: %t771 = load ptr, ptr %t758 %t772 = getelementptr inbounds ptr, ptr %t771, i32 %t759 store ptr @.str4992, ptr %t772 %t773 = add i32 %t759, 1 store i32 %t773, ptr %t756 %t774 = load ptr, ptr %t6 %t775 = getelementptr inbounds %LSlice, ptr %t774, i32 0, i32 1 %t776 = getelementptr inbounds %LSlice, ptr %t774, i32 0, i32 2 %t777 = getelementptr inbounds %LSlice, ptr %t774, i32 0, i32 0 %t778 = load i32, ptr %t775 %t779 = load i32, ptr %t776 %t780 = icmp sge i32 %t778, %t779 br i1 %t780, label %grow80, label %put81 grow80: %t781 = mul i32 %t779, 2 %t782 = icmp eq i32 %t779, 0 %t783 = select i1 %t782, i32 8, i32 %t781 %t784 = getelementptr ptr, ptr null, i32 1 %t785 = ptrtoint ptr %t784 to i64 %t786 = zext i32 %t783 to i64 %t787 = mul i64 %t786, %t785 %t788 = load ptr, ptr %t777 %t789 = call ptr @realloc(ptr %t788, i64 %t787) store ptr %t789, ptr %t777 store i32 %t783, ptr %t776 br label %put81 put81: %t790 = load ptr, ptr %t777 %t791 = getelementptr inbounds ptr, ptr %t790, i32 %t778 store ptr @.str4993, ptr %t791 %t792 = add i32 %t778, 1 store i32 %t792, ptr %t775 %t793 = load ptr, ptr %t13 %t794 = getelementptr inbounds %LSlice, ptr %t793, i32 0, i32 1 %t795 = getelementptr inbounds %LSlice, ptr %t793, i32 0, i32 2 %t796 = getelementptr inbounds %LSlice, ptr %t793, i32 0, i32 0 %t797 = load i32, ptr %t794 %t798 = load i32, ptr %t795 %t799 = icmp sge i32 %t797, %t798 br i1 %t799, label %grow82, label %put83 grow82: %t800 = mul i32 %t798, 2 %t801 = icmp eq i32 %t798, 0 %t802 = select i1 %t801, i32 8, i32 %t800 %t803 = getelementptr ptr, ptr null, i32 1 %t804 = ptrtoint ptr %t803 to i64 %t805 = zext i32 %t802 to i64 %t806 = mul i64 %t805, %t804 %t807 = load ptr, ptr %t796 %t808 = call ptr @realloc(ptr %t807, i64 %t806) store ptr %t808, ptr %t796 store i32 %t802, ptr %t795 br label %put83 put83: %t809 = load ptr, ptr %t796 %t810 = getelementptr inbounds ptr, ptr %t809, i32 %t797 store ptr @.str4994, ptr %t810 %t811 = add i32 %t797, 1 store i32 %t811, ptr %t794 %t812 = load ptr, ptr %t6 %t813 = getelementptr inbounds %LSlice, ptr %t812, i32 0, i32 1 %t814 = getelementptr inbounds %LSlice, ptr %t812, i32 0, i32 2 %t815 = getelementptr inbounds %LSlice, ptr %t812, i32 0, i32 0 %t816 = load i32, ptr %t813 %t817 = load i32, ptr %t814 %t818 = icmp sge i32 %t816, %t817 br i1 %t818, label %grow84, label %put85 grow84: %t819 = mul i32 %t817, 2 %t820 = icmp eq i32 %t817, 0 %t821 = select i1 %t820, i32 8, i32 %t819 %t822 = getelementptr ptr, ptr null, i32 1 %t823 = ptrtoint ptr %t822 to i64 %t824 = zext i32 %t821 to i64 %t825 = mul i64 %t824, %t823 %t826 = load ptr, ptr %t815 %t827 = call ptr @realloc(ptr %t826, i64 %t825) store ptr %t827, ptr %t815 store i32 %t821, ptr %t814 br label %put85 put85: %t828 = load ptr, ptr %t815 %t829 = getelementptr inbounds ptr, ptr %t828, i32 %t816 store ptr @.str4995, ptr %t829 %t830 = add i32 %t816, 1 store i32 %t830, ptr %t813 %t831 = load ptr, ptr %t13 %t832 = getelementptr inbounds %LSlice, ptr %t831, i32 0, i32 1 %t833 = getelementptr inbounds %LSlice, ptr %t831, i32 0, i32 2 %t834 = getelementptr inbounds %LSlice, ptr %t831, i32 0, i32 0 %t835 = load i32, ptr %t832 %t836 = load i32, ptr %t833 %t837 = icmp sge i32 %t835, %t836 br i1 %t837, label %grow86, label %put87 grow86: %t838 = mul i32 %t836, 2 %t839 = icmp eq i32 %t836, 0 %t840 = select i1 %t839, i32 8, i32 %t838 %t841 = getelementptr ptr, ptr null, i32 1 %t842 = ptrtoint ptr %t841 to i64 %t843 = zext i32 %t840 to i64 %t844 = mul i64 %t843, %t842 %t845 = load ptr, ptr %t834 %t846 = call ptr @realloc(ptr %t845, i64 %t844) store ptr %t846, ptr %t834 store i32 %t840, ptr %t833 br label %put87 put87: %t847 = load ptr, ptr %t834 %t848 = getelementptr inbounds ptr, ptr %t847, i32 %t835 store ptr @.str4996, ptr %t848 %t849 = add i32 %t835, 1 store i32 %t849, ptr %t832 %t850 = load ptr, ptr %t6 %t851 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 1 %t852 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 2 %t853 = getelementptr inbounds %LSlice, ptr %t850, i32 0, i32 0 %t854 = load i32, ptr %t851 %t855 = load i32, ptr %t852 %t856 = icmp sge i32 %t854, %t855 br i1 %t856, label %grow88, label %put89 grow88: %t857 = mul i32 %t855, 2 %t858 = icmp eq i32 %t855, 0 %t859 = select i1 %t858, i32 8, i32 %t857 %t860 = getelementptr ptr, ptr null, i32 1 %t861 = ptrtoint ptr %t860 to i64 %t862 = zext i32 %t859 to i64 %t863 = mul i64 %t862, %t861 %t864 = load ptr, ptr %t853 %t865 = call ptr @realloc(ptr %t864, i64 %t863) store ptr %t865, ptr %t853 store i32 %t859, ptr %t852 br label %put89 put89: %t866 = load ptr, ptr %t853 %t867 = getelementptr inbounds ptr, ptr %t866, i32 %t854 store ptr @.str4997, ptr %t867 %t868 = add i32 %t854, 1 store i32 %t868, ptr %t851 %t869 = load ptr, ptr %t13 %t870 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 1 %t871 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 2 %t872 = getelementptr inbounds %LSlice, ptr %t869, i32 0, i32 0 %t873 = load i32, ptr %t870 %t874 = load i32, ptr %t871 %t875 = icmp sge i32 %t873, %t874 br i1 %t875, label %grow90, label %put91 grow90: %t876 = mul i32 %t874, 2 %t877 = icmp eq i32 %t874, 0 %t878 = select i1 %t877, i32 8, i32 %t876 %t879 = getelementptr ptr, ptr null, i32 1 %t880 = ptrtoint ptr %t879 to i64 %t881 = zext i32 %t878 to i64 %t882 = mul i64 %t881, %t880 %t883 = load ptr, ptr %t872 %t884 = call ptr @realloc(ptr %t883, i64 %t882) store ptr %t884, ptr %t872 store i32 %t878, ptr %t871 br label %put91 put91: %t885 = load ptr, ptr %t872 %t886 = getelementptr inbounds ptr, ptr %t885, i32 %t873 store ptr @.str4998, ptr %t886 %t887 = add i32 %t873, 1 store i32 %t887, ptr %t870 %t888 = load ptr, ptr %t6 %t889 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 1 %t890 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 2 %t891 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 0 %t892 = load i32, ptr %t889 %t893 = load i32, ptr %t890 %t894 = icmp sge i32 %t892, %t893 br i1 %t894, label %grow92, label %put93 grow92: %t895 = mul i32 %t893, 2 %t896 = icmp eq i32 %t893, 0 %t897 = select i1 %t896, i32 8, i32 %t895 %t898 = getelementptr ptr, ptr null, i32 1 %t899 = ptrtoint ptr %t898 to i64 %t900 = zext i32 %t897 to i64 %t901 = mul i64 %t900, %t899 %t902 = load ptr, ptr %t891 %t903 = call ptr @realloc(ptr %t902, i64 %t901) store ptr %t903, ptr %t891 store i32 %t897, ptr %t890 br label %put93 put93: %t904 = load ptr, ptr %t891 %t905 = getelementptr inbounds ptr, ptr %t904, i32 %t892 store ptr @.str4999, ptr %t905 %t906 = add i32 %t892, 1 store i32 %t906, ptr %t889 %t907 = load ptr, ptr %t13 %t908 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 1 %t909 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 2 %t910 = getelementptr inbounds %LSlice, ptr %t907, i32 0, i32 0 %t911 = load i32, ptr %t908 %t912 = load i32, ptr %t909 %t913 = icmp sge i32 %t911, %t912 br i1 %t913, label %grow94, label %put95 grow94: %t914 = mul i32 %t912, 2 %t915 = icmp eq i32 %t912, 0 %t916 = select i1 %t915, i32 8, i32 %t914 %t917 = getelementptr ptr, ptr null, i32 1 %t918 = ptrtoint ptr %t917 to i64 %t919 = zext i32 %t916 to i64 %t920 = mul i64 %t919, %t918 %t921 = load ptr, ptr %t910 %t922 = call ptr @realloc(ptr %t921, i64 %t920) store ptr %t922, ptr %t910 store i32 %t916, ptr %t909 br label %put95 put95: %t923 = load ptr, ptr %t910 %t924 = getelementptr inbounds ptr, ptr %t923, i32 %t911 store ptr @.str5000, ptr %t924 %t925 = add i32 %t911, 1 store i32 %t925, ptr %t908 %t926 = getelementptr %LSlice, ptr null, i32 1 %t927 = ptrtoint ptr %t926 to i64 %t928 = call ptr @malloc(i64 %t927) %t929 = getelementptr inbounds %LSlice, ptr %t928, i32 0, i32 0 store ptr null, ptr %t929 %t930 = getelementptr inbounds %LSlice, ptr %t928, i32 0, i32 1 store i32 0, ptr %t930 %t931 = getelementptr inbounds %LSlice, ptr %t928, i32 0, i32 2 store i32 0, ptr %t931 store ptr %t928, ptr %t932 %t933 = getelementptr %LSlice, ptr null, i32 1 %t934 = ptrtoint ptr %t933 to i64 %t935 = call ptr @malloc(i64 %t934) %t936 = getelementptr inbounds %LSlice, ptr %t935, i32 0, i32 0 store ptr null, ptr %t936 %t937 = getelementptr inbounds %LSlice, ptr %t935, i32 0, i32 1 store i32 0, ptr %t937 %t938 = getelementptr inbounds %LSlice, ptr %t935, i32 0, i32 2 store i32 0, ptr %t938 store ptr %t935, ptr %t939 store i32 0, ptr %t940 br label %wcond96 wcond96: %t941 = load i32, ptr %t940 %t942 = load ptr, ptr %t6 %t943 = getelementptr inbounds %LSlice, ptr %t942, i32 0, i32 1 %t944 = load i32, ptr %t943 %t945 = icmp slt i32 %t941, %t944 %t946 = zext i1 %t945 to i32 %t947 = icmp ne i32 %t946, 0 br i1 %t947, label %wbody97, label %wend98 wbody97: %t948 = load ptr, ptr %t932 %t949 = load ptr, ptr %t6 %t950 = getelementptr inbounds %LSlice, ptr %t949, i32 0, i32 0 %t951 = load ptr, ptr %t950 %t952 = load i32, ptr %t940 %t953 = getelementptr inbounds %LSlice, ptr %t949, i32 0, i32 1 %t954 = load i32, ptr %t953 %t955 = icmp ult i32 %t952, %t954 br i1 %t955, label %ixok99, label %ixbad100 ixbad100: %t956 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t956, ptr @.fmt_bounds, ptr @.str5001, i32 %t952, i32 %t954) call void @exit(i32 1) unreachable ixok99: %t957 = getelementptr inbounds ptr, ptr %t951, i32 %t952 %t958 = load ptr, ptr %t957 %t959 = call ptr @fn_emit_str_const(ptr %t958) %t960 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 1 %t961 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 2 %t962 = getelementptr inbounds %LSlice, ptr %t948, i32 0, i32 0 %t963 = load i32, ptr %t960 %t964 = load i32, ptr %t961 %t965 = icmp sge i32 %t963, %t964 br i1 %t965, label %grow101, label %put102 grow101: %t966 = mul i32 %t964, 2 %t967 = icmp eq i32 %t964, 0 %t968 = select i1 %t967, i32 8, i32 %t966 %t969 = getelementptr ptr, ptr null, i32 1 %t970 = ptrtoint ptr %t969 to i64 %t971 = zext i32 %t968 to i64 %t972 = mul i64 %t971, %t970 %t973 = load ptr, ptr %t962 %t974 = call ptr @realloc(ptr %t973, i64 %t972) store ptr %t974, ptr %t962 store i32 %t968, ptr %t961 br label %put102 put102: %t975 = load ptr, ptr %t962 %t976 = getelementptr inbounds ptr, ptr %t975, i32 %t963 store ptr %t959, ptr %t976 %t977 = add i32 %t963, 1 store i32 %t977, ptr %t960 %t978 = load ptr, ptr %t939 %t979 = load ptr, ptr %t13 %t980 = getelementptr inbounds %LSlice, ptr %t979, i32 0, i32 0 %t981 = load ptr, ptr %t980 %t982 = load i32, ptr %t940 %t983 = getelementptr inbounds %LSlice, ptr %t979, i32 0, i32 1 %t984 = load i32, ptr %t983 %t985 = icmp ult i32 %t982, %t984 br i1 %t985, label %ixok103, label %ixbad104 ixbad104: %t986 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t986, ptr @.fmt_bounds, ptr @.str5002, i32 %t982, i32 %t984) call void @exit(i32 1) unreachable ixok103: %t987 = getelementptr inbounds ptr, ptr %t981, i32 %t982 %t988 = load ptr, ptr %t987 %t989 = call ptr @fn_emit_str_const(ptr %t988) %t990 = getelementptr inbounds %LSlice, ptr %t978, i32 0, i32 1 %t991 = getelementptr inbounds %LSlice, ptr %t978, i32 0, i32 2 %t992 = getelementptr inbounds %LSlice, ptr %t978, i32 0, i32 0 %t993 = load i32, ptr %t990 %t994 = load i32, ptr %t991 %t995 = icmp sge i32 %t993, %t994 br i1 %t995, label %grow105, label %put106 grow105: %t996 = mul i32 %t994, 2 %t997 = icmp eq i32 %t994, 0 %t998 = select i1 %t997, i32 8, i32 %t996 %t999 = getelementptr ptr, ptr null, i32 1 %t1000 = ptrtoint ptr %t999 to i64 %t1001 = zext i32 %t998 to i64 %t1002 = mul i64 %t1001, %t1000 %t1003 = load ptr, ptr %t992 %t1004 = call ptr @realloc(ptr %t1003, i64 %t1002) store ptr %t1004, ptr %t992 store i32 %t998, ptr %t991 br label %put106 put106: %t1005 = load ptr, ptr %t992 %t1006 = getelementptr inbounds ptr, ptr %t1005, i32 %t993 store ptr %t989, ptr %t1006 %t1007 = add i32 %t993, 1 store i32 %t1007, ptr %t990 %t1008 = load i32, ptr %t940 %t1009 = add i32 %t1008, 1 store i32 %t1009, ptr %t940 br label %wcond96 wend98: %t1010 = call ptr @fn_emit_str_const(ptr @.str5003) store ptr %t1010, ptr %t1011 %t1012 = load ptr, ptr %t6 %t1013 = getelementptr inbounds %LSlice, ptr %t1012, i32 0, i32 1 %t1014 = load i32, ptr %t1013 store i32 %t1014, ptr %t1015 %t1016 = load i32, ptr %t1015 %t1017 = call ptr @fn_itoa(i32 %t1016) %t1018 = call ptr @lp_str_concat(ptr @.str5004, ptr %t1017) %t1019 = call ptr @lp_str_concat(ptr %t1018, ptr @.str5005) call void @fn_emith(ptr %t1019) store i32 0, ptr %t940 br label %wcond107 wcond107: %t1020 = load i32, ptr %t940 %t1021 = load ptr, ptr %t6 %t1022 = getelementptr inbounds %LSlice, ptr %t1021, i32 0, i32 1 %t1023 = load i32, ptr %t1022 %t1024 = icmp slt i32 %t1020, %t1023 %t1025 = zext i1 %t1024 to i32 %t1026 = icmp ne i32 %t1025, 0 br i1 %t1026, label %wbody108, label %wend109 wbody108: %t1027 = load i32, ptr %t940 %t1028 = icmp sgt i32 %t1027, 0 %t1029 = zext i1 %t1028 to i32 %t1030 = icmp ne i32 %t1029, 0 br i1 %t1030, label %then110, label %ifend112 then110: call void @fn_emith(ptr @.str5006) br label %ifend112 ifend112: %t1031 = load ptr, ptr %t932 %t1032 = getelementptr inbounds %LSlice, ptr %t1031, i32 0, i32 0 %t1033 = load ptr, ptr %t1032 %t1034 = load i32, ptr %t940 %t1035 = getelementptr inbounds %LSlice, ptr %t1031, i32 0, i32 1 %t1036 = load i32, ptr %t1035 %t1037 = icmp ult i32 %t1034, %t1036 br i1 %t1037, label %ixok113, label %ixbad114 ixbad114: %t1038 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1038, ptr @.fmt_bounds, ptr @.str5008, i32 %t1034, i32 %t1036) call void @exit(i32 1) unreachable ixok113: %t1039 = getelementptr inbounds ptr, ptr %t1033, i32 %t1034 %t1040 = load ptr, ptr %t1039 %t1041 = call ptr @lp_str_concat(ptr @.str5007, ptr %t1040) %t1042 = call ptr @lp_str_concat(ptr %t1041, ptr @.str5009) %t1043 = load ptr, ptr %t939 %t1044 = getelementptr inbounds %LSlice, ptr %t1043, i32 0, i32 0 %t1045 = load ptr, ptr %t1044 %t1046 = load i32, ptr %t940 %t1047 = getelementptr inbounds %LSlice, ptr %t1043, i32 0, i32 1 %t1048 = load i32, ptr %t1047 %t1049 = icmp ult i32 %t1046, %t1048 br i1 %t1049, label %ixok115, label %ixbad116 ixbad116: %t1050 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1050, ptr @.fmt_bounds, ptr @.str5010, i32 %t1046, i32 %t1048) call void @exit(i32 1) unreachable ixok115: %t1051 = getelementptr inbounds ptr, ptr %t1045, i32 %t1046 %t1052 = load ptr, ptr %t1051 %t1053 = call ptr @lp_str_concat(ptr %t1042, ptr %t1052) %t1054 = call ptr @lp_str_concat(ptr %t1053, ptr @.str5011) call void @fn_emith(ptr %t1054) %t1055 = load i32, ptr %t940 %t1056 = add i32 %t1055, 1 store i32 %t1056, ptr %t940 br label %wcond107 wend109: call void @fn_emith(ptr @.str5012) call void @fn_emith(ptr @.str5013) call void @fn_emith(ptr @.str5014) %t1057 = load i32, ptr %t1015 %t1058 = call ptr @fn_itoa(i32 %t1057) %t1059 = call ptr @lp_str_concat(ptr @.str5015, ptr %t1058) %t1060 = call ptr @lp_str_concat(ptr %t1059, ptr @.str5016) call void @fn_emith(ptr %t1060) %t1061 = load i32, ptr %t1015 %t1062 = call ptr @fn_itoa(i32 %t1061) %t1063 = call ptr @lp_str_concat(ptr @.str5017, ptr %t1062) %t1064 = call ptr @lp_str_concat(ptr %t1063, ptr @.str5018) call void @fn_emith(ptr %t1064) %t1065 = load i32, ptr %t1015 %t1066 = call ptr @fn_itoa(i32 %t1065) %t1067 = call ptr @lp_str_concat(ptr @.str5019, ptr %t1066) %t1068 = call ptr @lp_str_concat(ptr %t1067, ptr @.str5020) call void @fn_emith(ptr %t1068) call void @fn_emith(ptr @.str5021) %t1069 = load ptr, ptr %t1011 %t1070 = call ptr @lp_str_concat(ptr @.str5022, ptr %t1069) %t1071 = call ptr @lp_str_concat(ptr %t1070, ptr @.str5023) call void @fn_emith(ptr %t1071) call void @fn_emith(ptr @.str5024) call void @fn_emith(ptr @.str5025) call void @fn_emith(ptr @.str5026) call void @fn_emith(ptr @.str5027) call void @fn_emith(ptr @.str5028) call void @fn_emith(ptr @.str5029) call void @fn_emith(ptr @.str5030) call void @fn_emit_fs_sniff() br label %ret ret: ret void } define void @fn_emit_fs_sniff() { entry: call void @fn_emith(ptr @.str5031) call void @fn_emith(ptr @.str5032) call void @fn_emith(ptr @.str5033) call void @fn_emith(ptr @.str5034) call void @fn_emith(ptr @.str5035) call void @fn_emith(ptr @.str5036) call void @fn_emith(ptr @.str5037) call void @fn_emith(ptr @.str5038) call void @fn_emith(ptr @.str5039) call void @fn_emith(ptr @.str5040) call void @fn_emith(ptr @.str5041) call void @fn_emith(ptr @.str5042) call void @fn_emith(ptr @.str5043) call void @fn_emith(ptr @.str5044) call void @fn_emith(ptr @.str5045) call void @fn_emith(ptr @.str5046) call void @fn_emith(ptr @.str5047) call void @fn_emith(ptr @.str5048) call void @fn_emith(ptr @.str5049) call void @fn_emith(ptr @.str5050) call void @fn_emith(ptr @.str5051) call void @fn_emith(ptr @.str5052) call void @fn_emith(ptr @.str5053) call void @fn_emith(ptr @.str5054) br label %ret ret: ret void } define void @fn_use_pak() { entry: store i32 1, ptr @g_g_uses_pak store i32 1, ptr @g_g_uses_fsrt br label %ret ret: ret void } define void @fn_emit_pak_prelude() { entry: %t0 = load i32, ptr @g_g_target_win %t1 = icmp eq i32 %t0, 0 %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: call void @fn_emith(ptr @.str5055) call void @fn_emith(ptr @.str5056) call void @fn_emith(ptr @.str5057) call void @fn_emith(ptr @.str5058) call void @fn_emith(ptr @.str5059) call void @fn_emith(ptr @.str5060) call void @fn_emith(ptr @.str5061) br label %ifend2 ifend2: call void @fn_emith(ptr @.str5062) call void @fn_emith(ptr @.str5063) call void @fn_emith(ptr @.str5064) call void @fn_emith(ptr @.str5065) call void @fn_emith(ptr @.str5066) call void @fn_emith(ptr @.str5067) call void @fn_emith(ptr @.str5068) call void @fn_emith(ptr @.str5069) call void @fn_emith(ptr @.str5070) %t4 = load i32, ptr @g_g_windowed %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then3, label %ifend5 then3: call void @fn_emith(ptr @.str5071) call void @fn_emith(ptr @.str5072) call void @fn_emith(ptr @.str5073) call void @fn_emith(ptr @.str5074) call void @fn_emith(ptr @.str5075) call void @fn_emith(ptr @.str5076) call void @fn_emith(ptr @.str5077) call void @fn_emith(ptr @.str5078) br label %ifend5 ifend5: call void @fn_emit_pak_mount() call void @fn_emit_pak_lookup() call void @fn_emit_pak_open() call void @fn_emit_pak_boot() call void @fn_emith(ptr @.str5079) call void @fn_emith(ptr @.str5080) br label %ret ret: ret void } define void @fn_emit_pak_mount() { entry: call void @fn_emith(ptr @.str5081) call void @fn_emith(ptr @.str5082) call void @fn_emith(ptr @.str5083) call void @fn_emith(ptr @.str5084) call void @fn_emith(ptr @.str5085) call void @fn_emith(ptr @.str5086) call void @fn_emith(ptr @.str5087) call void @fn_emith(ptr @.str5088) call void @fn_emith(ptr @.str5089) call void @fn_emith(ptr @.str5090) call void @fn_emith(ptr @.str5091) br label %ret ret: ret void } define void @fn_emit_pak_lookup() { entry: call void @fn_emith(ptr @.str5092) call void @fn_emith(ptr @.str5093) call void @fn_emith(ptr @.str5094) call void @fn_emith(ptr @.str5095) call void @fn_emith(ptr @.str5096) call void @fn_emith(ptr @.str5097) call void @fn_emith(ptr @.str5098) call void @fn_emith(ptr @.str5099) call void @fn_emith(ptr @.str5100) call void @fn_emith(ptr @.str5101) call void @fn_emith(ptr @.str5102) call void @fn_emith(ptr @.str5103) call void @fn_emith(ptr @.str5104) call void @fn_emith(ptr @.str5105) call void @fn_emith(ptr @.str5106) call void @fn_emith(ptr @.str5107) call void @fn_emith(ptr @.str5108) call void @fn_emith(ptr @.str5109) call void @fn_emith(ptr @.str5110) call void @fn_emith(ptr @.str5111) call void @fn_emith(ptr @.str5112) call void @fn_emith(ptr @.str5113) call void @fn_emith(ptr @.str5114) call void @fn_emith(ptr @.str5115) call void @fn_emith(ptr @.str5116) call void @fn_emith(ptr @.str5117) call void @fn_emith(ptr @.str5118) call void @fn_emith(ptr @.str5119) call void @fn_emith(ptr @.str5120) call void @fn_emith(ptr @.str5121) call void @fn_emith(ptr @.str5122) call void @fn_emith(ptr @.str5123) call void @fn_emith(ptr @.str5124) call void @fn_emith(ptr @.str5125) call void @fn_emith(ptr @.str5126) br label %ret ret: ret void } define void @fn_emit_pak_open() { entry: call void @fn_emith(ptr @.str5127) call void @fn_emith(ptr @.str5128) call void @fn_emith(ptr @.str5129) call void @fn_emith(ptr @.str5130) call void @fn_emith(ptr @.str5131) call void @fn_emith(ptr @.str5132) br label %ret ret: ret void } define void @fn_emit_pak_boot() { entry: call void @fn_emith(ptr @.str5133) call void @fn_emith(ptr @.str5134) call void @fn_emith(ptr @.str5135) call void @fn_emith(ptr @.str5136) call void @fn_emith(ptr @.str5137) call void @fn_emith(ptr @.str5138) call void @fn_emith(ptr @.str5139) call void @fn_emith(ptr @.str5140) call void @fn_emith(ptr @.str5141) call void @fn_emith(ptr @.str5142) call void @fn_emith(ptr @.str5143) call void @fn_emith(ptr @.str5144) call void @fn_emith(ptr @.str5145) call void @fn_emith(ptr @.str5146) call void @fn_emith(ptr @.str5147) call void @fn_emith(ptr @.str5148) call void @fn_emith(ptr @.str5149) call void @fn_emith(ptr @.str5150) call void @fn_emith(ptr @.str5151) call void @fn_emith(ptr @.str5152) call void @fn_emith(ptr @.str5153) call void @fn_emith(ptr @.str5154) call void @fn_emith(ptr @.str5155) call void @fn_emith(ptr @.str5156) call void @fn_emith(ptr @.str5157) call void @fn_emith(ptr @.str5158) call void @fn_emith(ptr @.str5159) call void @fn_emith(ptr @.str5160) call void @fn_emith(ptr @.str5161) call void @fn_emith(ptr @.str5162) call void @fn_emith(ptr @.str5163) call void @fn_emith(ptr @.str5164) call void @fn_emith(ptr @.str5165) %t0 = load i32, ptr @g_g_target_win %t1 = icmp ne i32 %t0, 0 br i1 %t1, label %then0, label %else1 then0: call void @fn_emith(ptr @.str5166) call void @fn_emith(ptr @.str5167) br label %ifend2 else1: call void @fn_emith(ptr @.str5168) call void @fn_emith(ptr @.str5169) br label %ifend2 ifend2: call void @fn_emith(ptr @.str5170) call void @fn_emith(ptr @.str5171) call void @fn_emith(ptr @.str5172) call void @fn_emith(ptr @.str5173) call void @fn_emith(ptr @.str5174) call void @fn_emith(ptr @.str5175) call void @fn_emith(ptr @.str5176) call void @fn_emith(ptr @.str5177) call void @fn_emith(ptr @.str5178) call void @fn_emith(ptr @.str5179) %t2 = load i32, ptr @g_g_windowed %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then3, label %ifend5 then3: call void @fn_emith(ptr @.str5180) br label %ifend5 ifend5: call void @fn_emith(ptr @.str5181) call void @fn_emith(ptr @.str5182) %t4 = load i32, ptr @g_g_windowed %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then6, label %ifend8 then6: call void @fn_emith(ptr @.str5183) call void @fn_emith(ptr @.str5184) call void @fn_emith(ptr @.str5185) call void @fn_emith(ptr @.str5186) call void @fn_emith(ptr @.str5187) call void @fn_emith(ptr @.str5188) call void @fn_emith(ptr @.str5189) call void @fn_emith(ptr @.str5190) call void @fn_emith(ptr @.str5191) call void @fn_emith(ptr @.str5192) call void @fn_emith(ptr @.str5193) call void @fn_emith(ptr @.str5194) call void @fn_emith(ptr @.str5195) call void @fn_emith(ptr @.str5196) call void @fn_emith(ptr @.str5197) call void @fn_emith(ptr @.str5198) br label %ifend8 ifend8: br label %ret ret: ret void } define void @fn_emit_win_prelude() { entry: call void @fn_emith(ptr @.str5199) call void @fn_emith(ptr @.str5200) call void @fn_emith(ptr @.str5201) call void @fn_emith(ptr @.str5202) call void @fn_emith(ptr @.str5203) call void @fn_emith(ptr @.str5204) call void @fn_emith(ptr @.str5205) call void @fn_emith(ptr @.str5206) call void @fn_emith(ptr @.str5207) call void @fn_emith(ptr @.str5208) call void @fn_emith(ptr @.str5209) call void @fn_emith(ptr @.str5210) call void @fn_emith(ptr @.str5211) call void @fn_emith(ptr @.str5212) call void @fn_emith(ptr @.str5213) call void @fn_emith(ptr @.str5214) call void @fn_emith(ptr @.str5215) call void @fn_emith(ptr @.str5216) call void @fn_emith(ptr @.str5217) call void @fn_emith(ptr @.str5218) call void @fn_emith(ptr @.str5219) call void @fn_emith(ptr @.str5220) call void @fn_emith(ptr @.str5221) call void @fn_emith(ptr @.str5222) call void @fn_emith(ptr @.str5223) call void @fn_emith(ptr @.str5224) call void @fn_emith(ptr @.str5225) call void @fn_emith(ptr @.str5226) call void @fn_emith(ptr @.str5227) call void @fn_emith(ptr @.str5228) call void @fn_emith(ptr @.str5229) call void @fn_emith(ptr @.str5230) call void @fn_emith(ptr @.str5231) call void @fn_emith(ptr @.str5232) call void @fn_emith(ptr @.str5233) call void @fn_emith(ptr @.str5234) call void @fn_emith(ptr @.str5235) call void @fn_emit_win_stdio() call void @fn_emit_win_files() call void @fn_emit_win_dirs() call void @fn_emit_win_maps() call void @fn_emit_win_process() br label %ret ret: ret void } define void @fn_emit_win_stdio() { entry: call void @fn_emith(ptr @.str5236) call void @fn_emith(ptr @.str5237) call void @fn_emith(ptr @.str5238) call void @fn_emith(ptr @.str5239) call void @fn_emith(ptr @.str5240) call void @fn_emith(ptr @.str5241) call void @fn_emith(ptr @.str5242) call void @fn_emith(ptr @.str5243) call void @fn_emith(ptr @.str5244) call void @fn_emith(ptr @.str5245) call void @fn_emith(ptr @.str5246) call void @fn_emith(ptr @.str5247) br label %ret ret: ret void } define void @fn_emit_win_files() { entry: call void @fn_emith(ptr @.str5248) call void @fn_emith(ptr @.str5249) call void @fn_emith(ptr @.str5250) call void @fn_emith(ptr @.str5251) call void @fn_emith(ptr @.str5252) call void @fn_emith(ptr @.str5253) call void @fn_emith(ptr @.str5254) call void @fn_emith(ptr @.str5255) call void @fn_emith(ptr @.str5256) call void @fn_emith(ptr @.str5257) call void @fn_emith(ptr @.str5258) call void @fn_emith(ptr @.str5259) call void @fn_emith(ptr @.str5260) call void @fn_emith(ptr @.str5261) call void @fn_emith(ptr @.str5262) call void @fn_emith(ptr @.str5263) call void @fn_emith(ptr @.str5264) call void @fn_emith(ptr @.str5265) call void @fn_emith(ptr @.str5266) call void @fn_emith(ptr @.str5267) br label %ret ret: ret void } define void @fn_emit_win_dirs() { entry: call void @fn_emith(ptr @.str5268) call void @fn_emith(ptr @.str5269) call void @fn_emith(ptr @.str5270) call void @fn_emith(ptr @.str5271) call void @fn_emith(ptr @.str5272) call void @fn_emith(ptr @.str5273) call void @fn_emith(ptr @.str5274) call void @fn_emith(ptr @.str5275) call void @fn_emith(ptr @.str5276) call void @fn_emith(ptr @.str5277) call void @fn_emith(ptr @.str5278) call void @fn_emith(ptr @.str5279) call void @fn_emith(ptr @.str5280) call void @fn_emith(ptr @.str5281) br label %ret ret: ret void } define void @fn_emit_win_maps() { entry: call void @fn_emith(ptr @.str5282) call void @fn_emith(ptr @.str5283) call void @fn_emith(ptr @.str5284) call void @fn_emith(ptr @.str5285) call void @fn_emith(ptr @.str5286) call void @fn_emith(ptr @.str5287) call void @fn_emith(ptr @.str5288) call void @fn_emith(ptr @.str5289) call void @fn_emith(ptr @.str5290) call void @fn_emith(ptr @.str5291) call void @fn_emith(ptr @.str5292) call void @fn_emith(ptr @.str5293) call void @fn_emith(ptr @.str5294) call void @fn_emith(ptr @.str5295) call void @fn_emith(ptr @.str5296) br label %ret ret: ret void } define void @fn_emit_win_process() { entry: call void @fn_emith(ptr @.str5297) call void @fn_emith(ptr @.str5298) call void @fn_emith(ptr @.str5299) call void @fn_emith(ptr @.str5300) call void @fn_emith(ptr @.str5301) call void @fn_emith(ptr @.str5302) call void @fn_emith(ptr @.str5303) call void @fn_emith(ptr @.str5304) call void @fn_emith(ptr @.str5305) call void @fn_emith(ptr @.str5306) call void @fn_emith(ptr @.str5307) br label %ret ret: ret void } define void @fn_emit_os_win_known(ptr %arg_k_dot, ptr %arg_k_slash) { entry: %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca ptr %t5 = alloca ptr %t7 = alloca ptr %t9 = alloca ptr %t11 = alloca ptr %t13 = alloca ptr %t15 = alloca ptr store ptr %arg_k_dot, ptr %t0 store ptr %arg_k_slash, ptr %t1 %t2 = call ptr @fn_emit_str_const(ptr @.str5308) store ptr %t2, ptr %t3 %t4 = call ptr @fn_emit_str_const(ptr @.str5309) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_str_const(ptr @.str5310) store ptr %t6, ptr %t7 %t8 = call ptr @fn_emit_str_const(ptr @.str5311) store ptr %t8, ptr %t9 %t10 = call ptr @fn_emit_str_const(ptr @.str5312) store ptr %t10, ptr %t11 %t12 = call ptr @fn_emit_str_const(ptr @.str5313) store ptr %t12, ptr %t13 %t14 = call ptr @fn_emit_str_const(ptr @.str5314) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t3 %t17 = call ptr @lp_str_concat(ptr @.str5315, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str5316) %t19 = load ptr, ptr %t0 %t20 = call ptr @lp_str_concat(ptr %t18, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str5317) call void @fn_emith(ptr %t21) call void @fn_emith(ptr @.str5318) call void @fn_emith(ptr @.str5319) call void @fn_emith(ptr @.str5320) call void @fn_emith(ptr @.str5321) %t22 = load ptr, ptr %t1 %t23 = call ptr @lp_str_concat(ptr @.str5322, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str5323) call void @fn_emith(ptr %t24) %t25 = load ptr, ptr %t5 %t26 = call ptr @lp_str_concat(ptr @.str5324, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str5325) call void @fn_emith(ptr %t27) %t28 = load ptr, ptr %t5 %t29 = call ptr @lp_str_concat(ptr @.str5326, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str5327) call void @fn_emith(ptr %t30) %t31 = load ptr, ptr %t7 %t32 = call ptr @lp_str_concat(ptr @.str5328, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str5329) call void @fn_emith(ptr %t33) %t34 = load ptr, ptr %t9 %t35 = call ptr @lp_str_concat(ptr @.str5330, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str5331) %t37 = load ptr, ptr %t0 %t38 = call ptr @lp_str_concat(ptr %t36, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str5332) %t40 = load ptr, ptr %t11 %t41 = call ptr @lp_str_concat(ptr %t39, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5333) call void @fn_emith(ptr %t42) %t43 = load ptr, ptr %t13 %t44 = call ptr @lp_str_concat(ptr @.str5334, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str5335) call void @fn_emith(ptr %t45) %t46 = load ptr, ptr %t15 %t47 = call ptr @lp_str_concat(ptr @.str5336, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str5337) call void @fn_emith(ptr %t48) call void @fn_emith(ptr @.str5338) call void @fn_emith(ptr @.str5339) call void @fn_emith(ptr @.str5340) call void @fn_emith(ptr @.str5341) call void @fn_emith(ptr @.str5342) call void @fn_emith(ptr @.str5343) call void @fn_emith(ptr @.str5344) br label %ret ret: ret void } define ptr @fn_list_elem_addr(ptr %arg_h, ptr %arg_elt, ptr %arg_idx) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t5 = alloca ptr %t9 = alloca ptr store ptr %arg_h, ptr %t0 store ptr %arg_elt, ptr %t1 store ptr %arg_idx, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_slice_field(ptr %t3, i32 0) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = call ptr @lp_str_concat(ptr @.str5345, ptr %t6) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t1 %t11 = call ptr @lp_str_concat(ptr @.str5346, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str5347) %t13 = load ptr, ptr %t9 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str5348) %t16 = load ptr, ptr %t2 %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %retval br label %ret ret: %t19 = load ptr, ptr %retval ret ptr %t19 } define i32 @fn_is_list_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t28 = alloca i32 %t29 = alloca i32 %t30 = alloca i32 %t55 = alloca i32 %t56 = alloca i32 %t74 = alloca i32 %t75 = alloca i32 %t76 = alloca i32 %t101 = alloca i32 %t102 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str5349) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t3 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str5350) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 br label %scend1 scend1: %t12 = load i32, ptr %t3 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str5351) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br label %scend3 scend3: %t19 = load i32, ptr %t2 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t1 br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str5352) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 br label %scend5 scend5: %t26 = load i32, ptr %t1 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %ifend8 then6: store i32 1, ptr %retval br label %ret ifend8: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str5353) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t30 br i1 %t33, label %scend10, label %sc9 sc9: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str5354) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t30 br label %scend10 scend10: %t39 = load i32, ptr %t30 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t29 br i1 %t40, label %scend12, label %sc11 sc11: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str5355) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t29 br label %scend12 scend12: %t46 = load i32, ptr %t29 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t28 br i1 %t47, label %scend14, label %sc13 sc13: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str5356) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t28 br label %scend14 scend14: %t53 = load i32, ptr %t28 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then15, label %ifend17 then15: store i32 1, ptr %retval br label %ret ifend17: %t57 = load ptr, ptr %t0 %t58 = call i32 @lp_str_eq(ptr %t57, ptr @.str5357) %t59 = icmp ne i32 %t58, 0 %t60 = zext i1 %t59 to i32 store i32 %t60, ptr %t56 br i1 %t59, label %scend19, label %sc18 sc18: %t61 = load ptr, ptr %t0 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str5358) %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t56 br label %scend19 scend19: %t65 = load i32, ptr %t56 %t66 = icmp ne i32 %t65, 0 %t67 = zext i1 %t66 to i32 store i32 %t67, ptr %t55 br i1 %t66, label %scend21, label %sc20 sc20: %t68 = load ptr, ptr %t0 %t69 = call i32 @lp_str_eq(ptr %t68, ptr @.str5359) %t70 = icmp ne i32 %t69, 0 %t71 = zext i1 %t70 to i32 store i32 %t71, ptr %t55 br label %scend21 scend21: %t72 = load i32, ptr %t55 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then22, label %ifend24 then22: store i32 1, ptr %retval br label %ret ifend24: %t77 = load ptr, ptr %t0 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str5360) %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t76 br i1 %t79, label %scend26, label %sc25 sc25: %t81 = load ptr, ptr %t0 %t82 = call i32 @lp_str_eq(ptr %t81, ptr @.str5361) %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t76 br label %scend26 scend26: %t85 = load i32, ptr %t76 %t86 = icmp ne i32 %t85, 0 %t87 = zext i1 %t86 to i32 store i32 %t87, ptr %t75 br i1 %t86, label %scend28, label %sc27 sc27: %t88 = load ptr, ptr %t0 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str5362) %t90 = icmp ne i32 %t89, 0 %t91 = zext i1 %t90 to i32 store i32 %t91, ptr %t75 br label %scend28 scend28: %t92 = load i32, ptr %t75 %t93 = icmp ne i32 %t92, 0 %t94 = zext i1 %t93 to i32 store i32 %t94, ptr %t74 br i1 %t93, label %scend30, label %sc29 sc29: %t95 = load ptr, ptr %t0 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str5363) %t97 = icmp ne i32 %t96, 0 %t98 = zext i1 %t97 to i32 store i32 %t98, ptr %t74 br label %scend30 scend30: %t99 = load i32, ptr %t74 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then31, label %ifend33 then31: store i32 1, ptr %retval br label %ret ifend33: %t103 = load ptr, ptr %t0 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str5364) %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t102 br i1 %t105, label %scend35, label %sc34 sc34: %t107 = load ptr, ptr %t0 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str5365) %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t102 br label %scend35 scend35: %t111 = load i32, ptr %t102 %t112 = icmp ne i32 %t111, 0 %t113 = zext i1 %t112 to i32 store i32 %t113, ptr %t101 br i1 %t112, label %scend37, label %sc36 sc36: %t114 = load ptr, ptr %t0 %t115 = call i32 @lp_str_eq(ptr %t114, ptr @.str5366) %t116 = icmp ne i32 %t115, 0 %t117 = zext i1 %t116 to i32 store i32 %t117, ptr %t101 br label %scend37 scend37: %t118 = load i32, ptr %t101 %t119 = icmp ne i32 %t118, 0 br i1 %t119, label %then38, label %ifend40 then38: store i32 1, ptr %retval br label %ret ifend40: store i32 0, ptr %retval br label %ret ret: %t120 = load i32, ptr %retval ret i32 %t120 } define void @fn_list_grow_if_full(ptr %arg_h, ptr %arg_elt) { entry: %t0 = alloca ptr %t1 = alloca ptr %t4 = alloca ptr %t7 = alloca ptr %t10 = alloca ptr %t14 = alloca ptr %t18 = alloca ptr %t25 = alloca ptr %t27 = alloca ptr %t29 = alloca ptr %t38 = alloca ptr %t43 = alloca ptr %t50 = alloca ptr %t53 = alloca ptr %t58 = alloca ptr %t65 = alloca ptr %t69 = alloca ptr %t77 = alloca ptr store ptr %arg_h, ptr %t0 store ptr %arg_elt, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @fn_slice_field(ptr %t2, i32 1) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t0 %t6 = call ptr @fn_slice_field(ptr %t5, i32 2) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 %t9 = call ptr @fn_slice_field(ptr %t8, i32 0) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t4 %t12 = call ptr @lp_str_concat(ptr @.str5367, ptr %t11) %t13 = call ptr @fn_emit_bind(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t7 %t16 = call ptr @lp_str_concat(ptr @.str5368, ptr %t15) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t14 %t20 = call ptr @lp_str_concat(ptr @.str5369, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str5370) %t22 = load ptr, ptr %t18 %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) %t24 = call ptr @fn_emit_bind(ptr %t23) store ptr %t24, ptr %t25 %t26 = call ptr @fn_lbl(ptr @.str5371) store ptr %t26, ptr %t27 %t28 = call ptr @fn_lbl(ptr @.str5372) store ptr %t28, ptr %t29 call void @fn_emit(ptr @.str5373) %t30 = load ptr, ptr %t25 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str5374) %t31 = load ptr, ptr %t27 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str5375) %t32 = load ptr, ptr %t29 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str5376) %t33 = load ptr, ptr %t27 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str5377) %t34 = load ptr, ptr %t18 %t35 = call ptr @lp_str_concat(ptr @.str5378, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str5379) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t18 %t40 = call ptr @lp_str_concat(ptr @.str5380, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str5381) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = call ptr @lp_str_concat(ptr @.str5382, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str5383) %t47 = load ptr, ptr %t38 %t48 = call ptr @lp_str_concat(ptr %t46, ptr %t47) %t49 = call ptr @fn_emit_bind(ptr %t48) store ptr %t49, ptr %t50 %t51 = load ptr, ptr %t1 %t52 = call ptr @fn_emit_sizeof(ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t50 %t55 = call ptr @lp_str_concat(ptr @.str5384, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str5385) %t57 = call ptr @fn_emit_bind(ptr %t56) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = call ptr @lp_str_concat(ptr @.str5386, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str5387) %t62 = load ptr, ptr %t53 %t63 = call ptr @lp_str_concat(ptr %t61, ptr %t62) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t10 %t67 = call ptr @lp_str_concat(ptr @.str5388, ptr %t66) %t68 = call ptr @fn_emit_bind(ptr %t67) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t69 %t71 = call ptr @lp_str_concat(ptr @.str5389, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str5390) %t73 = load ptr, ptr %t65 %t74 = call ptr @lp_str_concat(ptr %t72, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str5391) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %t77 call void @fn_emit(ptr @.str5392) %t78 = load ptr, ptr %t77 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str5393) %t79 = load ptr, ptr %t10 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str5394) call void @fn_emit(ptr @.str5395) %t80 = load ptr, ptr %t50 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str5396) %t81 = load ptr, ptr %t7 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str5397) call void @fn_emit(ptr @.str5398) %t82 = load ptr, ptr %t29 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str5399) %t83 = load ptr, ptr %t29 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str5400) br label %ret ret: ret void } define ptr @fn_gep_at(ptr %arg_base, ptr %arg_elt, ptr %arg_idx) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr store ptr %arg_base, ptr %t0 store ptr %arg_elt, ptr %t1 store ptr %arg_idx, ptr %t2 %t3 = load ptr, ptr %t1 %t4 = call ptr @lp_str_concat(ptr @.str5401, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str5402) %t6 = load ptr, ptr %t0 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str5403) %t9 = load ptr, ptr %t2 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %retval br label %ret ret: %t12 = load ptr, ptr %retval ret ptr %t12 } define ptr @fn_emit_takeright(ptr %arg_elt, i32 %arg_mode, ptr %arg_fnsym, ptr %arg_keyll, ptr %arg_av, ptr %arg_bv) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca ptr %t3 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr %t39 = alloca ptr %t57 = alloca ptr %t71 = alloca ptr store ptr %arg_elt, ptr %t0 store i32 %arg_mode, ptr %t1 store ptr %arg_fnsym, ptr %t2 store ptr %arg_keyll, ptr %t3 store ptr %arg_av, ptr %t4 store ptr %arg_bv, ptr %t5 %t6 = load i32, ptr %t1 %t7 = icmp eq i32 %t6, 3 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: %t10 = load ptr, ptr %t0 %t11 = call ptr @lp_str_concat(ptr @.str5404, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str5405) %t13 = load ptr, ptr %t5 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str5406) %t16 = load ptr, ptr %t4 %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %retval br label %ret ifend2: %t19 = load i32, ptr %t1 %t20 = icmp eq i32 %t19, 0 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then3, label %ifend5 then3: %t23 = load ptr, ptr %t2 %t24 = call ptr @lp_str_concat(ptr @.str5407, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str5408) %t26 = load ptr, ptr %t0 %t27 = call ptr @lp_str_concat(ptr %t25, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str5409) %t29 = load ptr, ptr %t4 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str5410) %t32 = load ptr, ptr %t0 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str5411) %t35 = load ptr, ptr %t5 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str5412) %t38 = call ptr @fn_emit_bind(ptr %t37) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t39 %t41 = call ptr @lp_str_concat(ptr @.str5413, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str5414) %t43 = call ptr @fn_emit_bind(ptr %t42) store ptr %t43, ptr %retval br label %ret ifend5: %t44 = load ptr, ptr %t3 %t45 = call ptr @lp_str_concat(ptr @.str5415, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str5416) %t47 = load ptr, ptr %t2 %t48 = call ptr @lp_str_concat(ptr %t46, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str5417) %t50 = load ptr, ptr %t0 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str5418) %t53 = load ptr, ptr %t4 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str5419) %t56 = call ptr @fn_emit_bind(ptr %t55) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t3 %t59 = call ptr @lp_str_concat(ptr @.str5420, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str5421) %t61 = load ptr, ptr %t2 %t62 = call ptr @lp_str_concat(ptr %t60, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str5422) %t64 = load ptr, ptr %t0 %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str5423) %t67 = load ptr, ptr %t5 %t68 = call ptr @lp_str_concat(ptr %t66, ptr %t67) %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str5424) %t70 = call ptr @fn_emit_bind(ptr %t69) store ptr %t70, ptr %t71 %t72 = load i32, ptr %t1 %t73 = icmp eq i32 %t72, 2 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then6, label %ifend8 then6: %t76 = load ptr, ptr %t3 %t77 = call ptr @lp_str_concat(ptr @.str5425, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str5426) %t79 = load ptr, ptr %t57 %t80 = call ptr @lp_str_concat(ptr %t78, ptr %t79) %t81 = call ptr @lp_str_concat(ptr %t80, ptr @.str5427) %t82 = load ptr, ptr %t71 %t83 = call ptr @lp_str_concat(ptr %t81, ptr %t82) %t84 = call ptr @fn_emit_bind(ptr %t83) store ptr %t84, ptr %retval br label %ret ifend8: %t85 = load ptr, ptr %t3 %t86 = call ptr @lp_str_concat(ptr @.str5428, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str5429) %t88 = load ptr, ptr %t57 %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str5430) %t91 = load ptr, ptr %t71 %t92 = call ptr @lp_str_concat(ptr %t90, ptr %t91) %t93 = call ptr @fn_emit_bind(ptr %t92) store ptr %t93, ptr %retval br label %ret ret: %t94 = load ptr, ptr %retval ret ptr %t94 } define void @fn_emit_merge_sort(ptr %arg_h, ptr %arg_elt, i32 %arg_mode, ptr %arg_fnsym, ptr %arg_keyll) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca ptr %t4 = alloca ptr %t7 = alloca ptr %t11 = alloca ptr %t14 = alloca ptr %t18 = alloca ptr %t21 = alloca ptr %t26 = alloca ptr %t33 = alloca ptr %t38 = alloca ptr %t40 = alloca ptr %t43 = alloca ptr %t45 = alloca ptr %t47 = alloca ptr %t53 = alloca ptr %t60 = alloca ptr %t69 = alloca ptr %t71 = alloca ptr %t74 = alloca ptr %t76 = alloca ptr %t78 = alloca ptr %t84 = alloca ptr %t91 = alloca ptr %t102 = alloca ptr %t109 = alloca ptr %t119 = alloca ptr %t126 = alloca ptr %t133 = alloca ptr %t143 = alloca ptr %t145 = alloca ptr %t149 = alloca ptr %t153 = alloca ptr %t157 = alloca ptr %t159 = alloca ptr %t161 = alloca ptr %t167 = alloca ptr %t171 = alloca ptr %t178 = alloca ptr %t185 = alloca ptr %t192 = alloca ptr %t201 = alloca ptr %t208 = alloca ptr %t213 = alloca ptr %t220 = alloca ptr %t228 = alloca ptr %t232 = alloca ptr %t237 = alloca ptr %t239 = alloca ptr %t241 = alloca ptr %t243 = alloca ptr %t255 = alloca ptr %t267 = alloca ptr %t276 = alloca ptr %t282 = alloca ptr %t284 = alloca ptr %t286 = alloca ptr %t292 = alloca ptr %t299 = alloca ptr %t308 = alloca ptr %t315 = alloca ptr %t319 = alloca ptr %t324 = alloca ptr %t332 = alloca ptr %t339 = alloca ptr %t345 = alloca ptr %t347 = alloca ptr %t349 = alloca ptr %t355 = alloca ptr %t362 = alloca ptr %t371 = alloca ptr %t378 = alloca ptr %t382 = alloca ptr %t387 = alloca ptr %t395 = alloca ptr %t402 = alloca ptr %t408 = alloca ptr %t412 = alloca ptr %t414 = alloca ptr %t416 = alloca ptr %t422 = alloca ptr %t429 = alloca ptr %t438 = alloca ptr %t445 = alloca ptr %t450 = alloca ptr %t458 = alloca ptr %t469 = alloca ptr store ptr %arg_h, ptr %t0 store ptr %arg_elt, ptr %t1 store i32 %arg_mode, ptr %t2 store ptr %arg_fnsym, ptr %t3 store ptr %arg_keyll, ptr %t4 %t5 = load ptr, ptr %t0 %t6 = call ptr @fn_slice_field(ptr %t5, i32 0) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr @.str5431, ptr %t8) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t0 %t13 = call ptr @fn_slice_field(ptr %t12, i32 1) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = call ptr @lp_str_concat(ptr @.str5432, ptr %t15) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t1 %t20 = call ptr @fn_emit_sizeof(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t18 %t23 = call ptr @lp_str_concat(ptr @.str5433, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str5434) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 %t28 = call ptr @lp_str_concat(ptr @.str5435, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str5436) %t30 = load ptr, ptr %t21 %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @fn_emit_bind(ptr %t31) store ptr %t32, ptr %t33 %t34 = load ptr, ptr %t33 %t35 = call ptr @lp_str_concat(ptr @.str5437, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str5438) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = call ptr @fn_emit_alloca(ptr @.str5439) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str5440, ptr @.str5441, ptr %t41) %t42 = call ptr @fn_lbl(ptr @.str5442) store ptr %t42, ptr %t43 %t44 = call ptr @fn_lbl(ptr @.str5443) store ptr %t44, ptr %t45 %t46 = call ptr @fn_lbl(ptr @.str5444) store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str5445) %t48 = load ptr, ptr %t43 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str5446) %t49 = load ptr, ptr %t43 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str5447) %t50 = load ptr, ptr %t40 %t51 = call ptr @lp_str_concat(ptr @.str5448, ptr %t50) %t52 = call ptr @fn_emit_bind(ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t53 %t55 = call ptr @lp_str_concat(ptr @.str5449, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str5450) %t57 = load ptr, ptr %t18 %t58 = call ptr @lp_str_concat(ptr %t56, ptr %t57) %t59 = call ptr @fn_emit_bind(ptr %t58) store ptr %t59, ptr %t60 call void @fn_emit(ptr @.str5451) %t61 = load ptr, ptr %t60 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str5452) %t62 = load ptr, ptr %t45 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str5453) %t63 = load ptr, ptr %t47 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str5454) %t64 = load ptr, ptr %t45 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str5455) %t65 = load ptr, ptr %t53 %t66 = call ptr @lp_str_concat(ptr @.str5456, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str5457) %t68 = call ptr @fn_emit_bind(ptr %t67) store ptr %t68, ptr %t69 %t70 = call ptr @fn_emit_alloca(ptr @.str5458) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 call void @fn_store_at(ptr @.str5459, ptr @.str5460, ptr %t72) %t73 = call ptr @fn_lbl(ptr @.str5461) store ptr %t73, ptr %t74 %t75 = call ptr @fn_lbl(ptr @.str5462) store ptr %t75, ptr %t76 %t77 = call ptr @fn_lbl(ptr @.str5463) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str5464) %t79 = load ptr, ptr %t74 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str5465) %t80 = load ptr, ptr %t74 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str5466) %t81 = load ptr, ptr %t71 %t82 = call ptr @lp_str_concat(ptr @.str5467, ptr %t81) %t83 = call ptr @fn_emit_bind(ptr %t82) store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t84 %t86 = call ptr @lp_str_concat(ptr @.str5468, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str5469) %t88 = load ptr, ptr %t18 %t89 = call ptr @lp_str_concat(ptr %t87, ptr %t88) %t90 = call ptr @fn_emit_bind(ptr %t89) store ptr %t90, ptr %t91 call void @fn_emit(ptr @.str5470) %t92 = load ptr, ptr %t91 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str5471) %t93 = load ptr, ptr %t76 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str5472) %t94 = load ptr, ptr %t78 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str5473) %t95 = load ptr, ptr %t76 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str5474) %t96 = load ptr, ptr %t84 %t97 = call ptr @lp_str_concat(ptr @.str5475, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str5476) %t99 = load ptr, ptr %t53 %t100 = call ptr @lp_str_concat(ptr %t98, ptr %t99) %t101 = call ptr @fn_emit_bind(ptr %t100) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t102 %t104 = call ptr @lp_str_concat(ptr @.str5477, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str5478) %t106 = load ptr, ptr %t18 %t107 = call ptr @lp_str_concat(ptr %t105, ptr %t106) %t108 = call ptr @fn_emit_bind(ptr %t107) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t109 %t111 = call ptr @lp_str_concat(ptr @.str5479, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str5480) %t113 = load ptr, ptr %t102 %t114 = call ptr @lp_str_concat(ptr %t112, ptr %t113) %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str5481) %t116 = load ptr, ptr %t18 %t117 = call ptr @lp_str_concat(ptr %t115, ptr %t116) %t118 = call ptr @fn_emit_bind(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t84 %t121 = call ptr @lp_str_concat(ptr @.str5482, ptr %t120) %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str5483) %t123 = load ptr, ptr %t69 %t124 = call ptr @lp_str_concat(ptr %t122, ptr %t123) %t125 = call ptr @fn_emit_bind(ptr %t124) store ptr %t125, ptr %t126 %t127 = load ptr, ptr %t126 %t128 = call ptr @lp_str_concat(ptr @.str5484, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str5485) %t130 = load ptr, ptr %t18 %t131 = call ptr @lp_str_concat(ptr %t129, ptr %t130) %t132 = call ptr @fn_emit_bind(ptr %t131) store ptr %t132, ptr %t133 %t134 = load ptr, ptr %t133 %t135 = call ptr @lp_str_concat(ptr @.str5486, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str5487) %t137 = load ptr, ptr %t126 %t138 = call ptr @lp_str_concat(ptr %t136, ptr %t137) %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str5488) %t140 = load ptr, ptr %t18 %t141 = call ptr @lp_str_concat(ptr %t139, ptr %t140) %t142 = call ptr @fn_emit_bind(ptr %t141) store ptr %t142, ptr %t143 %t144 = call ptr @fn_emit_alloca(ptr @.str5489) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t84 %t147 = load ptr, ptr %t145 call void @fn_store_at(ptr @.str5490, ptr %t146, ptr %t147) %t148 = call ptr @fn_emit_alloca(ptr @.str5491) store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t119 %t151 = load ptr, ptr %t149 call void @fn_store_at(ptr @.str5492, ptr %t150, ptr %t151) %t152 = call ptr @fn_emit_alloca(ptr @.str5493) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t84 %t155 = load ptr, ptr %t153 call void @fn_store_at(ptr @.str5494, ptr %t154, ptr %t155) %t156 = call ptr @fn_lbl(ptr @.str5495) store ptr %t156, ptr %t157 %t158 = call ptr @fn_lbl(ptr @.str5496) store ptr %t158, ptr %t159 %t160 = call ptr @fn_lbl(ptr @.str5497) store ptr %t160, ptr %t161 call void @fn_emit(ptr @.str5498) %t162 = load ptr, ptr %t157 call void @fn_emit(ptr %t162) call void @fn_emit(ptr @.str5499) %t163 = load ptr, ptr %t157 call void @fn_emit(ptr %t163) call void @fn_emit(ptr @.str5500) %t164 = load ptr, ptr %t145 %t165 = call ptr @lp_str_concat(ptr @.str5501, ptr %t164) %t166 = call ptr @fn_emit_bind(ptr %t165) store ptr %t166, ptr %t167 %t168 = load ptr, ptr %t149 %t169 = call ptr @lp_str_concat(ptr @.str5502, ptr %t168) %t170 = call ptr @fn_emit_bind(ptr %t169) store ptr %t170, ptr %t171 %t172 = load ptr, ptr %t167 %t173 = call ptr @lp_str_concat(ptr @.str5503, ptr %t172) %t174 = call ptr @lp_str_concat(ptr %t173, ptr @.str5504) %t175 = load ptr, ptr %t119 %t176 = call ptr @lp_str_concat(ptr %t174, ptr %t175) %t177 = call ptr @fn_emit_bind(ptr %t176) store ptr %t177, ptr %t178 %t179 = load ptr, ptr %t171 %t180 = call ptr @lp_str_concat(ptr @.str5505, ptr %t179) %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str5506) %t182 = load ptr, ptr %t143 %t183 = call ptr @lp_str_concat(ptr %t181, ptr %t182) %t184 = call ptr @fn_emit_bind(ptr %t183) store ptr %t184, ptr %t185 %t186 = load ptr, ptr %t178 %t187 = call ptr @lp_str_concat(ptr @.str5507, ptr %t186) %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str5508) %t189 = load ptr, ptr %t185 %t190 = call ptr @lp_str_concat(ptr %t188, ptr %t189) %t191 = call ptr @fn_emit_bind(ptr %t190) store ptr %t191, ptr %t192 call void @fn_emit(ptr @.str5509) %t193 = load ptr, ptr %t192 call void @fn_emit(ptr %t193) call void @fn_emit(ptr @.str5510) %t194 = load ptr, ptr %t159 call void @fn_emit(ptr %t194) call void @fn_emit(ptr @.str5511) %t195 = load ptr, ptr %t161 call void @fn_emit(ptr %t195) call void @fn_emit(ptr @.str5512) %t196 = load ptr, ptr %t159 call void @fn_emit(ptr %t196) call void @fn_emit(ptr @.str5513) %t197 = load ptr, ptr %t11 %t198 = load ptr, ptr %t1 %t199 = load ptr, ptr %t167 %t200 = call ptr @fn_gep_at(ptr %t197, ptr %t198, ptr %t199) store ptr %t200, ptr %t201 %t202 = load ptr, ptr %t1 %t203 = call ptr @lp_str_concat(ptr @.str5514, ptr %t202) %t204 = call ptr @lp_str_concat(ptr %t203, ptr @.str5515) %t205 = load ptr, ptr %t201 %t206 = call ptr @lp_str_concat(ptr %t204, ptr %t205) %t207 = call ptr @fn_emit_bind(ptr %t206) store ptr %t207, ptr %t208 %t209 = load ptr, ptr %t11 %t210 = load ptr, ptr %t1 %t211 = load ptr, ptr %t171 %t212 = call ptr @fn_gep_at(ptr %t209, ptr %t210, ptr %t211) store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t1 %t215 = call ptr @lp_str_concat(ptr @.str5516, ptr %t214) %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str5517) %t217 = load ptr, ptr %t213 %t218 = call ptr @lp_str_concat(ptr %t216, ptr %t217) %t219 = call ptr @fn_emit_bind(ptr %t218) store ptr %t219, ptr %t220 %t221 = load ptr, ptr %t1 %t222 = load i32, ptr %t2 %t223 = load ptr, ptr %t3 %t224 = load ptr, ptr %t4 %t225 = load ptr, ptr %t208 %t226 = load ptr, ptr %t220 %t227 = call ptr @fn_emit_takeright(ptr %t221, i32 %t222, ptr %t223, ptr %t224, ptr %t225, ptr %t226) store ptr %t227, ptr %t228 %t229 = load ptr, ptr %t153 %t230 = call ptr @lp_str_concat(ptr @.str5518, ptr %t229) %t231 = call ptr @fn_emit_bind(ptr %t230) store ptr %t231, ptr %t232 %t233 = load ptr, ptr %t38 %t234 = load ptr, ptr %t1 %t235 = load ptr, ptr %t232 %t236 = call ptr @fn_gep_at(ptr %t233, ptr %t234, ptr %t235) store ptr %t236, ptr %t237 %t238 = call ptr @fn_lbl(ptr @.str5519) store ptr %t238, ptr %t239 %t240 = call ptr @fn_lbl(ptr @.str5520) store ptr %t240, ptr %t241 %t242 = call ptr @fn_lbl(ptr @.str5521) store ptr %t242, ptr %t243 call void @fn_emit(ptr @.str5522) %t244 = load ptr, ptr %t228 call void @fn_emit(ptr %t244) call void @fn_emit(ptr @.str5523) %t245 = load ptr, ptr %t239 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str5524) %t246 = load ptr, ptr %t241 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str5525) %t247 = load ptr, ptr %t239 call void @fn_emit(ptr %t247) call void @fn_emit(ptr @.str5526) call void @fn_emit(ptr @.str5527) %t248 = load ptr, ptr %t1 call void @fn_emit(ptr %t248) call void @fn_emit(ptr @.str5528) %t249 = load ptr, ptr %t220 call void @fn_emit(ptr %t249) call void @fn_emit(ptr @.str5529) %t250 = load ptr, ptr %t237 call void @fn_emit(ptr %t250) call void @fn_emit(ptr @.str5530) %t251 = load ptr, ptr %t171 %t252 = call ptr @lp_str_concat(ptr @.str5531, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str5532) %t254 = call ptr @fn_emit_bind(ptr %t253) store ptr %t254, ptr %t255 %t256 = load ptr, ptr %t255 %t257 = load ptr, ptr %t149 call void @fn_store_at(ptr @.str5533, ptr %t256, ptr %t257) call void @fn_emit(ptr @.str5534) %t258 = load ptr, ptr %t243 call void @fn_emit(ptr %t258) call void @fn_emit(ptr @.str5535) %t259 = load ptr, ptr %t241 call void @fn_emit(ptr %t259) call void @fn_emit(ptr @.str5536) call void @fn_emit(ptr @.str5537) %t260 = load ptr, ptr %t1 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str5538) %t261 = load ptr, ptr %t208 call void @fn_emit(ptr %t261) call void @fn_emit(ptr @.str5539) %t262 = load ptr, ptr %t237 call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str5540) %t263 = load ptr, ptr %t167 %t264 = call ptr @lp_str_concat(ptr @.str5541, ptr %t263) %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str5542) %t266 = call ptr @fn_emit_bind(ptr %t265) store ptr %t266, ptr %t267 %t268 = load ptr, ptr %t267 %t269 = load ptr, ptr %t145 call void @fn_store_at(ptr @.str5543, ptr %t268, ptr %t269) call void @fn_emit(ptr @.str5544) %t270 = load ptr, ptr %t243 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str5545) %t271 = load ptr, ptr %t243 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str5546) %t272 = load ptr, ptr %t232 %t273 = call ptr @lp_str_concat(ptr @.str5547, ptr %t272) %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str5548) %t275 = call ptr @fn_emit_bind(ptr %t274) store ptr %t275, ptr %t276 %t277 = load ptr, ptr %t276 %t278 = load ptr, ptr %t153 call void @fn_store_at(ptr @.str5549, ptr %t277, ptr %t278) call void @fn_emit(ptr @.str5550) %t279 = load ptr, ptr %t157 call void @fn_emit(ptr %t279) call void @fn_emit(ptr @.str5551) %t280 = load ptr, ptr %t161 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str5552) %t281 = call ptr @fn_lbl(ptr @.str5553) store ptr %t281, ptr %t282 %t283 = call ptr @fn_lbl(ptr @.str5554) store ptr %t283, ptr %t284 %t285 = call ptr @fn_lbl(ptr @.str5555) store ptr %t285, ptr %t286 call void @fn_emit(ptr @.str5556) %t287 = load ptr, ptr %t282 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str5557) %t288 = load ptr, ptr %t282 call void @fn_emit(ptr %t288) call void @fn_emit(ptr @.str5558) %t289 = load ptr, ptr %t145 %t290 = call ptr @lp_str_concat(ptr @.str5559, ptr %t289) %t291 = call ptr @fn_emit_bind(ptr %t290) store ptr %t291, ptr %t292 %t293 = load ptr, ptr %t292 %t294 = call ptr @lp_str_concat(ptr @.str5560, ptr %t293) %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str5561) %t296 = load ptr, ptr %t119 %t297 = call ptr @lp_str_concat(ptr %t295, ptr %t296) %t298 = call ptr @fn_emit_bind(ptr %t297) store ptr %t298, ptr %t299 call void @fn_emit(ptr @.str5562) %t300 = load ptr, ptr %t299 call void @fn_emit(ptr %t300) call void @fn_emit(ptr @.str5563) %t301 = load ptr, ptr %t284 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str5564) %t302 = load ptr, ptr %t286 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str5565) %t303 = load ptr, ptr %t284 call void @fn_emit(ptr %t303) call void @fn_emit(ptr @.str5566) %t304 = load ptr, ptr %t11 %t305 = load ptr, ptr %t1 %t306 = load ptr, ptr %t292 %t307 = call ptr @fn_gep_at(ptr %t304, ptr %t305, ptr %t306) store ptr %t307, ptr %t308 %t309 = load ptr, ptr %t1 %t310 = call ptr @lp_str_concat(ptr @.str5567, ptr %t309) %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str5568) %t312 = load ptr, ptr %t308 %t313 = call ptr @lp_str_concat(ptr %t311, ptr %t312) %t314 = call ptr @fn_emit_bind(ptr %t313) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t153 %t317 = call ptr @lp_str_concat(ptr @.str5569, ptr %t316) %t318 = call ptr @fn_emit_bind(ptr %t317) store ptr %t318, ptr %t319 %t320 = load ptr, ptr %t38 %t321 = load ptr, ptr %t1 %t322 = load ptr, ptr %t319 %t323 = call ptr @fn_gep_at(ptr %t320, ptr %t321, ptr %t322) store ptr %t323, ptr %t324 call void @fn_emit(ptr @.str5570) %t325 = load ptr, ptr %t1 call void @fn_emit(ptr %t325) call void @fn_emit(ptr @.str5571) %t326 = load ptr, ptr %t315 call void @fn_emit(ptr %t326) call void @fn_emit(ptr @.str5572) %t327 = load ptr, ptr %t324 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str5573) %t328 = load ptr, ptr %t292 %t329 = call ptr @lp_str_concat(ptr @.str5574, ptr %t328) %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str5575) %t331 = call ptr @fn_emit_bind(ptr %t330) store ptr %t331, ptr %t332 %t333 = load ptr, ptr %t332 %t334 = load ptr, ptr %t145 call void @fn_store_at(ptr @.str5576, ptr %t333, ptr %t334) %t335 = load ptr, ptr %t319 %t336 = call ptr @lp_str_concat(ptr @.str5577, ptr %t335) %t337 = call ptr @lp_str_concat(ptr %t336, ptr @.str5578) %t338 = call ptr @fn_emit_bind(ptr %t337) store ptr %t338, ptr %t339 %t340 = load ptr, ptr %t339 %t341 = load ptr, ptr %t153 call void @fn_store_at(ptr @.str5579, ptr %t340, ptr %t341) call void @fn_emit(ptr @.str5580) %t342 = load ptr, ptr %t282 call void @fn_emit(ptr %t342) call void @fn_emit(ptr @.str5581) %t343 = load ptr, ptr %t286 call void @fn_emit(ptr %t343) call void @fn_emit(ptr @.str5582) %t344 = call ptr @fn_lbl(ptr @.str5583) store ptr %t344, ptr %t345 %t346 = call ptr @fn_lbl(ptr @.str5584) store ptr %t346, ptr %t347 %t348 = call ptr @fn_lbl(ptr @.str5585) store ptr %t348, ptr %t349 call void @fn_emit(ptr @.str5586) %t350 = load ptr, ptr %t345 call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str5587) %t351 = load ptr, ptr %t345 call void @fn_emit(ptr %t351) call void @fn_emit(ptr @.str5588) %t352 = load ptr, ptr %t149 %t353 = call ptr @lp_str_concat(ptr @.str5589, ptr %t352) %t354 = call ptr @fn_emit_bind(ptr %t353) store ptr %t354, ptr %t355 %t356 = load ptr, ptr %t355 %t357 = call ptr @lp_str_concat(ptr @.str5590, ptr %t356) %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str5591) %t359 = load ptr, ptr %t143 %t360 = call ptr @lp_str_concat(ptr %t358, ptr %t359) %t361 = call ptr @fn_emit_bind(ptr %t360) store ptr %t361, ptr %t362 call void @fn_emit(ptr @.str5592) %t363 = load ptr, ptr %t362 call void @fn_emit(ptr %t363) call void @fn_emit(ptr @.str5593) %t364 = load ptr, ptr %t347 call void @fn_emit(ptr %t364) call void @fn_emit(ptr @.str5594) %t365 = load ptr, ptr %t349 call void @fn_emit(ptr %t365) call void @fn_emit(ptr @.str5595) %t366 = load ptr, ptr %t347 call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str5596) %t367 = load ptr, ptr %t11 %t368 = load ptr, ptr %t1 %t369 = load ptr, ptr %t355 %t370 = call ptr @fn_gep_at(ptr %t367, ptr %t368, ptr %t369) store ptr %t370, ptr %t371 %t372 = load ptr, ptr %t1 %t373 = call ptr @lp_str_concat(ptr @.str5597, ptr %t372) %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str5598) %t375 = load ptr, ptr %t371 %t376 = call ptr @lp_str_concat(ptr %t374, ptr %t375) %t377 = call ptr @fn_emit_bind(ptr %t376) store ptr %t377, ptr %t378 %t379 = load ptr, ptr %t153 %t380 = call ptr @lp_str_concat(ptr @.str5599, ptr %t379) %t381 = call ptr @fn_emit_bind(ptr %t380) store ptr %t381, ptr %t382 %t383 = load ptr, ptr %t38 %t384 = load ptr, ptr %t1 %t385 = load ptr, ptr %t382 %t386 = call ptr @fn_gep_at(ptr %t383, ptr %t384, ptr %t385) store ptr %t386, ptr %t387 call void @fn_emit(ptr @.str5600) %t388 = load ptr, ptr %t1 call void @fn_emit(ptr %t388) call void @fn_emit(ptr @.str5601) %t389 = load ptr, ptr %t378 call void @fn_emit(ptr %t389) call void @fn_emit(ptr @.str5602) %t390 = load ptr, ptr %t387 call void @fn_emit(ptr %t390) call void @fn_emit(ptr @.str5603) %t391 = load ptr, ptr %t355 %t392 = call ptr @lp_str_concat(ptr @.str5604, ptr %t391) %t393 = call ptr @lp_str_concat(ptr %t392, ptr @.str5605) %t394 = call ptr @fn_emit_bind(ptr %t393) store ptr %t394, ptr %t395 %t396 = load ptr, ptr %t395 %t397 = load ptr, ptr %t149 call void @fn_store_at(ptr @.str5606, ptr %t396, ptr %t397) %t398 = load ptr, ptr %t382 %t399 = call ptr @lp_str_concat(ptr @.str5607, ptr %t398) %t400 = call ptr @lp_str_concat(ptr %t399, ptr @.str5608) %t401 = call ptr @fn_emit_bind(ptr %t400) store ptr %t401, ptr %t402 %t403 = load ptr, ptr %t402 %t404 = load ptr, ptr %t153 call void @fn_store_at(ptr @.str5609, ptr %t403, ptr %t404) call void @fn_emit(ptr @.str5610) %t405 = load ptr, ptr %t345 call void @fn_emit(ptr %t405) call void @fn_emit(ptr @.str5611) %t406 = load ptr, ptr %t349 call void @fn_emit(ptr %t406) call void @fn_emit(ptr @.str5612) %t407 = call ptr @fn_emit_alloca(ptr @.str5613) store ptr %t407, ptr %t408 %t409 = load ptr, ptr %t84 %t410 = load ptr, ptr %t408 call void @fn_store_at(ptr @.str5614, ptr %t409, ptr %t410) %t411 = call ptr @fn_lbl(ptr @.str5615) store ptr %t411, ptr %t412 %t413 = call ptr @fn_lbl(ptr @.str5616) store ptr %t413, ptr %t414 %t415 = call ptr @fn_lbl(ptr @.str5617) store ptr %t415, ptr %t416 call void @fn_emit(ptr @.str5618) %t417 = load ptr, ptr %t412 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str5619) %t418 = load ptr, ptr %t412 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str5620) %t419 = load ptr, ptr %t408 %t420 = call ptr @lp_str_concat(ptr @.str5621, ptr %t419) %t421 = call ptr @fn_emit_bind(ptr %t420) store ptr %t421, ptr %t422 %t423 = load ptr, ptr %t422 %t424 = call ptr @lp_str_concat(ptr @.str5622, ptr %t423) %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str5623) %t426 = load ptr, ptr %t143 %t427 = call ptr @lp_str_concat(ptr %t425, ptr %t426) %t428 = call ptr @fn_emit_bind(ptr %t427) store ptr %t428, ptr %t429 call void @fn_emit(ptr @.str5624) %t430 = load ptr, ptr %t429 call void @fn_emit(ptr %t430) call void @fn_emit(ptr @.str5625) %t431 = load ptr, ptr %t414 call void @fn_emit(ptr %t431) call void @fn_emit(ptr @.str5626) %t432 = load ptr, ptr %t416 call void @fn_emit(ptr %t432) call void @fn_emit(ptr @.str5627) %t433 = load ptr, ptr %t414 call void @fn_emit(ptr %t433) call void @fn_emit(ptr @.str5628) %t434 = load ptr, ptr %t38 %t435 = load ptr, ptr %t1 %t436 = load ptr, ptr %t422 %t437 = call ptr @fn_gep_at(ptr %t434, ptr %t435, ptr %t436) store ptr %t437, ptr %t438 %t439 = load ptr, ptr %t1 %t440 = call ptr @lp_str_concat(ptr @.str5629, ptr %t439) %t441 = call ptr @lp_str_concat(ptr %t440, ptr @.str5630) %t442 = load ptr, ptr %t438 %t443 = call ptr @lp_str_concat(ptr %t441, ptr %t442) %t444 = call ptr @fn_emit_bind(ptr %t443) store ptr %t444, ptr %t445 %t446 = load ptr, ptr %t11 %t447 = load ptr, ptr %t1 %t448 = load ptr, ptr %t422 %t449 = call ptr @fn_gep_at(ptr %t446, ptr %t447, ptr %t448) store ptr %t449, ptr %t450 call void @fn_emit(ptr @.str5631) %t451 = load ptr, ptr %t1 call void @fn_emit(ptr %t451) call void @fn_emit(ptr @.str5632) %t452 = load ptr, ptr %t445 call void @fn_emit(ptr %t452) call void @fn_emit(ptr @.str5633) %t453 = load ptr, ptr %t450 call void @fn_emit(ptr %t453) call void @fn_emit(ptr @.str5634) %t454 = load ptr, ptr %t422 %t455 = call ptr @lp_str_concat(ptr @.str5635, ptr %t454) %t456 = call ptr @lp_str_concat(ptr %t455, ptr @.str5636) %t457 = call ptr @fn_emit_bind(ptr %t456) store ptr %t457, ptr %t458 %t459 = load ptr, ptr %t458 %t460 = load ptr, ptr %t408 call void @fn_store_at(ptr @.str5637, ptr %t459, ptr %t460) call void @fn_emit(ptr @.str5638) %t461 = load ptr, ptr %t412 call void @fn_emit(ptr %t461) call void @fn_emit(ptr @.str5639) %t462 = load ptr, ptr %t416 call void @fn_emit(ptr %t462) call void @fn_emit(ptr @.str5640) %t463 = load ptr, ptr %t84 %t464 = call ptr @lp_str_concat(ptr @.str5641, ptr %t463) %t465 = call ptr @lp_str_concat(ptr %t464, ptr @.str5642) %t466 = load ptr, ptr %t69 %t467 = call ptr @lp_str_concat(ptr %t465, ptr %t466) %t468 = call ptr @fn_emit_bind(ptr %t467) store ptr %t468, ptr %t469 %t470 = load ptr, ptr %t469 %t471 = load ptr, ptr %t71 call void @fn_store_at(ptr @.str5643, ptr %t470, ptr %t471) call void @fn_emit(ptr @.str5644) %t472 = load ptr, ptr %t74 call void @fn_emit(ptr %t472) call void @fn_emit(ptr @.str5645) %t473 = load ptr, ptr %t78 call void @fn_emit(ptr %t473) call void @fn_emit(ptr @.str5646) %t474 = load ptr, ptr %t69 %t475 = load ptr, ptr %t40 call void @fn_store_at(ptr @.str5647, ptr %t474, ptr %t475) call void @fn_emit(ptr @.str5648) %t476 = load ptr, ptr %t43 call void @fn_emit(ptr %t476) call void @fn_emit(ptr @.str5649) %t477 = load ptr, ptr %t47 call void @fn_emit(ptr %t477) call void @fn_emit(ptr @.str5650) call void @fn_emit(ptr @.str5651) %t478 = load ptr, ptr %t38 call void @fn_emit(ptr %t478) call void @fn_emit(ptr @.str5652) br label %ret ret: ret void } define ptr @fn_sort_fn_arg(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t45 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp slt i32 %t6, 2 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: %t10 = load ptr, ptr %t0 %t11 = call ptr @lp_str_concat(ptr @.str5653, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str5654) call void @fn_perr(ptr %t12) br label %ifend2 ifend2: %t13 = load ptr, ptr %t1 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7 %t15 = load ptr, ptr %t14 %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 1, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str5655, i32 1, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t17, i32 1 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 0 %t25 = load i32, ptr %t24 %t26 = icmp ne i32 %t25, 33 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then5, label %ifend7 then5: %t29 = load ptr, ptr %t0 %t30 = call ptr @lp_str_concat(ptr @.str5656, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str5657) call void @fn_perr(ptr %t31) br label %ifend7 ifend7: %t32 = load ptr, ptr %t1 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 1, %t38 br i1 %t39, label %ixok8, label %ixbad9 ixbad9: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str5658, i32 1, i32 %t38) call void @exit(i32 1) unreachable ixok8: %t41 = getelementptr inbounds ptr, ptr %t36, i32 1 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 %t47 = call ptr @fn_find_fn(ptr %t46) %t48 = icmp eq ptr %t47, null %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then10, label %ifend12 then10: %t51 = load ptr, ptr %t0 %t52 = call ptr @lp_str_concat(ptr @.str5659, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str5660) %t54 = load ptr, ptr %t45 %t55 = call ptr @lp_str_concat(ptr %t53, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str5661) call void @fn_perr(ptr %t56) br label %ifend12 ifend12: %t57 = load ptr, ptr %t45 store ptr %t57, ptr %retval br label %ret ret: %t58 = load ptr, ptr %retval ret ptr %t58 } define ptr @fn_emit_list_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t27 = alloca ptr %t40 = alloca ptr %t69 = alloca ptr %t84 = alloca ptr %t87 = alloca ptr %t91 = alloca ptr %t94 = alloca ptr %t106 = alloca ptr %t121 = alloca ptr %t126 = alloca ptr %t131 = alloca ptr %t146 = alloca ptr %t151 = alloca ptr %t156 = alloca ptr %t163 = alloca ptr %t184 = alloca ptr %t197 = alloca ptr %t204 = alloca ptr %t211 = alloca ptr %t218 = alloca ptr %t225 = alloca ptr %t233 = alloca i32 %t256 = alloca ptr %t260 = alloca ptr %t262 = alloca ptr %t265 = alloca ptr %t268 = alloca ptr %t270 = alloca ptr %t272 = alloca ptr %t274 = alloca ptr %t276 = alloca ptr %t282 = alloca ptr %t289 = alloca ptr %t298 = alloca ptr %t305 = alloca ptr %t317 = alloca ptr %t330 = alloca ptr %t338 = alloca ptr %t348 = alloca ptr %t369 = alloca ptr %t382 = alloca ptr %t388 = alloca ptr %t390 = alloca ptr %t394 = alloca ptr %t396 = alloca ptr %t398 = alloca ptr %t404 = alloca ptr %t413 = alloca ptr %t422 = alloca ptr %t427 = alloca ptr %t434 = alloca ptr %t439 = alloca ptr %t453 = alloca ptr %t463 = alloca ptr %t482 = alloca ptr %t486 = alloca ptr %t491 = alloca ptr %t493 = alloca ptr %t499 = alloca ptr %t501 = alloca ptr %t503 = alloca ptr %t509 = alloca ptr %t516 = alloca ptr %t525 = alloca ptr %t530 = alloca ptr %t537 = alloca ptr %t542 = alloca ptr %t568 = alloca ptr %t572 = alloca ptr %t574 = alloca ptr %t577 = alloca ptr %t580 = alloca ptr %t582 = alloca ptr %t584 = alloca ptr %t586 = alloca ptr %t588 = alloca ptr %t594 = alloca ptr %t601 = alloca ptr %t605 = alloca ptr %t610 = alloca ptr %t617 = alloca ptr %t626 = alloca ptr %t633 = alloca ptr %t645 = alloca ptr %t658 = alloca ptr %t666 = alloca ptr %t671 = alloca ptr %t673 = alloca ptr %t675 = alloca ptr %t684 = alloca ptr %t686 = alloca ptr %t690 = alloca ptr %t692 = alloca ptr %t694 = alloca ptr %t700 = alloca ptr %t707 = alloca ptr %t716 = alloca ptr %t721 = alloca ptr %t728 = alloca ptr %t733 = alloca ptr %t752 = alloca ptr %t757 = alloca ptr %t759 = alloca ptr %t761 = alloca ptr %t763 = alloca ptr %t771 = alloca ptr %t773 = alloca ptr %t776 = alloca ptr %t778 = alloca ptr %t780 = alloca ptr %t786 = alloca ptr %t793 = alloca ptr %t802 = alloca ptr %t809 = alloca ptr %t811 = alloca ptr %t816 = alloca ptr %t820 = alloca ptr %t822 = alloca ptr %t824 = alloca ptr %t830 = alloca ptr %t835 = alloca ptr %t840 = alloca ptr %t847 = alloca ptr %t857 = alloca ptr %t864 = alloca ptr %t873 = alloca ptr %t878 = alloca ptr %t886 = alloca ptr %t894 = alloca ptr %t899 = alloca ptr %t904 = alloca ptr %t912 = alloca ptr %t930 = alloca ptr %t946 = alloca i32 %t960 = alloca ptr %t963 = alloca ptr %t981 = alloca ptr %t982 = alloca i32 %t999 = alloca i32 %t1012 = alloca ptr %t1014 = alloca ptr %t1017 = alloca ptr %t1022 = alloca ptr %t1026 = alloca ptr %t1028 = alloca ptr %t1030 = alloca ptr %t1036 = alloca ptr %t1040 = alloca ptr %t1047 = alloca ptr %t1056 = alloca ptr %t1061 = alloca ptr %t1068 = alloca ptr %t1075 = alloca ptr %t1086 = alloca ptr %t1093 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str5662) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t1 %t6 = call ptr @fn_emit_len(ptr %t5) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str5663) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: %t10 = load ptr, ptr %t1 %t11 = call ptr @fn_emit_push(ptr %t10) store ptr %t11, ptr %retval br label %ret ifend5: %t12 = load ptr, ptr %t0 %t13 = call i32 @lp_str_eq(ptr %t12, ptr @.str5664) %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then6, label %ifend8 then6: %t15 = load ptr, ptr %t1 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 0, %t21 br i1 %t22, label %ixok9, label %ixbad10 ixbad10: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str5665, i32 0, i32 %t21) call void @exit(i32 1) unreachable ixok9: %t24 = getelementptr inbounds ptr, ptr %t19, i32 0 %t25 = load ptr, ptr %t24 %t26 = call ptr @fn_emit_expr(ptr %t25) store ptr %t26, ptr %t27 %t28 = load ptr, ptr %t1 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 1, %t34 br i1 %t35, label %ixok11, label %ixbad12 ixbad12: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str5666, i32 1, i32 %t34) call void @exit(i32 1) unreachable ixok11: %t37 = getelementptr inbounds ptr, ptr %t32, i32 1 %t38 = load ptr, ptr %t37 %t39 = call ptr @fn_emit_expr(ptr %t38) store ptr %t39, ptr %t40 %t41 = call ptr @fn_find_fn(ptr @.str5667) %t42 = icmp eq ptr %t41, null %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then13, label %ifend15 then13: call void @fn_perr(ptr @.str5668) br label %ifend15 ifend15: %t45 = load ptr, ptr %t27 %t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = call ptr @lp_str_concat(ptr @.str5669, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str5670) %t50 = load ptr, ptr %t40 %t51 = getelementptr inbounds %Cmp_Val, ptr %t50, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = call ptr @lp_str_concat(ptr %t49, ptr %t52) %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str5671) %t55 = call ptr @fn_emit_bind(ptr %t54) %t56 = call ptr @fn_val(ptr %t55, ptr @.str5672) store ptr %t56, ptr %retval br label %ret ifend8: %t57 = load ptr, ptr %t1 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 7 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t63 = load i32, ptr %t62 %t64 = icmp ult i32 0, %t63 br i1 %t64, label %ixok16, label %ixbad17 ixbad17: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str5673, i32 0, i32 %t63) call void @exit(i32 1) unreachable ixok16: %t66 = getelementptr inbounds ptr, ptr %t61, i32 0 %t67 = load ptr, ptr %t66 %t68 = call ptr @fn_emit_expr(ptr %t67) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t69 %t71 = getelementptr inbounds %Cmp_Val, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 %t73 = call i32 @fn_is_slice_ty(ptr %t72) %t74 = icmp eq i32 %t73, 0 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then18, label %ifend20 then18: %t77 = load ptr, ptr %t0 %t78 = call ptr @lp_str_concat(ptr @.str5674, ptr %t77) %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str5675) call void @fn_perr(ptr %t79) br label %ifend20 ifend20: %t80 = load ptr, ptr %t69 %t81 = getelementptr inbounds %Cmp_Val, ptr %t80, i32 0, i32 1 %t82 = load ptr, ptr %t81 %t83 = call ptr @fn_slice_elem(ptr %t82) store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t84 %t86 = call ptr @fn_llty(ptr %t85) store ptr %t86, ptr %t87 %t88 = load ptr, ptr %t69 %t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0 %t90 = load ptr, ptr %t89 store ptr %t90, ptr %t91 %t92 = load ptr, ptr %t91 %t93 = call ptr @fn_slice_field(ptr %t92, i32 1) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t0 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str5676) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then21, label %ifend23 then21: call void @fn_emit(ptr @.str5677) %t98 = load ptr, ptr %t94 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str5678) %t99 = call ptr @fn_val(ptr @.str5679, ptr @.str5680) store ptr %t99, ptr %retval br label %ret ifend23: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str5681) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then24, label %ifend26 then24: %t103 = load ptr, ptr %t91 %t104 = load ptr, ptr %t87 %t105 = call ptr @fn_list_elem_addr(ptr %t103, ptr %t104, ptr @.str5682) store ptr %t105, ptr %t106 %t107 = load ptr, ptr %t87 %t108 = call ptr @lp_str_concat(ptr @.str5683, ptr %t107) %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str5684) %t110 = load ptr, ptr %t106 %t111 = call ptr @lp_str_concat(ptr %t109, ptr %t110) %t112 = call ptr @fn_emit_bind(ptr %t111) %t113 = load ptr, ptr %t84 %t114 = call ptr @fn_val(ptr %t112, ptr %t113) store ptr %t114, ptr %retval br label %ret ifend26: %t115 = load ptr, ptr %t0 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str5685) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then27, label %ifend29 then27: %t118 = load ptr, ptr %t94 %t119 = call ptr @lp_str_concat(ptr @.str5686, ptr %t118) %t120 = call ptr @fn_emit_bind(ptr %t119) store ptr %t120, ptr %t121 %t122 = load ptr, ptr %t121 %t123 = call ptr @lp_str_concat(ptr @.str5687, ptr %t122) %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str5688) %t125 = call ptr @fn_emit_bind(ptr %t124) store ptr %t125, ptr %t126 %t127 = load ptr, ptr %t91 %t128 = load ptr, ptr %t87 %t129 = load ptr, ptr %t126 %t130 = call ptr @fn_list_elem_addr(ptr %t127, ptr %t128, ptr %t129) store ptr %t130, ptr %t131 %t132 = load ptr, ptr %t87 %t133 = call ptr @lp_str_concat(ptr @.str5689, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str5690) %t135 = load ptr, ptr %t131 %t136 = call ptr @lp_str_concat(ptr %t134, ptr %t135) %t137 = call ptr @fn_emit_bind(ptr %t136) %t138 = load ptr, ptr %t84 %t139 = call ptr @fn_val(ptr %t137, ptr %t138) store ptr %t139, ptr %retval br label %ret ifend29: %t140 = load ptr, ptr %t0 %t141 = call i32 @lp_str_eq(ptr %t140, ptr @.str5691) %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then30, label %ifend32 then30: %t143 = load ptr, ptr %t94 %t144 = call ptr @lp_str_concat(ptr @.str5692, ptr %t143) %t145 = call ptr @fn_emit_bind(ptr %t144) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t146 %t148 = call ptr @lp_str_concat(ptr @.str5693, ptr %t147) %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str5694) %t150 = call ptr @fn_emit_bind(ptr %t149) store ptr %t150, ptr %t151 %t152 = load ptr, ptr %t91 %t153 = load ptr, ptr %t87 %t154 = load ptr, ptr %t151 %t155 = call ptr @fn_list_elem_addr(ptr %t152, ptr %t153, ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t87 %t158 = call ptr @lp_str_concat(ptr @.str5695, ptr %t157) %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str5696) %t160 = load ptr, ptr %t156 %t161 = call ptr @lp_str_concat(ptr %t159, ptr %t160) %t162 = call ptr @fn_emit_bind(ptr %t161) store ptr %t162, ptr %t163 call void @fn_emit(ptr @.str5697) %t164 = load ptr, ptr %t151 call void @fn_emit(ptr %t164) call void @fn_emit(ptr @.str5698) %t165 = load ptr, ptr %t94 call void @fn_emit(ptr %t165) call void @fn_emit(ptr @.str5699) %t166 = load ptr, ptr %t163 %t167 = load ptr, ptr %t84 %t168 = call ptr @fn_val(ptr %t166, ptr %t167) store ptr %t168, ptr %retval br label %ret ifend32: %t169 = load ptr, ptr %t0 %t170 = call i32 @lp_str_eq(ptr %t169, ptr @.str5700) %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then33, label %ifend35 then33: %t172 = load ptr, ptr %t1 %t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 7 %t174 = load ptr, ptr %t173 %t175 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 0 %t176 = load ptr, ptr %t175 %t177 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 1 %t178 = load i32, ptr %t177 %t179 = icmp ult i32 1, %t178 br i1 %t179, label %ixok36, label %ixbad37 ixbad37: %t180 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t180, ptr @.fmt_bounds, ptr @.str5701, i32 1, i32 %t178) call void @exit(i32 1) unreachable ixok36: %t181 = getelementptr inbounds ptr, ptr %t176, i32 1 %t182 = load ptr, ptr %t181 %t183 = call ptr @fn_emit_expr(ptr %t182) store ptr %t183, ptr %t184 %t185 = load ptr, ptr %t1 %t186 = getelementptr inbounds %Cmp_Node, ptr %t185, i32 0, i32 7 %t187 = load ptr, ptr %t186 %t188 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 0 %t189 = load ptr, ptr %t188 %t190 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 1 %t191 = load i32, ptr %t190 %t192 = icmp ult i32 2, %t191 br i1 %t192, label %ixok38, label %ixbad39 ixbad39: %t193 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t193, ptr @.fmt_bounds, ptr @.str5702, i32 2, i32 %t191) call void @exit(i32 1) unreachable ixok38: %t194 = getelementptr inbounds ptr, ptr %t189, i32 2 %t195 = load ptr, ptr %t194 %t196 = call ptr @fn_emit_expr(ptr %t195) store ptr %t196, ptr %t197 %t198 = load ptr, ptr %t91 %t199 = load ptr, ptr %t87 %t200 = load ptr, ptr %t184 %t201 = getelementptr inbounds %Cmp_Val, ptr %t200, i32 0, i32 0 %t202 = load ptr, ptr %t201 %t203 = call ptr @fn_list_elem_addr(ptr %t198, ptr %t199, ptr %t202) store ptr %t203, ptr %t204 %t205 = load ptr, ptr %t91 %t206 = load ptr, ptr %t87 %t207 = load ptr, ptr %t197 %t208 = getelementptr inbounds %Cmp_Val, ptr %t207, i32 0, i32 0 %t209 = load ptr, ptr %t208 %t210 = call ptr @fn_list_elem_addr(ptr %t205, ptr %t206, ptr %t209) store ptr %t210, ptr %t211 %t212 = load ptr, ptr %t87 %t213 = call ptr @lp_str_concat(ptr @.str5703, ptr %t212) %t214 = call ptr @lp_str_concat(ptr %t213, ptr @.str5704) %t215 = load ptr, ptr %t204 %t216 = call ptr @lp_str_concat(ptr %t214, ptr %t215) %t217 = call ptr @fn_emit_bind(ptr %t216) store ptr %t217, ptr %t218 %t219 = load ptr, ptr %t87 %t220 = call ptr @lp_str_concat(ptr @.str5705, ptr %t219) %t221 = call ptr @lp_str_concat(ptr %t220, ptr @.str5706) %t222 = load ptr, ptr %t211 %t223 = call ptr @lp_str_concat(ptr %t221, ptr %t222) %t224 = call ptr @fn_emit_bind(ptr %t223) store ptr %t224, ptr %t225 call void @fn_emit(ptr @.str5707) %t226 = load ptr, ptr %t87 call void @fn_emit(ptr %t226) call void @fn_emit(ptr @.str5708) %t227 = load ptr, ptr %t225 call void @fn_emit(ptr %t227) call void @fn_emit(ptr @.str5709) %t228 = load ptr, ptr %t204 call void @fn_emit(ptr %t228) call void @fn_emit(ptr @.str5710) call void @fn_emit(ptr @.str5711) %t229 = load ptr, ptr %t87 call void @fn_emit(ptr %t229) call void @fn_emit(ptr @.str5712) %t230 = load ptr, ptr %t218 call void @fn_emit(ptr %t230) call void @fn_emit(ptr @.str5713) %t231 = load ptr, ptr %t211 call void @fn_emit(ptr %t231) call void @fn_emit(ptr @.str5714) %t232 = call ptr @fn_val(ptr @.str5715, ptr @.str5716) store ptr %t232, ptr %retval br label %ret ifend35: %t234 = load ptr, ptr %t0 %t235 = call i32 @lp_str_eq(ptr %t234, ptr @.str5717) %t236 = icmp ne i32 %t235, 0 %t237 = zext i1 %t236 to i32 store i32 %t237, ptr %t233 br i1 %t236, label %scend41, label %sc40 sc40: %t238 = load ptr, ptr %t0 %t239 = call i32 @lp_str_eq(ptr %t238, ptr @.str5718) %t240 = icmp ne i32 %t239, 0 %t241 = zext i1 %t240 to i32 store i32 %t241, ptr %t233 br label %scend41 scend41: %t242 = load i32, ptr %t233 %t243 = icmp ne i32 %t242, 0 br i1 %t243, label %then42, label %ifend44 then42: %t244 = load ptr, ptr %t1 %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 7 %t246 = load ptr, ptr %t245 %t247 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 0 %t248 = load ptr, ptr %t247 %t249 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 1 %t250 = load i32, ptr %t249 %t251 = icmp ult i32 1, %t250 br i1 %t251, label %ixok45, label %ixbad46 ixbad46: %t252 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t252, ptr @.fmt_bounds, ptr @.str5719, i32 1, i32 %t250) call void @exit(i32 1) unreachable ixok45: %t253 = getelementptr inbounds ptr, ptr %t248, i32 1 %t254 = load ptr, ptr %t253 %t255 = call ptr @fn_emit_expr(ptr %t254) store ptr %t255, ptr %t256 %t257 = load ptr, ptr %t94 %t258 = call ptr @lp_str_concat(ptr @.str5720, ptr %t257) %t259 = call ptr @fn_emit_bind(ptr %t258) store ptr %t259, ptr %t260 %t261 = call ptr @fn_emit_alloca(ptr @.str5721) store ptr %t261, ptr %t262 %t263 = load ptr, ptr %t262 call void @fn_store_at(ptr @.str5722, ptr @.str5723, ptr %t263) %t264 = call ptr @fn_emit_alloca(ptr @.str5724) store ptr %t264, ptr %t265 %t266 = load ptr, ptr %t265 call void @fn_store_at(ptr @.str5725, ptr @.str5726, ptr %t266) %t267 = call ptr @fn_lbl(ptr @.str5727) store ptr %t267, ptr %t268 %t269 = call ptr @fn_lbl(ptr @.str5728) store ptr %t269, ptr %t270 %t271 = call ptr @fn_lbl(ptr @.str5729) store ptr %t271, ptr %t272 %t273 = call ptr @fn_lbl(ptr @.str5730) store ptr %t273, ptr %t274 %t275 = call ptr @fn_lbl(ptr @.str5731) store ptr %t275, ptr %t276 call void @fn_emit(ptr @.str5732) %t277 = load ptr, ptr %t268 call void @fn_emit(ptr %t277) call void @fn_emit(ptr @.str5733) %t278 = load ptr, ptr %t268 call void @fn_emit(ptr %t278) call void @fn_emit(ptr @.str5734) %t279 = load ptr, ptr %t265 %t280 = call ptr @lp_str_concat(ptr @.str5735, ptr %t279) %t281 = call ptr @fn_emit_bind(ptr %t280) store ptr %t281, ptr %t282 %t283 = load ptr, ptr %t282 %t284 = call ptr @lp_str_concat(ptr @.str5736, ptr %t283) %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str5737) %t286 = load ptr, ptr %t260 %t287 = call ptr @lp_str_concat(ptr %t285, ptr %t286) %t288 = call ptr @fn_emit_bind(ptr %t287) store ptr %t288, ptr %t289 call void @fn_emit(ptr @.str5738) %t290 = load ptr, ptr %t289 call void @fn_emit(ptr %t290) call void @fn_emit(ptr @.str5739) %t291 = load ptr, ptr %t270 call void @fn_emit(ptr %t291) call void @fn_emit(ptr @.str5740) %t292 = load ptr, ptr %t276 call void @fn_emit(ptr %t292) call void @fn_emit(ptr @.str5741) %t293 = load ptr, ptr %t270 call void @fn_emit(ptr %t293) call void @fn_emit(ptr @.str5742) %t294 = load ptr, ptr %t91 %t295 = load ptr, ptr %t87 %t296 = load ptr, ptr %t282 %t297 = call ptr @fn_list_elem_addr(ptr %t294, ptr %t295, ptr %t296) store ptr %t297, ptr %t298 %t299 = load ptr, ptr %t87 %t300 = call ptr @lp_str_concat(ptr @.str5743, ptr %t299) %t301 = call ptr @lp_str_concat(ptr %t300, ptr @.str5744) %t302 = load ptr, ptr %t298 %t303 = call ptr @lp_str_concat(ptr %t301, ptr %t302) %t304 = call ptr @fn_emit_bind(ptr %t303) store ptr %t304, ptr %t305 %t306 = load ptr, ptr %t87 %t307 = call ptr @lp_str_concat(ptr @.str5745, ptr %t306) %t308 = call ptr @lp_str_concat(ptr %t307, ptr @.str5746) %t309 = load ptr, ptr %t305 %t310 = call ptr @lp_str_concat(ptr %t308, ptr %t309) %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str5747) %t312 = load ptr, ptr %t256 %t313 = getelementptr inbounds %Cmp_Val, ptr %t312, i32 0, i32 0 %t314 = load ptr, ptr %t313 %t315 = call ptr @lp_str_concat(ptr %t311, ptr %t314) %t316 = call ptr @fn_emit_bind(ptr %t315) store ptr %t316, ptr %t317 call void @fn_emit(ptr @.str5748) %t318 = load ptr, ptr %t317 call void @fn_emit(ptr %t318) call void @fn_emit(ptr @.str5749) %t319 = load ptr, ptr %t272 call void @fn_emit(ptr %t319) call void @fn_emit(ptr @.str5750) %t320 = load ptr, ptr %t274 call void @fn_emit(ptr %t320) call void @fn_emit(ptr @.str5751) %t321 = load ptr, ptr %t272 call void @fn_emit(ptr %t321) call void @fn_emit(ptr @.str5752) %t322 = load ptr, ptr %t282 %t323 = load ptr, ptr %t262 call void @fn_store_at(ptr @.str5753, ptr %t322, ptr %t323) call void @fn_emit(ptr @.str5754) %t324 = load ptr, ptr %t276 call void @fn_emit(ptr %t324) call void @fn_emit(ptr @.str5755) %t325 = load ptr, ptr %t274 call void @fn_emit(ptr %t325) call void @fn_emit(ptr @.str5756) %t326 = load ptr, ptr %t282 %t327 = call ptr @lp_str_concat(ptr @.str5757, ptr %t326) %t328 = call ptr @lp_str_concat(ptr %t327, ptr @.str5758) %t329 = call ptr @fn_emit_bind(ptr %t328) store ptr %t329, ptr %t330 %t331 = load ptr, ptr %t330 %t332 = load ptr, ptr %t265 call void @fn_store_at(ptr @.str5759, ptr %t331, ptr %t332) call void @fn_emit(ptr @.str5760) %t333 = load ptr, ptr %t268 call void @fn_emit(ptr %t333) call void @fn_emit(ptr @.str5761) %t334 = load ptr, ptr %t276 call void @fn_emit(ptr %t334) call void @fn_emit(ptr @.str5762) %t335 = load ptr, ptr %t262 %t336 = call ptr @lp_str_concat(ptr @.str5763, ptr %t335) %t337 = call ptr @fn_emit_bind(ptr %t336) store ptr %t337, ptr %t338 %t339 = load ptr, ptr %t0 %t340 = call i32 @lp_str_eq(ptr %t339, ptr @.str5764) %t341 = icmp ne i32 %t340, 0 br i1 %t341, label %then47, label %ifend49 then47: %t342 = load ptr, ptr %t338 %t343 = call ptr @fn_val(ptr %t342, ptr @.str5765) store ptr %t343, ptr %retval br label %ret ifend49: %t344 = load ptr, ptr %t338 %t345 = call ptr @lp_str_concat(ptr @.str5766, ptr %t344) %t346 = call ptr @lp_str_concat(ptr %t345, ptr @.str5767) %t347 = call ptr @fn_emit_bind(ptr %t346) store ptr %t347, ptr %t348 %t349 = load ptr, ptr %t348 %t350 = call ptr @lp_str_concat(ptr @.str5768, ptr %t349) %t351 = call ptr @lp_str_concat(ptr %t350, ptr @.str5769) %t352 = call ptr @fn_emit_bind(ptr %t351) %t353 = call ptr @fn_val(ptr %t352, ptr @.str5770) store ptr %t353, ptr %retval br label %ret ifend44: %t354 = load ptr, ptr %t0 %t355 = call i32 @lp_str_eq(ptr %t354, ptr @.str5771) %t356 = icmp ne i32 %t355, 0 br i1 %t356, label %then50, label %ifend52 then50: %t357 = load ptr, ptr %t1 %t358 = getelementptr inbounds %Cmp_Node, ptr %t357, i32 0, i32 7 %t359 = load ptr, ptr %t358 %t360 = getelementptr inbounds %LSlice, ptr %t359, i32 0, i32 0 %t361 = load ptr, ptr %t360 %t362 = getelementptr inbounds %LSlice, ptr %t359, i32 0, i32 1 %t363 = load i32, ptr %t362 %t364 = icmp ult i32 1, %t363 br i1 %t364, label %ixok53, label %ixbad54 ixbad54: %t365 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t365, ptr @.fmt_bounds, ptr @.str5772, i32 1, i32 %t363) call void @exit(i32 1) unreachable ixok53: %t366 = getelementptr inbounds ptr, ptr %t361, i32 1 %t367 = load ptr, ptr %t366 %t368 = call ptr @fn_emit_expr(ptr %t367) store ptr %t368, ptr %t369 %t370 = load ptr, ptr %t1 %t371 = getelementptr inbounds %Cmp_Node, ptr %t370, i32 0, i32 7 %t372 = load ptr, ptr %t371 %t373 = getelementptr inbounds %LSlice, ptr %t372, i32 0, i32 0 %t374 = load ptr, ptr %t373 %t375 = getelementptr inbounds %LSlice, ptr %t372, i32 0, i32 1 %t376 = load i32, ptr %t375 %t377 = icmp ult i32 2, %t376 br i1 %t377, label %ixok55, label %ixbad56 ixbad56: %t378 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t378, ptr @.fmt_bounds, ptr @.str5773, i32 2, i32 %t376) call void @exit(i32 1) unreachable ixok55: %t379 = getelementptr inbounds ptr, ptr %t374, i32 2 %t380 = load ptr, ptr %t379 %t381 = call ptr @fn_emit_expr(ptr %t380) store ptr %t381, ptr %t382 %t383 = load ptr, ptr %t91 %t384 = load ptr, ptr %t87 call void @fn_list_grow_if_full(ptr %t383, ptr %t384) %t385 = load ptr, ptr %t94 %t386 = call ptr @lp_str_concat(ptr @.str5774, ptr %t385) %t387 = call ptr @fn_emit_bind(ptr %t386) store ptr %t387, ptr %t388 %t389 = call ptr @fn_emit_alloca(ptr @.str5775) store ptr %t389, ptr %t390 %t391 = load ptr, ptr %t388 %t392 = load ptr, ptr %t390 call void @fn_store_at(ptr @.str5776, ptr %t391, ptr %t392) %t393 = call ptr @fn_lbl(ptr @.str5777) store ptr %t393, ptr %t394 %t395 = call ptr @fn_lbl(ptr @.str5778) store ptr %t395, ptr %t396 %t397 = call ptr @fn_lbl(ptr @.str5779) store ptr %t397, ptr %t398 call void @fn_emit(ptr @.str5780) %t399 = load ptr, ptr %t394 call void @fn_emit(ptr %t399) call void @fn_emit(ptr @.str5781) %t400 = load ptr, ptr %t394 call void @fn_emit(ptr %t400) call void @fn_emit(ptr @.str5782) %t401 = load ptr, ptr %t390 %t402 = call ptr @lp_str_concat(ptr @.str5783, ptr %t401) %t403 = call ptr @fn_emit_bind(ptr %t402) store ptr %t403, ptr %t404 %t405 = load ptr, ptr %t404 %t406 = call ptr @lp_str_concat(ptr @.str5784, ptr %t405) %t407 = call ptr @lp_str_concat(ptr %t406, ptr @.str5785) %t408 = load ptr, ptr %t369 %t409 = getelementptr inbounds %Cmp_Val, ptr %t408, i32 0, i32 0 %t410 = load ptr, ptr %t409 %t411 = call ptr @lp_str_concat(ptr %t407, ptr %t410) %t412 = call ptr @fn_emit_bind(ptr %t411) store ptr %t412, ptr %t413 call void @fn_emit(ptr @.str5786) %t414 = load ptr, ptr %t413 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str5787) %t415 = load ptr, ptr %t396 call void @fn_emit(ptr %t415) call void @fn_emit(ptr @.str5788) %t416 = load ptr, ptr %t398 call void @fn_emit(ptr %t416) call void @fn_emit(ptr @.str5789) %t417 = load ptr, ptr %t396 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str5790) %t418 = load ptr, ptr %t404 %t419 = call ptr @lp_str_concat(ptr @.str5791, ptr %t418) %t420 = call ptr @lp_str_concat(ptr %t419, ptr @.str5792) %t421 = call ptr @fn_emit_bind(ptr %t420) store ptr %t421, ptr %t422 %t423 = load ptr, ptr %t91 %t424 = load ptr, ptr %t87 %t425 = load ptr, ptr %t422 %t426 = call ptr @fn_list_elem_addr(ptr %t423, ptr %t424, ptr %t425) store ptr %t426, ptr %t427 %t428 = load ptr, ptr %t87 %t429 = call ptr @lp_str_concat(ptr @.str5793, ptr %t428) %t430 = call ptr @lp_str_concat(ptr %t429, ptr @.str5794) %t431 = load ptr, ptr %t427 %t432 = call ptr @lp_str_concat(ptr %t430, ptr %t431) %t433 = call ptr @fn_emit_bind(ptr %t432) store ptr %t433, ptr %t434 %t435 = load ptr, ptr %t91 %t436 = load ptr, ptr %t87 %t437 = load ptr, ptr %t404 %t438 = call ptr @fn_list_elem_addr(ptr %t435, ptr %t436, ptr %t437) store ptr %t438, ptr %t439 call void @fn_emit(ptr @.str5795) %t440 = load ptr, ptr %t87 call void @fn_emit(ptr %t440) call void @fn_emit(ptr @.str5796) %t441 = load ptr, ptr %t434 call void @fn_emit(ptr %t441) call void @fn_emit(ptr @.str5797) %t442 = load ptr, ptr %t439 call void @fn_emit(ptr %t442) call void @fn_emit(ptr @.str5798) %t443 = load ptr, ptr %t422 %t444 = load ptr, ptr %t390 call void @fn_store_at(ptr @.str5799, ptr %t443, ptr %t444) call void @fn_emit(ptr @.str5800) %t445 = load ptr, ptr %t394 call void @fn_emit(ptr %t445) call void @fn_emit(ptr @.str5801) %t446 = load ptr, ptr %t398 call void @fn_emit(ptr %t446) call void @fn_emit(ptr @.str5802) %t447 = load ptr, ptr %t91 %t448 = load ptr, ptr %t87 %t449 = load ptr, ptr %t369 %t450 = getelementptr inbounds %Cmp_Val, ptr %t449, i32 0, i32 0 %t451 = load ptr, ptr %t450 %t452 = call ptr @fn_list_elem_addr(ptr %t447, ptr %t448, ptr %t451) store ptr %t452, ptr %t453 call void @fn_emit(ptr @.str5803) %t454 = load ptr, ptr %t87 call void @fn_emit(ptr %t454) call void @fn_emit(ptr @.str5804) %t455 = load ptr, ptr %t382 %t456 = getelementptr inbounds %Cmp_Val, ptr %t455, i32 0, i32 0 %t457 = load ptr, ptr %t456 call void @fn_emit(ptr %t457) call void @fn_emit(ptr @.str5805) %t458 = load ptr, ptr %t453 call void @fn_emit(ptr %t458) call void @fn_emit(ptr @.str5806) %t459 = load ptr, ptr %t388 %t460 = call ptr @lp_str_concat(ptr @.str5807, ptr %t459) %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str5808) %t462 = call ptr @fn_emit_bind(ptr %t461) store ptr %t462, ptr %t463 call void @fn_emit(ptr @.str5809) %t464 = load ptr, ptr %t463 call void @fn_emit(ptr %t464) call void @fn_emit(ptr @.str5810) %t465 = load ptr, ptr %t94 call void @fn_emit(ptr %t465) call void @fn_emit(ptr @.str5811) %t466 = call ptr @fn_val(ptr @.str5812, ptr @.str5813) store ptr %t466, ptr %retval br label %ret ifend52: %t467 = load ptr, ptr %t0 %t468 = call i32 @lp_str_eq(ptr %t467, ptr @.str5814) %t469 = icmp ne i32 %t468, 0 br i1 %t469, label %then57, label %ifend59 then57: %t470 = load ptr, ptr %t1 %t471 = getelementptr inbounds %Cmp_Node, ptr %t470, i32 0, i32 7 %t472 = load ptr, ptr %t471 %t473 = getelementptr inbounds %LSlice, ptr %t472, i32 0, i32 0 %t474 = load ptr, ptr %t473 %t475 = getelementptr inbounds %LSlice, ptr %t472, i32 0, i32 1 %t476 = load i32, ptr %t475 %t477 = icmp ult i32 1, %t476 br i1 %t477, label %ixok60, label %ixbad61 ixbad61: %t478 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t478, ptr @.fmt_bounds, ptr @.str5815, i32 1, i32 %t476) call void @exit(i32 1) unreachable ixok60: %t479 = getelementptr inbounds ptr, ptr %t474, i32 1 %t480 = load ptr, ptr %t479 %t481 = call ptr @fn_emit_expr(ptr %t480) store ptr %t481, ptr %t482 %t483 = load ptr, ptr %t94 %t484 = call ptr @lp_str_concat(ptr @.str5816, ptr %t483) %t485 = call ptr @fn_emit_bind(ptr %t484) store ptr %t485, ptr %t486 %t487 = load ptr, ptr %t486 %t488 = call ptr @lp_str_concat(ptr @.str5817, ptr %t487) %t489 = call ptr @lp_str_concat(ptr %t488, ptr @.str5818) %t490 = call ptr @fn_emit_bind(ptr %t489) store ptr %t490, ptr %t491 %t492 = call ptr @fn_emit_alloca(ptr @.str5819) store ptr %t492, ptr %t493 %t494 = load ptr, ptr %t482 %t495 = getelementptr inbounds %Cmp_Val, ptr %t494, i32 0, i32 0 %t496 = load ptr, ptr %t495 %t497 = load ptr, ptr %t493 call void @fn_store_at(ptr @.str5820, ptr %t496, ptr %t497) %t498 = call ptr @fn_lbl(ptr @.str5821) store ptr %t498, ptr %t499 %t500 = call ptr @fn_lbl(ptr @.str5822) store ptr %t500, ptr %t501 %t502 = call ptr @fn_lbl(ptr @.str5823) store ptr %t502, ptr %t503 call void @fn_emit(ptr @.str5824) %t504 = load ptr, ptr %t499 call void @fn_emit(ptr %t504) call void @fn_emit(ptr @.str5825) %t505 = load ptr, ptr %t499 call void @fn_emit(ptr %t505) call void @fn_emit(ptr @.str5826) %t506 = load ptr, ptr %t493 %t507 = call ptr @lp_str_concat(ptr @.str5827, ptr %t506) %t508 = call ptr @fn_emit_bind(ptr %t507) store ptr %t508, ptr %t509 %t510 = load ptr, ptr %t509 %t511 = call ptr @lp_str_concat(ptr @.str5828, ptr %t510) %t512 = call ptr @lp_str_concat(ptr %t511, ptr @.str5829) %t513 = load ptr, ptr %t491 %t514 = call ptr @lp_str_concat(ptr %t512, ptr %t513) %t515 = call ptr @fn_emit_bind(ptr %t514) store ptr %t515, ptr %t516 call void @fn_emit(ptr @.str5830) %t517 = load ptr, ptr %t516 call void @fn_emit(ptr %t517) call void @fn_emit(ptr @.str5831) %t518 = load ptr, ptr %t501 call void @fn_emit(ptr %t518) call void @fn_emit(ptr @.str5832) %t519 = load ptr, ptr %t503 call void @fn_emit(ptr %t519) call void @fn_emit(ptr @.str5833) %t520 = load ptr, ptr %t501 call void @fn_emit(ptr %t520) call void @fn_emit(ptr @.str5834) %t521 = load ptr, ptr %t509 %t522 = call ptr @lp_str_concat(ptr @.str5835, ptr %t521) %t523 = call ptr @lp_str_concat(ptr %t522, ptr @.str5836) %t524 = call ptr @fn_emit_bind(ptr %t523) store ptr %t524, ptr %t525 %t526 = load ptr, ptr %t91 %t527 = load ptr, ptr %t87 %t528 = load ptr, ptr %t525 %t529 = call ptr @fn_list_elem_addr(ptr %t526, ptr %t527, ptr %t528) store ptr %t529, ptr %t530 %t531 = load ptr, ptr %t87 %t532 = call ptr @lp_str_concat(ptr @.str5837, ptr %t531) %t533 = call ptr @lp_str_concat(ptr %t532, ptr @.str5838) %t534 = load ptr, ptr %t530 %t535 = call ptr @lp_str_concat(ptr %t533, ptr %t534) %t536 = call ptr @fn_emit_bind(ptr %t535) store ptr %t536, ptr %t537 %t538 = load ptr, ptr %t91 %t539 = load ptr, ptr %t87 %t540 = load ptr, ptr %t509 %t541 = call ptr @fn_list_elem_addr(ptr %t538, ptr %t539, ptr %t540) store ptr %t541, ptr %t542 call void @fn_emit(ptr @.str5839) %t543 = load ptr, ptr %t87 call void @fn_emit(ptr %t543) call void @fn_emit(ptr @.str5840) %t544 = load ptr, ptr %t537 call void @fn_emit(ptr %t544) call void @fn_emit(ptr @.str5841) %t545 = load ptr, ptr %t542 call void @fn_emit(ptr %t545) call void @fn_emit(ptr @.str5842) %t546 = load ptr, ptr %t525 %t547 = load ptr, ptr %t493 call void @fn_store_at(ptr @.str5843, ptr %t546, ptr %t547) call void @fn_emit(ptr @.str5844) %t548 = load ptr, ptr %t499 call void @fn_emit(ptr %t548) call void @fn_emit(ptr @.str5845) %t549 = load ptr, ptr %t503 call void @fn_emit(ptr %t549) call void @fn_emit(ptr @.str5846) call void @fn_emit(ptr @.str5847) %t550 = load ptr, ptr %t491 call void @fn_emit(ptr %t550) call void @fn_emit(ptr @.str5848) %t551 = load ptr, ptr %t94 call void @fn_emit(ptr %t551) call void @fn_emit(ptr @.str5849) %t552 = call ptr @fn_val(ptr @.str5850, ptr @.str5851) store ptr %t552, ptr %retval br label %ret ifend59: %t553 = load ptr, ptr %t0 %t554 = call i32 @lp_str_eq(ptr %t553, ptr @.str5852) %t555 = icmp ne i32 %t554, 0 br i1 %t555, label %then62, label %ifend64 then62: %t556 = load ptr, ptr %t1 %t557 = getelementptr inbounds %Cmp_Node, ptr %t556, i32 0, i32 7 %t558 = load ptr, ptr %t557 %t559 = getelementptr inbounds %LSlice, ptr %t558, i32 0, i32 0 %t560 = load ptr, ptr %t559 %t561 = getelementptr inbounds %LSlice, ptr %t558, i32 0, i32 1 %t562 = load i32, ptr %t561 %t563 = icmp ult i32 1, %t562 br i1 %t563, label %ixok65, label %ixbad66 ixbad66: %t564 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t564, ptr @.fmt_bounds, ptr @.str5853, i32 1, i32 %t562) call void @exit(i32 1) unreachable ixok65: %t565 = getelementptr inbounds ptr, ptr %t560, i32 1 %t566 = load ptr, ptr %t565 %t567 = call ptr @fn_emit_expr(ptr %t566) store ptr %t567, ptr %t568 %t569 = load ptr, ptr %t94 %t570 = call ptr @lp_str_concat(ptr @.str5854, ptr %t569) %t571 = call ptr @fn_emit_bind(ptr %t570) store ptr %t571, ptr %t572 %t573 = call ptr @fn_emit_alloca(ptr @.str5855) store ptr %t573, ptr %t574 %t575 = load ptr, ptr %t574 call void @fn_store_at(ptr @.str5856, ptr @.str5857, ptr %t575) %t576 = call ptr @fn_emit_alloca(ptr @.str5858) store ptr %t576, ptr %t577 %t578 = load ptr, ptr %t577 call void @fn_store_at(ptr @.str5859, ptr @.str5860, ptr %t578) %t579 = call ptr @fn_lbl(ptr @.str5861) store ptr %t579, ptr %t580 %t581 = call ptr @fn_lbl(ptr @.str5862) store ptr %t581, ptr %t582 %t583 = call ptr @fn_lbl(ptr @.str5863) store ptr %t583, ptr %t584 %t585 = call ptr @fn_lbl(ptr @.str5864) store ptr %t585, ptr %t586 %t587 = call ptr @fn_lbl(ptr @.str5865) store ptr %t587, ptr %t588 call void @fn_emit(ptr @.str5866) %t589 = load ptr, ptr %t580 call void @fn_emit(ptr %t589) call void @fn_emit(ptr @.str5867) %t590 = load ptr, ptr %t580 call void @fn_emit(ptr %t590) call void @fn_emit(ptr @.str5868) %t591 = load ptr, ptr %t577 %t592 = call ptr @lp_str_concat(ptr @.str5869, ptr %t591) %t593 = call ptr @fn_emit_bind(ptr %t592) store ptr %t593, ptr %t594 %t595 = load ptr, ptr %t594 %t596 = call ptr @lp_str_concat(ptr @.str5870, ptr %t595) %t597 = call ptr @lp_str_concat(ptr %t596, ptr @.str5871) %t598 = load ptr, ptr %t572 %t599 = call ptr @lp_str_concat(ptr %t597, ptr %t598) %t600 = call ptr @fn_emit_bind(ptr %t599) store ptr %t600, ptr %t601 %t602 = load ptr, ptr %t574 %t603 = call ptr @lp_str_concat(ptr @.str5872, ptr %t602) %t604 = call ptr @fn_emit_bind(ptr %t603) store ptr %t604, ptr %t605 %t606 = load ptr, ptr %t605 %t607 = call ptr @lp_str_concat(ptr @.str5873, ptr %t606) %t608 = call ptr @lp_str_concat(ptr %t607, ptr @.str5874) %t609 = call ptr @fn_emit_bind(ptr %t608) store ptr %t609, ptr %t610 %t611 = load ptr, ptr %t601 %t612 = call ptr @lp_str_concat(ptr @.str5875, ptr %t611) %t613 = call ptr @lp_str_concat(ptr %t612, ptr @.str5876) %t614 = load ptr, ptr %t610 %t615 = call ptr @lp_str_concat(ptr %t613, ptr %t614) %t616 = call ptr @fn_emit_bind(ptr %t615) store ptr %t616, ptr %t617 call void @fn_emit(ptr @.str5877) %t618 = load ptr, ptr %t617 call void @fn_emit(ptr %t618) call void @fn_emit(ptr @.str5878) %t619 = load ptr, ptr %t582 call void @fn_emit(ptr %t619) call void @fn_emit(ptr @.str5879) %t620 = load ptr, ptr %t588 call void @fn_emit(ptr %t620) call void @fn_emit(ptr @.str5880) %t621 = load ptr, ptr %t582 call void @fn_emit(ptr %t621) call void @fn_emit(ptr @.str5881) %t622 = load ptr, ptr %t91 %t623 = load ptr, ptr %t87 %t624 = load ptr, ptr %t594 %t625 = call ptr @fn_list_elem_addr(ptr %t622, ptr %t623, ptr %t624) store ptr %t625, ptr %t626 %t627 = load ptr, ptr %t87 %t628 = call ptr @lp_str_concat(ptr @.str5882, ptr %t627) %t629 = call ptr @lp_str_concat(ptr %t628, ptr @.str5883) %t630 = load ptr, ptr %t626 %t631 = call ptr @lp_str_concat(ptr %t629, ptr %t630) %t632 = call ptr @fn_emit_bind(ptr %t631) store ptr %t632, ptr %t633 %t634 = load ptr, ptr %t87 %t635 = call ptr @lp_str_concat(ptr @.str5884, ptr %t634) %t636 = call ptr @lp_str_concat(ptr %t635, ptr @.str5885) %t637 = load ptr, ptr %t633 %t638 = call ptr @lp_str_concat(ptr %t636, ptr %t637) %t639 = call ptr @lp_str_concat(ptr %t638, ptr @.str5886) %t640 = load ptr, ptr %t568 %t641 = getelementptr inbounds %Cmp_Val, ptr %t640, i32 0, i32 0 %t642 = load ptr, ptr %t641 %t643 = call ptr @lp_str_concat(ptr %t639, ptr %t642) %t644 = call ptr @fn_emit_bind(ptr %t643) store ptr %t644, ptr %t645 call void @fn_emit(ptr @.str5887) %t646 = load ptr, ptr %t645 call void @fn_emit(ptr %t646) call void @fn_emit(ptr @.str5888) %t647 = load ptr, ptr %t584 call void @fn_emit(ptr %t647) call void @fn_emit(ptr @.str5889) %t648 = load ptr, ptr %t586 call void @fn_emit(ptr %t648) call void @fn_emit(ptr @.str5890) %t649 = load ptr, ptr %t584 call void @fn_emit(ptr %t649) call void @fn_emit(ptr @.str5891) %t650 = load ptr, ptr %t594 %t651 = load ptr, ptr %t574 call void @fn_store_at(ptr @.str5892, ptr %t650, ptr %t651) call void @fn_emit(ptr @.str5893) %t652 = load ptr, ptr %t580 call void @fn_emit(ptr %t652) call void @fn_emit(ptr @.str5894) %t653 = load ptr, ptr %t586 call void @fn_emit(ptr %t653) call void @fn_emit(ptr @.str5895) %t654 = load ptr, ptr %t594 %t655 = call ptr @lp_str_concat(ptr @.str5896, ptr %t654) %t656 = call ptr @lp_str_concat(ptr %t655, ptr @.str5897) %t657 = call ptr @fn_emit_bind(ptr %t656) store ptr %t657, ptr %t658 %t659 = load ptr, ptr %t658 %t660 = load ptr, ptr %t577 call void @fn_store_at(ptr @.str5898, ptr %t659, ptr %t660) call void @fn_emit(ptr @.str5899) %t661 = load ptr, ptr %t580 call void @fn_emit(ptr %t661) call void @fn_emit(ptr @.str5900) %t662 = load ptr, ptr %t588 call void @fn_emit(ptr %t662) call void @fn_emit(ptr @.str5901) %t663 = load ptr, ptr %t574 %t664 = call ptr @lp_str_concat(ptr @.str5902, ptr %t663) %t665 = call ptr @fn_emit_bind(ptr %t664) store ptr %t665, ptr %t666 %t667 = load ptr, ptr %t666 %t668 = call ptr @lp_str_concat(ptr @.str5903, ptr %t667) %t669 = call ptr @lp_str_concat(ptr %t668, ptr @.str5904) %t670 = call ptr @fn_emit_bind(ptr %t669) store ptr %t670, ptr %t671 %t672 = call ptr @fn_lbl(ptr @.str5905) store ptr %t672, ptr %t673 %t674 = call ptr @fn_lbl(ptr @.str5906) store ptr %t674, ptr %t675 call void @fn_emit(ptr @.str5907) %t676 = load ptr, ptr %t671 call void @fn_emit(ptr %t676) call void @fn_emit(ptr @.str5908) %t677 = load ptr, ptr %t673 call void @fn_emit(ptr %t677) call void @fn_emit(ptr @.str5909) %t678 = load ptr, ptr %t675 call void @fn_emit(ptr %t678) call void @fn_emit(ptr @.str5910) %t679 = load ptr, ptr %t673 call void @fn_emit(ptr %t679) call void @fn_emit(ptr @.str5911) %t680 = load ptr, ptr %t572 %t681 = call ptr @lp_str_concat(ptr @.str5912, ptr %t680) %t682 = call ptr @lp_str_concat(ptr %t681, ptr @.str5913) %t683 = call ptr @fn_emit_bind(ptr %t682) store ptr %t683, ptr %t684 %t685 = call ptr @fn_emit_alloca(ptr @.str5914) store ptr %t685, ptr %t686 %t687 = load ptr, ptr %t666 %t688 = load ptr, ptr %t686 call void @fn_store_at(ptr @.str5915, ptr %t687, ptr %t688) %t689 = call ptr @fn_lbl(ptr @.str5916) store ptr %t689, ptr %t690 %t691 = call ptr @fn_lbl(ptr @.str5917) store ptr %t691, ptr %t692 %t693 = call ptr @fn_lbl(ptr @.str5918) store ptr %t693, ptr %t694 call void @fn_emit(ptr @.str5919) %t695 = load ptr, ptr %t690 call void @fn_emit(ptr %t695) call void @fn_emit(ptr @.str5920) %t696 = load ptr, ptr %t690 call void @fn_emit(ptr %t696) call void @fn_emit(ptr @.str5921) %t697 = load ptr, ptr %t686 %t698 = call ptr @lp_str_concat(ptr @.str5922, ptr %t697) %t699 = call ptr @fn_emit_bind(ptr %t698) store ptr %t699, ptr %t700 %t701 = load ptr, ptr %t700 %t702 = call ptr @lp_str_concat(ptr @.str5923, ptr %t701) %t703 = call ptr @lp_str_concat(ptr %t702, ptr @.str5924) %t704 = load ptr, ptr %t684 %t705 = call ptr @lp_str_concat(ptr %t703, ptr %t704) %t706 = call ptr @fn_emit_bind(ptr %t705) store ptr %t706, ptr %t707 call void @fn_emit(ptr @.str5925) %t708 = load ptr, ptr %t707 call void @fn_emit(ptr %t708) call void @fn_emit(ptr @.str5926) %t709 = load ptr, ptr %t692 call void @fn_emit(ptr %t709) call void @fn_emit(ptr @.str5927) %t710 = load ptr, ptr %t694 call void @fn_emit(ptr %t710) call void @fn_emit(ptr @.str5928) %t711 = load ptr, ptr %t692 call void @fn_emit(ptr %t711) call void @fn_emit(ptr @.str5929) %t712 = load ptr, ptr %t700 %t713 = call ptr @lp_str_concat(ptr @.str5930, ptr %t712) %t714 = call ptr @lp_str_concat(ptr %t713, ptr @.str5931) %t715 = call ptr @fn_emit_bind(ptr %t714) store ptr %t715, ptr %t716 %t717 = load ptr, ptr %t91 %t718 = load ptr, ptr %t87 %t719 = load ptr, ptr %t716 %t720 = call ptr @fn_list_elem_addr(ptr %t717, ptr %t718, ptr %t719) store ptr %t720, ptr %t721 %t722 = load ptr, ptr %t87 %t723 = call ptr @lp_str_concat(ptr @.str5932, ptr %t722) %t724 = call ptr @lp_str_concat(ptr %t723, ptr @.str5933) %t725 = load ptr, ptr %t721 %t726 = call ptr @lp_str_concat(ptr %t724, ptr %t725) %t727 = call ptr @fn_emit_bind(ptr %t726) store ptr %t727, ptr %t728 %t729 = load ptr, ptr %t91 %t730 = load ptr, ptr %t87 %t731 = load ptr, ptr %t700 %t732 = call ptr @fn_list_elem_addr(ptr %t729, ptr %t730, ptr %t731) store ptr %t732, ptr %t733 call void @fn_emit(ptr @.str5934) %t734 = load ptr, ptr %t87 call void @fn_emit(ptr %t734) call void @fn_emit(ptr @.str5935) %t735 = load ptr, ptr %t728 call void @fn_emit(ptr %t735) call void @fn_emit(ptr @.str5936) %t736 = load ptr, ptr %t733 call void @fn_emit(ptr %t736) call void @fn_emit(ptr @.str5937) %t737 = load ptr, ptr %t716 %t738 = load ptr, ptr %t686 call void @fn_store_at(ptr @.str5938, ptr %t737, ptr %t738) call void @fn_emit(ptr @.str5939) %t739 = load ptr, ptr %t690 call void @fn_emit(ptr %t739) call void @fn_emit(ptr @.str5940) %t740 = load ptr, ptr %t694 call void @fn_emit(ptr %t740) call void @fn_emit(ptr @.str5941) call void @fn_emit(ptr @.str5942) %t741 = load ptr, ptr %t684 call void @fn_emit(ptr %t741) call void @fn_emit(ptr @.str5943) %t742 = load ptr, ptr %t94 call void @fn_emit(ptr %t742) call void @fn_emit(ptr @.str5944) call void @fn_emit(ptr @.str5945) %t743 = load ptr, ptr %t675 call void @fn_emit(ptr %t743) call void @fn_emit(ptr @.str5946) %t744 = load ptr, ptr %t675 call void @fn_emit(ptr %t744) call void @fn_emit(ptr @.str5947) %t745 = call ptr @fn_val(ptr @.str5948, ptr @.str5949) store ptr %t745, ptr %retval br label %ret ifend64: %t746 = load ptr, ptr %t0 %t747 = call i32 @lp_str_eq(ptr %t746, ptr @.str5950) %t748 = icmp ne i32 %t747, 0 br i1 %t748, label %then67, label %ifend69 then67: %t749 = load ptr, ptr %t94 %t750 = call ptr @lp_str_concat(ptr @.str5951, ptr %t749) %t751 = call ptr @fn_emit_bind(ptr %t750) store ptr %t751, ptr %t752 %t753 = load ptr, ptr %t752 %t754 = call ptr @lp_str_concat(ptr @.str5952, ptr %t753) %t755 = call ptr @lp_str_concat(ptr %t754, ptr @.str5953) %t756 = call ptr @fn_emit_bind(ptr %t755) store ptr %t756, ptr %t757 %t758 = call ptr @fn_lbl(ptr @.str5954) store ptr %t758, ptr %t759 %t760 = call ptr @fn_lbl(ptr @.str5955) store ptr %t760, ptr %t761 %t762 = call ptr @fn_lbl(ptr @.str5956) store ptr %t762, ptr %t763 call void @fn_emit(ptr @.str5957) %t764 = load ptr, ptr %t757 call void @fn_emit(ptr %t764) call void @fn_emit(ptr @.str5958) %t765 = load ptr, ptr %t759 call void @fn_emit(ptr %t765) call void @fn_emit(ptr @.str5959) %t766 = load ptr, ptr %t761 call void @fn_emit(ptr %t766) call void @fn_emit(ptr @.str5960) %t767 = load ptr, ptr %t759 call void @fn_emit(ptr %t767) call void @fn_emit(ptr @.str5961) %t768 = load ptr, ptr %t94 %t769 = call ptr @lp_str_concat(ptr @.str5962, ptr %t768) %t770 = call ptr @fn_emit_bind(ptr %t769) store ptr %t770, ptr %t771 %t772 = call ptr @fn_emit_alloca(ptr @.str5963) store ptr %t772, ptr %t773 %t774 = load ptr, ptr %t773 call void @fn_store_at(ptr @.str5964, ptr @.str5965, ptr %t774) %t775 = call ptr @fn_lbl(ptr @.str5966) store ptr %t775, ptr %t776 %t777 = call ptr @fn_lbl(ptr @.str5967) store ptr %t777, ptr %t778 %t779 = call ptr @fn_lbl(ptr @.str5968) store ptr %t779, ptr %t780 call void @fn_emit(ptr @.str5969) %t781 = load ptr, ptr %t776 call void @fn_emit(ptr %t781) call void @fn_emit(ptr @.str5970) %t782 = load ptr, ptr %t776 call void @fn_emit(ptr %t782) call void @fn_emit(ptr @.str5971) %t783 = load ptr, ptr %t773 %t784 = call ptr @lp_str_concat(ptr @.str5972, ptr %t783) %t785 = call ptr @fn_emit_bind(ptr %t784) store ptr %t785, ptr %t786 %t787 = load ptr, ptr %t786 %t788 = call ptr @lp_str_concat(ptr @.str5973, ptr %t787) %t789 = call ptr @lp_str_concat(ptr %t788, ptr @.str5974) %t790 = load ptr, ptr %t771 %t791 = call ptr @lp_str_concat(ptr %t789, ptr %t790) %t792 = call ptr @fn_emit_bind(ptr %t791) store ptr %t792, ptr %t793 call void @fn_emit(ptr @.str5975) %t794 = load ptr, ptr %t793 call void @fn_emit(ptr %t794) call void @fn_emit(ptr @.str5976) %t795 = load ptr, ptr %t778 call void @fn_emit(ptr %t795) call void @fn_emit(ptr @.str5977) %t796 = load ptr, ptr %t780 call void @fn_emit(ptr %t796) call void @fn_emit(ptr @.str5978) %t797 = load ptr, ptr %t778 call void @fn_emit(ptr %t797) call void @fn_emit(ptr @.str5979) %t798 = load ptr, ptr %t91 %t799 = load ptr, ptr %t87 %t800 = load ptr, ptr %t786 %t801 = call ptr @fn_list_elem_addr(ptr %t798, ptr %t799, ptr %t800) store ptr %t801, ptr %t802 %t803 = load ptr, ptr %t87 %t804 = call ptr @lp_str_concat(ptr @.str5980, ptr %t803) %t805 = call ptr @lp_str_concat(ptr %t804, ptr @.str5981) %t806 = load ptr, ptr %t802 %t807 = call ptr @lp_str_concat(ptr %t805, ptr %t806) %t808 = call ptr @fn_emit_bind(ptr %t807) store ptr %t808, ptr %t809 %t810 = call ptr @fn_emit_alloca(ptr @.str5982) store ptr %t810, ptr %t811 %t812 = load ptr, ptr %t786 %t813 = call ptr @lp_str_concat(ptr @.str5983, ptr %t812) %t814 = call ptr @lp_str_concat(ptr %t813, ptr @.str5984) %t815 = call ptr @fn_emit_bind(ptr %t814) store ptr %t815, ptr %t816 %t817 = load ptr, ptr %t816 %t818 = load ptr, ptr %t811 call void @fn_store_at(ptr @.str5985, ptr %t817, ptr %t818) %t819 = call ptr @fn_lbl(ptr @.str5986) store ptr %t819, ptr %t820 %t821 = call ptr @fn_lbl(ptr @.str5987) store ptr %t821, ptr %t822 %t823 = call ptr @fn_lbl(ptr @.str5988) store ptr %t823, ptr %t824 call void @fn_emit(ptr @.str5989) %t825 = load ptr, ptr %t820 call void @fn_emit(ptr %t825) call void @fn_emit(ptr @.str5990) %t826 = load ptr, ptr %t820 call void @fn_emit(ptr %t826) call void @fn_emit(ptr @.str5991) %t827 = load ptr, ptr %t811 %t828 = call ptr @lp_str_concat(ptr @.str5992, ptr %t827) %t829 = call ptr @fn_emit_bind(ptr %t828) store ptr %t829, ptr %t830 %t831 = load ptr, ptr %t830 %t832 = call ptr @lp_str_concat(ptr @.str5993, ptr %t831) %t833 = call ptr @lp_str_concat(ptr %t832, ptr @.str5994) %t834 = call ptr @fn_emit_bind(ptr %t833) store ptr %t834, ptr %t835 %t836 = load ptr, ptr %t91 %t837 = load ptr, ptr %t87 %t838 = load ptr, ptr %t830 %t839 = call ptr @fn_list_elem_addr(ptr %t836, ptr %t837, ptr %t838) store ptr %t839, ptr %t840 %t841 = load ptr, ptr %t87 %t842 = call ptr @lp_str_concat(ptr @.str5995, ptr %t841) %t843 = call ptr @lp_str_concat(ptr %t842, ptr @.str5996) %t844 = load ptr, ptr %t840 %t845 = call ptr @lp_str_concat(ptr %t843, ptr %t844) %t846 = call ptr @fn_emit_bind(ptr %t845) store ptr %t846, ptr %t847 %t848 = load ptr, ptr %t87 %t849 = call ptr @lp_str_concat(ptr @.str5997, ptr %t848) %t850 = call ptr @lp_str_concat(ptr %t849, ptr @.str5998) %t851 = load ptr, ptr %t847 %t852 = call ptr @lp_str_concat(ptr %t850, ptr %t851) %t853 = call ptr @lp_str_concat(ptr %t852, ptr @.str5999) %t854 = load ptr, ptr %t809 %t855 = call ptr @lp_str_concat(ptr %t853, ptr %t854) %t856 = call ptr @fn_emit_bind(ptr %t855) store ptr %t856, ptr %t857 %t858 = load ptr, ptr %t835 %t859 = call ptr @lp_str_concat(ptr @.str6000, ptr %t858) %t860 = call ptr @lp_str_concat(ptr %t859, ptr @.str6001) %t861 = load ptr, ptr %t857 %t862 = call ptr @lp_str_concat(ptr %t860, ptr %t861) %t863 = call ptr @fn_emit_bind(ptr %t862) store ptr %t863, ptr %t864 call void @fn_emit(ptr @.str6002) %t865 = load ptr, ptr %t864 call void @fn_emit(ptr %t865) call void @fn_emit(ptr @.str6003) %t866 = load ptr, ptr %t822 call void @fn_emit(ptr %t866) call void @fn_emit(ptr @.str6004) %t867 = load ptr, ptr %t824 call void @fn_emit(ptr %t867) call void @fn_emit(ptr @.str6005) %t868 = load ptr, ptr %t822 call void @fn_emit(ptr %t868) call void @fn_emit(ptr @.str6006) %t869 = load ptr, ptr %t830 %t870 = call ptr @lp_str_concat(ptr @.str6007, ptr %t869) %t871 = call ptr @lp_str_concat(ptr %t870, ptr @.str6008) %t872 = call ptr @fn_emit_bind(ptr %t871) store ptr %t872, ptr %t873 %t874 = load ptr, ptr %t91 %t875 = load ptr, ptr %t87 %t876 = load ptr, ptr %t873 %t877 = call ptr @fn_list_elem_addr(ptr %t874, ptr %t875, ptr %t876) store ptr %t877, ptr %t878 call void @fn_emit(ptr @.str6009) %t879 = load ptr, ptr %t87 call void @fn_emit(ptr %t879) call void @fn_emit(ptr @.str6010) %t880 = load ptr, ptr %t847 call void @fn_emit(ptr %t880) call void @fn_emit(ptr @.str6011) %t881 = load ptr, ptr %t878 call void @fn_emit(ptr %t881) call void @fn_emit(ptr @.str6012) %t882 = load ptr, ptr %t830 %t883 = call ptr @lp_str_concat(ptr @.str6013, ptr %t882) %t884 = call ptr @lp_str_concat(ptr %t883, ptr @.str6014) %t885 = call ptr @fn_emit_bind(ptr %t884) store ptr %t885, ptr %t886 %t887 = load ptr, ptr %t886 %t888 = load ptr, ptr %t811 call void @fn_store_at(ptr @.str6015, ptr %t887, ptr %t888) call void @fn_emit(ptr @.str6016) %t889 = load ptr, ptr %t820 call void @fn_emit(ptr %t889) call void @fn_emit(ptr @.str6017) %t890 = load ptr, ptr %t824 call void @fn_emit(ptr %t890) call void @fn_emit(ptr @.str6018) %t891 = load ptr, ptr %t811 %t892 = call ptr @lp_str_concat(ptr @.str6019, ptr %t891) %t893 = call ptr @fn_emit_bind(ptr %t892) store ptr %t893, ptr %t894 %t895 = load ptr, ptr %t894 %t896 = call ptr @lp_str_concat(ptr @.str6020, ptr %t895) %t897 = call ptr @lp_str_concat(ptr %t896, ptr @.str6021) %t898 = call ptr @fn_emit_bind(ptr %t897) store ptr %t898, ptr %t899 %t900 = load ptr, ptr %t91 %t901 = load ptr, ptr %t87 %t902 = load ptr, ptr %t899 %t903 = call ptr @fn_list_elem_addr(ptr %t900, ptr %t901, ptr %t902) store ptr %t903, ptr %t904 call void @fn_emit(ptr @.str6022) %t905 = load ptr, ptr %t87 call void @fn_emit(ptr %t905) call void @fn_emit(ptr @.str6023) %t906 = load ptr, ptr %t809 call void @fn_emit(ptr %t906) call void @fn_emit(ptr @.str6024) %t907 = load ptr, ptr %t904 call void @fn_emit(ptr %t907) call void @fn_emit(ptr @.str6025) %t908 = load ptr, ptr %t786 %t909 = call ptr @lp_str_concat(ptr @.str6026, ptr %t908) %t910 = call ptr @lp_str_concat(ptr %t909, ptr @.str6027) %t911 = call ptr @fn_emit_bind(ptr %t910) store ptr %t911, ptr %t912 %t913 = load ptr, ptr %t912 %t914 = load ptr, ptr %t773 call void @fn_store_at(ptr @.str6028, ptr %t913, ptr %t914) call void @fn_emit(ptr @.str6029) %t915 = load ptr, ptr %t776 call void @fn_emit(ptr %t915) call void @fn_emit(ptr @.str6030) %t916 = load ptr, ptr %t780 call void @fn_emit(ptr %t916) call void @fn_emit(ptr @.str6031) call void @fn_emit(ptr @.str6032) %t917 = load ptr, ptr %t763 call void @fn_emit(ptr %t917) call void @fn_emit(ptr @.str6033) %t918 = load ptr, ptr %t761 call void @fn_emit(ptr %t918) call void @fn_emit(ptr @.str6034) %t919 = load ptr, ptr %t91 %t920 = load ptr, ptr %t87 call void @fn_emit_merge_sort(ptr %t919, ptr %t920, i32 3, ptr @.str6035, ptr @.str6036) call void @fn_emit(ptr @.str6037) %t921 = load ptr, ptr %t763 call void @fn_emit(ptr %t921) call void @fn_emit(ptr @.str6038) %t922 = load ptr, ptr %t763 call void @fn_emit(ptr %t922) call void @fn_emit(ptr @.str6039) %t923 = call ptr @fn_val(ptr @.str6040, ptr @.str6041) store ptr %t923, ptr %retval br label %ret ifend69: %t924 = load ptr, ptr %t0 %t925 = call i32 @lp_str_eq(ptr %t924, ptr @.str6042) %t926 = icmp ne i32 %t925, 0 br i1 %t926, label %then70, label %ifend72 then70: %t927 = load ptr, ptr %t0 %t928 = load ptr, ptr %t1 %t929 = call ptr @fn_sort_fn_arg(ptr %t927, ptr %t928) store ptr %t929, ptr %t930 %t931 = load ptr, ptr %t930 %t932 = call ptr @fn_find_fn(ptr %t931) %t933 = call ptr @fn_param_types(ptr %t932) %t934 = getelementptr inbounds %LSlice, ptr %t933, i32 0, i32 1 %t935 = load i32, ptr %t934 %t936 = icmp ne i32 %t935, 2 %t937 = zext i1 %t936 to i32 %t938 = icmp ne i32 %t937, 0 br i1 %t938, label %then73, label %ifend75 then73: %t939 = load ptr, ptr %t930 %t940 = call ptr @lp_str_concat(ptr @.str6043, ptr %t939) %t941 = call ptr @lp_str_concat(ptr %t940, ptr @.str6044) call void @fn_perr(ptr %t941) br label %ifend75 ifend75: %t942 = load ptr, ptr %t91 %t943 = load ptr, ptr %t87 %t944 = load ptr, ptr %t930 call void @fn_emit_merge_sort(ptr %t942, ptr %t943, i32 0, ptr %t944, ptr @.str6045) %t945 = call ptr @fn_val(ptr @.str6046, ptr @.str6047) store ptr %t945, ptr %retval br label %ret ifend72: %t947 = load ptr, ptr %t0 %t948 = call i32 @lp_str_eq(ptr %t947, ptr @.str6048) %t949 = icmp ne i32 %t948, 0 %t950 = zext i1 %t949 to i32 store i32 %t950, ptr %t946 br i1 %t949, label %scend77, label %sc76 sc76: %t951 = load ptr, ptr %t0 %t952 = call i32 @lp_str_eq(ptr %t951, ptr @.str6049) %t953 = icmp ne i32 %t952, 0 %t954 = zext i1 %t953 to i32 store i32 %t954, ptr %t946 br label %scend77 scend77: %t955 = load i32, ptr %t946 %t956 = icmp ne i32 %t955, 0 br i1 %t956, label %then78, label %ifend80 then78: %t957 = load ptr, ptr %t0 %t958 = load ptr, ptr %t1 %t959 = call ptr @fn_sort_fn_arg(ptr %t957, ptr %t958) store ptr %t959, ptr %t960 %t961 = load ptr, ptr %t960 %t962 = call ptr @fn_find_fn(ptr %t961) store ptr %t962, ptr %t963 %t964 = load ptr, ptr %t963 %t965 = call ptr @fn_param_types(ptr %t964) %t966 = getelementptr inbounds %LSlice, ptr %t965, i32 0, i32 1 %t967 = load i32, ptr %t966 %t968 = icmp ne i32 %t967, 1 %t969 = zext i1 %t968 to i32 %t970 = icmp ne i32 %t969, 0 br i1 %t970, label %then81, label %ifend83 then81: %t971 = load ptr, ptr %t0 %t972 = call ptr @lp_str_concat(ptr @.str6050, ptr %t971) %t973 = call ptr @lp_str_concat(ptr %t972, ptr @.str6051) %t974 = load ptr, ptr %t960 %t975 = call ptr @lp_str_concat(ptr %t973, ptr %t974) %t976 = call ptr @lp_str_concat(ptr %t975, ptr @.str6052) call void @fn_perr(ptr %t976) br label %ifend83 ifend83: %t977 = load ptr, ptr %t963 %t978 = getelementptr inbounds %Cmp_Node, ptr %t977, i32 0, i32 3 %t979 = load ptr, ptr %t978 %t980 = call ptr @fn_llty(ptr %t979) store ptr %t980, ptr %t981 %t983 = load ptr, ptr %t981 %t984 = call i32 @lp_str_eq(ptr %t983, ptr @.str6053) %t985 = icmp ne i32 %t984, 0 %t986 = zext i1 %t985 to i32 store i32 %t986, ptr %t982 br i1 %t985, label %scend85, label %sc84 sc84: %t987 = load ptr, ptr %t981 %t988 = call i32 @lp_str_eq(ptr %t987, ptr @.str6054) %t989 = icmp ne i32 %t988, 0 %t990 = zext i1 %t989 to i32 store i32 %t990, ptr %t982 br label %scend85 scend85: %t991 = load i32, ptr %t982 %t992 = icmp ne i32 %t991, 0 br i1 %t992, label %then86, label %ifend88 then86: %t993 = load ptr, ptr %t0 %t994 = call ptr @lp_str_concat(ptr @.str6055, ptr %t993) %t995 = call ptr @lp_str_concat(ptr %t994, ptr @.str6056) %t996 = load ptr, ptr %t960 %t997 = call ptr @lp_str_concat(ptr %t995, ptr %t996) %t998 = call ptr @lp_str_concat(ptr %t997, ptr @.str6057) call void @fn_perr(ptr %t998) br label %ifend88 ifend88: store i32 1, ptr %t999 %t1000 = load ptr, ptr %t0 %t1001 = call i32 @lp_str_eq(ptr %t1000, ptr @.str6058) %t1002 = icmp ne i32 %t1001, 0 br i1 %t1002, label %then89, label %ifend91 then89: store i32 2, ptr %t999 br label %ifend91 ifend91: %t1003 = load ptr, ptr %t91 %t1004 = load ptr, ptr %t87 %t1005 = load i32, ptr %t999 %t1006 = load ptr, ptr %t960 %t1007 = load ptr, ptr %t981 call void @fn_emit_merge_sort(ptr %t1003, ptr %t1004, i32 %t1005, ptr %t1006, ptr %t1007) %t1008 = call ptr @fn_val(ptr @.str6059, ptr @.str6060) store ptr %t1008, ptr %retval br label %ret ifend80: %t1009 = load ptr, ptr %t94 %t1010 = call ptr @lp_str_concat(ptr @.str6061, ptr %t1009) %t1011 = call ptr @fn_emit_bind(ptr %t1010) store ptr %t1011, ptr %t1012 %t1013 = call ptr @fn_emit_alloca(ptr @.str6062) store ptr %t1013, ptr %t1014 %t1015 = load ptr, ptr %t1014 call void @fn_store_at(ptr @.str6063, ptr @.str6064, ptr %t1015) %t1016 = call ptr @fn_emit_alloca(ptr @.str6065) store ptr %t1016, ptr %t1017 %t1018 = load ptr, ptr %t1012 %t1019 = call ptr @lp_str_concat(ptr @.str6066, ptr %t1018) %t1020 = call ptr @lp_str_concat(ptr %t1019, ptr @.str6067) %t1021 = call ptr @fn_emit_bind(ptr %t1020) store ptr %t1021, ptr %t1022 %t1023 = load ptr, ptr %t1022 %t1024 = load ptr, ptr %t1017 call void @fn_store_at(ptr @.str6068, ptr %t1023, ptr %t1024) %t1025 = call ptr @fn_lbl(ptr @.str6069) store ptr %t1025, ptr %t1026 %t1027 = call ptr @fn_lbl(ptr @.str6070) store ptr %t1027, ptr %t1028 %t1029 = call ptr @fn_lbl(ptr @.str6071) store ptr %t1029, ptr %t1030 call void @fn_emit(ptr @.str6072) %t1031 = load ptr, ptr %t1026 call void @fn_emit(ptr %t1031) call void @fn_emit(ptr @.str6073) %t1032 = load ptr, ptr %t1026 call void @fn_emit(ptr %t1032) call void @fn_emit(ptr @.str6074) %t1033 = load ptr, ptr %t1014 %t1034 = call ptr @lp_str_concat(ptr @.str6075, ptr %t1033) %t1035 = call ptr @fn_emit_bind(ptr %t1034) store ptr %t1035, ptr %t1036 %t1037 = load ptr, ptr %t1017 %t1038 = call ptr @lp_str_concat(ptr @.str6076, ptr %t1037) %t1039 = call ptr @fn_emit_bind(ptr %t1038) store ptr %t1039, ptr %t1040 %t1041 = load ptr, ptr %t1036 %t1042 = call ptr @lp_str_concat(ptr @.str6077, ptr %t1041) %t1043 = call ptr @lp_str_concat(ptr %t1042, ptr @.str6078) %t1044 = load ptr, ptr %t1040 %t1045 = call ptr @lp_str_concat(ptr %t1043, ptr %t1044) %t1046 = call ptr @fn_emit_bind(ptr %t1045) store ptr %t1046, ptr %t1047 call void @fn_emit(ptr @.str6079) %t1048 = load ptr, ptr %t1047 call void @fn_emit(ptr %t1048) call void @fn_emit(ptr @.str6080) %t1049 = load ptr, ptr %t1028 call void @fn_emit(ptr %t1049) call void @fn_emit(ptr @.str6081) %t1050 = load ptr, ptr %t1030 call void @fn_emit(ptr %t1050) call void @fn_emit(ptr @.str6082) %t1051 = load ptr, ptr %t1028 call void @fn_emit(ptr %t1051) call void @fn_emit(ptr @.str6083) %t1052 = load ptr, ptr %t91 %t1053 = load ptr, ptr %t87 %t1054 = load ptr, ptr %t1036 %t1055 = call ptr @fn_list_elem_addr(ptr %t1052, ptr %t1053, ptr %t1054) store ptr %t1055, ptr %t1056 %t1057 = load ptr, ptr %t91 %t1058 = load ptr, ptr %t87 %t1059 = load ptr, ptr %t1040 %t1060 = call ptr @fn_list_elem_addr(ptr %t1057, ptr %t1058, ptr %t1059) store ptr %t1060, ptr %t1061 %t1062 = load ptr, ptr %t87 %t1063 = call ptr @lp_str_concat(ptr @.str6084, ptr %t1062) %t1064 = call ptr @lp_str_concat(ptr %t1063, ptr @.str6085) %t1065 = load ptr, ptr %t1056 %t1066 = call ptr @lp_str_concat(ptr %t1064, ptr %t1065) %t1067 = call ptr @fn_emit_bind(ptr %t1066) store ptr %t1067, ptr %t1068 %t1069 = load ptr, ptr %t87 %t1070 = call ptr @lp_str_concat(ptr @.str6086, ptr %t1069) %t1071 = call ptr @lp_str_concat(ptr %t1070, ptr @.str6087) %t1072 = load ptr, ptr %t1061 %t1073 = call ptr @lp_str_concat(ptr %t1071, ptr %t1072) %t1074 = call ptr @fn_emit_bind(ptr %t1073) store ptr %t1074, ptr %t1075 call void @fn_emit(ptr @.str6088) %t1076 = load ptr, ptr %t87 call void @fn_emit(ptr %t1076) call void @fn_emit(ptr @.str6089) %t1077 = load ptr, ptr %t1075 call void @fn_emit(ptr %t1077) call void @fn_emit(ptr @.str6090) %t1078 = load ptr, ptr %t1056 call void @fn_emit(ptr %t1078) call void @fn_emit(ptr @.str6091) call void @fn_emit(ptr @.str6092) %t1079 = load ptr, ptr %t87 call void @fn_emit(ptr %t1079) call void @fn_emit(ptr @.str6093) %t1080 = load ptr, ptr %t1068 call void @fn_emit(ptr %t1080) call void @fn_emit(ptr @.str6094) %t1081 = load ptr, ptr %t1061 call void @fn_emit(ptr %t1081) call void @fn_emit(ptr @.str6095) %t1082 = load ptr, ptr %t1036 %t1083 = call ptr @lp_str_concat(ptr @.str6096, ptr %t1082) %t1084 = call ptr @lp_str_concat(ptr %t1083, ptr @.str6097) %t1085 = call ptr @fn_emit_bind(ptr %t1084) store ptr %t1085, ptr %t1086 %t1087 = load ptr, ptr %t1086 %t1088 = load ptr, ptr %t1014 call void @fn_store_at(ptr @.str6098, ptr %t1087, ptr %t1088) %t1089 = load ptr, ptr %t1040 %t1090 = call ptr @lp_str_concat(ptr @.str6099, ptr %t1089) %t1091 = call ptr @lp_str_concat(ptr %t1090, ptr @.str6100) %t1092 = call ptr @fn_emit_bind(ptr %t1091) store ptr %t1092, ptr %t1093 %t1094 = load ptr, ptr %t1093 %t1095 = load ptr, ptr %t1017 call void @fn_store_at(ptr @.str6101, ptr %t1094, ptr %t1095) call void @fn_emit(ptr @.str6102) %t1096 = load ptr, ptr %t1026 call void @fn_emit(ptr %t1096) call void @fn_emit(ptr @.str6103) %t1097 = load ptr, ptr %t1030 call void @fn_emit(ptr %t1097) call void @fn_emit(ptr @.str6104) %t1098 = call ptr @fn_val(ptr @.str6105, ptr @.str6106) store ptr %t1098, ptr %retval br label %ret ret: %t1099 = load ptr, ptr %retval ret ptr %t1099 } define i32 @fn_is_ease_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t20 = alloca i32 %t21 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str6107) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6108) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str6109) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str6110) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t21 br i1 %t24, label %scend8, label %sc7 sc7: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str6111) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t21 br label %scend8 scend8: %t30 = load i32, ptr %t21 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t20 br i1 %t31, label %scend10, label %sc9 sc9: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str6112) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t20 br label %scend10 scend10: %t37 = load i32, ptr %t20 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then11, label %ifend13 then11: store i32 1, ptr %retval br label %ret ifend13: store i32 0, ptr %retval br label %ret ret: %t39 = load i32, ptr %retval ret i32 %t39 } define ptr @fn_ease_bounce_seg(ptr %arg_u) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca ptr store ptr %arg_u, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call ptr @fn_fx_mul_code(ptr %t1, ptr %t2) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 %t6 = call ptr @fn_fx_mul_code(ptr %t5, ptr @.str6113) store ptr %t6, ptr %retval br label %ret ret: %t7 = load ptr, ptr %retval ret ptr %t7 } define ptr @fn_ease_bounce_code(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t8 = alloca ptr %t11 = alloca ptr %t16 = alloca ptr %t21 = alloca ptr %t24 = alloca ptr %t29 = alloca ptr %t34 = alloca ptr %t37 = alloca ptr %t42 = alloca ptr %t47 = alloca ptr %t57 = alloca ptr %t62 = alloca ptr %t72 = alloca ptr %t77 = alloca ptr store ptr %arg_t, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_ease_bounce_seg(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = call ptr @lp_str_concat(ptr @.str6114, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str6115) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 %t9 = load ptr, ptr %t8 %t10 = call ptr @fn_ease_bounce_seg(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t11 %t13 = call ptr @lp_str_concat(ptr @.str6116, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str6117) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t0 %t18 = call ptr @lp_str_concat(ptr @.str6118, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str6119) %t20 = call ptr @fn_emit_bind(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t21 %t23 = call ptr @fn_ease_bounce_seg(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str6120, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6121) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t0 %t31 = call ptr @lp_str_concat(ptr @.str6122, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str6123) %t33 = call ptr @fn_emit_bind(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = call ptr @fn_ease_bounce_seg(ptr %t35) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 %t39 = call ptr @lp_str_concat(ptr @.str6124, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str6125) %t41 = call ptr @fn_emit_bind(ptr %t40) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t0 %t44 = call ptr @lp_str_concat(ptr @.str6126, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str6127) %t46 = call ptr @fn_emit_bind(ptr %t45) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 %t49 = call ptr @lp_str_concat(ptr @.str6128, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str6129) %t51 = load ptr, ptr %t29 %t52 = call ptr @lp_str_concat(ptr %t50, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str6130) %t54 = load ptr, ptr %t42 %t55 = call ptr @lp_str_concat(ptr %t53, ptr %t54) %t56 = call ptr @fn_emit_bind(ptr %t55) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t0 %t59 = call ptr @lp_str_concat(ptr @.str6131, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str6132) %t61 = call ptr @fn_emit_bind(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t62 %t64 = call ptr @lp_str_concat(ptr @.str6133, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str6134) %t66 = load ptr, ptr %t16 %t67 = call ptr @lp_str_concat(ptr %t65, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str6135) %t69 = load ptr, ptr %t57 %t70 = call ptr @lp_str_concat(ptr %t68, ptr %t69) %t71 = call ptr @fn_emit_bind(ptr %t70) store ptr %t71, ptr %t72 %t73 = load ptr, ptr %t0 %t74 = call ptr @lp_str_concat(ptr @.str6136, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str6137) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %t77 %t78 = load ptr, ptr %t77 %t79 = call ptr @lp_str_concat(ptr @.str6138, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str6139) %t81 = load ptr, ptr %t3 %t82 = call ptr @lp_str_concat(ptr %t80, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str6140) %t84 = load ptr, ptr %t72 %t85 = call ptr @lp_str_concat(ptr %t83, ptr %t84) %t86 = call ptr @fn_emit_bind(ptr %t85) store ptr %t86, ptr %retval br label %ret ret: %t87 = load ptr, ptr %retval ret ptr %t87 } define ptr @fn_ease_eval(i32 %arg_mode, ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca i32 %t1 = alloca ptr %t21 = alloca ptr %t32 = alloca ptr %t36 = alloca ptr %t41 = alloca ptr %t46 = alloca ptr %t60 = alloca ptr %t64 = alloca ptr %t67 = alloca ptr %t70 = alloca ptr %t85 = alloca ptr %t89 = alloca ptr %t94 = alloca ptr %t99 = alloca ptr %t102 = alloca ptr %t107 = alloca ptr %t111 = alloca ptr store i32 %arg_mode, ptr %t0 store ptr %arg_t, ptr %t1 %t2 = load i32, ptr %t0 %t3 = icmp eq i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t1 store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load i32, ptr %t0 %t8 = icmp eq i32 %t7, 1 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: %t11 = load ptr, ptr %t1 %t12 = load ptr, ptr %t1 %t13 = call ptr @fn_fx_mul_code(ptr %t11, ptr %t12) store ptr %t13, ptr %retval br label %ret ifend5: %t14 = load i32, ptr %t0 %t15 = icmp eq i32 %t14, 2 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then6, label %ifend8 then6: %t18 = load ptr, ptr %t1 %t19 = call ptr @lp_str_concat(ptr @.str6141, ptr %t18) %t20 = call ptr @fn_emit_bind(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t1 %t23 = load ptr, ptr %t21 %t24 = call ptr @fn_fx_mul_code(ptr %t22, ptr %t23) store ptr %t24, ptr %retval br label %ret ifend8: %t25 = load i32, ptr %t0 %t26 = icmp eq i32 %t25, 3 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then9, label %ifend11 then9: %t29 = load ptr, ptr %t1 %t30 = load ptr, ptr %t1 %t31 = call ptr @fn_fx_mul_code(ptr %t29, ptr %t30) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t32 %t34 = load ptr, ptr %t1 %t35 = call ptr @fn_fx_mul_code(ptr %t33, ptr %t34) store ptr %t35, ptr %t36 %t37 = load ptr, ptr %t32 %t38 = call ptr @lp_str_concat(ptr @.str6142, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str6143) %t40 = call ptr @fn_emit_bind(ptr %t39) store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t36 %t43 = call ptr @lp_str_concat(ptr @.str6144, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str6145) %t45 = call ptr @fn_emit_bind(ptr %t44) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t41 %t48 = call ptr @lp_str_concat(ptr @.str6146, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str6147) %t50 = load ptr, ptr %t46 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) %t52 = call ptr @fn_emit_bind(ptr %t51) store ptr %t52, ptr %retval br label %ret ifend11: %t53 = load i32, ptr %t0 %t54 = icmp eq i32 %t53, 4 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then12, label %ifend14 then12: %t57 = load ptr, ptr %t1 %t58 = load ptr, ptr %t1 %t59 = call ptr @fn_fx_mul_code(ptr %t57, ptr %t58) store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t60 %t62 = load ptr, ptr %t1 %t63 = call ptr @fn_fx_mul_code(ptr %t61, ptr %t62) store ptr %t63, ptr %t64 %t65 = load ptr, ptr %t64 %t66 = call ptr @fn_fx_mul_code(ptr %t65, ptr @.str6148) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t60 %t69 = call ptr @fn_fx_mul_code(ptr %t68, ptr @.str6149) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t67 %t72 = call ptr @lp_str_concat(ptr @.str6150, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str6151) %t74 = load ptr, ptr %t70 %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %retval br label %ret ifend14: %t77 = load i32, ptr %t0 %t78 = icmp eq i32 %t77, 5 %t79 = zext i1 %t78 to i32 %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then15, label %ifend17 then15: store i32 1, ptr @g_g_uses_mathrt %t81 = load ptr, ptr %t1 %t82 = call ptr @lp_str_concat(ptr @.str6152, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str6153) %t84 = call ptr @fn_emit_bind(ptr %t83) store ptr %t84, ptr %t85 %t86 = load ptr, ptr %t85 %t87 = call ptr @lp_str_concat(ptr @.str6154, ptr %t86) %t88 = call ptr @fn_emit_bind(ptr %t87) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t89 %t91 = call ptr @lp_str_concat(ptr @.str6155, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str6156) %t93 = call ptr @fn_emit_bind(ptr %t92) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t85 %t96 = call ptr @lp_str_concat(ptr @.str6157, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str6158) %t98 = call ptr @fn_emit_bind(ptr %t97) store ptr %t98, ptr %t99 %t100 = load ptr, ptr %t99 %t101 = call ptr @fn_fx_mul_code(ptr %t100, ptr @.str6159) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t102 %t104 = call ptr @lp_str_concat(ptr @.str6160, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str6161) %t106 = call ptr @fn_emit_bind(ptr %t105) store ptr %t106, ptr %t107 %t108 = load ptr, ptr %t94 %t109 = load ptr, ptr %t107 %t110 = call ptr @fn_fx_mul_code(ptr %t108, ptr %t109) store ptr %t110, ptr %t111 %t112 = load ptr, ptr %t111 %t113 = call ptr @lp_str_concat(ptr @.str6162, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str6163) %t115 = call ptr @fn_emit_bind(ptr %t114) store ptr %t115, ptr %retval br label %ret ifend17: %t116 = load ptr, ptr %t1 %t117 = call ptr @fn_ease_bounce_code(ptr %t116) store ptr %t117, ptr %retval br label %ret ret: %t118 = load ptr, ptr %retval ret ptr %t118 } define ptr @fn_emit_ease_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t14 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 0, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str6164, i32 0, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 0 %t12 = load ptr, ptr %t11 %t13 = call ptr @fn_emit_expr(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str6165) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_ease_eval(i32 1, ptr %t20) %t22 = call ptr @fn_val(ptr %t21, ptr @.str6166) store ptr %t22, ptr %retval br label %ret ifend4: %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str6167) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then5, label %ifend7 then5: %t26 = load ptr, ptr %t14 %t27 = getelementptr inbounds %Cmp_Val, ptr %t26, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_ease_eval(i32 2, ptr %t28) %t30 = call ptr @fn_val(ptr %t29, ptr @.str6168) store ptr %t30, ptr %retval br label %ret ifend7: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str6169) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then8, label %ifend10 then8: %t34 = load ptr, ptr %t14 %t35 = getelementptr inbounds %Cmp_Val, ptr %t34, i32 0, i32 0 %t36 = load ptr, ptr %t35 %t37 = call ptr @fn_ease_eval(i32 3, ptr %t36) %t38 = call ptr @fn_val(ptr %t37, ptr @.str6170) store ptr %t38, ptr %retval br label %ret ifend10: %t39 = load ptr, ptr %t0 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str6171) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then11, label %ifend13 then11: %t42 = load ptr, ptr %t14 %t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = call ptr @fn_ease_eval(i32 4, ptr %t44) %t46 = call ptr @fn_val(ptr %t45, ptr @.str6172) store ptr %t46, ptr %retval br label %ret ifend13: %t47 = load ptr, ptr %t0 %t48 = call i32 @lp_str_eq(ptr %t47, ptr @.str6173) %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then14, label %ifend16 then14: %t50 = load ptr, ptr %t14 %t51 = getelementptr inbounds %Cmp_Val, ptr %t50, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = call ptr @fn_ease_eval(i32 5, ptr %t52) %t54 = call ptr @fn_val(ptr %t53, ptr @.str6174) store ptr %t54, ptr %retval br label %ret ifend16: %t55 = load ptr, ptr %t14 %t56 = getelementptr inbounds %Cmp_Val, ptr %t55, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = call ptr @fn_ease_eval(i32 6, ptr %t57) %t59 = call ptr @fn_val(ptr %t58, ptr @.str6175) store ptr %t59, ptr %retval br label %ret ret: %t60 = load ptr, ptr %retval ret ptr %t60 } define i32 @fn_is_anim_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t20 = alloca i32 %t31 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str6176) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6177) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str6178) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str6179) %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t20 br i1 %t23, label %scend8, label %sc7 sc7: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str6180) %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t20 br label %scend8 scend8: %t29 = load i32, ptr %t20 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t32 = load ptr, ptr %t0 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str6181) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t31 br i1 %t34, label %scend13, label %sc12 sc12: %t36 = load ptr, ptr %t0 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str6182) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t31 br label %scend13 scend13: %t40 = load i32, ptr %t31 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then14, label %ifend16 then14: store i32 1, ptr %retval br label %ret ifend16: store i32 0, ptr %retval br label %ret ret: %t42 = load i32, ptr %retval ret i32 %t42 } define ptr @fn_anim_elapsed(ptr %arg_timer, ptr %arg_fps) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t6 = alloca ptr %t11 = alloca ptr %t18 = alloca ptr %t23 = alloca ptr store ptr %arg_timer, ptr %t0 store ptr %arg_fps, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @lp_str_concat(ptr @.str6183, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str6184) %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t1 %t8 = call ptr @lp_str_concat(ptr @.str6185, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str6186) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t6 %t13 = call ptr @lp_str_concat(ptr @.str6187, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str6188) %t15 = load ptr, ptr %t11 %t16 = call ptr @lp_str_concat(ptr %t14, ptr %t15) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 %t20 = call ptr @lp_str_concat(ptr @.str6189, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str6190) %t22 = call ptr @fn_emit_bind(ptr %t21) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t23 %t25 = call ptr @lp_str_concat(ptr @.str6191, ptr %t24) %t26 = call ptr @lp_str_concat(ptr %t25, ptr @.str6192) %t27 = call ptr @fn_emit_bind(ptr %t26) store ptr %t27, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval ret ptr %t28 } define ptr @fn_anim_atleast1(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @lp_str_concat(ptr @.str6193, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str6194) %t4 = call ptr @fn_emit_bind(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = call ptr @lp_str_concat(ptr @.str6195, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str6196) %t9 = load ptr, ptr %t0 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %retval br label %ret ret: %t12 = load ptr, ptr %retval ret ptr %t12 } define ptr @fn_emit_anim_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t30 = alloca ptr %t43 = alloca ptr %t51 = alloca ptr %t56 = alloca ptr %t79 = alloca ptr %t92 = alloca ptr %t105 = alloca ptr %t113 = alloca ptr %t120 = alloca ptr %t127 = alloca ptr %t153 = alloca ptr %t166 = alloca ptr %t179 = alloca ptr %t187 = alloca ptr %t194 = alloca ptr %t199 = alloca ptr %t202 = alloca ptr %t209 = alloca ptr %t216 = alloca ptr %t225 = alloca ptr %t251 = alloca ptr %t264 = alloca ptr %t277 = alloca ptr %t285 = alloca ptr %t294 = alloca ptr %t315 = alloca ptr %t328 = alloca ptr %t335 = alloca ptr %t340 = alloca ptr %t363 = alloca ptr %t376 = alloca ptr %t389 = alloca ptr %t394 = alloca ptr %t403 = alloca ptr %t425 = alloca ptr %t438 = alloca ptr %t451 = alloca ptr %t456 = alloca ptr %t465 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str6197) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str6198, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t1 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 1, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str6199, i32 1, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 1 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_emit_expr(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t1 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 2, %t37 br i1 %t38, label %ixok7, label %ixbad8 ixbad8: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str6200, i32 2, i32 %t37) call void @exit(i32 1) unreachable ixok7: %t40 = getelementptr inbounds ptr, ptr %t35, i32 2 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_emit_expr(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t17 %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = load ptr, ptr %t30 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = call ptr @fn_anim_elapsed(ptr %t46, ptr %t49) store ptr %t50, ptr %t51 %t52 = load ptr, ptr %t43 %t53 = getelementptr inbounds %Cmp_Val, ptr %t52, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = call ptr @fn_anim_atleast1(ptr %t54) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t51 %t58 = call ptr @lp_str_concat(ptr @.str6201, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str6202) %t60 = load ptr, ptr %t56 %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) %t62 = call ptr @fn_emit_bind(ptr %t61) %t63 = call ptr @fn_val(ptr %t62, ptr @.str6203) store ptr %t63, ptr %retval br label %ret ifend2: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str6204) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then9, label %ifend11 then9: %t67 = load ptr, ptr %t1 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 7 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 0, %t73 br i1 %t74, label %ixok12, label %ixbad13 ixbad13: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str6205, i32 0, i32 %t73) call void @exit(i32 1) unreachable ixok12: %t76 = getelementptr inbounds ptr, ptr %t71, i32 0 %t77 = load ptr, ptr %t76 %t78 = call ptr @fn_emit_expr(ptr %t77) store ptr %t78, ptr %t79 %t80 = load ptr, ptr %t1 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 7 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t86 = load i32, ptr %t85 %t87 = icmp ult i32 1, %t86 br i1 %t87, label %ixok14, label %ixbad15 ixbad15: %t88 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t88, ptr @.fmt_bounds, ptr @.str6206, i32 1, i32 %t86) call void @exit(i32 1) unreachable ixok14: %t89 = getelementptr inbounds ptr, ptr %t84, i32 1 %t90 = load ptr, ptr %t89 %t91 = call ptr @fn_emit_expr(ptr %t90) store ptr %t91, ptr %t92 %t93 = load ptr, ptr %t1 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 7 %t95 = load ptr, ptr %t94 %t96 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 0 %t97 = load ptr, ptr %t96 %t98 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 1 %t99 = load i32, ptr %t98 %t100 = icmp ult i32 2, %t99 br i1 %t100, label %ixok16, label %ixbad17 ixbad17: %t101 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t101, ptr @.fmt_bounds, ptr @.str6207, i32 2, i32 %t99) call void @exit(i32 1) unreachable ixok16: %t102 = getelementptr inbounds ptr, ptr %t97, i32 2 %t103 = load ptr, ptr %t102 %t104 = call ptr @fn_emit_expr(ptr %t103) store ptr %t104, ptr %t105 %t106 = load ptr, ptr %t79 %t107 = getelementptr inbounds %Cmp_Val, ptr %t106, i32 0, i32 0 %t108 = load ptr, ptr %t107 %t109 = load ptr, ptr %t92 %t110 = getelementptr inbounds %Cmp_Val, ptr %t109, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = call ptr @fn_anim_elapsed(ptr %t108, ptr %t111) store ptr %t112, ptr %t113 %t114 = load ptr, ptr %t105 %t115 = getelementptr inbounds %Cmp_Val, ptr %t114, i32 0, i32 0 %t116 = load ptr, ptr %t115 %t117 = call ptr @lp_str_concat(ptr @.str6208, ptr %t116) %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str6209) %t119 = call ptr @fn_emit_bind(ptr %t118) store ptr %t119, ptr %t120 %t121 = load ptr, ptr %t113 %t122 = call ptr @lp_str_concat(ptr @.str6210, ptr %t121) %t123 = call ptr @lp_str_concat(ptr %t122, ptr @.str6211) %t124 = load ptr, ptr %t120 %t125 = call ptr @lp_str_concat(ptr %t123, ptr %t124) %t126 = call ptr @fn_emit_bind(ptr %t125) store ptr %t126, ptr %t127 %t128 = load ptr, ptr %t127 %t129 = call ptr @lp_str_concat(ptr @.str6212, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str6213) %t131 = load ptr, ptr %t113 %t132 = call ptr @lp_str_concat(ptr %t130, ptr %t131) %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str6214) %t134 = load ptr, ptr %t120 %t135 = call ptr @lp_str_concat(ptr %t133, ptr %t134) %t136 = call ptr @fn_emit_bind(ptr %t135) %t137 = call ptr @fn_val(ptr %t136, ptr @.str6215) store ptr %t137, ptr %retval br label %ret ifend11: %t138 = load ptr, ptr %t0 %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str6216) %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then18, label %ifend20 then18: %t141 = load ptr, ptr %t1 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 7 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t145 = load ptr, ptr %t144 %t146 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t147 = load i32, ptr %t146 %t148 = icmp ult i32 0, %t147 br i1 %t148, label %ixok21, label %ixbad22 ixbad22: %t149 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str6217, i32 0, i32 %t147) call void @exit(i32 1) unreachable ixok21: %t150 = getelementptr inbounds ptr, ptr %t145, i32 0 %t151 = load ptr, ptr %t150 %t152 = call ptr @fn_emit_expr(ptr %t151) store ptr %t152, ptr %t153 %t154 = load ptr, ptr %t1 %t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 7 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 0 %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 1 %t160 = load i32, ptr %t159 %t161 = icmp ult i32 1, %t160 br i1 %t161, label %ixok23, label %ixbad24 ixbad24: %t162 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str6218, i32 1, i32 %t160) call void @exit(i32 1) unreachable ixok23: %t163 = getelementptr inbounds ptr, ptr %t158, i32 1 %t164 = load ptr, ptr %t163 %t165 = call ptr @fn_emit_expr(ptr %t164) store ptr %t165, ptr %t166 %t167 = load ptr, ptr %t1 %t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 7 %t169 = load ptr, ptr %t168 %t170 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 0 %t171 = load ptr, ptr %t170 %t172 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 1 %t173 = load i32, ptr %t172 %t174 = icmp ult i32 2, %t173 br i1 %t174, label %ixok25, label %ixbad26 ixbad26: %t175 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t175, ptr @.fmt_bounds, ptr @.str6219, i32 2, i32 %t173) call void @exit(i32 1) unreachable ixok25: %t176 = getelementptr inbounds ptr, ptr %t171, i32 2 %t177 = load ptr, ptr %t176 %t178 = call ptr @fn_emit_expr(ptr %t177) store ptr %t178, ptr %t179 %t180 = load ptr, ptr %t153 %t181 = getelementptr inbounds %Cmp_Val, ptr %t180, i32 0, i32 0 %t182 = load ptr, ptr %t181 %t183 = load ptr, ptr %t166 %t184 = getelementptr inbounds %Cmp_Val, ptr %t183, i32 0, i32 0 %t185 = load ptr, ptr %t184 %t186 = call ptr @fn_anim_elapsed(ptr %t182, ptr %t185) store ptr %t186, ptr %t187 %t188 = load ptr, ptr %t179 %t189 = getelementptr inbounds %Cmp_Val, ptr %t188, i32 0, i32 0 %t190 = load ptr, ptr %t189 %t191 = call ptr @lp_str_concat(ptr @.str6220, ptr %t190) %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str6221) %t193 = call ptr @fn_emit_bind(ptr %t192) store ptr %t193, ptr %t194 %t195 = load ptr, ptr %t194 %t196 = call ptr @lp_str_concat(ptr @.str6222, ptr %t195) %t197 = call ptr @lp_str_concat(ptr %t196, ptr @.str6223) %t198 = call ptr @fn_emit_bind(ptr %t197) store ptr %t198, ptr %t199 %t200 = load ptr, ptr %t199 %t201 = call ptr @fn_anim_atleast1(ptr %t200) store ptr %t201, ptr %t202 %t203 = load ptr, ptr %t187 %t204 = call ptr @lp_str_concat(ptr @.str6224, ptr %t203) %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str6225) %t206 = load ptr, ptr %t202 %t207 = call ptr @lp_str_concat(ptr %t205, ptr %t206) %t208 = call ptr @fn_emit_bind(ptr %t207) store ptr %t208, ptr %t209 %t210 = load ptr, ptr %t202 %t211 = call ptr @lp_str_concat(ptr @.str6226, ptr %t210) %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str6227) %t213 = load ptr, ptr %t209 %t214 = call ptr @lp_str_concat(ptr %t212, ptr %t213) %t215 = call ptr @fn_emit_bind(ptr %t214) store ptr %t215, ptr %t216 %t217 = load ptr, ptr %t209 %t218 = call ptr @lp_str_concat(ptr @.str6228, ptr %t217) %t219 = call ptr @lp_str_concat(ptr %t218, ptr @.str6229) %t220 = load ptr, ptr %t179 %t221 = getelementptr inbounds %Cmp_Val, ptr %t220, i32 0, i32 0 %t222 = load ptr, ptr %t221 %t223 = call ptr @lp_str_concat(ptr %t219, ptr %t222) %t224 = call ptr @fn_emit_bind(ptr %t223) store ptr %t224, ptr %t225 %t226 = load ptr, ptr %t225 %t227 = call ptr @lp_str_concat(ptr @.str6230, ptr %t226) %t228 = call ptr @lp_str_concat(ptr %t227, ptr @.str6231) %t229 = load ptr, ptr %t209 %t230 = call ptr @lp_str_concat(ptr %t228, ptr %t229) %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str6232) %t232 = load ptr, ptr %t216 %t233 = call ptr @lp_str_concat(ptr %t231, ptr %t232) %t234 = call ptr @fn_emit_bind(ptr %t233) %t235 = call ptr @fn_val(ptr %t234, ptr @.str6233) store ptr %t235, ptr %retval br label %ret ifend20: %t236 = load ptr, ptr %t0 %t237 = call i32 @lp_str_eq(ptr %t236, ptr @.str6234) %t238 = icmp ne i32 %t237, 0 br i1 %t238, label %then27, label %ifend29 then27: %t239 = load ptr, ptr %t1 %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 7 %t241 = load ptr, ptr %t240 %t242 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 0 %t243 = load ptr, ptr %t242 %t244 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 1 %t245 = load i32, ptr %t244 %t246 = icmp ult i32 0, %t245 br i1 %t246, label %ixok30, label %ixbad31 ixbad31: %t247 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t247, ptr @.fmt_bounds, ptr @.str6235, i32 0, i32 %t245) call void @exit(i32 1) unreachable ixok30: %t248 = getelementptr inbounds ptr, ptr %t243, i32 0 %t249 = load ptr, ptr %t248 %t250 = call ptr @fn_emit_expr(ptr %t249) store ptr %t250, ptr %t251 %t252 = load ptr, ptr %t1 %t253 = getelementptr inbounds %Cmp_Node, ptr %t252, i32 0, i32 7 %t254 = load ptr, ptr %t253 %t255 = getelementptr inbounds %LSlice, ptr %t254, i32 0, i32 0 %t256 = load ptr, ptr %t255 %t257 = getelementptr inbounds %LSlice, ptr %t254, i32 0, i32 1 %t258 = load i32, ptr %t257 %t259 = icmp ult i32 1, %t258 br i1 %t259, label %ixok32, label %ixbad33 ixbad33: %t260 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t260, ptr @.fmt_bounds, ptr @.str6236, i32 1, i32 %t258) call void @exit(i32 1) unreachable ixok32: %t261 = getelementptr inbounds ptr, ptr %t256, i32 1 %t262 = load ptr, ptr %t261 %t263 = call ptr @fn_emit_expr(ptr %t262) store ptr %t263, ptr %t264 %t265 = load ptr, ptr %t1 %t266 = getelementptr inbounds %Cmp_Node, ptr %t265, i32 0, i32 7 %t267 = load ptr, ptr %t266 %t268 = getelementptr inbounds %LSlice, ptr %t267, i32 0, i32 0 %t269 = load ptr, ptr %t268 %t270 = getelementptr inbounds %LSlice, ptr %t267, i32 0, i32 1 %t271 = load i32, ptr %t270 %t272 = icmp ult i32 2, %t271 br i1 %t272, label %ixok34, label %ixbad35 ixbad35: %t273 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t273, ptr @.fmt_bounds, ptr @.str6237, i32 2, i32 %t271) call void @exit(i32 1) unreachable ixok34: %t274 = getelementptr inbounds ptr, ptr %t269, i32 2 %t275 = load ptr, ptr %t274 %t276 = call ptr @fn_emit_expr(ptr %t275) store ptr %t276, ptr %t277 %t278 = load ptr, ptr %t251 %t279 = getelementptr inbounds %Cmp_Val, ptr %t278, i32 0, i32 0 %t280 = load ptr, ptr %t279 %t281 = load ptr, ptr %t264 %t282 = getelementptr inbounds %Cmp_Val, ptr %t281, i32 0, i32 0 %t283 = load ptr, ptr %t282 %t284 = call ptr @fn_anim_elapsed(ptr %t280, ptr %t283) store ptr %t284, ptr %t285 %t286 = load ptr, ptr %t285 %t287 = call ptr @lp_str_concat(ptr @.str6238, ptr %t286) %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str6239) %t289 = load ptr, ptr %t277 %t290 = getelementptr inbounds %Cmp_Val, ptr %t289, i32 0, i32 0 %t291 = load ptr, ptr %t290 %t292 = call ptr @lp_str_concat(ptr %t288, ptr %t291) %t293 = call ptr @fn_emit_bind(ptr %t292) store ptr %t293, ptr %t294 %t295 = load ptr, ptr %t294 %t296 = call ptr @lp_str_concat(ptr @.str6240, ptr %t295) %t297 = call ptr @lp_str_concat(ptr %t296, ptr @.str6241) %t298 = call ptr @fn_emit_bind(ptr %t297) %t299 = call ptr @fn_val(ptr %t298, ptr @.str6242) store ptr %t299, ptr %retval br label %ret ifend29: %t300 = load ptr, ptr %t0 %t301 = call i32 @lp_str_eq(ptr %t300, ptr @.str6243) %t302 = icmp ne i32 %t301, 0 br i1 %t302, label %then36, label %ifend38 then36: %t303 = load ptr, ptr %t1 %t304 = getelementptr inbounds %Cmp_Node, ptr %t303, i32 0, i32 7 %t305 = load ptr, ptr %t304 %t306 = getelementptr inbounds %LSlice, ptr %t305, i32 0, i32 0 %t307 = load ptr, ptr %t306 %t308 = getelementptr inbounds %LSlice, ptr %t305, i32 0, i32 1 %t309 = load i32, ptr %t308 %t310 = icmp ult i32 0, %t309 br i1 %t310, label %ixok39, label %ixbad40 ixbad40: %t311 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t311, ptr @.fmt_bounds, ptr @.str6244, i32 0, i32 %t309) call void @exit(i32 1) unreachable ixok39: %t312 = getelementptr inbounds ptr, ptr %t307, i32 0 %t313 = load ptr, ptr %t312 %t314 = call ptr @fn_emit_expr(ptr %t313) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t1 %t317 = getelementptr inbounds %Cmp_Node, ptr %t316, i32 0, i32 7 %t318 = load ptr, ptr %t317 %t319 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 0 %t320 = load ptr, ptr %t319 %t321 = getelementptr inbounds %LSlice, ptr %t318, i32 0, i32 1 %t322 = load i32, ptr %t321 %t323 = icmp ult i32 1, %t322 br i1 %t323, label %ixok41, label %ixbad42 ixbad42: %t324 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t324, ptr @.fmt_bounds, ptr @.str6245, i32 1, i32 %t322) call void @exit(i32 1) unreachable ixok41: %t325 = getelementptr inbounds ptr, ptr %t320, i32 1 %t326 = load ptr, ptr %t325 %t327 = call ptr @fn_emit_expr(ptr %t326) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t328 %t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0 %t331 = load ptr, ptr %t330 %t332 = call ptr @lp_str_concat(ptr @.str6246, ptr %t331) %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str6247) %t334 = call ptr @fn_emit_bind(ptr %t333) store ptr %t334, ptr %t335 %t336 = load ptr, ptr %t315 %t337 = getelementptr inbounds %Cmp_Val, ptr %t336, i32 0, i32 0 %t338 = load ptr, ptr %t337 %t339 = call ptr @fn_anim_atleast1(ptr %t338) store ptr %t339, ptr %t340 %t341 = load ptr, ptr %t335 %t342 = call ptr @lp_str_concat(ptr @.str6248, ptr %t341) %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str6249) %t344 = load ptr, ptr %t340 %t345 = call ptr @lp_str_concat(ptr %t343, ptr %t344) %t346 = call ptr @fn_emit_bind(ptr %t345) %t347 = call ptr @fn_val(ptr %t346, ptr @.str6250) store ptr %t347, ptr %retval br label %ret ifend38: %t348 = load ptr, ptr %t0 %t349 = call i32 @lp_str_eq(ptr %t348, ptr @.str6251) %t350 = icmp ne i32 %t349, 0 br i1 %t350, label %then43, label %ifend45 then43: %t351 = load ptr, ptr %t1 %t352 = getelementptr inbounds %Cmp_Node, ptr %t351, i32 0, i32 7 %t353 = load ptr, ptr %t352 %t354 = getelementptr inbounds %LSlice, ptr %t353, i32 0, i32 0 %t355 = load ptr, ptr %t354 %t356 = getelementptr inbounds %LSlice, ptr %t353, i32 0, i32 1 %t357 = load i32, ptr %t356 %t358 = icmp ult i32 0, %t357 br i1 %t358, label %ixok46, label %ixbad47 ixbad47: %t359 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t359, ptr @.fmt_bounds, ptr @.str6252, i32 0, i32 %t357) call void @exit(i32 1) unreachable ixok46: %t360 = getelementptr inbounds ptr, ptr %t355, i32 0 %t361 = load ptr, ptr %t360 %t362 = call ptr @fn_emit_expr(ptr %t361) store ptr %t362, ptr %t363 %t364 = load ptr, ptr %t1 %t365 = getelementptr inbounds %Cmp_Node, ptr %t364, i32 0, i32 7 %t366 = load ptr, ptr %t365 %t367 = getelementptr inbounds %LSlice, ptr %t366, i32 0, i32 0 %t368 = load ptr, ptr %t367 %t369 = getelementptr inbounds %LSlice, ptr %t366, i32 0, i32 1 %t370 = load i32, ptr %t369 %t371 = icmp ult i32 1, %t370 br i1 %t371, label %ixok48, label %ixbad49 ixbad49: %t372 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t372, ptr @.fmt_bounds, ptr @.str6253, i32 1, i32 %t370) call void @exit(i32 1) unreachable ixok48: %t373 = getelementptr inbounds ptr, ptr %t368, i32 1 %t374 = load ptr, ptr %t373 %t375 = call ptr @fn_emit_expr(ptr %t374) store ptr %t375, ptr %t376 %t377 = load ptr, ptr %t1 %t378 = getelementptr inbounds %Cmp_Node, ptr %t377, i32 0, i32 7 %t379 = load ptr, ptr %t378 %t380 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 0 %t381 = load ptr, ptr %t380 %t382 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 1 %t383 = load i32, ptr %t382 %t384 = icmp ult i32 2, %t383 br i1 %t384, label %ixok50, label %ixbad51 ixbad51: %t385 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t385, ptr @.fmt_bounds, ptr @.str6254, i32 2, i32 %t383) call void @exit(i32 1) unreachable ixok50: %t386 = getelementptr inbounds ptr, ptr %t381, i32 2 %t387 = load ptr, ptr %t386 %t388 = call ptr @fn_emit_expr(ptr %t387) store ptr %t388, ptr %t389 %t390 = load ptr, ptr %t376 %t391 = getelementptr inbounds %Cmp_Val, ptr %t390, i32 0, i32 0 %t392 = load ptr, ptr %t391 %t393 = call ptr @fn_anim_atleast1(ptr %t392) store ptr %t393, ptr %t394 %t395 = load ptr, ptr %t363 %t396 = getelementptr inbounds %Cmp_Val, ptr %t395, i32 0, i32 0 %t397 = load ptr, ptr %t396 %t398 = call ptr @lp_str_concat(ptr @.str6255, ptr %t397) %t399 = call ptr @lp_str_concat(ptr %t398, ptr @.str6256) %t400 = load ptr, ptr %t394 %t401 = call ptr @lp_str_concat(ptr %t399, ptr %t400) %t402 = call ptr @fn_emit_bind(ptr %t401) store ptr %t402, ptr %t403 %t404 = load ptr, ptr %t403 %t405 = call ptr @lp_str_concat(ptr @.str6257, ptr %t404) %t406 = call ptr @lp_str_concat(ptr %t405, ptr @.str6258) %t407 = load ptr, ptr %t389 %t408 = getelementptr inbounds %Cmp_Val, ptr %t407, i32 0, i32 0 %t409 = load ptr, ptr %t408 %t410 = call ptr @lp_str_concat(ptr %t406, ptr %t409) %t411 = call ptr @fn_emit_bind(ptr %t410) %t412 = call ptr @fn_val(ptr %t411, ptr @.str6259) store ptr %t412, ptr %retval br label %ret ifend45: %t413 = load ptr, ptr %t1 %t414 = getelementptr inbounds %Cmp_Node, ptr %t413, i32 0, i32 7 %t415 = load ptr, ptr %t414 %t416 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 0 %t417 = load ptr, ptr %t416 %t418 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 1 %t419 = load i32, ptr %t418 %t420 = icmp ult i32 0, %t419 br i1 %t420, label %ixok52, label %ixbad53 ixbad53: %t421 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t421, ptr @.fmt_bounds, ptr @.str6260, i32 0, i32 %t419) call void @exit(i32 1) unreachable ixok52: %t422 = getelementptr inbounds ptr, ptr %t417, i32 0 %t423 = load ptr, ptr %t422 %t424 = call ptr @fn_emit_expr(ptr %t423) store ptr %t424, ptr %t425 %t426 = load ptr, ptr %t1 %t427 = getelementptr inbounds %Cmp_Node, ptr %t426, i32 0, i32 7 %t428 = load ptr, ptr %t427 %t429 = getelementptr inbounds %LSlice, ptr %t428, i32 0, i32 0 %t430 = load ptr, ptr %t429 %t431 = getelementptr inbounds %LSlice, ptr %t428, i32 0, i32 1 %t432 = load i32, ptr %t431 %t433 = icmp ult i32 1, %t432 br i1 %t433, label %ixok54, label %ixbad55 ixbad55: %t434 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t434, ptr @.fmt_bounds, ptr @.str6261, i32 1, i32 %t432) call void @exit(i32 1) unreachable ixok54: %t435 = getelementptr inbounds ptr, ptr %t430, i32 1 %t436 = load ptr, ptr %t435 %t437 = call ptr @fn_emit_expr(ptr %t436) store ptr %t437, ptr %t438 %t439 = load ptr, ptr %t1 %t440 = getelementptr inbounds %Cmp_Node, ptr %t439, i32 0, i32 7 %t441 = load ptr, ptr %t440 %t442 = getelementptr inbounds %LSlice, ptr %t441, i32 0, i32 0 %t443 = load ptr, ptr %t442 %t444 = getelementptr inbounds %LSlice, ptr %t441, i32 0, i32 1 %t445 = load i32, ptr %t444 %t446 = icmp ult i32 2, %t445 br i1 %t446, label %ixok56, label %ixbad57 ixbad57: %t447 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t447, ptr @.fmt_bounds, ptr @.str6262, i32 2, i32 %t445) call void @exit(i32 1) unreachable ixok56: %t448 = getelementptr inbounds ptr, ptr %t443, i32 2 %t449 = load ptr, ptr %t448 %t450 = call ptr @fn_emit_expr(ptr %t449) store ptr %t450, ptr %t451 %t452 = load ptr, ptr %t438 %t453 = getelementptr inbounds %Cmp_Val, ptr %t452, i32 0, i32 0 %t454 = load ptr, ptr %t453 %t455 = call ptr @fn_anim_atleast1(ptr %t454) store ptr %t455, ptr %t456 %t457 = load ptr, ptr %t425 %t458 = getelementptr inbounds %Cmp_Val, ptr %t457, i32 0, i32 0 %t459 = load ptr, ptr %t458 %t460 = call ptr @lp_str_concat(ptr @.str6263, ptr %t459) %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str6264) %t462 = load ptr, ptr %t456 %t463 = call ptr @lp_str_concat(ptr %t461, ptr %t462) %t464 = call ptr @fn_emit_bind(ptr %t463) store ptr %t464, ptr %t465 %t466 = load ptr, ptr %t465 %t467 = call ptr @lp_str_concat(ptr @.str6265, ptr %t466) %t468 = call ptr @lp_str_concat(ptr %t467, ptr @.str6266) %t469 = load ptr, ptr %t451 %t470 = getelementptr inbounds %Cmp_Val, ptr %t469, i32 0, i32 0 %t471 = load ptr, ptr %t470 %t472 = call ptr @lp_str_concat(ptr %t468, ptr %t471) %t473 = call ptr @fn_emit_bind(ptr %t472) %t474 = call ptr @fn_val(ptr %t473, ptr @.str6267) store ptr %t474, ptr %retval br label %ret ret: %t475 = load ptr, ptr %retval ret ptr %t475 } define i32 @fn_is_tween_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t28 = alloca i32 %t29 = alloca i32 %t47 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6268) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t3 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str6269) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 br label %scend1 scend1: %t12 = load i32, ptr %t3 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str6270) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br label %scend3 scend3: %t19 = load i32, ptr %t2 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t1 br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str6271) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 br label %scend5 scend5: %t26 = load i32, ptr %t1 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %ifend8 then6: store i32 1, ptr %retval br label %ret ifend8: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str6272) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t29 br i1 %t32, label %scend10, label %sc9 sc9: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str6273) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t29 br label %scend10 scend10: %t38 = load i32, ptr %t29 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t28 br i1 %t39, label %scend12, label %sc11 sc11: %t41 = load ptr, ptr %t0 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str6274) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t28 br label %scend12 scend12: %t45 = load i32, ptr %t28 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then13, label %ifend15 then13: store i32 1, ptr %retval br label %ret ifend15: %t48 = load ptr, ptr %t0 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str6275) %t50 = icmp ne i32 %t49, 0 %t51 = zext i1 %t50 to i32 store i32 %t51, ptr %t47 br i1 %t50, label %scend17, label %sc16 sc16: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str6276) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t47 br label %scend17 scend17: %t56 = load i32, ptr %t47 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then18, label %ifend20 then18: store i32 1, ptr %retval br label %ret ifend20: store i32 0, ptr %retval br label %ret ret: %t58 = load i32, ptr %retval ret i32 %t58 } define ptr @fn_tween_den(ptr %arg_dur) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr store ptr %arg_dur, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @lp_str_concat(ptr @.str6277, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str6278) %t4 = call ptr @fn_emit_bind(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = call ptr @lp_str_concat(ptr @.str6279, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str6280) %t9 = load ptr, ptr %t0 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str6281) %t12 = call ptr @fn_emit_bind(ptr %t11) store ptr %t12, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define ptr @fn_emit_tween_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t30 = alloca ptr %t37 = alloca ptr %t47 = alloca ptr %t53 = alloca ptr %t58 = alloca ptr %t65 = alloca ptr %t70 = alloca ptr %t77 = alloca ptr %t101 = alloca ptr %t114 = alloca ptr %t119 = alloca ptr %t125 = alloca ptr %t146 = alloca ptr %t159 = alloca ptr %t164 = alloca ptr %t170 = alloca ptr %t175 = alloca ptr %t179 = alloca ptr %t184 = alloca ptr %t218 = alloca ptr %t238 = alloca ptr %t251 = alloca ptr %t262 = alloca ptr %t283 = alloca ptr %t295 = alloca ptr %t325 = alloca ptr %t338 = alloca ptr %t351 = alloca ptr %t378 = alloca ptr %t391 = alloca ptr %t404 = alloca ptr %t415 = alloca ptr %t420 = alloca ptr %t427 = alloca ptr %t434 = alloca ptr %t439 = alloca ptr %t444 = alloca ptr %t449 = alloca ptr %t474 = alloca ptr %t487 = alloca ptr %t500 = alloca ptr %t505 = alloca ptr %t510 = alloca ptr %t515 = alloca ptr %t520 = alloca ptr %t527 = alloca ptr %t534 = alloca ptr %t551 = alloca ptr %t564 = alloca ptr %t577 = alloca ptr %t590 = alloca ptr %t603 = alloca ptr %t616 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str6282) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str6283, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t1 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 1, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str6284, i32 1, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 1 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_emit_expr(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %Cmp_Val, ptr %t31, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = call ptr @lp_str_concat(ptr @.str6285, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str6286) %t36 = call ptr @fn_emit_bind(ptr %t35) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 %t39 = call ptr @lp_str_concat(ptr @.str6287, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str6288) %t41 = load ptr, ptr %t30 %t42 = getelementptr inbounds %Cmp_Val, ptr %t41, i32 0, i32 0 %t43 = load ptr, ptr %t42 %t44 = call ptr @lp_str_concat(ptr %t40, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str6289) %t46 = call ptr @fn_emit_bind(ptr %t45) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t17 %t49 = getelementptr inbounds %Cmp_Val, ptr %t48, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = load ptr, ptr %t47 %t52 = call ptr @fn_fx_div_code(ptr %t50, ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t53 %t55 = call ptr @lp_str_concat(ptr @.str6290, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str6291) %t57 = call ptr @fn_emit_bind(ptr %t56) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = call ptr @lp_str_concat(ptr @.str6292, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str6293) %t62 = load ptr, ptr %t53 %t63 = call ptr @lp_str_concat(ptr %t61, ptr %t62) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t65 %t67 = call ptr @lp_str_concat(ptr @.str6294, ptr %t66) %t68 = call ptr @lp_str_concat(ptr %t67, ptr @.str6295) %t69 = call ptr @fn_emit_bind(ptr %t68) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t70 %t72 = call ptr @lp_str_concat(ptr @.str6296, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str6297) %t74 = load ptr, ptr %t65 %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) %t76 = call ptr @fn_emit_bind(ptr %t75) store ptr %t76, ptr %t77 %t78 = load ptr, ptr %t37 %t79 = call ptr @lp_str_concat(ptr @.str6298, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str6299) %t81 = load ptr, ptr %t77 %t82 = call ptr @lp_str_concat(ptr %t80, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str6300) %t84 = call ptr @fn_emit_bind(ptr %t83) %t85 = call ptr @fn_val(ptr %t84, ptr @.str6301) store ptr %t85, ptr %retval br label %ret ifend2: %t86 = load ptr, ptr %t0 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str6302) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then7, label %ifend9 then7: %t89 = load ptr, ptr %t1 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 7 %t91 = load ptr, ptr %t90 %t92 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 0 %t93 = load ptr, ptr %t92 %t94 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 1 %t95 = load i32, ptr %t94 %t96 = icmp ult i32 0, %t95 br i1 %t96, label %ixok10, label %ixbad11 ixbad11: %t97 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t97, ptr @.fmt_bounds, ptr @.str6303, i32 0, i32 %t95) call void @exit(i32 1) unreachable ixok10: %t98 = getelementptr inbounds ptr, ptr %t93, i32 0 %t99 = load ptr, ptr %t98 %t100 = call ptr @fn_emit_expr(ptr %t99) store ptr %t100, ptr %t101 %t102 = load ptr, ptr %t1 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 7 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0 %t106 = load ptr, ptr %t105 %t107 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 %t108 = load i32, ptr %t107 %t109 = icmp ult i32 1, %t108 br i1 %t109, label %ixok12, label %ixbad13 ixbad13: %t110 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str6304, i32 1, i32 %t108) call void @exit(i32 1) unreachable ixok12: %t111 = getelementptr inbounds ptr, ptr %t106, i32 1 %t112 = load ptr, ptr %t111 %t113 = call ptr @fn_emit_expr(ptr %t112) store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t114 %t116 = getelementptr inbounds %Cmp_Val, ptr %t115, i32 0, i32 0 %t117 = load ptr, ptr %t116 %t118 = call ptr @fn_tween_den(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t101 %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 %t123 = load ptr, ptr %t119 %t124 = call ptr @fn_fx_div_code(ptr %t122, ptr %t123) store ptr %t124, ptr %t125 %t126 = load ptr, ptr %t125 %t127 = call ptr @lp_str_concat(ptr @.str6305, ptr %t126) %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str6306) %t129 = call ptr @fn_emit_bind(ptr %t128) %t130 = call ptr @fn_val(ptr %t129, ptr @.str6307) store ptr %t130, ptr %retval br label %ret ifend9: %t131 = load ptr, ptr %t0 %t132 = call i32 @lp_str_eq(ptr %t131, ptr @.str6308) %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then14, label %ifend16 then14: %t134 = load ptr, ptr %t1 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 7 %t136 = load ptr, ptr %t135 %t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0 %t138 = load ptr, ptr %t137 %t139 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 1 %t140 = load i32, ptr %t139 %t141 = icmp ult i32 0, %t140 br i1 %t141, label %ixok17, label %ixbad18 ixbad18: %t142 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t142, ptr @.fmt_bounds, ptr @.str6309, i32 0, i32 %t140) call void @exit(i32 1) unreachable ixok17: %t143 = getelementptr inbounds ptr, ptr %t138, i32 0 %t144 = load ptr, ptr %t143 %t145 = call ptr @fn_emit_expr(ptr %t144) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t1 %t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 7 %t149 = load ptr, ptr %t148 %t150 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 0 %t151 = load ptr, ptr %t150 %t152 = getelementptr inbounds %LSlice, ptr %t149, i32 0, i32 1 %t153 = load i32, ptr %t152 %t154 = icmp ult i32 1, %t153 br i1 %t154, label %ixok19, label %ixbad20 ixbad20: %t155 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t155, ptr @.fmt_bounds, ptr @.str6310, i32 1, i32 %t153) call void @exit(i32 1) unreachable ixok19: %t156 = getelementptr inbounds ptr, ptr %t151, i32 1 %t157 = load ptr, ptr %t156 %t158 = call ptr @fn_emit_expr(ptr %t157) store ptr %t158, ptr %t159 %t160 = load ptr, ptr %t159 %t161 = getelementptr inbounds %Cmp_Val, ptr %t160, i32 0, i32 0 %t162 = load ptr, ptr %t161 %t163 = call ptr @fn_tween_den(ptr %t162) store ptr %t163, ptr %t164 %t165 = load ptr, ptr %t146 %t166 = getelementptr inbounds %Cmp_Val, ptr %t165, i32 0, i32 0 %t167 = load ptr, ptr %t166 %t168 = load ptr, ptr %t164 %t169 = call ptr @fn_fx_div_code(ptr %t167, ptr %t168) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t170 %t172 = call ptr @lp_str_concat(ptr @.str6311, ptr %t171) %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str6312) %t174 = call ptr @fn_emit_bind(ptr %t173) store ptr %t174, ptr %t175 %t176 = load ptr, ptr %t175 %t177 = call ptr @lp_str_concat(ptr @.str6313, ptr %t176) %t178 = call ptr @fn_emit_bind(ptr %t177) store ptr %t178, ptr %t179 %t180 = load ptr, ptr %t175 %t181 = call ptr @lp_str_concat(ptr @.str6314, ptr %t180) %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str6315) %t183 = call ptr @fn_emit_bind(ptr %t182) store ptr %t183, ptr %t184 %t185 = load ptr, ptr %t184 %t186 = call ptr @lp_str_concat(ptr @.str6316, ptr %t185) %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str6317) %t188 = load ptr, ptr %t175 %t189 = call ptr @lp_str_concat(ptr %t187, ptr %t188) %t190 = call ptr @lp_str_concat(ptr %t189, ptr @.str6318) %t191 = load ptr, ptr %t179 %t192 = call ptr @lp_str_concat(ptr %t190, ptr %t191) %t193 = call ptr @fn_emit_bind(ptr %t192) %t194 = call ptr @fn_val(ptr %t193, ptr @.str6319) store ptr %t194, ptr %retval br label %ret ifend16: %t195 = load ptr, ptr %t0 %t196 = call i32 @lp_str_eq(ptr %t195, ptr @.str6320) %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then21, label %ifend23 then21: %t198 = load ptr, ptr %t1 %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 7 %t200 = load ptr, ptr %t199 %t201 = getelementptr inbounds %LSlice, ptr %t200, i32 0, i32 1 %t202 = load i32, ptr %t201 %t203 = icmp eq i32 %t202, 1 %t204 = zext i1 %t203 to i32 %t205 = icmp ne i32 %t204, 0 br i1 %t205, label %then24, label %ifend26 then24: %t206 = load ptr, ptr %t1 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 7 %t208 = load ptr, ptr %t207 %t209 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 0 %t210 = load ptr, ptr %t209 %t211 = getelementptr inbounds %LSlice, ptr %t208, i32 0, i32 1 %t212 = load i32, ptr %t211 %t213 = icmp ult i32 0, %t212 br i1 %t213, label %ixok27, label %ixbad28 ixbad28: %t214 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t214, ptr @.fmt_bounds, ptr @.str6321, i32 0, i32 %t212) call void @exit(i32 1) unreachable ixok27: %t215 = getelementptr inbounds ptr, ptr %t210, i32 0 %t216 = load ptr, ptr %t215 %t217 = call ptr @fn_emit_expr(ptr %t216) store ptr %t217, ptr %t218 %t219 = load ptr, ptr %t218 %t220 = getelementptr inbounds %Cmp_Val, ptr %t219, i32 0, i32 0 %t221 = load ptr, ptr %t220 %t222 = call ptr @lp_str_concat(ptr @.str6322, ptr %t221) %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str6323) %t224 = call ptr @fn_emit_bind(ptr %t223) %t225 = call ptr @fn_val(ptr %t224, ptr @.str6324) store ptr %t225, ptr %retval br label %ret ifend26: %t226 = load ptr, ptr %t1 %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 7 %t228 = load ptr, ptr %t227 %t229 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0 %t230 = load ptr, ptr %t229 %t231 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 1 %t232 = load i32, ptr %t231 %t233 = icmp ult i32 0, %t232 br i1 %t233, label %ixok29, label %ixbad30 ixbad30: %t234 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t234, ptr @.fmt_bounds, ptr @.str6325, i32 0, i32 %t232) call void @exit(i32 1) unreachable ixok29: %t235 = getelementptr inbounds ptr, ptr %t230, i32 0 %t236 = load ptr, ptr %t235 %t237 = call ptr @fn_emit_expr(ptr %t236) store ptr %t237, ptr %t238 %t239 = load ptr, ptr %t1 %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 7 %t241 = load ptr, ptr %t240 %t242 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 0 %t243 = load ptr, ptr %t242 %t244 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 1 %t245 = load i32, ptr %t244 %t246 = icmp ult i32 1, %t245 br i1 %t246, label %ixok31, label %ixbad32 ixbad32: %t247 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t247, ptr @.fmt_bounds, ptr @.str6326, i32 1, i32 %t245) call void @exit(i32 1) unreachable ixok31: %t248 = getelementptr inbounds ptr, ptr %t243, i32 1 %t249 = load ptr, ptr %t248 %t250 = call ptr @fn_emit_expr(ptr %t249) store ptr %t250, ptr %t251 %t252 = load ptr, ptr %t238 %t253 = getelementptr inbounds %Cmp_Val, ptr %t252, i32 0, i32 0 %t254 = load ptr, ptr %t253 %t255 = call ptr @lp_str_concat(ptr @.str6327, ptr %t254) %t256 = call ptr @lp_str_concat(ptr %t255, ptr @.str6328) %t257 = load ptr, ptr %t251 %t258 = getelementptr inbounds %Cmp_Val, ptr %t257, i32 0, i32 0 %t259 = load ptr, ptr %t258 %t260 = call ptr @lp_str_concat(ptr %t256, ptr %t259) %t261 = call ptr @fn_emit_bind(ptr %t260) store ptr %t261, ptr %t262 %t263 = load ptr, ptr %t262 %t264 = call ptr @lp_str_concat(ptr @.str6329, ptr %t263) %t265 = call ptr @lp_str_concat(ptr %t264, ptr @.str6330) %t266 = call ptr @fn_emit_bind(ptr %t265) %t267 = call ptr @fn_val(ptr %t266, ptr @.str6331) store ptr %t267, ptr %retval br label %ret ifend23: %t268 = load ptr, ptr %t0 %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str6332) %t270 = icmp ne i32 %t269, 0 br i1 %t270, label %then33, label %ifend35 then33: %t271 = load ptr, ptr %t1 %t272 = getelementptr inbounds %Cmp_Node, ptr %t271, i32 0, i32 7 %t273 = load ptr, ptr %t272 %t274 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 0 %t275 = load ptr, ptr %t274 %t276 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 1 %t277 = load i32, ptr %t276 %t278 = icmp ult i32 0, %t277 br i1 %t278, label %ixok36, label %ixbad37 ixbad37: %t279 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t279, ptr @.fmt_bounds, ptr @.str6333, i32 0, i32 %t277) call void @exit(i32 1) unreachable ixok36: %t280 = getelementptr inbounds ptr, ptr %t275, i32 0 %t281 = load ptr, ptr %t280 %t282 = call ptr @fn_emit_expr(ptr %t281) store ptr %t282, ptr %t283 %t284 = load ptr, ptr %t1 %t285 = getelementptr inbounds %Cmp_Node, ptr %t284, i32 0, i32 7 %t286 = load ptr, ptr %t285 %t287 = getelementptr inbounds %LSlice, ptr %t286, i32 0, i32 0 %t288 = load ptr, ptr %t287 %t289 = getelementptr inbounds %LSlice, ptr %t286, i32 0, i32 1 %t290 = load i32, ptr %t289 %t291 = icmp ult i32 1, %t290 br i1 %t291, label %ixok38, label %ixbad39 ixbad39: %t292 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t292, ptr @.fmt_bounds, ptr @.str6334, i32 1, i32 %t290) call void @exit(i32 1) unreachable ixok38: %t293 = getelementptr inbounds ptr, ptr %t288, i32 1 %t294 = load ptr, ptr %t293 store ptr %t294, ptr %t295 %t296 = load ptr, ptr %t295 %t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 0 %t298 = load i32, ptr %t297 %t299 = icmp ne i32 %t298, 30 %t300 = zext i1 %t299 to i32 %t301 = icmp ne i32 %t300, 0 br i1 %t301, label %then40, label %ifend42 then40: call void @fn_perr(ptr @.str6335) br label %ifend42 ifend42: %t302 = load ptr, ptr %t295 %t303 = getelementptr inbounds %Cmp_Node, ptr %t302, i32 0, i32 2 %t304 = load i32, ptr %t303 %t305 = load ptr, ptr %t283 %t306 = getelementptr inbounds %Cmp_Val, ptr %t305, i32 0, i32 0 %t307 = load ptr, ptr %t306 %t308 = call ptr @fn_ease_eval(i32 %t304, ptr %t307) %t309 = call ptr @fn_val(ptr %t308, ptr @.str6336) store ptr %t309, ptr %retval br label %ret ifend35: %t310 = load ptr, ptr %t0 %t311 = call i32 @lp_str_eq(ptr %t310, ptr @.str6337) %t312 = icmp ne i32 %t311, 0 br i1 %t312, label %then43, label %ifend45 then43: %t313 = load ptr, ptr %t1 %t314 = getelementptr inbounds %Cmp_Node, ptr %t313, i32 0, i32 7 %t315 = load ptr, ptr %t314 %t316 = getelementptr inbounds %LSlice, ptr %t315, i32 0, i32 0 %t317 = load ptr, ptr %t316 %t318 = getelementptr inbounds %LSlice, ptr %t315, i32 0, i32 1 %t319 = load i32, ptr %t318 %t320 = icmp ult i32 0, %t319 br i1 %t320, label %ixok46, label %ixbad47 ixbad47: %t321 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t321, ptr @.fmt_bounds, ptr @.str6338, i32 0, i32 %t319) call void @exit(i32 1) unreachable ixok46: %t322 = getelementptr inbounds ptr, ptr %t317, i32 0 %t323 = load ptr, ptr %t322 %t324 = call ptr @fn_emit_expr(ptr %t323) store ptr %t324, ptr %t325 %t326 = load ptr, ptr %t1 %t327 = getelementptr inbounds %Cmp_Node, ptr %t326, i32 0, i32 7 %t328 = load ptr, ptr %t327 %t329 = getelementptr inbounds %LSlice, ptr %t328, i32 0, i32 0 %t330 = load ptr, ptr %t329 %t331 = getelementptr inbounds %LSlice, ptr %t328, i32 0, i32 1 %t332 = load i32, ptr %t331 %t333 = icmp ult i32 1, %t332 br i1 %t333, label %ixok48, label %ixbad49 ixbad49: %t334 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t334, ptr @.fmt_bounds, ptr @.str6339, i32 1, i32 %t332) call void @exit(i32 1) unreachable ixok48: %t335 = getelementptr inbounds ptr, ptr %t330, i32 1 %t336 = load ptr, ptr %t335 %t337 = call ptr @fn_emit_expr(ptr %t336) store ptr %t337, ptr %t338 %t339 = load ptr, ptr %t1 %t340 = getelementptr inbounds %Cmp_Node, ptr %t339, i32 0, i32 7 %t341 = load ptr, ptr %t340 %t342 = getelementptr inbounds %LSlice, ptr %t341, i32 0, i32 0 %t343 = load ptr, ptr %t342 %t344 = getelementptr inbounds %LSlice, ptr %t341, i32 0, i32 1 %t345 = load i32, ptr %t344 %t346 = icmp ult i32 2, %t345 br i1 %t346, label %ixok50, label %ixbad51 ixbad51: %t347 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t347, ptr @.fmt_bounds, ptr @.str6340, i32 2, i32 %t345) call void @exit(i32 1) unreachable ixok50: %t348 = getelementptr inbounds ptr, ptr %t343, i32 2 %t349 = load ptr, ptr %t348 %t350 = call ptr @fn_emit_expr(ptr %t349) store ptr %t350, ptr %t351 %t352 = load ptr, ptr %t325 %t353 = getelementptr inbounds %Cmp_Val, ptr %t352, i32 0, i32 0 %t354 = load ptr, ptr %t353 %t355 = load ptr, ptr %t338 %t356 = getelementptr inbounds %Cmp_Val, ptr %t355, i32 0, i32 0 %t357 = load ptr, ptr %t356 %t358 = load ptr, ptr %t351 %t359 = getelementptr inbounds %Cmp_Val, ptr %t358, i32 0, i32 0 %t360 = load ptr, ptr %t359 %t361 = call ptr @fn_fx_lerp_code(ptr %t354, ptr %t357, ptr %t360) %t362 = call ptr @fn_val(ptr %t361, ptr @.str6341) store ptr %t362, ptr %retval br label %ret ifend45: %t363 = load ptr, ptr %t0 %t364 = call i32 @lp_str_eq(ptr %t363, ptr @.str6342) %t365 = icmp ne i32 %t364, 0 br i1 %t365, label %then52, label %ifend54 then52: %t366 = load ptr, ptr %t1 %t367 = getelementptr inbounds %Cmp_Node, ptr %t366, i32 0, i32 7 %t368 = load ptr, ptr %t367 %t369 = getelementptr inbounds %LSlice, ptr %t368, i32 0, i32 0 %t370 = load ptr, ptr %t369 %t371 = getelementptr inbounds %LSlice, ptr %t368, i32 0, i32 1 %t372 = load i32, ptr %t371 %t373 = icmp ult i32 0, %t372 br i1 %t373, label %ixok55, label %ixbad56 ixbad56: %t374 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t374, ptr @.fmt_bounds, ptr @.str6343, i32 0, i32 %t372) call void @exit(i32 1) unreachable ixok55: %t375 = getelementptr inbounds ptr, ptr %t370, i32 0 %t376 = load ptr, ptr %t375 %t377 = call ptr @fn_emit_expr(ptr %t376) store ptr %t377, ptr %t378 %t379 = load ptr, ptr %t1 %t380 = getelementptr inbounds %Cmp_Node, ptr %t379, i32 0, i32 7 %t381 = load ptr, ptr %t380 %t382 = getelementptr inbounds %LSlice, ptr %t381, i32 0, i32 0 %t383 = load ptr, ptr %t382 %t384 = getelementptr inbounds %LSlice, ptr %t381, i32 0, i32 1 %t385 = load i32, ptr %t384 %t386 = icmp ult i32 1, %t385 br i1 %t386, label %ixok57, label %ixbad58 ixbad58: %t387 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t387, ptr @.fmt_bounds, ptr @.str6344, i32 1, i32 %t385) call void @exit(i32 1) unreachable ixok57: %t388 = getelementptr inbounds ptr, ptr %t383, i32 1 %t389 = load ptr, ptr %t388 %t390 = call ptr @fn_emit_expr(ptr %t389) store ptr %t390, ptr %t391 %t392 = load ptr, ptr %t1 %t393 = getelementptr inbounds %Cmp_Node, ptr %t392, i32 0, i32 7 %t394 = load ptr, ptr %t393 %t395 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 0 %t396 = load ptr, ptr %t395 %t397 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 1 %t398 = load i32, ptr %t397 %t399 = icmp ult i32 2, %t398 br i1 %t399, label %ixok59, label %ixbad60 ixbad60: %t400 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t400, ptr @.fmt_bounds, ptr @.str6345, i32 2, i32 %t398) call void @exit(i32 1) unreachable ixok59: %t401 = getelementptr inbounds ptr, ptr %t396, i32 2 %t402 = load ptr, ptr %t401 %t403 = call ptr @fn_emit_expr(ptr %t402) store ptr %t403, ptr %t404 %t405 = load ptr, ptr %t391 %t406 = getelementptr inbounds %Cmp_Val, ptr %t405, i32 0, i32 0 %t407 = load ptr, ptr %t406 %t408 = call ptr @lp_str_concat(ptr @.str6346, ptr %t407) %t409 = call ptr @lp_str_concat(ptr %t408, ptr @.str6347) %t410 = load ptr, ptr %t378 %t411 = getelementptr inbounds %Cmp_Val, ptr %t410, i32 0, i32 0 %t412 = load ptr, ptr %t411 %t413 = call ptr @lp_str_concat(ptr %t409, ptr %t412) %t414 = call ptr @fn_emit_bind(ptr %t413) store ptr %t414, ptr %t415 %t416 = load ptr, ptr %t415 %t417 = call ptr @lp_str_concat(ptr @.str6348, ptr %t416) %t418 = call ptr @lp_str_concat(ptr %t417, ptr @.str6349) %t419 = call ptr @fn_emit_bind(ptr %t418) store ptr %t419, ptr %t420 %t421 = load ptr, ptr %t404 %t422 = getelementptr inbounds %Cmp_Val, ptr %t421, i32 0, i32 0 %t423 = load ptr, ptr %t422 %t424 = call ptr @lp_str_concat(ptr @.str6350, ptr %t423) %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str6351) %t426 = call ptr @fn_emit_bind(ptr %t425) store ptr %t426, ptr %t427 %t428 = load ptr, ptr %t420 %t429 = call ptr @lp_str_concat(ptr @.str6352, ptr %t428) %t430 = call ptr @lp_str_concat(ptr %t429, ptr @.str6353) %t431 = load ptr, ptr %t427 %t432 = call ptr @lp_str_concat(ptr %t430, ptr %t431) %t433 = call ptr @fn_emit_bind(ptr %t432) store ptr %t433, ptr %t434 %t435 = load ptr, ptr %t434 %t436 = call ptr @lp_str_concat(ptr @.str6354, ptr %t435) %t437 = call ptr @lp_str_concat(ptr %t436, ptr @.str6355) %t438 = call ptr @fn_emit_bind(ptr %t437) store ptr %t438, ptr %t439 %t440 = load ptr, ptr %t439 %t441 = call ptr @lp_str_concat(ptr @.str6356, ptr %t440) %t442 = call ptr @lp_str_concat(ptr %t441, ptr @.str6357) %t443 = call ptr @fn_emit_bind(ptr %t442) store ptr %t443, ptr %t444 %t445 = load ptr, ptr %t444 %t446 = call ptr @lp_str_concat(ptr @.str6358, ptr %t445) %t447 = call ptr @lp_str_concat(ptr %t446, ptr @.str6359) %t448 = call ptr @fn_emit_bind(ptr %t447) store ptr %t448, ptr %t449 %t450 = load ptr, ptr %t378 %t451 = getelementptr inbounds %Cmp_Val, ptr %t450, i32 0, i32 0 %t452 = load ptr, ptr %t451 %t453 = call ptr @lp_str_concat(ptr @.str6360, ptr %t452) %t454 = call ptr @lp_str_concat(ptr %t453, ptr @.str6361) %t455 = load ptr, ptr %t449 %t456 = call ptr @lp_str_concat(ptr %t454, ptr %t455) %t457 = call ptr @fn_emit_bind(ptr %t456) %t458 = call ptr @fn_val(ptr %t457, ptr @.str6362) store ptr %t458, ptr %retval br label %ret ifend54: %t459 = load ptr, ptr %t0 %t460 = call i32 @lp_str_eq(ptr %t459, ptr @.str6363) %t461 = icmp ne i32 %t460, 0 br i1 %t461, label %then61, label %ifend63 then61: %t462 = load ptr, ptr %t1 %t463 = getelementptr inbounds %Cmp_Node, ptr %t462, i32 0, i32 7 %t464 = load ptr, ptr %t463 %t465 = getelementptr inbounds %LSlice, ptr %t464, i32 0, i32 0 %t466 = load ptr, ptr %t465 %t467 = getelementptr inbounds %LSlice, ptr %t464, i32 0, i32 1 %t468 = load i32, ptr %t467 %t469 = icmp ult i32 0, %t468 br i1 %t469, label %ixok64, label %ixbad65 ixbad65: %t470 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t470, ptr @.fmt_bounds, ptr @.str6364, i32 0, i32 %t468) call void @exit(i32 1) unreachable ixok64: %t471 = getelementptr inbounds ptr, ptr %t466, i32 0 %t472 = load ptr, ptr %t471 %t473 = call ptr @fn_emit_expr(ptr %t472) store ptr %t473, ptr %t474 %t475 = load ptr, ptr %t1 %t476 = getelementptr inbounds %Cmp_Node, ptr %t475, i32 0, i32 7 %t477 = load ptr, ptr %t476 %t478 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 0 %t479 = load ptr, ptr %t478 %t480 = getelementptr inbounds %LSlice, ptr %t477, i32 0, i32 1 %t481 = load i32, ptr %t480 %t482 = icmp ult i32 1, %t481 br i1 %t482, label %ixok66, label %ixbad67 ixbad67: %t483 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t483, ptr @.fmt_bounds, ptr @.str6365, i32 1, i32 %t481) call void @exit(i32 1) unreachable ixok66: %t484 = getelementptr inbounds ptr, ptr %t479, i32 1 %t485 = load ptr, ptr %t484 %t486 = call ptr @fn_emit_expr(ptr %t485) store ptr %t486, ptr %t487 %t488 = load ptr, ptr %t1 %t489 = getelementptr inbounds %Cmp_Node, ptr %t488, i32 0, i32 7 %t490 = load ptr, ptr %t489 %t491 = getelementptr inbounds %LSlice, ptr %t490, i32 0, i32 0 %t492 = load ptr, ptr %t491 %t493 = getelementptr inbounds %LSlice, ptr %t490, i32 0, i32 1 %t494 = load i32, ptr %t493 %t495 = icmp ult i32 2, %t494 br i1 %t495, label %ixok68, label %ixbad69 ixbad69: %t496 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t496, ptr @.fmt_bounds, ptr @.str6366, i32 2, i32 %t494) call void @exit(i32 1) unreachable ixok68: %t497 = getelementptr inbounds ptr, ptr %t492, i32 2 %t498 = load ptr, ptr %t497 %t499 = call ptr @fn_emit_expr(ptr %t498) store ptr %t499, ptr %t500 %t501 = load ptr, ptr %t474 %t502 = getelementptr inbounds %Cmp_Val, ptr %t501, i32 0, i32 0 %t503 = load ptr, ptr %t502 %t504 = call ptr @fn_vec_x(ptr %t503) store ptr %t504, ptr %t505 %t506 = load ptr, ptr %t474 %t507 = getelementptr inbounds %Cmp_Val, ptr %t506, i32 0, i32 0 %t508 = load ptr, ptr %t507 %t509 = call ptr @fn_vec_y(ptr %t508) store ptr %t509, ptr %t510 %t511 = load ptr, ptr %t487 %t512 = getelementptr inbounds %Cmp_Val, ptr %t511, i32 0, i32 0 %t513 = load ptr, ptr %t512 %t514 = call ptr @fn_vec_x(ptr %t513) store ptr %t514, ptr %t515 %t516 = load ptr, ptr %t487 %t517 = getelementptr inbounds %Cmp_Val, ptr %t516, i32 0, i32 0 %t518 = load ptr, ptr %t517 %t519 = call ptr @fn_vec_y(ptr %t518) store ptr %t519, ptr %t520 %t521 = load ptr, ptr %t505 %t522 = load ptr, ptr %t515 %t523 = load ptr, ptr %t500 %t524 = getelementptr inbounds %Cmp_Val, ptr %t523, i32 0, i32 0 %t525 = load ptr, ptr %t524 %t526 = call ptr @fn_fx_lerp_code(ptr %t521, ptr %t522, ptr %t525) store ptr %t526, ptr %t527 %t528 = load ptr, ptr %t510 %t529 = load ptr, ptr %t520 %t530 = load ptr, ptr %t500 %t531 = getelementptr inbounds %Cmp_Val, ptr %t530, i32 0, i32 0 %t532 = load ptr, ptr %t531 %t533 = call ptr @fn_fx_lerp_code(ptr %t528, ptr %t529, ptr %t532) store ptr %t533, ptr %t534 %t535 = load ptr, ptr %t527 %t536 = load ptr, ptr %t534 %t537 = call ptr @fn_vec_pack(ptr %t535, ptr %t536) %t538 = call ptr @fn_val(ptr %t537, ptr @.str6367) store ptr %t538, ptr %retval br label %ret ifend63: %t539 = load ptr, ptr %t1 %t540 = getelementptr inbounds %Cmp_Node, ptr %t539, i32 0, i32 7 %t541 = load ptr, ptr %t540 %t542 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 0 %t543 = load ptr, ptr %t542 %t544 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 1 %t545 = load i32, ptr %t544 %t546 = icmp ult i32 0, %t545 br i1 %t546, label %ixok70, label %ixbad71 ixbad71: %t547 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t547, ptr @.fmt_bounds, ptr @.str6368, i32 0, i32 %t545) call void @exit(i32 1) unreachable ixok70: %t548 = getelementptr inbounds ptr, ptr %t543, i32 0 %t549 = load ptr, ptr %t548 %t550 = call ptr @fn_emit_expr(ptr %t549) store ptr %t550, ptr %t551 %t552 = load ptr, ptr %t1 %t553 = getelementptr inbounds %Cmp_Node, ptr %t552, i32 0, i32 7 %t554 = load ptr, ptr %t553 %t555 = getelementptr inbounds %LSlice, ptr %t554, i32 0, i32 0 %t556 = load ptr, ptr %t555 %t557 = getelementptr inbounds %LSlice, ptr %t554, i32 0, i32 1 %t558 = load i32, ptr %t557 %t559 = icmp ult i32 1, %t558 br i1 %t559, label %ixok72, label %ixbad73 ixbad73: %t560 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t560, ptr @.fmt_bounds, ptr @.str6369, i32 1, i32 %t558) call void @exit(i32 1) unreachable ixok72: %t561 = getelementptr inbounds ptr, ptr %t556, i32 1 %t562 = load ptr, ptr %t561 %t563 = call ptr @fn_emit_expr(ptr %t562) store ptr %t563, ptr %t564 %t565 = load ptr, ptr %t1 %t566 = getelementptr inbounds %Cmp_Node, ptr %t565, i32 0, i32 7 %t567 = load ptr, ptr %t566 %t568 = getelementptr inbounds %LSlice, ptr %t567, i32 0, i32 0 %t569 = load ptr, ptr %t568 %t570 = getelementptr inbounds %LSlice, ptr %t567, i32 0, i32 1 %t571 = load i32, ptr %t570 %t572 = icmp ult i32 2, %t571 br i1 %t572, label %ixok74, label %ixbad75 ixbad75: %t573 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t573, ptr @.fmt_bounds, ptr @.str6370, i32 2, i32 %t571) call void @exit(i32 1) unreachable ixok74: %t574 = getelementptr inbounds ptr, ptr %t569, i32 2 %t575 = load ptr, ptr %t574 %t576 = call ptr @fn_emit_expr(ptr %t575) store ptr %t576, ptr %t577 %t578 = load ptr, ptr %t551 %t579 = getelementptr inbounds %Cmp_Val, ptr %t578, i32 0, i32 0 %t580 = load ptr, ptr %t579 %t581 = call ptr @fn_color_ch(ptr %t580, ptr @.str6371) %t582 = load ptr, ptr %t564 %t583 = getelementptr inbounds %Cmp_Val, ptr %t582, i32 0, i32 0 %t584 = load ptr, ptr %t583 %t585 = call ptr @fn_color_ch(ptr %t584, ptr @.str6372) %t586 = load ptr, ptr %t577 %t587 = getelementptr inbounds %Cmp_Val, ptr %t586, i32 0, i32 0 %t588 = load ptr, ptr %t587 %t589 = call ptr @fn_color_lerp_ch(ptr %t581, ptr %t585, ptr %t588) store ptr %t589, ptr %t590 %t591 = load ptr, ptr %t551 %t592 = getelementptr inbounds %Cmp_Val, ptr %t591, i32 0, i32 0 %t593 = load ptr, ptr %t592 %t594 = call ptr @fn_color_ch(ptr %t593, ptr @.str6373) %t595 = load ptr, ptr %t564 %t596 = getelementptr inbounds %Cmp_Val, ptr %t595, i32 0, i32 0 %t597 = load ptr, ptr %t596 %t598 = call ptr @fn_color_ch(ptr %t597, ptr @.str6374) %t599 = load ptr, ptr %t577 %t600 = getelementptr inbounds %Cmp_Val, ptr %t599, i32 0, i32 0 %t601 = load ptr, ptr %t600 %t602 = call ptr @fn_color_lerp_ch(ptr %t594, ptr %t598, ptr %t601) store ptr %t602, ptr %t603 %t604 = load ptr, ptr %t551 %t605 = getelementptr inbounds %Cmp_Val, ptr %t604, i32 0, i32 0 %t606 = load ptr, ptr %t605 %t607 = call ptr @fn_color_ch(ptr %t606, ptr @.str6375) %t608 = load ptr, ptr %t564 %t609 = getelementptr inbounds %Cmp_Val, ptr %t608, i32 0, i32 0 %t610 = load ptr, ptr %t609 %t611 = call ptr @fn_color_ch(ptr %t610, ptr @.str6376) %t612 = load ptr, ptr %t577 %t613 = getelementptr inbounds %Cmp_Val, ptr %t612, i32 0, i32 0 %t614 = load ptr, ptr %t613 %t615 = call ptr @fn_color_lerp_ch(ptr %t607, ptr %t611, ptr %t614) store ptr %t615, ptr %t616 %t617 = load ptr, ptr %t590 %t618 = load ptr, ptr %t603 %t619 = load ptr, ptr %t616 %t620 = call ptr @fn_color_pack(ptr %t617, ptr %t618, ptr %t619) %t621 = call ptr @fn_val(ptr %t620, ptr @.str6377) store ptr %t621, ptr %retval br label %ret ret: %t622 = load ptr, ptr %retval ret ptr %t622 } define i32 @fn_is_collide_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t12 = alloca i32 store ptr %arg_meth, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str6378) %t4 = icmp ne i32 %t3, 0 %t5 = zext i1 %t4 to i32 store i32 %t5, ptr %t1 br i1 %t4, label %scend1, label %sc0 sc0: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str6379) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t1 br label %scend1 scend1: %t10 = load i32, ptr %t1 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then2, label %ifend4 then2: store i32 1, ptr %retval br label %ret ifend4: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str6380) %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t12 br i1 %t15, label %scend6, label %sc5 sc5: %t17 = load ptr, ptr %t0 %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str6381) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t12 br label %scend6 scend6: %t21 = load i32, ptr %t12 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then7, label %ifend9 then7: store i32 1, ptr %retval br label %ret ifend9: store i32 0, ptr %retval br label %ret ret: %t23 = load i32, ptr %retval ret i32 %t23 } define ptr @fn_coll_sq_sum(ptr %arg_dx, ptr %arg_dy) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t6 = alloca ptr %t11 = alloca ptr %t18 = alloca ptr %t25 = alloca ptr store ptr %arg_dx, ptr %t0 store ptr %arg_dy, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @lp_str_concat(ptr @.str6382, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str6383) %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t1 %t8 = call ptr @lp_str_concat(ptr @.str6384, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str6385) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t6 %t13 = call ptr @lp_str_concat(ptr @.str6386, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str6387) %t15 = load ptr, ptr %t6 %t16 = call ptr @lp_str_concat(ptr %t14, ptr %t15) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t11 %t20 = call ptr @lp_str_concat(ptr @.str6388, ptr %t19) %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str6389) %t22 = load ptr, ptr %t11 %t23 = call ptr @lp_str_concat(ptr %t21, ptr %t22) %t24 = call ptr @fn_emit_bind(ptr %t23) store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t18 %t27 = call ptr @lp_str_concat(ptr @.str6390, ptr %t26) %t28 = call ptr @lp_str_concat(ptr %t27, ptr @.str6391) %t29 = load ptr, ptr %t25 %t30 = call ptr @lp_str_concat(ptr %t28, ptr %t29) %t31 = call ptr @fn_emit_bind(ptr %t30) store ptr %t31, ptr %retval br label %ret ret: %t32 = load ptr, ptr %retval ret ptr %t32 } define ptr @fn_coll_clamp(ptr %arg_v, ptr %arg_lo, ptr %arg_hi) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t9 = alloca ptr %t19 = alloca ptr %t26 = alloca ptr store ptr %arg_v, ptr %t0 store ptr %arg_lo, ptr %t1 store ptr %arg_hi, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call ptr @lp_str_concat(ptr @.str6392, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str6393) %t6 = load ptr, ptr %t2 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t9 %t11 = call ptr @lp_str_concat(ptr @.str6394, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str6395) %t13 = load ptr, ptr %t0 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str6396) %t16 = load ptr, ptr %t2 %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 %t20 = load ptr, ptr %t1 %t21 = call ptr @lp_str_concat(ptr @.str6397, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6398) %t23 = load ptr, ptr %t19 %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 %t28 = call ptr @lp_str_concat(ptr @.str6399, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str6400) %t30 = load ptr, ptr %t1 %t31 = call ptr @lp_str_concat(ptr %t29, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str6401) %t33 = load ptr, ptr %t19 %t34 = call ptr @lp_str_concat(ptr %t32, ptr %t33) %t35 = call ptr @fn_emit_bind(ptr %t34) store ptr %t35, ptr %retval br label %ret ret: %t36 = load ptr, ptr %retval ret ptr %t36 } define ptr @fn_emit_collide_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t30 = alloca ptr %t43 = alloca ptr %t56 = alloca ptr %t69 = alloca ptr %t82 = alloca ptr %t95 = alloca ptr %t108 = alloca ptr %t119 = alloca ptr %t130 = alloca ptr %t141 = alloca ptr %t152 = alloca ptr %t161 = alloca ptr %t170 = alloca ptr %t179 = alloca ptr %t188 = alloca ptr %t195 = alloca ptr %t202 = alloca ptr %t209 = alloca ptr %t230 = alloca ptr %t243 = alloca ptr %t256 = alloca ptr %t269 = alloca ptr %t282 = alloca ptr %t295 = alloca ptr %t306 = alloca ptr %t317 = alloca ptr %t328 = alloca ptr %t337 = alloca ptr %t348 = alloca ptr %t357 = alloca ptr %t364 = alloca ptr %t371 = alloca ptr %t378 = alloca ptr %t399 = alloca ptr %t412 = alloca ptr %t425 = alloca ptr %t438 = alloca ptr %t451 = alloca ptr %t464 = alloca ptr %t475 = alloca ptr %t486 = alloca ptr %t490 = alloca ptr %t501 = alloca ptr %t506 = alloca ptr %t513 = alloca ptr %t520 = alloca ptr %t538 = alloca ptr %t551 = alloca ptr %t564 = alloca ptr %t577 = alloca ptr %t590 = alloca ptr %t603 = alloca ptr %t616 = alloca ptr %t627 = alloca ptr %t638 = alloca ptr %t647 = alloca ptr %t656 = alloca ptr %t665 = alloca ptr %t674 = alloca ptr %t678 = alloca ptr %t685 = alloca ptr %t692 = alloca ptr %t699 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str6402) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str6403, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t1 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 1, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str6404, i32 1, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 1 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_emit_expr(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t1 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 2, %t37 br i1 %t38, label %ixok7, label %ixbad8 ixbad8: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str6405, i32 2, i32 %t37) call void @exit(i32 1) unreachable ixok7: %t40 = getelementptr inbounds ptr, ptr %t35, i32 2 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_emit_expr(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t1 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp ult i32 3, %t50 br i1 %t51, label %ixok9, label %ixbad10 ixbad10: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str6406, i32 3, i32 %t50) call void @exit(i32 1) unreachable ixok9: %t53 = getelementptr inbounds ptr, ptr %t48, i32 3 %t54 = load ptr, ptr %t53 %t55 = call ptr @fn_emit_expr(ptr %t54) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t1 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 7 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t63 = load i32, ptr %t62 %t64 = icmp ult i32 4, %t63 br i1 %t64, label %ixok11, label %ixbad12 ixbad12: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str6407, i32 4, i32 %t63) call void @exit(i32 1) unreachable ixok11: %t66 = getelementptr inbounds ptr, ptr %t61, i32 4 %t67 = load ptr, ptr %t66 %t68 = call ptr @fn_emit_expr(ptr %t67) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t1 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 7 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp ult i32 5, %t76 br i1 %t77, label %ixok13, label %ixbad14 ixbad14: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str6408, i32 5, i32 %t76) call void @exit(i32 1) unreachable ixok13: %t79 = getelementptr inbounds ptr, ptr %t74, i32 5 %t80 = load ptr, ptr %t79 %t81 = call ptr @fn_emit_expr(ptr %t80) store ptr %t81, ptr %t82 %t83 = load ptr, ptr %t1 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 7 %t85 = load ptr, ptr %t84 %t86 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 1 %t89 = load i32, ptr %t88 %t90 = icmp ult i32 6, %t89 br i1 %t90, label %ixok15, label %ixbad16 ixbad16: %t91 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t91, ptr @.fmt_bounds, ptr @.str6409, i32 6, i32 %t89) call void @exit(i32 1) unreachable ixok15: %t92 = getelementptr inbounds ptr, ptr %t87, i32 6 %t93 = load ptr, ptr %t92 %t94 = call ptr @fn_emit_expr(ptr %t93) store ptr %t94, ptr %t95 %t96 = load ptr, ptr %t1 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 7 %t98 = load ptr, ptr %t97 %t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 %t100 = load ptr, ptr %t99 %t101 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 %t102 = load i32, ptr %t101 %t103 = icmp ult i32 7, %t102 br i1 %t103, label %ixok17, label %ixbad18 ixbad18: %t104 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str6410, i32 7, i32 %t102) call void @exit(i32 1) unreachable ixok17: %t105 = getelementptr inbounds ptr, ptr %t100, i32 7 %t106 = load ptr, ptr %t105 %t107 = call ptr @fn_emit_expr(ptr %t106) store ptr %t107, ptr %t108 %t109 = load ptr, ptr %t17 %t110 = getelementptr inbounds %Cmp_Val, ptr %t109, i32 0, i32 0 %t111 = load ptr, ptr %t110 %t112 = call ptr @lp_str_concat(ptr @.str6411, ptr %t111) %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str6412) %t114 = load ptr, ptr %t43 %t115 = getelementptr inbounds %Cmp_Val, ptr %t114, i32 0, i32 0 %t116 = load ptr, ptr %t115 %t117 = call ptr @lp_str_concat(ptr %t113, ptr %t116) %t118 = call ptr @fn_emit_bind(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t69 %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 %t123 = call ptr @lp_str_concat(ptr @.str6413, ptr %t122) %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str6414) %t125 = load ptr, ptr %t95 %t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0 %t127 = load ptr, ptr %t126 %t128 = call ptr @lp_str_concat(ptr %t124, ptr %t127) %t129 = call ptr @fn_emit_bind(ptr %t128) store ptr %t129, ptr %t130 %t131 = load ptr, ptr %t30 %t132 = getelementptr inbounds %Cmp_Val, ptr %t131, i32 0, i32 0 %t133 = load ptr, ptr %t132 %t134 = call ptr @lp_str_concat(ptr @.str6415, ptr %t133) %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str6416) %t136 = load ptr, ptr %t56 %t137 = getelementptr inbounds %Cmp_Val, ptr %t136, i32 0, i32 0 %t138 = load ptr, ptr %t137 %t139 = call ptr @lp_str_concat(ptr %t135, ptr %t138) %t140 = call ptr @fn_emit_bind(ptr %t139) store ptr %t140, ptr %t141 %t142 = load ptr, ptr %t82 %t143 = getelementptr inbounds %Cmp_Val, ptr %t142, i32 0, i32 0 %t144 = load ptr, ptr %t143 %t145 = call ptr @lp_str_concat(ptr @.str6417, ptr %t144) %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str6418) %t147 = load ptr, ptr %t108 %t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0 %t149 = load ptr, ptr %t148 %t150 = call ptr @lp_str_concat(ptr %t146, ptr %t149) %t151 = call ptr @fn_emit_bind(ptr %t150) store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t17 %t154 = getelementptr inbounds %Cmp_Val, ptr %t153, i32 0, i32 0 %t155 = load ptr, ptr %t154 %t156 = call ptr @lp_str_concat(ptr @.str6419, ptr %t155) %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str6420) %t158 = load ptr, ptr %t130 %t159 = call ptr @lp_str_concat(ptr %t157, ptr %t158) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t69 %t163 = getelementptr inbounds %Cmp_Val, ptr %t162, i32 0, i32 0 %t164 = load ptr, ptr %t163 %t165 = call ptr @lp_str_concat(ptr @.str6421, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str6422) %t167 = load ptr, ptr %t119 %t168 = call ptr @lp_str_concat(ptr %t166, ptr %t167) %t169 = call ptr @fn_emit_bind(ptr %t168) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t30 %t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0 %t173 = load ptr, ptr %t172 %t174 = call ptr @lp_str_concat(ptr @.str6423, ptr %t173) %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str6424) %t176 = load ptr, ptr %t152 %t177 = call ptr @lp_str_concat(ptr %t175, ptr %t176) %t178 = call ptr @fn_emit_bind(ptr %t177) store ptr %t178, ptr %t179 %t180 = load ptr, ptr %t82 %t181 = getelementptr inbounds %Cmp_Val, ptr %t180, i32 0, i32 0 %t182 = load ptr, ptr %t181 %t183 = call ptr @lp_str_concat(ptr @.str6425, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str6426) %t185 = load ptr, ptr %t141 %t186 = call ptr @lp_str_concat(ptr %t184, ptr %t185) %t187 = call ptr @fn_emit_bind(ptr %t186) store ptr %t187, ptr %t188 %t189 = load ptr, ptr %t161 %t190 = call ptr @lp_str_concat(ptr @.str6427, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str6428) %t192 = load ptr, ptr %t170 %t193 = call ptr @lp_str_concat(ptr %t191, ptr %t192) %t194 = call ptr @fn_emit_bind(ptr %t193) store ptr %t194, ptr %t195 %t196 = load ptr, ptr %t179 %t197 = call ptr @lp_str_concat(ptr @.str6429, ptr %t196) %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str6430) %t199 = load ptr, ptr %t188 %t200 = call ptr @lp_str_concat(ptr %t198, ptr %t199) %t201 = call ptr @fn_emit_bind(ptr %t200) store ptr %t201, ptr %t202 %t203 = load ptr, ptr %t195 %t204 = call ptr @lp_str_concat(ptr @.str6431, ptr %t203) %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str6432) %t206 = load ptr, ptr %t202 %t207 = call ptr @lp_str_concat(ptr %t205, ptr %t206) %t208 = call ptr @fn_emit_bind(ptr %t207) store ptr %t208, ptr %t209 %t210 = load ptr, ptr %t209 %t211 = call ptr @lp_str_concat(ptr @.str6433, ptr %t210) %t212 = call ptr @lp_str_concat(ptr %t211, ptr @.str6434) %t213 = call ptr @fn_emit_bind(ptr %t212) %t214 = call ptr @fn_val(ptr %t213, ptr @.str6435) store ptr %t214, ptr %retval br label %ret ifend2: %t215 = load ptr, ptr %t0 %t216 = call i32 @lp_str_eq(ptr %t215, ptr @.str6436) %t217 = icmp ne i32 %t216, 0 br i1 %t217, label %then19, label %ifend21 then19: %t218 = load ptr, ptr %t1 %t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 7 %t220 = load ptr, ptr %t219 %t221 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 0 %t222 = load ptr, ptr %t221 %t223 = getelementptr inbounds %LSlice, ptr %t220, i32 0, i32 1 %t224 = load i32, ptr %t223 %t225 = icmp ult i32 0, %t224 br i1 %t225, label %ixok22, label %ixbad23 ixbad23: %t226 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t226, ptr @.fmt_bounds, ptr @.str6437, i32 0, i32 %t224) call void @exit(i32 1) unreachable ixok22: %t227 = getelementptr inbounds ptr, ptr %t222, i32 0 %t228 = load ptr, ptr %t227 %t229 = call ptr @fn_emit_expr(ptr %t228) store ptr %t229, ptr %t230 %t231 = load ptr, ptr %t1 %t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 7 %t233 = load ptr, ptr %t232 %t234 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 0 %t235 = load ptr, ptr %t234 %t236 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 1 %t237 = load i32, ptr %t236 %t238 = icmp ult i32 1, %t237 br i1 %t238, label %ixok24, label %ixbad25 ixbad25: %t239 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t239, ptr @.fmt_bounds, ptr @.str6438, i32 1, i32 %t237) call void @exit(i32 1) unreachable ixok24: %t240 = getelementptr inbounds ptr, ptr %t235, i32 1 %t241 = load ptr, ptr %t240 %t242 = call ptr @fn_emit_expr(ptr %t241) store ptr %t242, ptr %t243 %t244 = load ptr, ptr %t1 %t245 = getelementptr inbounds %Cmp_Node, ptr %t244, i32 0, i32 7 %t246 = load ptr, ptr %t245 %t247 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 0 %t248 = load ptr, ptr %t247 %t249 = getelementptr inbounds %LSlice, ptr %t246, i32 0, i32 1 %t250 = load i32, ptr %t249 %t251 = icmp ult i32 2, %t250 br i1 %t251, label %ixok26, label %ixbad27 ixbad27: %t252 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t252, ptr @.fmt_bounds, ptr @.str6439, i32 2, i32 %t250) call void @exit(i32 1) unreachable ixok26: %t253 = getelementptr inbounds ptr, ptr %t248, i32 2 %t254 = load ptr, ptr %t253 %t255 = call ptr @fn_emit_expr(ptr %t254) store ptr %t255, ptr %t256 %t257 = load ptr, ptr %t1 %t258 = getelementptr inbounds %Cmp_Node, ptr %t257, i32 0, i32 7 %t259 = load ptr, ptr %t258 %t260 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 0 %t261 = load ptr, ptr %t260 %t262 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 1 %t263 = load i32, ptr %t262 %t264 = icmp ult i32 3, %t263 br i1 %t264, label %ixok28, label %ixbad29 ixbad29: %t265 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t265, ptr @.fmt_bounds, ptr @.str6440, i32 3, i32 %t263) call void @exit(i32 1) unreachable ixok28: %t266 = getelementptr inbounds ptr, ptr %t261, i32 3 %t267 = load ptr, ptr %t266 %t268 = call ptr @fn_emit_expr(ptr %t267) store ptr %t268, ptr %t269 %t270 = load ptr, ptr %t1 %t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 7 %t272 = load ptr, ptr %t271 %t273 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 0 %t274 = load ptr, ptr %t273 %t275 = getelementptr inbounds %LSlice, ptr %t272, i32 0, i32 1 %t276 = load i32, ptr %t275 %t277 = icmp ult i32 4, %t276 br i1 %t277, label %ixok30, label %ixbad31 ixbad31: %t278 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t278, ptr @.fmt_bounds, ptr @.str6441, i32 4, i32 %t276) call void @exit(i32 1) unreachable ixok30: %t279 = getelementptr inbounds ptr, ptr %t274, i32 4 %t280 = load ptr, ptr %t279 %t281 = call ptr @fn_emit_expr(ptr %t280) store ptr %t281, ptr %t282 %t283 = load ptr, ptr %t1 %t284 = getelementptr inbounds %Cmp_Node, ptr %t283, i32 0, i32 7 %t285 = load ptr, ptr %t284 %t286 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 0 %t287 = load ptr, ptr %t286 %t288 = getelementptr inbounds %LSlice, ptr %t285, i32 0, i32 1 %t289 = load i32, ptr %t288 %t290 = icmp ult i32 5, %t289 br i1 %t290, label %ixok32, label %ixbad33 ixbad33: %t291 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t291, ptr @.fmt_bounds, ptr @.str6442, i32 5, i32 %t289) call void @exit(i32 1) unreachable ixok32: %t292 = getelementptr inbounds ptr, ptr %t287, i32 5 %t293 = load ptr, ptr %t292 %t294 = call ptr @fn_emit_expr(ptr %t293) store ptr %t294, ptr %t295 %t296 = load ptr, ptr %t256 %t297 = getelementptr inbounds %Cmp_Val, ptr %t296, i32 0, i32 0 %t298 = load ptr, ptr %t297 %t299 = call ptr @lp_str_concat(ptr @.str6443, ptr %t298) %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str6444) %t301 = load ptr, ptr %t282 %t302 = getelementptr inbounds %Cmp_Val, ptr %t301, i32 0, i32 0 %t303 = load ptr, ptr %t302 %t304 = call ptr @lp_str_concat(ptr %t300, ptr %t303) %t305 = call ptr @fn_emit_bind(ptr %t304) store ptr %t305, ptr %t306 %t307 = load ptr, ptr %t269 %t308 = getelementptr inbounds %Cmp_Val, ptr %t307, i32 0, i32 0 %t309 = load ptr, ptr %t308 %t310 = call ptr @lp_str_concat(ptr @.str6445, ptr %t309) %t311 = call ptr @lp_str_concat(ptr %t310, ptr @.str6446) %t312 = load ptr, ptr %t295 %t313 = getelementptr inbounds %Cmp_Val, ptr %t312, i32 0, i32 0 %t314 = load ptr, ptr %t313 %t315 = call ptr @lp_str_concat(ptr %t311, ptr %t314) %t316 = call ptr @fn_emit_bind(ptr %t315) store ptr %t316, ptr %t317 %t318 = load ptr, ptr %t230 %t319 = getelementptr inbounds %Cmp_Val, ptr %t318, i32 0, i32 0 %t320 = load ptr, ptr %t319 %t321 = call ptr @lp_str_concat(ptr @.str6447, ptr %t320) %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str6448) %t323 = load ptr, ptr %t256 %t324 = getelementptr inbounds %Cmp_Val, ptr %t323, i32 0, i32 0 %t325 = load ptr, ptr %t324 %t326 = call ptr @lp_str_concat(ptr %t322, ptr %t325) %t327 = call ptr @fn_emit_bind(ptr %t326) store ptr %t327, ptr %t328 %t329 = load ptr, ptr %t230 %t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0 %t331 = load ptr, ptr %t330 %t332 = call ptr @lp_str_concat(ptr @.str6449, ptr %t331) %t333 = call ptr @lp_str_concat(ptr %t332, ptr @.str6450) %t334 = load ptr, ptr %t306 %t335 = call ptr @lp_str_concat(ptr %t333, ptr %t334) %t336 = call ptr @fn_emit_bind(ptr %t335) store ptr %t336, ptr %t337 %t338 = load ptr, ptr %t243 %t339 = getelementptr inbounds %Cmp_Val, ptr %t338, i32 0, i32 0 %t340 = load ptr, ptr %t339 %t341 = call ptr @lp_str_concat(ptr @.str6451, ptr %t340) %t342 = call ptr @lp_str_concat(ptr %t341, ptr @.str6452) %t343 = load ptr, ptr %t269 %t344 = getelementptr inbounds %Cmp_Val, ptr %t343, i32 0, i32 0 %t345 = load ptr, ptr %t344 %t346 = call ptr @lp_str_concat(ptr %t342, ptr %t345) %t347 = call ptr @fn_emit_bind(ptr %t346) store ptr %t347, ptr %t348 %t349 = load ptr, ptr %t243 %t350 = getelementptr inbounds %Cmp_Val, ptr %t349, i32 0, i32 0 %t351 = load ptr, ptr %t350 %t352 = call ptr @lp_str_concat(ptr @.str6453, ptr %t351) %t353 = call ptr @lp_str_concat(ptr %t352, ptr @.str6454) %t354 = load ptr, ptr %t317 %t355 = call ptr @lp_str_concat(ptr %t353, ptr %t354) %t356 = call ptr @fn_emit_bind(ptr %t355) store ptr %t356, ptr %t357 %t358 = load ptr, ptr %t328 %t359 = call ptr @lp_str_concat(ptr @.str6455, ptr %t358) %t360 = call ptr @lp_str_concat(ptr %t359, ptr @.str6456) %t361 = load ptr, ptr %t337 %t362 = call ptr @lp_str_concat(ptr %t360, ptr %t361) %t363 = call ptr @fn_emit_bind(ptr %t362) store ptr %t363, ptr %t364 %t365 = load ptr, ptr %t348 %t366 = call ptr @lp_str_concat(ptr @.str6457, ptr %t365) %t367 = call ptr @lp_str_concat(ptr %t366, ptr @.str6458) %t368 = load ptr, ptr %t357 %t369 = call ptr @lp_str_concat(ptr %t367, ptr %t368) %t370 = call ptr @fn_emit_bind(ptr %t369) store ptr %t370, ptr %t371 %t372 = load ptr, ptr %t364 %t373 = call ptr @lp_str_concat(ptr @.str6459, ptr %t372) %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str6460) %t375 = load ptr, ptr %t371 %t376 = call ptr @lp_str_concat(ptr %t374, ptr %t375) %t377 = call ptr @fn_emit_bind(ptr %t376) store ptr %t377, ptr %t378 %t379 = load ptr, ptr %t378 %t380 = call ptr @lp_str_concat(ptr @.str6461, ptr %t379) %t381 = call ptr @lp_str_concat(ptr %t380, ptr @.str6462) %t382 = call ptr @fn_emit_bind(ptr %t381) %t383 = call ptr @fn_val(ptr %t382, ptr @.str6463) store ptr %t383, ptr %retval br label %ret ifend21: %t384 = load ptr, ptr %t0 %t385 = call i32 @lp_str_eq(ptr %t384, ptr @.str6464) %t386 = icmp ne i32 %t385, 0 br i1 %t386, label %then34, label %ifend36 then34: %t387 = load ptr, ptr %t1 %t388 = getelementptr inbounds %Cmp_Node, ptr %t387, i32 0, i32 7 %t389 = load ptr, ptr %t388 %t390 = getelementptr inbounds %LSlice, ptr %t389, i32 0, i32 0 %t391 = load ptr, ptr %t390 %t392 = getelementptr inbounds %LSlice, ptr %t389, i32 0, i32 1 %t393 = load i32, ptr %t392 %t394 = icmp ult i32 0, %t393 br i1 %t394, label %ixok37, label %ixbad38 ixbad38: %t395 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t395, ptr @.fmt_bounds, ptr @.str6465, i32 0, i32 %t393) call void @exit(i32 1) unreachable ixok37: %t396 = getelementptr inbounds ptr, ptr %t391, i32 0 %t397 = load ptr, ptr %t396 %t398 = call ptr @fn_emit_expr(ptr %t397) store ptr %t398, ptr %t399 %t400 = load ptr, ptr %t1 %t401 = getelementptr inbounds %Cmp_Node, ptr %t400, i32 0, i32 7 %t402 = load ptr, ptr %t401 %t403 = getelementptr inbounds %LSlice, ptr %t402, i32 0, i32 0 %t404 = load ptr, ptr %t403 %t405 = getelementptr inbounds %LSlice, ptr %t402, i32 0, i32 1 %t406 = load i32, ptr %t405 %t407 = icmp ult i32 1, %t406 br i1 %t407, label %ixok39, label %ixbad40 ixbad40: %t408 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t408, ptr @.fmt_bounds, ptr @.str6466, i32 1, i32 %t406) call void @exit(i32 1) unreachable ixok39: %t409 = getelementptr inbounds ptr, ptr %t404, i32 1 %t410 = load ptr, ptr %t409 %t411 = call ptr @fn_emit_expr(ptr %t410) store ptr %t411, ptr %t412 %t413 = load ptr, ptr %t1 %t414 = getelementptr inbounds %Cmp_Node, ptr %t413, i32 0, i32 7 %t415 = load ptr, ptr %t414 %t416 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 0 %t417 = load ptr, ptr %t416 %t418 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 1 %t419 = load i32, ptr %t418 %t420 = icmp ult i32 2, %t419 br i1 %t420, label %ixok41, label %ixbad42 ixbad42: %t421 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t421, ptr @.fmt_bounds, ptr @.str6467, i32 2, i32 %t419) call void @exit(i32 1) unreachable ixok41: %t422 = getelementptr inbounds ptr, ptr %t417, i32 2 %t423 = load ptr, ptr %t422 %t424 = call ptr @fn_emit_expr(ptr %t423) store ptr %t424, ptr %t425 %t426 = load ptr, ptr %t1 %t427 = getelementptr inbounds %Cmp_Node, ptr %t426, i32 0, i32 7 %t428 = load ptr, ptr %t427 %t429 = getelementptr inbounds %LSlice, ptr %t428, i32 0, i32 0 %t430 = load ptr, ptr %t429 %t431 = getelementptr inbounds %LSlice, ptr %t428, i32 0, i32 1 %t432 = load i32, ptr %t431 %t433 = icmp ult i32 3, %t432 br i1 %t433, label %ixok43, label %ixbad44 ixbad44: %t434 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t434, ptr @.fmt_bounds, ptr @.str6468, i32 3, i32 %t432) call void @exit(i32 1) unreachable ixok43: %t435 = getelementptr inbounds ptr, ptr %t430, i32 3 %t436 = load ptr, ptr %t435 %t437 = call ptr @fn_emit_expr(ptr %t436) store ptr %t437, ptr %t438 %t439 = load ptr, ptr %t1 %t440 = getelementptr inbounds %Cmp_Node, ptr %t439, i32 0, i32 7 %t441 = load ptr, ptr %t440 %t442 = getelementptr inbounds %LSlice, ptr %t441, i32 0, i32 0 %t443 = load ptr, ptr %t442 %t444 = getelementptr inbounds %LSlice, ptr %t441, i32 0, i32 1 %t445 = load i32, ptr %t444 %t446 = icmp ult i32 4, %t445 br i1 %t446, label %ixok45, label %ixbad46 ixbad46: %t447 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t447, ptr @.fmt_bounds, ptr @.str6469, i32 4, i32 %t445) call void @exit(i32 1) unreachable ixok45: %t448 = getelementptr inbounds ptr, ptr %t443, i32 4 %t449 = load ptr, ptr %t448 %t450 = call ptr @fn_emit_expr(ptr %t449) store ptr %t450, ptr %t451 %t452 = load ptr, ptr %t1 %t453 = getelementptr inbounds %Cmp_Node, ptr %t452, i32 0, i32 7 %t454 = load ptr, ptr %t453 %t455 = getelementptr inbounds %LSlice, ptr %t454, i32 0, i32 0 %t456 = load ptr, ptr %t455 %t457 = getelementptr inbounds %LSlice, ptr %t454, i32 0, i32 1 %t458 = load i32, ptr %t457 %t459 = icmp ult i32 5, %t458 br i1 %t459, label %ixok47, label %ixbad48 ixbad48: %t460 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t460, ptr @.fmt_bounds, ptr @.str6470, i32 5, i32 %t458) call void @exit(i32 1) unreachable ixok47: %t461 = getelementptr inbounds ptr, ptr %t456, i32 5 %t462 = load ptr, ptr %t461 %t463 = call ptr @fn_emit_expr(ptr %t462) store ptr %t463, ptr %t464 %t465 = load ptr, ptr %t399 %t466 = getelementptr inbounds %Cmp_Val, ptr %t465, i32 0, i32 0 %t467 = load ptr, ptr %t466 %t468 = call ptr @lp_str_concat(ptr @.str6471, ptr %t467) %t469 = call ptr @lp_str_concat(ptr %t468, ptr @.str6472) %t470 = load ptr, ptr %t438 %t471 = getelementptr inbounds %Cmp_Val, ptr %t470, i32 0, i32 0 %t472 = load ptr, ptr %t471 %t473 = call ptr @lp_str_concat(ptr %t469, ptr %t472) %t474 = call ptr @fn_emit_bind(ptr %t473) store ptr %t474, ptr %t475 %t476 = load ptr, ptr %t412 %t477 = getelementptr inbounds %Cmp_Val, ptr %t476, i32 0, i32 0 %t478 = load ptr, ptr %t477 %t479 = call ptr @lp_str_concat(ptr @.str6473, ptr %t478) %t480 = call ptr @lp_str_concat(ptr %t479, ptr @.str6474) %t481 = load ptr, ptr %t451 %t482 = getelementptr inbounds %Cmp_Val, ptr %t481, i32 0, i32 0 %t483 = load ptr, ptr %t482 %t484 = call ptr @lp_str_concat(ptr %t480, ptr %t483) %t485 = call ptr @fn_emit_bind(ptr %t484) store ptr %t485, ptr %t486 %t487 = load ptr, ptr %t475 %t488 = load ptr, ptr %t486 %t489 = call ptr @fn_coll_sq_sum(ptr %t487, ptr %t488) store ptr %t489, ptr %t490 %t491 = load ptr, ptr %t425 %t492 = getelementptr inbounds %Cmp_Val, ptr %t491, i32 0, i32 0 %t493 = load ptr, ptr %t492 %t494 = call ptr @lp_str_concat(ptr @.str6475, ptr %t493) %t495 = call ptr @lp_str_concat(ptr %t494, ptr @.str6476) %t496 = load ptr, ptr %t464 %t497 = getelementptr inbounds %Cmp_Val, ptr %t496, i32 0, i32 0 %t498 = load ptr, ptr %t497 %t499 = call ptr @lp_str_concat(ptr %t495, ptr %t498) %t500 = call ptr @fn_emit_bind(ptr %t499) store ptr %t500, ptr %t501 %t502 = load ptr, ptr %t501 %t503 = call ptr @lp_str_concat(ptr @.str6477, ptr %t502) %t504 = call ptr @lp_str_concat(ptr %t503, ptr @.str6478) %t505 = call ptr @fn_emit_bind(ptr %t504) store ptr %t505, ptr %t506 %t507 = load ptr, ptr %t506 %t508 = call ptr @lp_str_concat(ptr @.str6479, ptr %t507) %t509 = call ptr @lp_str_concat(ptr %t508, ptr @.str6480) %t510 = load ptr, ptr %t506 %t511 = call ptr @lp_str_concat(ptr %t509, ptr %t510) %t512 = call ptr @fn_emit_bind(ptr %t511) store ptr %t512, ptr %t513 %t514 = load ptr, ptr %t490 %t515 = call ptr @lp_str_concat(ptr @.str6481, ptr %t514) %t516 = call ptr @lp_str_concat(ptr %t515, ptr @.str6482) %t517 = load ptr, ptr %t513 %t518 = call ptr @lp_str_concat(ptr %t516, ptr %t517) %t519 = call ptr @fn_emit_bind(ptr %t518) store ptr %t519, ptr %t520 %t521 = load ptr, ptr %t520 %t522 = call ptr @lp_str_concat(ptr @.str6483, ptr %t521) %t523 = call ptr @lp_str_concat(ptr %t522, ptr @.str6484) %t524 = call ptr @fn_emit_bind(ptr %t523) %t525 = call ptr @fn_val(ptr %t524, ptr @.str6485) store ptr %t525, ptr %retval br label %ret ifend36: %t526 = load ptr, ptr %t1 %t527 = getelementptr inbounds %Cmp_Node, ptr %t526, i32 0, i32 7 %t528 = load ptr, ptr %t527 %t529 = getelementptr inbounds %LSlice, ptr %t528, i32 0, i32 0 %t530 = load ptr, ptr %t529 %t531 = getelementptr inbounds %LSlice, ptr %t528, i32 0, i32 1 %t532 = load i32, ptr %t531 %t533 = icmp ult i32 0, %t532 br i1 %t533, label %ixok49, label %ixbad50 ixbad50: %t534 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t534, ptr @.fmt_bounds, ptr @.str6486, i32 0, i32 %t532) call void @exit(i32 1) unreachable ixok49: %t535 = getelementptr inbounds ptr, ptr %t530, i32 0 %t536 = load ptr, ptr %t535 %t537 = call ptr @fn_emit_expr(ptr %t536) store ptr %t537, ptr %t538 %t539 = load ptr, ptr %t1 %t540 = getelementptr inbounds %Cmp_Node, ptr %t539, i32 0, i32 7 %t541 = load ptr, ptr %t540 %t542 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 0 %t543 = load ptr, ptr %t542 %t544 = getelementptr inbounds %LSlice, ptr %t541, i32 0, i32 1 %t545 = load i32, ptr %t544 %t546 = icmp ult i32 1, %t545 br i1 %t546, label %ixok51, label %ixbad52 ixbad52: %t547 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t547, ptr @.fmt_bounds, ptr @.str6487, i32 1, i32 %t545) call void @exit(i32 1) unreachable ixok51: %t548 = getelementptr inbounds ptr, ptr %t543, i32 1 %t549 = load ptr, ptr %t548 %t550 = call ptr @fn_emit_expr(ptr %t549) store ptr %t550, ptr %t551 %t552 = load ptr, ptr %t1 %t553 = getelementptr inbounds %Cmp_Node, ptr %t552, i32 0, i32 7 %t554 = load ptr, ptr %t553 %t555 = getelementptr inbounds %LSlice, ptr %t554, i32 0, i32 0 %t556 = load ptr, ptr %t555 %t557 = getelementptr inbounds %LSlice, ptr %t554, i32 0, i32 1 %t558 = load i32, ptr %t557 %t559 = icmp ult i32 2, %t558 br i1 %t559, label %ixok53, label %ixbad54 ixbad54: %t560 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t560, ptr @.fmt_bounds, ptr @.str6488, i32 2, i32 %t558) call void @exit(i32 1) unreachable ixok53: %t561 = getelementptr inbounds ptr, ptr %t556, i32 2 %t562 = load ptr, ptr %t561 %t563 = call ptr @fn_emit_expr(ptr %t562) store ptr %t563, ptr %t564 %t565 = load ptr, ptr %t1 %t566 = getelementptr inbounds %Cmp_Node, ptr %t565, i32 0, i32 7 %t567 = load ptr, ptr %t566 %t568 = getelementptr inbounds %LSlice, ptr %t567, i32 0, i32 0 %t569 = load ptr, ptr %t568 %t570 = getelementptr inbounds %LSlice, ptr %t567, i32 0, i32 1 %t571 = load i32, ptr %t570 %t572 = icmp ult i32 3, %t571 br i1 %t572, label %ixok55, label %ixbad56 ixbad56: %t573 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t573, ptr @.fmt_bounds, ptr @.str6489, i32 3, i32 %t571) call void @exit(i32 1) unreachable ixok55: %t574 = getelementptr inbounds ptr, ptr %t569, i32 3 %t575 = load ptr, ptr %t574 %t576 = call ptr @fn_emit_expr(ptr %t575) store ptr %t576, ptr %t577 %t578 = load ptr, ptr %t1 %t579 = getelementptr inbounds %Cmp_Node, ptr %t578, i32 0, i32 7 %t580 = load ptr, ptr %t579 %t581 = getelementptr inbounds %LSlice, ptr %t580, i32 0, i32 0 %t582 = load ptr, ptr %t581 %t583 = getelementptr inbounds %LSlice, ptr %t580, i32 0, i32 1 %t584 = load i32, ptr %t583 %t585 = icmp ult i32 4, %t584 br i1 %t585, label %ixok57, label %ixbad58 ixbad58: %t586 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t586, ptr @.fmt_bounds, ptr @.str6490, i32 4, i32 %t584) call void @exit(i32 1) unreachable ixok57: %t587 = getelementptr inbounds ptr, ptr %t582, i32 4 %t588 = load ptr, ptr %t587 %t589 = call ptr @fn_emit_expr(ptr %t588) store ptr %t589, ptr %t590 %t591 = load ptr, ptr %t1 %t592 = getelementptr inbounds %Cmp_Node, ptr %t591, i32 0, i32 7 %t593 = load ptr, ptr %t592 %t594 = getelementptr inbounds %LSlice, ptr %t593, i32 0, i32 0 %t595 = load ptr, ptr %t594 %t596 = getelementptr inbounds %LSlice, ptr %t593, i32 0, i32 1 %t597 = load i32, ptr %t596 %t598 = icmp ult i32 5, %t597 br i1 %t598, label %ixok59, label %ixbad60 ixbad60: %t599 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t599, ptr @.fmt_bounds, ptr @.str6491, i32 5, i32 %t597) call void @exit(i32 1) unreachable ixok59: %t600 = getelementptr inbounds ptr, ptr %t595, i32 5 %t601 = load ptr, ptr %t600 %t602 = call ptr @fn_emit_expr(ptr %t601) store ptr %t602, ptr %t603 %t604 = load ptr, ptr %t1 %t605 = getelementptr inbounds %Cmp_Node, ptr %t604, i32 0, i32 7 %t606 = load ptr, ptr %t605 %t607 = getelementptr inbounds %LSlice, ptr %t606, i32 0, i32 0 %t608 = load ptr, ptr %t607 %t609 = getelementptr inbounds %LSlice, ptr %t606, i32 0, i32 1 %t610 = load i32, ptr %t609 %t611 = icmp ult i32 6, %t610 br i1 %t611, label %ixok61, label %ixbad62 ixbad62: %t612 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t612, ptr @.fmt_bounds, ptr @.str6492, i32 6, i32 %t610) call void @exit(i32 1) unreachable ixok61: %t613 = getelementptr inbounds ptr, ptr %t608, i32 6 %t614 = load ptr, ptr %t613 %t615 = call ptr @fn_emit_expr(ptr %t614) store ptr %t615, ptr %t616 %t617 = load ptr, ptr %t538 %t618 = getelementptr inbounds %Cmp_Val, ptr %t617, i32 0, i32 0 %t619 = load ptr, ptr %t618 %t620 = call ptr @lp_str_concat(ptr @.str6493, ptr %t619) %t621 = call ptr @lp_str_concat(ptr %t620, ptr @.str6494) %t622 = load ptr, ptr %t564 %t623 = getelementptr inbounds %Cmp_Val, ptr %t622, i32 0, i32 0 %t624 = load ptr, ptr %t623 %t625 = call ptr @lp_str_concat(ptr %t621, ptr %t624) %t626 = call ptr @fn_emit_bind(ptr %t625) store ptr %t626, ptr %t627 %t628 = load ptr, ptr %t551 %t629 = getelementptr inbounds %Cmp_Val, ptr %t628, i32 0, i32 0 %t630 = load ptr, ptr %t629 %t631 = call ptr @lp_str_concat(ptr @.str6495, ptr %t630) %t632 = call ptr @lp_str_concat(ptr %t631, ptr @.str6496) %t633 = load ptr, ptr %t577 %t634 = getelementptr inbounds %Cmp_Val, ptr %t633, i32 0, i32 0 %t635 = load ptr, ptr %t634 %t636 = call ptr @lp_str_concat(ptr %t632, ptr %t635) %t637 = call ptr @fn_emit_bind(ptr %t636) store ptr %t637, ptr %t638 %t639 = load ptr, ptr %t590 %t640 = getelementptr inbounds %Cmp_Val, ptr %t639, i32 0, i32 0 %t641 = load ptr, ptr %t640 %t642 = load ptr, ptr %t538 %t643 = getelementptr inbounds %Cmp_Val, ptr %t642, i32 0, i32 0 %t644 = load ptr, ptr %t643 %t645 = load ptr, ptr %t627 %t646 = call ptr @fn_coll_clamp(ptr %t641, ptr %t644, ptr %t645) store ptr %t646, ptr %t647 %t648 = load ptr, ptr %t603 %t649 = getelementptr inbounds %Cmp_Val, ptr %t648, i32 0, i32 0 %t650 = load ptr, ptr %t649 %t651 = load ptr, ptr %t551 %t652 = getelementptr inbounds %Cmp_Val, ptr %t651, i32 0, i32 0 %t653 = load ptr, ptr %t652 %t654 = load ptr, ptr %t638 %t655 = call ptr @fn_coll_clamp(ptr %t650, ptr %t653, ptr %t654) store ptr %t655, ptr %t656 %t657 = load ptr, ptr %t590 %t658 = getelementptr inbounds %Cmp_Val, ptr %t657, i32 0, i32 0 %t659 = load ptr, ptr %t658 %t660 = call ptr @lp_str_concat(ptr @.str6497, ptr %t659) %t661 = call ptr @lp_str_concat(ptr %t660, ptr @.str6498) %t662 = load ptr, ptr %t647 %t663 = call ptr @lp_str_concat(ptr %t661, ptr %t662) %t664 = call ptr @fn_emit_bind(ptr %t663) store ptr %t664, ptr %t665 %t666 = load ptr, ptr %t603 %t667 = getelementptr inbounds %Cmp_Val, ptr %t666, i32 0, i32 0 %t668 = load ptr, ptr %t667 %t669 = call ptr @lp_str_concat(ptr @.str6499, ptr %t668) %t670 = call ptr @lp_str_concat(ptr %t669, ptr @.str6500) %t671 = load ptr, ptr %t656 %t672 = call ptr @lp_str_concat(ptr %t670, ptr %t671) %t673 = call ptr @fn_emit_bind(ptr %t672) store ptr %t673, ptr %t674 %t675 = load ptr, ptr %t665 %t676 = load ptr, ptr %t674 %t677 = call ptr @fn_coll_sq_sum(ptr %t675, ptr %t676) store ptr %t677, ptr %t678 %t679 = load ptr, ptr %t616 %t680 = getelementptr inbounds %Cmp_Val, ptr %t679, i32 0, i32 0 %t681 = load ptr, ptr %t680 %t682 = call ptr @lp_str_concat(ptr @.str6501, ptr %t681) %t683 = call ptr @lp_str_concat(ptr %t682, ptr @.str6502) %t684 = call ptr @fn_emit_bind(ptr %t683) store ptr %t684, ptr %t685 %t686 = load ptr, ptr %t685 %t687 = call ptr @lp_str_concat(ptr @.str6503, ptr %t686) %t688 = call ptr @lp_str_concat(ptr %t687, ptr @.str6504) %t689 = load ptr, ptr %t685 %t690 = call ptr @lp_str_concat(ptr %t688, ptr %t689) %t691 = call ptr @fn_emit_bind(ptr %t690) store ptr %t691, ptr %t692 %t693 = load ptr, ptr %t678 %t694 = call ptr @lp_str_concat(ptr @.str6505, ptr %t693) %t695 = call ptr @lp_str_concat(ptr %t694, ptr @.str6506) %t696 = load ptr, ptr %t692 %t697 = call ptr @lp_str_concat(ptr %t695, ptr %t696) %t698 = call ptr @fn_emit_bind(ptr %t697) store ptr %t698, ptr %t699 %t700 = load ptr, ptr %t699 %t701 = call ptr @lp_str_concat(ptr @.str6507, ptr %t700) %t702 = call ptr @lp_str_concat(ptr %t701, ptr @.str6508) %t703 = call ptr @fn_emit_bind(ptr %t702) %t704 = call ptr @fn_val(ptr %t703, ptr @.str6509) store ptr %t704, ptr %retval br label %ret ret: %t705 = load ptr, ptr %retval ret ptr %t705 } define i32 @fn_is_mem_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t12 = alloca i32 %t13 = alloca i32 %t14 = alloca i32 store ptr %arg_meth, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str6510) %t4 = icmp ne i32 %t3, 0 %t5 = zext i1 %t4 to i32 store i32 %t5, ptr %t1 br i1 %t4, label %scend1, label %sc0 sc0: %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str6511) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t1 br label %scend1 scend1: %t10 = load i32, ptr %t1 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then2, label %ifend4 then2: store i32 1, ptr %retval br label %ret ifend4: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str6512) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t14 br i1 %t17, label %scend6, label %sc5 sc5: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str6513) %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t14 br label %scend6 scend6: %t23 = load i32, ptr %t14 %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t13 br i1 %t24, label %scend8, label %sc7 sc7: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str6514) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t13 br label %scend8 scend8: %t30 = load i32, ptr %t13 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t12 br i1 %t31, label %scend10, label %sc9 sc9: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str6515) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t12 br label %scend10 scend10: %t37 = load i32, ptr %t12 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then11, label %ifend13 then11: store i32 1, ptr %retval br label %ret ifend13: store i32 0, ptr %retval br label %ret ret: %t39 = load i32, ptr %retval ret i32 %t39 } define ptr @fn_emit_mem_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t24 = alloca ptr %t45 = alloca ptr %t52 = alloca ptr %t57 = alloca ptr %t78 = alloca ptr %t91 = alloca ptr %t104 = alloca ptr %t111 = alloca ptr %t135 = alloca ptr %t148 = alloca ptr %t161 = alloca ptr %t168 = alloca ptr %t192 = alloca ptr %t205 = alloca ptr %t216 = alloca ptr %t220 = alloca ptr %t238 = alloca ptr %t251 = alloca ptr %t264 = alloca ptr %t275 = alloca ptr %t282 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str6516) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str6517, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @lp_str_concat(ptr @.str6518, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str6519) %t23 = call ptr @fn_emit_bind(ptr %t22) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str6520, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str6521) %t28 = call ptr @fn_emit_bind(ptr %t27) %t29 = call ptr @fn_val(ptr %t28, ptr @.str6522) store ptr %t29, ptr %retval br label %ret ifend2: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str6523) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t1 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 0, %t39 br i1 %t40, label %ixok8, label %ixbad9 ixbad9: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str6524, i32 0, i32 %t39) call void @exit(i32 1) unreachable ixok8: %t42 = getelementptr inbounds ptr, ptr %t37, i32 0 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_emit_expr(ptr %t43) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %Cmp_Val, ptr %t46, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = call ptr @lp_str_concat(ptr @.str6525, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str6526) %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 %t54 = call ptr @lp_str_concat(ptr @.str6527, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str6528) %t56 = call ptr @fn_emit_bind(ptr %t55) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t57 %t59 = call ptr @lp_str_concat(ptr @.str6529, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str6530) %t61 = call ptr @fn_emit_bind(ptr %t60) %t62 = call ptr @fn_val(ptr %t61, ptr @.str6531) store ptr %t62, ptr %retval br label %ret ifend7: %t63 = load ptr, ptr %t0 %t64 = call i32 @lp_str_eq(ptr %t63, ptr @.str6532) %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then10, label %ifend12 then10: %t66 = load ptr, ptr %t1 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 7 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 %t70 = load ptr, ptr %t69 %t71 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t72 = load i32, ptr %t71 %t73 = icmp ult i32 0, %t72 br i1 %t73, label %ixok13, label %ixbad14 ixbad14: %t74 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str6533, i32 0, i32 %t72) call void @exit(i32 1) unreachable ixok13: %t75 = getelementptr inbounds ptr, ptr %t70, i32 0 %t76 = load ptr, ptr %t75 %t77 = call ptr @fn_emit_expr(ptr %t76) store ptr %t77, ptr %t78 %t79 = load ptr, ptr %t1 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 7 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 1 %t85 = load i32, ptr %t84 %t86 = icmp ult i32 1, %t85 br i1 %t86, label %ixok15, label %ixbad16 ixbad16: %t87 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t87, ptr @.fmt_bounds, ptr @.str6534, i32 1, i32 %t85) call void @exit(i32 1) unreachable ixok15: %t88 = getelementptr inbounds ptr, ptr %t83, i32 1 %t89 = load ptr, ptr %t88 %t90 = call ptr @fn_emit_expr(ptr %t89) store ptr %t90, ptr %t91 %t92 = load ptr, ptr %t1 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 7 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 2, %t98 br i1 %t99, label %ixok17, label %ixbad18 ixbad18: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str6535, i32 2, i32 %t98) call void @exit(i32 1) unreachable ixok17: %t101 = getelementptr inbounds ptr, ptr %t96, i32 2 %t102 = load ptr, ptr %t101 %t103 = call ptr @fn_emit_expr(ptr %t102) store ptr %t103, ptr %t104 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 0 %t107 = load ptr, ptr %t106 %t108 = call ptr @lp_str_concat(ptr @.str6536, ptr %t107) %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str6537) %t110 = call ptr @fn_emit_bind(ptr %t109) store ptr %t110, ptr %t111 call void @fn_emit(ptr @.str6538) %t112 = load ptr, ptr %t78 %t113 = getelementptr inbounds %Cmp_Val, ptr %t112, i32 0, i32 0 %t114 = load ptr, ptr %t113 call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str6539) %t115 = load ptr, ptr %t91 %t116 = getelementptr inbounds %Cmp_Val, ptr %t115, i32 0, i32 0 %t117 = load ptr, ptr %t116 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str6540) %t118 = load ptr, ptr %t111 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str6541) %t119 = call ptr @fn_val(ptr @.str6542, ptr @.str6543) store ptr %t119, ptr %retval br label %ret ifend12: %t120 = load ptr, ptr %t0 %t121 = call i32 @lp_str_eq(ptr %t120, ptr @.str6544) %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then19, label %ifend21 then19: %t123 = load ptr, ptr %t1 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 7 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 %t127 = load ptr, ptr %t126 %t128 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t129 = load i32, ptr %t128 %t130 = icmp ult i32 0, %t129 br i1 %t130, label %ixok22, label %ixbad23 ixbad23: %t131 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t131, ptr @.fmt_bounds, ptr @.str6545, i32 0, i32 %t129) call void @exit(i32 1) unreachable ixok22: %t132 = getelementptr inbounds ptr, ptr %t127, i32 0 %t133 = load ptr, ptr %t132 %t134 = call ptr @fn_emit_expr(ptr %t133) store ptr %t134, ptr %t135 %t136 = load ptr, ptr %t1 %t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 7 %t138 = load ptr, ptr %t137 %t139 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 0 %t140 = load ptr, ptr %t139 %t141 = getelementptr inbounds %LSlice, ptr %t138, i32 0, i32 1 %t142 = load i32, ptr %t141 %t143 = icmp ult i32 1, %t142 br i1 %t143, label %ixok24, label %ixbad25 ixbad25: %t144 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t144, ptr @.fmt_bounds, ptr @.str6546, i32 1, i32 %t142) call void @exit(i32 1) unreachable ixok24: %t145 = getelementptr inbounds ptr, ptr %t140, i32 1 %t146 = load ptr, ptr %t145 %t147 = call ptr @fn_emit_expr(ptr %t146) store ptr %t147, ptr %t148 %t149 = load ptr, ptr %t1 %t150 = getelementptr inbounds %Cmp_Node, ptr %t149, i32 0, i32 7 %t151 = load ptr, ptr %t150 %t152 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 0 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 1 %t155 = load i32, ptr %t154 %t156 = icmp ult i32 2, %t155 br i1 %t156, label %ixok26, label %ixbad27 ixbad27: %t157 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t157, ptr @.fmt_bounds, ptr @.str6547, i32 2, i32 %t155) call void @exit(i32 1) unreachable ixok26: %t158 = getelementptr inbounds ptr, ptr %t153, i32 2 %t159 = load ptr, ptr %t158 %t160 = call ptr @fn_emit_expr(ptr %t159) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t161 %t163 = getelementptr inbounds %Cmp_Val, ptr %t162, i32 0, i32 0 %t164 = load ptr, ptr %t163 %t165 = call ptr @lp_str_concat(ptr @.str6548, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str6549) %t167 = call ptr @fn_emit_bind(ptr %t166) store ptr %t167, ptr %t168 call void @fn_emit(ptr @.str6550) %t169 = load ptr, ptr %t135 %t170 = getelementptr inbounds %Cmp_Val, ptr %t169, i32 0, i32 0 %t171 = load ptr, ptr %t170 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str6551) %t172 = load ptr, ptr %t148 %t173 = getelementptr inbounds %Cmp_Val, ptr %t172, i32 0, i32 0 %t174 = load ptr, ptr %t173 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str6552) %t175 = load ptr, ptr %t168 call void @fn_emit(ptr %t175) call void @fn_emit(ptr @.str6553) %t176 = call ptr @fn_val(ptr @.str6554, ptr @.str6555) store ptr %t176, ptr %retval br label %ret ifend21: %t177 = load ptr, ptr %t0 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str6556) %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then28, label %ifend30 then28: %t180 = load ptr, ptr %t1 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 7 %t182 = load ptr, ptr %t181 %t183 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0 %t184 = load ptr, ptr %t183 %t185 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 1 %t186 = load i32, ptr %t185 %t187 = icmp ult i32 0, %t186 br i1 %t187, label %ixok31, label %ixbad32 ixbad32: %t188 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t188, ptr @.fmt_bounds, ptr @.str6557, i32 0, i32 %t186) call void @exit(i32 1) unreachable ixok31: %t189 = getelementptr inbounds ptr, ptr %t184, i32 0 %t190 = load ptr, ptr %t189 %t191 = call ptr @fn_emit_expr(ptr %t190) store ptr %t191, ptr %t192 %t193 = load ptr, ptr %t1 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 7 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %LSlice, ptr %t195, i32 0, i32 0 %t197 = load ptr, ptr %t196 %t198 = getelementptr inbounds %LSlice, ptr %t195, i32 0, i32 1 %t199 = load i32, ptr %t198 %t200 = icmp ult i32 1, %t199 br i1 %t200, label %ixok33, label %ixbad34 ixbad34: %t201 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t201, ptr @.fmt_bounds, ptr @.str6558, i32 1, i32 %t199) call void @exit(i32 1) unreachable ixok33: %t202 = getelementptr inbounds ptr, ptr %t197, i32 1 %t203 = load ptr, ptr %t202 %t204 = call ptr @fn_emit_expr(ptr %t203) store ptr %t204, ptr %t205 %t206 = load ptr, ptr %t192 %t207 = getelementptr inbounds %Cmp_Val, ptr %t206, i32 0, i32 0 %t208 = load ptr, ptr %t207 %t209 = call ptr @lp_str_concat(ptr @.str6559, ptr %t208) %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str6560) %t211 = load ptr, ptr %t205 %t212 = getelementptr inbounds %Cmp_Val, ptr %t211, i32 0, i32 0 %t213 = load ptr, ptr %t212 %t214 = call ptr @lp_str_concat(ptr %t210, ptr %t213) %t215 = call ptr @fn_emit_bind(ptr %t214) store ptr %t215, ptr %t216 %t217 = load ptr, ptr %t216 %t218 = call ptr @lp_str_concat(ptr @.str6561, ptr %t217) %t219 = call ptr @fn_emit_bind(ptr %t218) store ptr %t219, ptr %t220 %t221 = load ptr, ptr %t220 %t222 = call ptr @lp_str_concat(ptr @.str6562, ptr %t221) %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str6563) %t224 = call ptr @fn_emit_bind(ptr %t223) %t225 = call ptr @fn_val(ptr %t224, ptr @.str6564) store ptr %t225, ptr %retval br label %ret ifend30: %t226 = load ptr, ptr %t1 %t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 7 %t228 = load ptr, ptr %t227 %t229 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0 %t230 = load ptr, ptr %t229 %t231 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 1 %t232 = load i32, ptr %t231 %t233 = icmp ult i32 0, %t232 br i1 %t233, label %ixok35, label %ixbad36 ixbad36: %t234 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t234, ptr @.fmt_bounds, ptr @.str6565, i32 0, i32 %t232) call void @exit(i32 1) unreachable ixok35: %t235 = getelementptr inbounds ptr, ptr %t230, i32 0 %t236 = load ptr, ptr %t235 %t237 = call ptr @fn_emit_expr(ptr %t236) store ptr %t237, ptr %t238 %t239 = load ptr, ptr %t1 %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 7 %t241 = load ptr, ptr %t240 %t242 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 0 %t243 = load ptr, ptr %t242 %t244 = getelementptr inbounds %LSlice, ptr %t241, i32 0, i32 1 %t245 = load i32, ptr %t244 %t246 = icmp ult i32 1, %t245 br i1 %t246, label %ixok37, label %ixbad38 ixbad38: %t247 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t247, ptr @.fmt_bounds, ptr @.str6566, i32 1, i32 %t245) call void @exit(i32 1) unreachable ixok37: %t248 = getelementptr inbounds ptr, ptr %t243, i32 1 %t249 = load ptr, ptr %t248 %t250 = call ptr @fn_emit_expr(ptr %t249) store ptr %t250, ptr %t251 %t252 = load ptr, ptr %t1 %t253 = getelementptr inbounds %Cmp_Node, ptr %t252, i32 0, i32 7 %t254 = load ptr, ptr %t253 %t255 = getelementptr inbounds %LSlice, ptr %t254, i32 0, i32 0 %t256 = load ptr, ptr %t255 %t257 = getelementptr inbounds %LSlice, ptr %t254, i32 0, i32 1 %t258 = load i32, ptr %t257 %t259 = icmp ult i32 2, %t258 br i1 %t259, label %ixok39, label %ixbad40 ixbad40: %t260 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t260, ptr @.fmt_bounds, ptr @.str6567, i32 2, i32 %t258) call void @exit(i32 1) unreachable ixok39: %t261 = getelementptr inbounds ptr, ptr %t256, i32 2 %t262 = load ptr, ptr %t261 %t263 = call ptr @fn_emit_expr(ptr %t262) store ptr %t263, ptr %t264 %t265 = load ptr, ptr %t238 %t266 = getelementptr inbounds %Cmp_Val, ptr %t265, i32 0, i32 0 %t267 = load ptr, ptr %t266 %t268 = call ptr @lp_str_concat(ptr @.str6568, ptr %t267) %t269 = call ptr @lp_str_concat(ptr %t268, ptr @.str6569) %t270 = load ptr, ptr %t251 %t271 = getelementptr inbounds %Cmp_Val, ptr %t270, i32 0, i32 0 %t272 = load ptr, ptr %t271 %t273 = call ptr @lp_str_concat(ptr %t269, ptr %t272) %t274 = call ptr @fn_emit_bind(ptr %t273) store ptr %t274, ptr %t275 %t276 = load ptr, ptr %t264 %t277 = getelementptr inbounds %Cmp_Val, ptr %t276, i32 0, i32 0 %t278 = load ptr, ptr %t277 %t279 = call ptr @lp_str_concat(ptr @.str6570, ptr %t278) %t280 = call ptr @lp_str_concat(ptr %t279, ptr @.str6571) %t281 = call ptr @fn_emit_bind(ptr %t280) store ptr %t281, ptr %t282 call void @fn_emit(ptr @.str6572) %t283 = load ptr, ptr %t282 call void @fn_emit(ptr %t283) call void @fn_emit(ptr @.str6573) %t284 = load ptr, ptr %t275 call void @fn_emit(ptr %t284) call void @fn_emit(ptr @.str6574) %t285 = call ptr @fn_val(ptr @.str6575, ptr @.str6576) store ptr %t285, ptr %retval br label %ret ret: %t286 = load ptr, ptr %retval ret ptr %t286 } define i32 @fn_is_time_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6577) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t3 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str6578) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 br label %scend1 scend1: %t12 = load i32, ptr %t3 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str6579) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br label %scend3 scend3: %t19 = load i32, ptr %t2 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t1 br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str6580) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 br label %scend5 scend5: %t26 = load i32, ptr %t1 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %ifend8 then6: store i32 1, ptr %retval br label %ret ifend8: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str6581) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: store i32 0, ptr %retval br label %ret ret: %t31 = load i32, ptr %retval ret i32 %t31 } define ptr @fn_emit_time_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t15 = alloca ptr %t36 = alloca ptr %t38 = alloca ptr %t43 = alloca ptr %t54 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str6582) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str6583) %t6 = call ptr @fn_val(ptr %t5, ptr @.str6584) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6585) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: %t10 = call ptr @fn_val(ptr @.str6586, ptr @.str6587) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str6588) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: %t14 = call ptr @fn_emit_bind(ptr @.str6589) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 %t17 = call ptr @lp_str_concat(ptr @.str6590, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str6591) %t19 = call ptr @fn_emit_bind(ptr %t18) %t20 = call ptr @fn_val(ptr %t19, ptr @.str6592) store ptr %t20, ptr %retval br label %ret ifend8: %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t21, ptr @.str6593) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then9, label %ifend11 then9: %t24 = load ptr, ptr %t1 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 0, %t30 br i1 %t31, label %ixok12, label %ixbad13 ixbad13: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str6594, i32 0, i32 %t30) call void @exit(i32 1) unreachable ixok12: %t33 = getelementptr inbounds ptr, ptr %t28, i32 0 %t34 = load ptr, ptr %t33 %t35 = call ptr @fn_emit_expr(ptr %t34) store ptr %t35, ptr %t36 %t37 = call ptr @fn_emit_bind(ptr @.str6595) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 %t40 = call ptr @lp_str_concat(ptr @.str6596, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str6597) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = call ptr @lp_str_concat(ptr @.str6598, ptr %t44) %t46 = call ptr @lp_str_concat(ptr %t45, ptr @.str6599) %t47 = load ptr, ptr %t36 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = call ptr @lp_str_concat(ptr %t46, ptr %t49) %t51 = call ptr @fn_emit_bind(ptr %t50) %t52 = call ptr @fn_val(ptr %t51, ptr @.str6600) store ptr %t52, ptr %retval br label %ret ifend11: %t53 = call ptr @fn_emit_bind(ptr @.str6601) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t54 %t56 = call ptr @lp_str_concat(ptr @.str6602, ptr %t55) %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str6603) %t58 = call ptr @fn_emit_bind(ptr %t57) %t59 = call ptr @fn_val(ptr %t58, ptr @.str6604) store ptr %t59, ptr %retval br label %ret ret: %t60 = load ptr, ptr %retval ret ptr %t60 } define i32 @fn_is_duration_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t28 = alloca i32 %t29 = alloca i32 %t30 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6605) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t3 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str6606) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 br label %scend1 scend1: %t12 = load i32, ptr %t3 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str6607) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br label %scend3 scend3: %t19 = load i32, ptr %t2 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t1 br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str6608) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 br label %scend5 scend5: %t26 = load i32, ptr %t1 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %ifend8 then6: store i32 1, ptr %retval br label %ret ifend8: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str6609) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t30 br i1 %t33, label %scend10, label %sc9 sc9: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str6610) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t30 br label %scend10 scend10: %t39 = load i32, ptr %t30 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t29 br i1 %t40, label %scend12, label %sc11 sc11: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str6611) %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t29 br label %scend12 scend12: %t46 = load i32, ptr %t29 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t28 br i1 %t47, label %scend14, label %sc13 sc13: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str6612) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t28 br label %scend14 scend14: %t53 = load i32, ptr %t28 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then15, label %ifend17 then15: store i32 1, ptr %retval br label %ret ifend17: store i32 0, ptr %retval br label %ret ret: %t55 = load i32, ptr %retval ret i32 %t55 } define ptr @fn_emit_duration_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t14 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7 %t4 = load ptr, ptr %t3 %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp ult i32 0, %t8 br i1 %t9, label %ixok0, label %ixbad1 ixbad1: %t10 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t10, ptr @.fmt_bounds, ptr @.str6613, i32 0, i32 %t8) call void @exit(i32 1) unreachable ixok0: %t11 = getelementptr inbounds ptr, ptr %t6, i32 0 %t12 = load ptr, ptr %t11 %t13 = call ptr @fn_emit_expr(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str6614) %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %then2, label %ifend4 then2: %t18 = load ptr, ptr %t14 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_val(ptr %t20, ptr @.str6615) store ptr %t21, ptr %retval br label %ret ifend4: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str6616) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then5, label %ifend7 then5: %t25 = load ptr, ptr %t14 %t26 = getelementptr inbounds %Cmp_Val, ptr %t25, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = call ptr @lp_str_concat(ptr @.str6617, ptr %t27) %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str6618) %t30 = call ptr @fn_emit_bind(ptr %t29) %t31 = call ptr @fn_val(ptr %t30, ptr @.str6619) store ptr %t31, ptr %retval br label %ret ifend7: %t32 = load ptr, ptr %t0 %t33 = call i32 @lp_str_eq(ptr %t32, ptr @.str6620) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then8, label %ifend10 then8: %t35 = load ptr, ptr %t14 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = call ptr @lp_str_concat(ptr @.str6621, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str6622) %t40 = call ptr @fn_emit_bind(ptr %t39) %t41 = call ptr @fn_val(ptr %t40, ptr @.str6623) store ptr %t41, ptr %retval br label %ret ifend10: %t42 = load ptr, ptr %t0 %t43 = call i32 @lp_str_eq(ptr %t42, ptr @.str6624) %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then11, label %ifend13 then11: %t45 = load ptr, ptr %t14 %t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = call ptr @lp_str_concat(ptr @.str6625, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str6626) %t50 = call ptr @fn_emit_bind(ptr %t49) %t51 = call ptr @fn_val(ptr %t50, ptr @.str6627) store ptr %t51, ptr %retval br label %ret ifend13: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str6628) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then14, label %ifend16 then14: %t55 = load ptr, ptr %t14 %t56 = getelementptr inbounds %Cmp_Val, ptr %t55, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = call ptr @fn_val(ptr %t57, ptr @.str6629) store ptr %t58, ptr %retval br label %ret ifend16: %t59 = load ptr, ptr %t0 %t60 = call i32 @lp_str_eq(ptr %t59, ptr @.str6630) %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then17, label %ifend19 then17: %t62 = load ptr, ptr %t14 %t63 = getelementptr inbounds %Cmp_Val, ptr %t62, i32 0, i32 0 %t64 = load ptr, ptr %t63 %t65 = call ptr @lp_str_concat(ptr @.str6631, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str6632) %t67 = call ptr @fn_emit_bind(ptr %t66) %t68 = call ptr @fn_val(ptr %t67, ptr @.str6633) store ptr %t68, ptr %retval br label %ret ifend19: %t69 = load ptr, ptr %t0 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str6634) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then20, label %ifend22 then20: %t72 = load ptr, ptr %t14 %t73 = getelementptr inbounds %Cmp_Val, ptr %t72, i32 0, i32 0 %t74 = load ptr, ptr %t73 %t75 = call ptr @lp_str_concat(ptr @.str6635, ptr %t74) %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str6636) %t77 = call ptr @fn_emit_bind(ptr %t76) %t78 = call ptr @fn_val(ptr %t77, ptr @.str6637) store ptr %t78, ptr %retval br label %ret ifend22: %t79 = load ptr, ptr %t14 %t80 = getelementptr inbounds %Cmp_Val, ptr %t79, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = call ptr @lp_str_concat(ptr @.str6638, ptr %t81) %t83 = call ptr @lp_str_concat(ptr %t82, ptr @.str6639) %t84 = call ptr @fn_emit_bind(ptr %t83) %t85 = call ptr @fn_val(ptr %t84, ptr @.str6640) store ptr %t85, ptr %retval br label %ret ret: %t86 = load ptr, ptr %retval ret ptr %t86 } define ptr @fn_date_component(ptr %arg_ed, i32 %arg_which) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t3 = alloca ptr %t5 = alloca ptr %t7 = alloca ptr %t21 = alloca ptr store ptr %arg_ed, ptr %t0 store i32 %arg_which, ptr %t1 store i32 1, ptr @g_g_uses_datert %t2 = call ptr @fn_emit_alloca(ptr @.str6641) store ptr %t2, ptr %t3 %t4 = call ptr @fn_emit_alloca(ptr @.str6642) store ptr %t4, ptr %t5 %t6 = call ptr @fn_emit_alloca(ptr @.str6643) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str6644, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str6645) %t11 = load ptr, ptr %t3 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6646) %t14 = load ptr, ptr %t5 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str6647) %t17 = load ptr, ptr %t7 %t18 = call ptr @lp_str_concat(ptr %t16, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str6648) call void @fn_emit(ptr %t19) %t20 = load ptr, ptr %t3 store ptr %t20, ptr %t21 %t22 = load i32, ptr %t1 %t23 = icmp eq i32 %t22, 1 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then0, label %ifend2 then0: %t26 = load ptr, ptr %t5 store ptr %t26, ptr %t21 br label %ifend2 ifend2: %t27 = load i32, ptr %t1 %t28 = icmp eq i32 %t27, 2 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then3, label %ifend5 then3: %t31 = load ptr, ptr %t7 store ptr %t31, ptr %t21 br label %ifend5 ifend5: %t32 = load ptr, ptr %t21 %t33 = call ptr @lp_str_concat(ptr @.str6649, ptr %t32) %t34 = call ptr @fn_emit_bind(ptr %t33) store ptr %t34, ptr %retval br label %ret ret: %t35 = load ptr, ptr %retval ret ptr %t35 } define i32 @fn_is_date_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t28 = alloca i32 %t29 = alloca i32 %t47 = alloca i32 %t48 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str6650) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t3 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str6651) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 br label %scend1 scend1: %t12 = load i32, ptr %t3 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str6652) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br label %scend3 scend3: %t19 = load i32, ptr %t2 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t1 br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str6653) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 br label %scend5 scend5: %t26 = load i32, ptr %t1 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %ifend8 then6: store i32 1, ptr %retval br label %ret ifend8: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str6654) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t29 br i1 %t32, label %scend10, label %sc9 sc9: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str6655) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t29 br label %scend10 scend10: %t38 = load i32, ptr %t29 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t28 br i1 %t39, label %scend12, label %sc11 sc11: %t41 = load ptr, ptr %t0 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str6656) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t28 br label %scend12 scend12: %t45 = load i32, ptr %t28 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then13, label %ifend15 then13: store i32 1, ptr %retval br label %ret ifend15: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str6657) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t48 br i1 %t51, label %scend17, label %sc16 sc16: %t53 = load ptr, ptr %t0 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str6658) %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t48 br label %scend17 scend17: %t57 = load i32, ptr %t48 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t47 br i1 %t58, label %scend19, label %sc18 sc18: %t60 = load ptr, ptr %t0 %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str6659) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t47 br label %scend19 scend19: %t64 = load i32, ptr %t47 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then20, label %ifend22 then20: store i32 1, ptr %retval br label %ret ifend22: store i32 0, ptr %retval br label %ret ret: %t66 = load i32, ptr %retval ret i32 %t66 } define ptr @fn_emit_date_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t30 = alloca ptr %t43 = alloca ptr %t76 = alloca ptr %t97 = alloca ptr %t118 = alloca ptr %t139 = alloca ptr %t146 = alloca ptr %t151 = alloca ptr %t156 = alloca ptr %t177 = alloca ptr %t184 = alloca ptr %t189 = alloca ptr %t196 = alloca ptr %t201 = alloca ptr %t208 = alloca ptr %t213 = alloca ptr %t220 = alloca ptr %t227 = alloca ptr %t248 = alloca ptr %t261 = alloca ptr %t273 = alloca ptr %t280 = alloca ptr %t287 = alloca ptr %t299 = alloca ptr %t306 = alloca ptr %t313 = alloca ptr %t321 = alloca ptr %t344 = alloca ptr %t367 = alloca ptr %t380 = alloca ptr %t404 = alloca ptr %t417 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str6660) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store i32 1, ptr @g_g_uses_datert %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str6661, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t1 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 1, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str6662, i32 1, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 1 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_emit_expr(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t1 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 2, %t37 br i1 %t38, label %ixok7, label %ixbad8 ixbad8: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str6663, i32 2, i32 %t37) call void @exit(i32 1) unreachable ixok7: %t40 = getelementptr inbounds ptr, ptr %t35, i32 2 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_emit_expr(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t17 %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = call ptr @lp_str_concat(ptr @.str6664, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str6665) %t49 = load ptr, ptr %t30 %t50 = getelementptr inbounds %Cmp_Val, ptr %t49, i32 0, i32 0 %t51 = load ptr, ptr %t50 %t52 = call ptr @lp_str_concat(ptr %t48, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str6666) %t54 = load ptr, ptr %t43 %t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0 %t56 = load ptr, ptr %t55 %t57 = call ptr @lp_str_concat(ptr %t53, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str6667) %t59 = call ptr @fn_emit_bind(ptr %t58) %t60 = call ptr @fn_val(ptr %t59, ptr @.str6668) store ptr %t60, ptr %retval br label %ret ifend2: %t61 = load ptr, ptr %t0 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str6669) %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then9, label %ifend11 then9: %t64 = load ptr, ptr %t1 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t70 = load i32, ptr %t69 %t71 = icmp ult i32 0, %t70 br i1 %t71, label %ixok12, label %ixbad13 ixbad13: %t72 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t72, ptr @.fmt_bounds, ptr @.str6670, i32 0, i32 %t70) call void @exit(i32 1) unreachable ixok12: %t73 = getelementptr inbounds ptr, ptr %t68, i32 0 %t74 = load ptr, ptr %t73 %t75 = call ptr @fn_emit_expr(ptr %t74) store ptr %t75, ptr %t76 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0 %t79 = load ptr, ptr %t78 %t80 = call ptr @fn_date_component(ptr %t79, i32 0) %t81 = call ptr @fn_val(ptr %t80, ptr @.str6671) store ptr %t81, ptr %retval br label %ret ifend11: %t82 = load ptr, ptr %t0 %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str6672) %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then14, label %ifend16 then14: %t85 = load ptr, ptr %t1 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 7 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t91 = load i32, ptr %t90 %t92 = icmp ult i32 0, %t91 br i1 %t92, label %ixok17, label %ixbad18 ixbad18: %t93 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t93, ptr @.fmt_bounds, ptr @.str6673, i32 0, i32 %t91) call void @exit(i32 1) unreachable ixok17: %t94 = getelementptr inbounds ptr, ptr %t89, i32 0 %t95 = load ptr, ptr %t94 %t96 = call ptr @fn_emit_expr(ptr %t95) store ptr %t96, ptr %t97 %t98 = load ptr, ptr %t97 %t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0 %t100 = load ptr, ptr %t99 %t101 = call ptr @fn_date_component(ptr %t100, i32 1) %t102 = call ptr @fn_val(ptr %t101, ptr @.str6674) store ptr %t102, ptr %retval br label %ret ifend16: %t103 = load ptr, ptr %t0 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str6675) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then19, label %ifend21 then19: %t106 = load ptr, ptr %t1 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 7 %t108 = load ptr, ptr %t107 %t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0 %t110 = load ptr, ptr %t109 %t111 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1 %t112 = load i32, ptr %t111 %t113 = icmp ult i32 0, %t112 br i1 %t113, label %ixok22, label %ixbad23 ixbad23: %t114 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t114, ptr @.fmt_bounds, ptr @.str6676, i32 0, i32 %t112) call void @exit(i32 1) unreachable ixok22: %t115 = getelementptr inbounds ptr, ptr %t110, i32 0 %t116 = load ptr, ptr %t115 %t117 = call ptr @fn_emit_expr(ptr %t116) store ptr %t117, ptr %t118 %t119 = load ptr, ptr %t118 %t120 = getelementptr inbounds %Cmp_Val, ptr %t119, i32 0, i32 0 %t121 = load ptr, ptr %t120 %t122 = call ptr @fn_date_component(ptr %t121, i32 2) %t123 = call ptr @fn_val(ptr %t122, ptr @.str6677) store ptr %t123, ptr %retval br label %ret ifend21: %t124 = load ptr, ptr %t0 %t125 = call i32 @lp_str_eq(ptr %t124, ptr @.str6678) %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then24, label %ifend26 then24: %t127 = load ptr, ptr %t1 %t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 7 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t131 = load ptr, ptr %t130 %t132 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 1 %t133 = load i32, ptr %t132 %t134 = icmp ult i32 0, %t133 br i1 %t134, label %ixok27, label %ixbad28 ixbad28: %t135 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t135, ptr @.fmt_bounds, ptr @.str6679, i32 0, i32 %t133) call void @exit(i32 1) unreachable ixok27: %t136 = getelementptr inbounds ptr, ptr %t131, i32 0 %t137 = load ptr, ptr %t136 %t138 = call ptr @fn_emit_expr(ptr %t137) store ptr %t138, ptr %t139 %t140 = load ptr, ptr %t139 %t141 = getelementptr inbounds %Cmp_Val, ptr %t140, i32 0, i32 0 %t142 = load ptr, ptr %t141 %t143 = call ptr @lp_str_concat(ptr @.str6680, ptr %t142) %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str6681) %t145 = call ptr @fn_emit_bind(ptr %t144) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t146 %t148 = call ptr @lp_str_concat(ptr @.str6682, ptr %t147) %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str6683) %t150 = call ptr @fn_emit_bind(ptr %t149) store ptr %t150, ptr %t151 %t152 = load ptr, ptr %t151 %t153 = call ptr @lp_str_concat(ptr @.str6684, ptr %t152) %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str6685) %t155 = call ptr @fn_emit_bind(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t156 %t158 = call ptr @lp_str_concat(ptr @.str6686, ptr %t157) %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str6687) %t160 = call ptr @fn_emit_bind(ptr %t159) %t161 = call ptr @fn_val(ptr %t160, ptr @.str6688) store ptr %t161, ptr %retval br label %ret ifend26: %t162 = load ptr, ptr %t0 %t163 = call i32 @lp_str_eq(ptr %t162, ptr @.str6689) %t164 = icmp ne i32 %t163, 0 br i1 %t164, label %then29, label %ifend31 then29: %t165 = load ptr, ptr %t1 %t166 = getelementptr inbounds %Cmp_Node, ptr %t165, i32 0, i32 7 %t167 = load ptr, ptr %t166 %t168 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 0 %t169 = load ptr, ptr %t168 %t170 = getelementptr inbounds %LSlice, ptr %t167, i32 0, i32 1 %t171 = load i32, ptr %t170 %t172 = icmp ult i32 0, %t171 br i1 %t172, label %ixok32, label %ixbad33 ixbad33: %t173 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str6690, i32 0, i32 %t171) call void @exit(i32 1) unreachable ixok32: %t174 = getelementptr inbounds ptr, ptr %t169, i32 0 %t175 = load ptr, ptr %t174 %t176 = call ptr @fn_emit_expr(ptr %t175) store ptr %t176, ptr %t177 %t178 = load ptr, ptr %t177 %t179 = getelementptr inbounds %Cmp_Val, ptr %t178, i32 0, i32 0 %t180 = load ptr, ptr %t179 %t181 = call ptr @lp_str_concat(ptr @.str6691, ptr %t180) %t182 = call ptr @lp_str_concat(ptr %t181, ptr @.str6692) %t183 = call ptr @fn_emit_bind(ptr %t182) store ptr %t183, ptr %t184 %t185 = load ptr, ptr %t184 %t186 = call ptr @lp_str_concat(ptr @.str6693, ptr %t185) %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str6694) %t188 = call ptr @fn_emit_bind(ptr %t187) store ptr %t188, ptr %t189 %t190 = load ptr, ptr %t177 %t191 = getelementptr inbounds %Cmp_Val, ptr %t190, i32 0, i32 0 %t192 = load ptr, ptr %t191 %t193 = call ptr @lp_str_concat(ptr @.str6695, ptr %t192) %t194 = call ptr @lp_str_concat(ptr %t193, ptr @.str6696) %t195 = call ptr @fn_emit_bind(ptr %t194) store ptr %t195, ptr %t196 %t197 = load ptr, ptr %t196 %t198 = call ptr @lp_str_concat(ptr @.str6697, ptr %t197) %t199 = call ptr @lp_str_concat(ptr %t198, ptr @.str6698) %t200 = call ptr @fn_emit_bind(ptr %t199) store ptr %t200, ptr %t201 %t202 = load ptr, ptr %t177 %t203 = getelementptr inbounds %Cmp_Val, ptr %t202, i32 0, i32 0 %t204 = load ptr, ptr %t203 %t205 = call ptr @lp_str_concat(ptr @.str6699, ptr %t204) %t206 = call ptr @lp_str_concat(ptr %t205, ptr @.str6700) %t207 = call ptr @fn_emit_bind(ptr %t206) store ptr %t207, ptr %t208 %t209 = load ptr, ptr %t208 %t210 = call ptr @lp_str_concat(ptr @.str6701, ptr %t209) %t211 = call ptr @lp_str_concat(ptr %t210, ptr @.str6702) %t212 = call ptr @fn_emit_bind(ptr %t211) store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t189 %t215 = call ptr @lp_str_concat(ptr @.str6703, ptr %t214) %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str6704) %t217 = load ptr, ptr %t201 %t218 = call ptr @lp_str_concat(ptr %t216, ptr %t217) %t219 = call ptr @fn_emit_bind(ptr %t218) store ptr %t219, ptr %t220 %t221 = load ptr, ptr %t220 %t222 = call ptr @lp_str_concat(ptr @.str6705, ptr %t221) %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str6706) %t224 = load ptr, ptr %t213 %t225 = call ptr @lp_str_concat(ptr %t223, ptr %t224) %t226 = call ptr @fn_emit_bind(ptr %t225) store ptr %t226, ptr %t227 %t228 = load ptr, ptr %t227 %t229 = call ptr @lp_str_concat(ptr @.str6707, ptr %t228) %t230 = call ptr @lp_str_concat(ptr %t229, ptr @.str6708) %t231 = call ptr @fn_emit_bind(ptr %t230) %t232 = call ptr @fn_val(ptr %t231, ptr @.str6709) store ptr %t232, ptr %retval br label %ret ifend31: %t233 = load ptr, ptr %t0 %t234 = call i32 @lp_str_eq(ptr %t233, ptr @.str6710) %t235 = icmp ne i32 %t234, 0 br i1 %t235, label %then34, label %ifend36 then34: store i32 1, ptr @g_g_uses_datert %t236 = load ptr, ptr %t1 %t237 = getelementptr inbounds %Cmp_Node, ptr %t236, i32 0, i32 7 %t238 = load ptr, ptr %t237 %t239 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 0 %t240 = load ptr, ptr %t239 %t241 = getelementptr inbounds %LSlice, ptr %t238, i32 0, i32 1 %t242 = load i32, ptr %t241 %t243 = icmp ult i32 0, %t242 br i1 %t243, label %ixok37, label %ixbad38 ixbad38: %t244 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t244, ptr @.fmt_bounds, ptr @.str6711, i32 0, i32 %t242) call void @exit(i32 1) unreachable ixok37: %t245 = getelementptr inbounds ptr, ptr %t240, i32 0 %t246 = load ptr, ptr %t245 %t247 = call ptr @fn_emit_expr(ptr %t246) store ptr %t247, ptr %t248 %t249 = load ptr, ptr %t1 %t250 = getelementptr inbounds %Cmp_Node, ptr %t249, i32 0, i32 7 %t251 = load ptr, ptr %t250 %t252 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 0 %t253 = load ptr, ptr %t252 %t254 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 1 %t255 = load i32, ptr %t254 %t256 = icmp ult i32 1, %t255 br i1 %t256, label %ixok39, label %ixbad40 ixbad40: %t257 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t257, ptr @.fmt_bounds, ptr @.str6712, i32 1, i32 %t255) call void @exit(i32 1) unreachable ixok39: %t258 = getelementptr inbounds ptr, ptr %t253, i32 1 %t259 = load ptr, ptr %t258 %t260 = call ptr @fn_emit_expr(ptr %t259) store ptr %t260, ptr %t261 %t262 = load ptr, ptr %t248 %t263 = getelementptr inbounds %Cmp_Val, ptr %t262, i32 0, i32 0 %t264 = load ptr, ptr %t263 %t265 = call ptr @lp_str_concat(ptr @.str6713, ptr %t264) %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str6714) %t267 = load ptr, ptr %t261 %t268 = getelementptr inbounds %Cmp_Val, ptr %t267, i32 0, i32 0 %t269 = load ptr, ptr %t268 %t270 = call ptr @lp_str_concat(ptr %t266, ptr %t269) %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str6715) %t272 = call ptr @fn_emit_bind(ptr %t271) store ptr %t272, ptr %t273 %t274 = load ptr, ptr %t261 %t275 = getelementptr inbounds %Cmp_Val, ptr %t274, i32 0, i32 0 %t276 = load ptr, ptr %t275 %t277 = call ptr @lp_str_concat(ptr @.str6716, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str6717) %t279 = call ptr @fn_emit_bind(ptr %t278) store ptr %t279, ptr %t280 %t281 = load ptr, ptr %t248 %t282 = getelementptr inbounds %Cmp_Val, ptr %t281, i32 0, i32 0 %t283 = load ptr, ptr %t282 %t284 = call ptr @lp_str_concat(ptr @.str6718, ptr %t283) %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str6719) %t286 = call ptr @fn_emit_bind(ptr %t285) store ptr %t286, ptr %t287 %t288 = load ptr, ptr %t280 %t289 = call ptr @lp_str_concat(ptr @.str6720, ptr %t288) %t290 = call ptr @lp_str_concat(ptr %t289, ptr @.str6721) %t291 = load ptr, ptr %t287 %t292 = call ptr @lp_str_concat(ptr %t290, ptr %t291) %t293 = call ptr @lp_str_concat(ptr %t292, ptr @.str6722) %t294 = load ptr, ptr %t248 %t295 = getelementptr inbounds %Cmp_Val, ptr %t294, i32 0, i32 0 %t296 = load ptr, ptr %t295 %t297 = call ptr @lp_str_concat(ptr %t293, ptr %t296) %t298 = call ptr @fn_emit_bind(ptr %t297) store ptr %t298, ptr %t299 %t300 = load ptr, ptr %t261 %t301 = getelementptr inbounds %Cmp_Val, ptr %t300, i32 0, i32 0 %t302 = load ptr, ptr %t301 %t303 = call ptr @lp_str_concat(ptr @.str6723, ptr %t302) %t304 = call ptr @lp_str_concat(ptr %t303, ptr @.str6724) %t305 = call ptr @fn_emit_bind(ptr %t304) store ptr %t305, ptr %t306 %t307 = load ptr, ptr %t280 %t308 = call ptr @lp_str_concat(ptr @.str6725, ptr %t307) %t309 = call ptr @lp_str_concat(ptr %t308, ptr @.str6726) %t310 = load ptr, ptr %t306 %t311 = call ptr @lp_str_concat(ptr %t309, ptr %t310) %t312 = call ptr @fn_emit_bind(ptr %t311) store ptr %t312, ptr %t313 %t314 = load ptr, ptr %t299 %t315 = call ptr @lp_str_concat(ptr @.str6727, ptr %t314) %t316 = call ptr @lp_str_concat(ptr %t315, ptr @.str6728) %t317 = load ptr, ptr %t313 %t318 = call ptr @lp_str_concat(ptr %t316, ptr %t317) %t319 = call ptr @lp_str_concat(ptr %t318, ptr @.str6729) %t320 = call ptr @fn_emit_bind(ptr %t319) store ptr %t320, ptr %t321 %t322 = load ptr, ptr %t321 %t323 = call ptr @lp_str_concat(ptr @.str6730, ptr %t322) %t324 = call ptr @lp_str_concat(ptr %t323, ptr @.str6731) %t325 = load ptr, ptr %t273 %t326 = call ptr @lp_str_concat(ptr %t324, ptr %t325) %t327 = call ptr @fn_emit_bind(ptr %t326) %t328 = call ptr @fn_val(ptr %t327, ptr @.str6732) store ptr %t328, ptr %retval br label %ret ifend36: %t329 = load ptr, ptr %t0 %t330 = call i32 @lp_str_eq(ptr %t329, ptr @.str6733) %t331 = icmp ne i32 %t330, 0 br i1 %t331, label %then41, label %ifend43 then41: %t332 = load ptr, ptr %t1 %t333 = getelementptr inbounds %Cmp_Node, ptr %t332, i32 0, i32 7 %t334 = load ptr, ptr %t333 %t335 = getelementptr inbounds %LSlice, ptr %t334, i32 0, i32 0 %t336 = load ptr, ptr %t335 %t337 = getelementptr inbounds %LSlice, ptr %t334, i32 0, i32 1 %t338 = load i32, ptr %t337 %t339 = icmp ult i32 0, %t338 br i1 %t339, label %ixok44, label %ixbad45 ixbad45: %t340 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t340, ptr @.fmt_bounds, ptr @.str6734, i32 0, i32 %t338) call void @exit(i32 1) unreachable ixok44: %t341 = getelementptr inbounds ptr, ptr %t336, i32 0 %t342 = load ptr, ptr %t341 %t343 = call ptr @fn_emit_expr(ptr %t342) store ptr %t343, ptr %t344 %t345 = load ptr, ptr %t344 %t346 = getelementptr inbounds %Cmp_Val, ptr %t345, i32 0, i32 0 %t347 = load ptr, ptr %t346 %t348 = call ptr @lp_str_concat(ptr @.str6735, ptr %t347) %t349 = call ptr @lp_str_concat(ptr %t348, ptr @.str6736) %t350 = call ptr @fn_emit_bind(ptr %t349) %t351 = call ptr @fn_val(ptr %t350, ptr @.str6737) store ptr %t351, ptr %retval br label %ret ifend43: %t352 = load ptr, ptr %t0 %t353 = call i32 @lp_str_eq(ptr %t352, ptr @.str6738) %t354 = icmp ne i32 %t353, 0 br i1 %t354, label %then46, label %ifend48 then46: %t355 = load ptr, ptr %t1 %t356 = getelementptr inbounds %Cmp_Node, ptr %t355, i32 0, i32 7 %t357 = load ptr, ptr %t356 %t358 = getelementptr inbounds %LSlice, ptr %t357, i32 0, i32 0 %t359 = load ptr, ptr %t358 %t360 = getelementptr inbounds %LSlice, ptr %t357, i32 0, i32 1 %t361 = load i32, ptr %t360 %t362 = icmp ult i32 0, %t361 br i1 %t362, label %ixok49, label %ixbad50 ixbad50: %t363 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t363, ptr @.fmt_bounds, ptr @.str6739, i32 0, i32 %t361) call void @exit(i32 1) unreachable ixok49: %t364 = getelementptr inbounds ptr, ptr %t359, i32 0 %t365 = load ptr, ptr %t364 %t366 = call ptr @fn_emit_expr(ptr %t365) store ptr %t366, ptr %t367 %t368 = load ptr, ptr %t1 %t369 = getelementptr inbounds %Cmp_Node, ptr %t368, i32 0, i32 7 %t370 = load ptr, ptr %t369 %t371 = getelementptr inbounds %LSlice, ptr %t370, i32 0, i32 0 %t372 = load ptr, ptr %t371 %t373 = getelementptr inbounds %LSlice, ptr %t370, i32 0, i32 1 %t374 = load i32, ptr %t373 %t375 = icmp ult i32 1, %t374 br i1 %t375, label %ixok51, label %ixbad52 ixbad52: %t376 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t376, ptr @.fmt_bounds, ptr @.str6740, i32 1, i32 %t374) call void @exit(i32 1) unreachable ixok51: %t377 = getelementptr inbounds ptr, ptr %t372, i32 1 %t378 = load ptr, ptr %t377 %t379 = call ptr @fn_emit_expr(ptr %t378) store ptr %t379, ptr %t380 %t381 = load ptr, ptr %t367 %t382 = getelementptr inbounds %Cmp_Val, ptr %t381, i32 0, i32 0 %t383 = load ptr, ptr %t382 %t384 = call ptr @lp_str_concat(ptr @.str6741, ptr %t383) %t385 = call ptr @lp_str_concat(ptr %t384, ptr @.str6742) %t386 = load ptr, ptr %t380 %t387 = getelementptr inbounds %Cmp_Val, ptr %t386, i32 0, i32 0 %t388 = load ptr, ptr %t387 %t389 = call ptr @lp_str_concat(ptr %t385, ptr %t388) %t390 = call ptr @fn_emit_bind(ptr %t389) %t391 = call ptr @fn_val(ptr %t390, ptr @.str6743) store ptr %t391, ptr %retval br label %ret ifend48: %t392 = load ptr, ptr %t1 %t393 = getelementptr inbounds %Cmp_Node, ptr %t392, i32 0, i32 7 %t394 = load ptr, ptr %t393 %t395 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 0 %t396 = load ptr, ptr %t395 %t397 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 1 %t398 = load i32, ptr %t397 %t399 = icmp ult i32 0, %t398 br i1 %t399, label %ixok53, label %ixbad54 ixbad54: %t400 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t400, ptr @.fmt_bounds, ptr @.str6744, i32 0, i32 %t398) call void @exit(i32 1) unreachable ixok53: %t401 = getelementptr inbounds ptr, ptr %t396, i32 0 %t402 = load ptr, ptr %t401 %t403 = call ptr @fn_emit_expr(ptr %t402) store ptr %t403, ptr %t404 %t405 = load ptr, ptr %t1 %t406 = getelementptr inbounds %Cmp_Node, ptr %t405, i32 0, i32 7 %t407 = load ptr, ptr %t406 %t408 = getelementptr inbounds %LSlice, ptr %t407, i32 0, i32 0 %t409 = load ptr, ptr %t408 %t410 = getelementptr inbounds %LSlice, ptr %t407, i32 0, i32 1 %t411 = load i32, ptr %t410 %t412 = icmp ult i32 1, %t411 br i1 %t412, label %ixok55, label %ixbad56 ixbad56: %t413 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t413, ptr @.fmt_bounds, ptr @.str6745, i32 1, i32 %t411) call void @exit(i32 1) unreachable ixok55: %t414 = getelementptr inbounds ptr, ptr %t409, i32 1 %t415 = load ptr, ptr %t414 %t416 = call ptr @fn_emit_expr(ptr %t415) store ptr %t416, ptr %t417 %t418 = load ptr, ptr %t404 %t419 = getelementptr inbounds %Cmp_Val, ptr %t418, i32 0, i32 0 %t420 = load ptr, ptr %t419 %t421 = call ptr @lp_str_concat(ptr @.str6746, ptr %t420) %t422 = call ptr @lp_str_concat(ptr %t421, ptr @.str6747) %t423 = load ptr, ptr %t417 %t424 = getelementptr inbounds %Cmp_Val, ptr %t423, i32 0, i32 0 %t425 = load ptr, ptr %t424 %t426 = call ptr @lp_str_concat(ptr %t422, ptr %t425) %t427 = call ptr @fn_emit_bind(ptr %t426) %t428 = call ptr @fn_val(ptr %t427, ptr @.str6748) store ptr %t428, ptr %retval br label %ret ret: %t429 = load ptr, ptr %retval ret ptr %t429 } define ptr @fn_dt_secofday(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr %t10 = alloca ptr store ptr %arg_t, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @lp_str_concat(ptr @.str6749, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str6750) %t4 = call ptr @fn_emit_bind(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = call ptr @lp_str_concat(ptr @.str6751, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str6752) %t9 = call ptr @fn_emit_bind(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = call ptr @lp_str_concat(ptr @.str6753, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6754) %t14 = call ptr @fn_emit_bind(ptr %t13) store ptr %t14, ptr %retval br label %ret ret: %t15 = load ptr, ptr %retval ret ptr %t15 } define ptr @fn_dt_epochday(ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca ptr %t10 = alloca ptr store ptr %arg_t, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_dt_secofday(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t0 %t5 = call ptr @lp_str_concat(ptr @.str6755, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str6756) %t7 = load ptr, ptr %t3 %t8 = call ptr @lp_str_concat(ptr %t6, ptr %t7) %t9 = call ptr @fn_emit_bind(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = call ptr @lp_str_concat(ptr @.str6757, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str6758) %t14 = call ptr @fn_emit_bind(ptr %t13) store ptr %t14, ptr %retval br label %ret ret: %t15 = load ptr, ptr %retval ret ptr %t15 } define i32 @fn_is_datetime_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t20 = alloca i32 %t21 = alloca i32 %t22 = alloca i32 %t47 = alloca i32 %t48 = alloca i32 %t66 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str6759) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6760) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str6761) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str6762) %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t22 br i1 %t25, label %scend8, label %sc7 sc7: %t27 = load ptr, ptr %t0 %t28 = call i32 @lp_str_eq(ptr %t27, ptr @.str6763) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t22 br label %scend8 scend8: %t31 = load i32, ptr %t22 %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t21 br i1 %t32, label %scend10, label %sc9 sc9: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str6764) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t21 br label %scend10 scend10: %t38 = load i32, ptr %t21 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t20 br i1 %t39, label %scend12, label %sc11 sc11: %t41 = load ptr, ptr %t0 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str6765) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t20 br label %scend12 scend12: %t45 = load i32, ptr %t20 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then13, label %ifend15 then13: store i32 1, ptr %retval br label %ret ifend15: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str6766) %t51 = icmp ne i32 %t50, 0 %t52 = zext i1 %t51 to i32 store i32 %t52, ptr %t48 br i1 %t51, label %scend17, label %sc16 sc16: %t53 = load ptr, ptr %t0 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str6767) %t55 = icmp ne i32 %t54, 0 %t56 = zext i1 %t55 to i32 store i32 %t56, ptr %t48 br label %scend17 scend17: %t57 = load i32, ptr %t48 %t58 = icmp ne i32 %t57, 0 %t59 = zext i1 %t58 to i32 store i32 %t59, ptr %t47 br i1 %t58, label %scend19, label %sc18 sc18: %t60 = load ptr, ptr %t0 %t61 = call i32 @lp_str_eq(ptr %t60, ptr @.str6768) %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t47 br label %scend19 scend19: %t64 = load i32, ptr %t47 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then20, label %ifend22 then20: store i32 1, ptr %retval br label %ret ifend22: %t67 = load ptr, ptr %t0 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str6769) %t69 = icmp ne i32 %t68, 0 %t70 = zext i1 %t69 to i32 store i32 %t70, ptr %t66 br i1 %t69, label %scend24, label %sc23 sc23: %t71 = load ptr, ptr %t0 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str6770) %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t66 br label %scend24 scend24: %t75 = load i32, ptr %t66 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then25, label %ifend27 then25: store i32 1, ptr %retval br label %ret ifend27: store i32 0, ptr %retval br label %ret ret: %t77 = load i32, ptr %retval ret i32 %t77 } define ptr @fn_dt_concat(ptr %arg_a, ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_a, ptr %t0 store ptr %arg_b, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @lp_str_concat(ptr @.str6771, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str6772) %t5 = load ptr, ptr %t1 %t6 = call ptr @lp_str_concat(ptr %t4, ptr %t5) %t7 = call ptr @lp_str_concat(ptr %t6, ptr @.str6773) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %retval br label %ret ret: %t9 = load ptr, ptr %retval ret ptr %t9 } define i32 @fn_dt_tok_at(ptr %arg_pat, i32 %arg_n, i32 %arg_i, ptr %arg_tok, i32 %arg_tlen) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca ptr %t4 = alloca i32 %t12 = alloca i32 store ptr %arg_pat, ptr %t0 store i32 %arg_n, ptr %t1 store i32 %arg_i, ptr %t2 store ptr %arg_tok, ptr %t3 store i32 %arg_tlen, ptr %t4 %t5 = load i32, ptr %t2 %t6 = load i32, ptr %t4 %t7 = add i32 %t5, %t6 %t8 = load i32, ptr %t1 %t9 = icmp sgt i32 %t7, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then0, label %ifend2 then0: store i32 0, ptr %retval br label %ret ifend2: store i32 0, ptr %t12 br label %wcond3 wcond3: %t13 = load i32, ptr %t12 %t14 = load i32, ptr %t4 %t15 = icmp slt i32 %t13, %t14 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %wbody4, label %wend5 wbody4: %t18 = load ptr, ptr %t0 %t19 = load i32, ptr %t2 %t20 = load i32, ptr %t12 %t21 = add i32 %t19, %t20 %t22 = getelementptr inbounds i8, ptr %t18, i32 %t21 %t23 = load i8, ptr %t22 %t24 = zext i8 %t23 to i32 %t25 = load ptr, ptr %t3 %t26 = load i32, ptr %t12 %t27 = getelementptr inbounds i8, ptr %t25, i32 %t26 %t28 = load i8, ptr %t27 %t29 = zext i8 %t28 to i32 %t30 = icmp ne i32 %t24, %t29 %t31 = zext i1 %t30 to i32 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then6, label %ifend8 then6: store i32 0, ptr %retval br label %ret ifend8: %t33 = load i32, ptr %t12 %t34 = add i32 %t33, 1 store i32 %t34, ptr %t12 br label %wcond3 wend5: store i32 1, ptr %retval br label %ret ret: %t35 = load i32, ptr %retval ret i32 %t35 } define ptr @fn_emit_datetime_format(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t29 = alloca ptr %t43 = alloca ptr %t47 = alloca i32 %t52 = alloca ptr %t54 = alloca ptr %t56 = alloca ptr %t58 = alloca ptr %t74 = alloca ptr %t78 = alloca ptr %t82 = alloca ptr %t87 = alloca ptr %t92 = alloca ptr %t97 = alloca ptr %t102 = alloca ptr %t107 = alloca ptr %t112 = alloca ptr %t114 = alloca ptr %t116 = alloca ptr %t117 = alloca i32 %t123 = alloca ptr %t124 = alloca i32 %t125 = alloca i32 %t182 = alloca ptr %t201 = alloca ptr %t212 = alloca ptr store ptr %arg_e, ptr %t0 store i32 1, ptr @g_g_uses_datert store i32 1, ptr @g_g_uses_str %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp ult i32 1, %t7 br i1 %t8, label %ixok0, label %ixbad1 ixbad1: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str6774, i32 1, i32 %t7) call void @exit(i32 1) unreachable ixok0: %t10 = getelementptr inbounds ptr, ptr %t5, i32 1 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 0 %t13 = load i32, ptr %t12 %t14 = icmp ne i32 %t13, 31 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: call void @fn_perr(ptr @.str6775) br label %ifend4 ifend4: %t17 = load ptr, ptr %t0 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 0, %t23 br i1 %t24, label %ixok5, label %ixbad6 ixbad6: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str6776, i32 0, i32 %t23) call void @exit(i32 1) unreachable ixok5: %t26 = getelementptr inbounds ptr, ptr %t21, i32 0 %t27 = load ptr, ptr %t26 %t28 = call ptr @fn_emit_expr(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = icmp ult i32 1, %t36 br i1 %t37, label %ixok7, label %ixbad8 ixbad8: %t38 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str6777, i32 1, i32 %t36) call void @exit(i32 1) unreachable ixok7: %t39 = getelementptr inbounds ptr, ptr %t34, i32 1 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = call i64 @strlen(ptr %t44) %t46 = trunc i64 %t45 to i32 store i32 %t46, ptr %t47 %t48 = load ptr, ptr %t29 %t49 = getelementptr inbounds %Cmp_Val, ptr %t48, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = call ptr @fn_dt_epochday(ptr %t50) store ptr %t51, ptr %t52 %t53 = call ptr @fn_emit_alloca(ptr @.str6778) store ptr %t53, ptr %t54 %t55 = call ptr @fn_emit_alloca(ptr @.str6779) store ptr %t55, ptr %t56 %t57 = call ptr @fn_emit_alloca(ptr @.str6780) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t52 %t60 = call ptr @lp_str_concat(ptr @.str6781, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str6782) %t62 = load ptr, ptr %t54 %t63 = call ptr @lp_str_concat(ptr %t61, ptr %t62) %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str6783) %t65 = load ptr, ptr %t56 %t66 = call ptr @lp_str_concat(ptr %t64, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str6784) %t68 = load ptr, ptr %t58 %t69 = call ptr @lp_str_concat(ptr %t67, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str6785) call void @fn_emit(ptr %t70) %t71 = load ptr, ptr %t54 %t72 = call ptr @lp_str_concat(ptr @.str6786, ptr %t71) %t73 = call ptr @fn_emit_bind(ptr %t72) store ptr %t73, ptr %t74 %t75 = load ptr, ptr %t56 %t76 = call ptr @lp_str_concat(ptr @.str6787, ptr %t75) %t77 = call ptr @fn_emit_bind(ptr %t76) store ptr %t77, ptr %t78 %t79 = load ptr, ptr %t58 %t80 = call ptr @lp_str_concat(ptr @.str6788, ptr %t79) %t81 = call ptr @fn_emit_bind(ptr %t80) store ptr %t81, ptr %t82 %t83 = load ptr, ptr %t29 %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = call ptr @fn_dt_secofday(ptr %t85) store ptr %t86, ptr %t87 %t88 = load ptr, ptr %t87 %t89 = call ptr @lp_str_concat(ptr @.str6789, ptr %t88) %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str6790) %t91 = call ptr @fn_emit_bind(ptr %t90) store ptr %t91, ptr %t92 %t93 = load ptr, ptr %t87 %t94 = call ptr @lp_str_concat(ptr @.str6791, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str6792) %t96 = call ptr @fn_emit_bind(ptr %t95) store ptr %t96, ptr %t97 %t98 = load ptr, ptr %t97 %t99 = call ptr @lp_str_concat(ptr @.str6793, ptr %t98) %t100 = call ptr @lp_str_concat(ptr %t99, ptr @.str6794) %t101 = call ptr @fn_emit_bind(ptr %t100) store ptr %t101, ptr %t102 %t103 = load ptr, ptr %t87 %t104 = call ptr @lp_str_concat(ptr @.str6795, ptr %t103) %t105 = call ptr @lp_str_concat(ptr %t104, ptr @.str6796) %t106 = call ptr @fn_emit_bind(ptr %t105) store ptr %t106, ptr %t107 %t108 = load ptr, ptr %t74 %t109 = call ptr @lp_str_concat(ptr @.str6797, ptr %t108) %t110 = call ptr @lp_str_concat(ptr %t109, ptr @.str6798) %t111 = call ptr @fn_emit_bind(ptr %t110) store ptr %t111, ptr %t112 %t113 = call ptr @fn_emit_str_const(ptr @.str6799) store ptr %t113, ptr %t114 %t115 = call ptr @fn_buf_new() store ptr %t115, ptr %t116 store i32 0, ptr %t117 br label %wcond9 wcond9: %t118 = load i32, ptr %t117 %t119 = load i32, ptr %t47 %t120 = icmp slt i32 %t118, %t119 %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %wbody10, label %wend11 wbody10: store ptr null, ptr %t123 store i32 0, ptr %t124 store i32 0, ptr %t125 %t126 = load ptr, ptr %t43 %t127 = load i32, ptr %t47 %t128 = load i32, ptr %t117 %t129 = call i32 @fn_dt_tok_at(ptr %t126, i32 %t127, i32 %t128, ptr @.str6800, i32 4) %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then12, label %else13 then12: %t131 = load ptr, ptr %t74 store ptr %t131, ptr %t123 store i32 4, ptr %t124 store i32 4, ptr %t125 br label %ifend14 else13: %t132 = load ptr, ptr %t43 %t133 = load i32, ptr %t47 %t134 = load i32, ptr %t117 %t135 = call i32 @fn_dt_tok_at(ptr %t132, i32 %t133, i32 %t134, ptr @.str6801, i32 2) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then15, label %else16 then15: %t137 = load ptr, ptr %t112 store ptr %t137, ptr %t123 store i32 2, ptr %t124 store i32 2, ptr %t125 br label %ifend17 else16: %t138 = load ptr, ptr %t43 %t139 = load i32, ptr %t47 %t140 = load i32, ptr %t117 %t141 = call i32 @fn_dt_tok_at(ptr %t138, i32 %t139, i32 %t140, ptr @.str6802, i32 2) %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then18, label %else19 then18: %t143 = load ptr, ptr %t78 store ptr %t143, ptr %t123 store i32 2, ptr %t124 store i32 2, ptr %t125 br label %ifend20 else19: %t144 = load ptr, ptr %t43 %t145 = load i32, ptr %t47 %t146 = load i32, ptr %t117 %t147 = call i32 @fn_dt_tok_at(ptr %t144, i32 %t145, i32 %t146, ptr @.str6803, i32 2) %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %then21, label %else22 then21: %t149 = load ptr, ptr %t82 store ptr %t149, ptr %t123 store i32 2, ptr %t124 store i32 2, ptr %t125 br label %ifend23 else22: %t150 = load ptr, ptr %t43 %t151 = load i32, ptr %t47 %t152 = load i32, ptr %t117 %t153 = call i32 @fn_dt_tok_at(ptr %t150, i32 %t151, i32 %t152, ptr @.str6804, i32 2) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then24, label %else25 then24: %t155 = load ptr, ptr %t92 store ptr %t155, ptr %t123 store i32 2, ptr %t124 store i32 2, ptr %t125 br label %ifend26 else25: %t156 = load ptr, ptr %t43 %t157 = load i32, ptr %t47 %t158 = load i32, ptr %t117 %t159 = call i32 @fn_dt_tok_at(ptr %t156, i32 %t157, i32 %t158, ptr @.str6805, i32 2) %t160 = icmp ne i32 %t159, 0 br i1 %t160, label %then27, label %else28 then27: %t161 = load ptr, ptr %t102 store ptr %t161, ptr %t123 store i32 2, ptr %t124 store i32 2, ptr %t125 br label %ifend29 else28: %t162 = load ptr, ptr %t43 %t163 = load i32, ptr %t47 %t164 = load i32, ptr %t117 %t165 = call i32 @fn_dt_tok_at(ptr %t162, i32 %t163, i32 %t164, ptr @.str6806, i32 2) %t166 = icmp ne i32 %t165, 0 br i1 %t166, label %then30, label %ifend32 then30: %t167 = load ptr, ptr %t107 store ptr %t167, ptr %t123 store i32 2, ptr %t124 store i32 2, ptr %t125 br label %ifend32 ifend32: br label %ifend29 ifend29: br label %ifend26 ifend26: br label %ifend23 ifend23: br label %ifend20 ifend20: br label %ifend17 ifend17: br label %ifend14 ifend14: %t168 = load ptr, ptr %t123 %t169 = icmp eq ptr %t168, null %t170 = zext i1 %t169 to i32 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then33, label %else34 then33: %t172 = load ptr, ptr %t116 %t173 = load ptr, ptr %t43 %t174 = load i32, ptr %t117 %t175 = getelementptr inbounds i8, ptr %t173, i32 %t174 %t176 = load i8, ptr %t175 %t177 = zext i8 %t176 to i32 call void @fn_buf_putc(ptr %t172, i32 %t177) %t178 = load i32, ptr %t117 %t179 = add i32 %t178, 1 store i32 %t179, ptr %t117 br label %ifend35 else34: %t180 = load ptr, ptr %t116 %t181 = call ptr @fn_buf_str(ptr %t180) store ptr %t181, ptr %t182 %t183 = load ptr, ptr %t182 %t184 = call i64 @strlen(ptr %t183) %t185 = trunc i64 %t184 to i32 %t186 = icmp sgt i32 %t185, 0 %t187 = zext i1 %t186 to i32 %t188 = icmp ne i32 %t187, 0 br i1 %t188, label %then36, label %ifend38 then36: %t189 = load ptr, ptr %t114 %t190 = load ptr, ptr %t182 %t191 = call ptr @fn_emit_str_const(ptr %t190) %t192 = call ptr @fn_dt_concat(ptr %t189, ptr %t191) store ptr %t192, ptr %t114 br label %ifend38 ifend38: %t193 = load ptr, ptr %t123 %t194 = call ptr @lp_str_concat(ptr @.str6807, ptr %t193) %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str6808) %t196 = load i32, ptr %t124 %t197 = call ptr @lp_int_str(i32 %t196) %t198 = call ptr @lp_str_concat(ptr %t195, ptr %t197) %t199 = call ptr @lp_str_concat(ptr %t198, ptr @.str6809) %t200 = call ptr @fn_emit_bind(ptr %t199) store ptr %t200, ptr %t201 %t202 = load ptr, ptr %t114 %t203 = load ptr, ptr %t201 %t204 = call ptr @fn_dt_concat(ptr %t202, ptr %t203) store ptr %t204, ptr %t114 %t205 = load ptr, ptr %t116 %t206 = getelementptr inbounds %Cmp_Buf, ptr %t205, i32 0, i32 1 store i32 0, ptr %t206 %t207 = load i32, ptr %t125 %t208 = load i32, ptr %t117 %t209 = add i32 %t208, %t207 store i32 %t209, ptr %t117 br label %ifend35 ifend35: br label %wcond9 wend11: %t210 = load ptr, ptr %t116 %t211 = call ptr @fn_buf_str(ptr %t210) store ptr %t211, ptr %t212 %t213 = load ptr, ptr %t212 %t214 = call i64 @strlen(ptr %t213) %t215 = trunc i64 %t214 to i32 %t216 = icmp sgt i32 %t215, 0 %t217 = zext i1 %t216 to i32 %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %then39, label %ifend41 then39: %t219 = load ptr, ptr %t114 %t220 = load ptr, ptr %t212 %t221 = call ptr @fn_emit_str_const(ptr %t220) %t222 = call ptr @fn_dt_concat(ptr %t219, ptr %t221) store ptr %t222, ptr %t114 br label %ifend41 ifend41: %t223 = load ptr, ptr %t114 %t224 = call ptr @fn_val(ptr %t223, ptr @.str6810) store ptr %t224, ptr %retval br label %ret ret: %t225 = load ptr, ptr %retval ret ptr %t225 } define ptr @fn_emit_datetime_parse(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t29 = alloca ptr %t43 = alloca ptr %t47 = alloca i32 %t49 = alloca ptr %t52 = alloca ptr %t55 = alloca ptr %t58 = alloca ptr %t61 = alloca ptr %t64 = alloca ptr %t67 = alloca ptr %t69 = alloca i32 %t70 = alloca i32 %t76 = alloca ptr %t77 = alloca i32 %t78 = alloca i32 %t140 = alloca ptr %t152 = alloca ptr %t156 = alloca ptr %t160 = alloca ptr %t164 = alloca ptr %t168 = alloca ptr %t172 = alloca ptr %t183 = alloca ptr %t188 = alloca ptr %t193 = alloca ptr %t198 = alloca ptr %t205 = alloca ptr %t212 = alloca ptr %t219 = alloca ptr %t223 = alloca ptr %t228 = alloca ptr store ptr %arg_e, ptr %t0 store i32 1, ptr @g_g_uses_datert %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp ult i32 1, %t7 br i1 %t8, label %ixok0, label %ixbad1 ixbad1: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str6811, i32 1, i32 %t7) call void @exit(i32 1) unreachable ixok0: %t10 = getelementptr inbounds ptr, ptr %t5, i32 1 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 0 %t13 = load i32, ptr %t12 %t14 = icmp ne i32 %t13, 31 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then2, label %ifend4 then2: call void @fn_perr(ptr @.str6812) br label %ifend4 ifend4: %t17 = load ptr, ptr %t0 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 0, %t23 br i1 %t24, label %ixok5, label %ixbad6 ixbad6: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str6813, i32 0, i32 %t23) call void @exit(i32 1) unreachable ixok5: %t26 = getelementptr inbounds ptr, ptr %t21, i32 0 %t27 = load ptr, ptr %t26 %t28 = call ptr @fn_emit_expr(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = icmp ult i32 1, %t36 br i1 %t37, label %ixok7, label %ixbad8 ixbad8: %t38 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str6814, i32 1, i32 %t36) call void @exit(i32 1) unreachable ixok7: %t39 = getelementptr inbounds ptr, ptr %t34, i32 1 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = call i64 @strlen(ptr %t44) %t46 = trunc i64 %t45 to i32 store i32 %t46, ptr %t47 %t48 = call ptr @fn_emit_alloca(ptr @.str6815) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 call void @fn_store_at(ptr @.str6816, ptr @.str6817, ptr %t50) %t51 = call ptr @fn_emit_alloca(ptr @.str6818) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 call void @fn_store_at(ptr @.str6819, ptr @.str6820, ptr %t53) %t54 = call ptr @fn_emit_alloca(ptr @.str6821) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 call void @fn_store_at(ptr @.str6822, ptr @.str6823, ptr %t56) %t57 = call ptr @fn_emit_alloca(ptr @.str6824) store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 call void @fn_store_at(ptr @.str6825, ptr @.str6826, ptr %t59) %t60 = call ptr @fn_emit_alloca(ptr @.str6827) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t61 call void @fn_store_at(ptr @.str6828, ptr @.str6829, ptr %t62) %t63 = call ptr @fn_emit_alloca(ptr @.str6830) store ptr %t63, ptr %t64 %t65 = load ptr, ptr %t64 call void @fn_store_at(ptr @.str6831, ptr @.str6832, ptr %t65) %t66 = call ptr @fn_emit_alloca(ptr @.str6833) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t67 call void @fn_store_at(ptr @.str6834, ptr @.str6835, ptr %t68) store i32 0, ptr %t69 store i32 0, ptr %t70 br label %wcond9 wcond9: %t71 = load i32, ptr %t70 %t72 = load i32, ptr %t47 %t73 = icmp slt i32 %t71, %t72 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %wbody10, label %wend11 wbody10: store ptr null, ptr %t76 store i32 0, ptr %t77 store i32 0, ptr %t78 %t79 = load ptr, ptr %t43 %t80 = load i32, ptr %t47 %t81 = load i32, ptr %t70 %t82 = call i32 @fn_dt_tok_at(ptr %t79, i32 %t80, i32 %t81, ptr @.str6836, i32 4) %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then12, label %else13 then12: %t84 = load ptr, ptr %t52 store ptr %t84, ptr %t76 store i32 4, ptr %t77 store i32 4, ptr %t78 br label %ifend14 else13: %t85 = load ptr, ptr %t43 %t86 = load i32, ptr %t47 %t87 = load i32, ptr %t70 %t88 = call i32 @fn_dt_tok_at(ptr %t85, i32 %t86, i32 %t87, ptr @.str6837, i32 2) %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then15, label %else16 then15: %t90 = load ptr, ptr %t55 store ptr %t90, ptr %t76 store i32 2, ptr %t77 store i32 2, ptr %t78 br label %ifend17 else16: %t91 = load ptr, ptr %t43 %t92 = load i32, ptr %t47 %t93 = load i32, ptr %t70 %t94 = call i32 @fn_dt_tok_at(ptr %t91, i32 %t92, i32 %t93, ptr @.str6838, i32 2) %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then18, label %else19 then18: %t96 = load ptr, ptr %t58 store ptr %t96, ptr %t76 store i32 2, ptr %t77 store i32 2, ptr %t78 br label %ifend20 else19: %t97 = load ptr, ptr %t43 %t98 = load i32, ptr %t47 %t99 = load i32, ptr %t70 %t100 = call i32 @fn_dt_tok_at(ptr %t97, i32 %t98, i32 %t99, ptr @.str6839, i32 2) %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then21, label %else22 then21: %t102 = load ptr, ptr %t61 store ptr %t102, ptr %t76 store i32 2, ptr %t77 store i32 2, ptr %t78 br label %ifend23 else22: %t103 = load ptr, ptr %t43 %t104 = load i32, ptr %t47 %t105 = load i32, ptr %t70 %t106 = call i32 @fn_dt_tok_at(ptr %t103, i32 %t104, i32 %t105, ptr @.str6840, i32 2) %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then24, label %else25 then24: %t108 = load ptr, ptr %t64 store ptr %t108, ptr %t76 store i32 2, ptr %t77 store i32 2, ptr %t78 br label %ifend26 else25: %t109 = load ptr, ptr %t43 %t110 = load i32, ptr %t47 %t111 = load i32, ptr %t70 %t112 = call i32 @fn_dt_tok_at(ptr %t109, i32 %t110, i32 %t111, ptr @.str6841, i32 2) %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then27, label %ifend29 then27: %t114 = load ptr, ptr %t67 store ptr %t114, ptr %t76 store i32 2, ptr %t77 store i32 2, ptr %t78 br label %ifend29 ifend29: br label %ifend26 ifend26: br label %ifend23 ifend23: br label %ifend20 ifend20: br label %ifend17 ifend17: br label %ifend14 ifend14: %t115 = load ptr, ptr %t76 %t116 = icmp eq ptr %t115, null %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then30, label %else31 then30: %t119 = load i32, ptr %t69 %t120 = add i32 %t119, 1 store i32 %t120, ptr %t69 %t121 = load i32, ptr %t70 %t122 = add i32 %t121, 1 store i32 %t122, ptr %t70 br label %ifend32 else31: %t123 = load ptr, ptr %t29 %t124 = getelementptr inbounds %Cmp_Val, ptr %t123, i32 0, i32 0 %t125 = load ptr, ptr %t124 %t126 = call ptr @lp_str_concat(ptr @.str6842, ptr %t125) %t127 = call ptr @lp_str_concat(ptr %t126, ptr @.str6843) %t128 = load i32, ptr %t69 %t129 = call ptr @fn_itoa(i32 %t128) %t130 = call ptr @lp_str_concat(ptr %t127, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str6844) %t132 = load i32, ptr %t77 %t133 = call ptr @lp_int_str(i32 %t132) %t134 = call ptr @lp_str_concat(ptr %t131, ptr %t133) %t135 = call ptr @lp_str_concat(ptr %t134, ptr @.str6845) %t136 = load ptr, ptr %t49 %t137 = call ptr @lp_str_concat(ptr %t135, ptr %t136) %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str6846) %t139 = call ptr @fn_emit_bind(ptr %t138) store ptr %t139, ptr %t140 %t141 = load ptr, ptr %t140 %t142 = load ptr, ptr %t76 call void @fn_store_at(ptr @.str6847, ptr %t141, ptr %t142) %t143 = load i32, ptr %t77 %t144 = load i32, ptr %t69 %t145 = add i32 %t144, %t143 store i32 %t145, ptr %t69 %t146 = load i32, ptr %t78 %t147 = load i32, ptr %t70 %t148 = add i32 %t147, %t146 store i32 %t148, ptr %t70 br label %ifend32 ifend32: br label %wcond9 wend11: %t149 = load ptr, ptr %t52 %t150 = call ptr @lp_str_concat(ptr @.str6848, ptr %t149) %t151 = call ptr @fn_emit_bind(ptr %t150) store ptr %t151, ptr %t152 %t153 = load ptr, ptr %t55 %t154 = call ptr @lp_str_concat(ptr @.str6849, ptr %t153) %t155 = call ptr @fn_emit_bind(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t58 %t158 = call ptr @lp_str_concat(ptr @.str6850, ptr %t157) %t159 = call ptr @fn_emit_bind(ptr %t158) store ptr %t159, ptr %t160 %t161 = load ptr, ptr %t61 %t162 = call ptr @lp_str_concat(ptr @.str6851, ptr %t161) %t163 = call ptr @fn_emit_bind(ptr %t162) store ptr %t163, ptr %t164 %t165 = load ptr, ptr %t64 %t166 = call ptr @lp_str_concat(ptr @.str6852, ptr %t165) %t167 = call ptr @fn_emit_bind(ptr %t166) store ptr %t167, ptr %t168 %t169 = load ptr, ptr %t67 %t170 = call ptr @lp_str_concat(ptr @.str6853, ptr %t169) %t171 = call ptr @fn_emit_bind(ptr %t170) store ptr %t171, ptr %t172 %t173 = load ptr, ptr %t152 %t174 = call ptr @lp_str_concat(ptr @.str6854, ptr %t173) %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str6855) %t176 = load ptr, ptr %t156 %t177 = call ptr @lp_str_concat(ptr %t175, ptr %t176) %t178 = call ptr @lp_str_concat(ptr %t177, ptr @.str6856) %t179 = load ptr, ptr %t160 %t180 = call ptr @lp_str_concat(ptr %t178, ptr %t179) %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str6857) %t182 = call ptr @fn_emit_bind(ptr %t181) store ptr %t182, ptr %t183 %t184 = load ptr, ptr %t183 %t185 = call ptr @lp_str_concat(ptr @.str6858, ptr %t184) %t186 = call ptr @lp_str_concat(ptr %t185, ptr @.str6859) %t187 = call ptr @fn_emit_bind(ptr %t186) store ptr %t187, ptr %t188 %t189 = load ptr, ptr %t164 %t190 = call ptr @lp_str_concat(ptr @.str6860, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str6861) %t192 = call ptr @fn_emit_bind(ptr %t191) store ptr %t192, ptr %t193 %t194 = load ptr, ptr %t168 %t195 = call ptr @lp_str_concat(ptr @.str6862, ptr %t194) %t196 = call ptr @lp_str_concat(ptr %t195, ptr @.str6863) %t197 = call ptr @fn_emit_bind(ptr %t196) store ptr %t197, ptr %t198 %t199 = load ptr, ptr %t188 %t200 = call ptr @lp_str_concat(ptr @.str6864, ptr %t199) %t201 = call ptr @lp_str_concat(ptr %t200, ptr @.str6865) %t202 = load ptr, ptr %t193 %t203 = call ptr @lp_str_concat(ptr %t201, ptr %t202) %t204 = call ptr @fn_emit_bind(ptr %t203) store ptr %t204, ptr %t205 %t206 = load ptr, ptr %t205 %t207 = call ptr @lp_str_concat(ptr @.str6866, ptr %t206) %t208 = call ptr @lp_str_concat(ptr %t207, ptr @.str6867) %t209 = load ptr, ptr %t198 %t210 = call ptr @lp_str_concat(ptr %t208, ptr %t209) %t211 = call ptr @fn_emit_bind(ptr %t210) store ptr %t211, ptr %t212 %t213 = load ptr, ptr %t212 %t214 = call ptr @lp_str_concat(ptr @.str6868, ptr %t213) %t215 = call ptr @lp_str_concat(ptr %t214, ptr @.str6869) %t216 = load ptr, ptr %t172 %t217 = call ptr @lp_str_concat(ptr %t215, ptr %t216) %t218 = call ptr @fn_emit_bind(ptr %t217) store ptr %t218, ptr %t219 %t220 = load ptr, ptr %t49 %t221 = call ptr @lp_str_concat(ptr @.str6870, ptr %t220) %t222 = call ptr @fn_emit_bind(ptr %t221) store ptr %t222, ptr %t223 %t224 = load ptr, ptr %t223 %t225 = call ptr @lp_str_concat(ptr @.str6871, ptr %t224) %t226 = call ptr @lp_str_concat(ptr %t225, ptr @.str6872) %t227 = call ptr @fn_emit_bind(ptr %t226) store ptr %t227, ptr %t228 %t229 = load ptr, ptr %t228 %t230 = call ptr @lp_str_concat(ptr @.str6873, ptr %t229) %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str6874) %t232 = load ptr, ptr %t219 %t233 = call ptr @lp_str_concat(ptr %t231, ptr %t232) %t234 = call ptr @fn_emit_bind(ptr %t233) %t235 = call ptr @fn_val(ptr %t234, ptr @.str6875) store ptr %t235, ptr %retval br label %ret ret: %t236 = load ptr, ptr %retval ret ptr %t236 } define ptr @fn_emit_datetime_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t27 = alloca ptr %t40 = alloca ptr %t53 = alloca ptr %t66 = alloca ptr %t79 = alloca ptr %t92 = alloca ptr %t109 = alloca ptr %t114 = alloca ptr %t121 = alloca ptr %t128 = alloca ptr %t135 = alloca ptr %t142 = alloca ptr %t167 = alloca ptr %t188 = alloca ptr %t201 = alloca ptr %t228 = alloca ptr %t250 = alloca ptr %t272 = alloca ptr %t294 = alloca ptr %t299 = alloca ptr %t304 = alloca ptr %t309 = alloca ptr %t314 = alloca ptr %t335 = alloca ptr %t340 = alloca ptr %t361 = alloca ptr %t366 = alloca ptr %t371 = alloca ptr %t389 = alloca ptr %t394 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str6876) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t1 %t6 = call ptr @fn_emit_datetime_format(ptr %t5) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str6877) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: %t10 = load ptr, ptr %t1 %t11 = call ptr @fn_emit_datetime_parse(ptr %t10) store ptr %t11, ptr %retval br label %ret ifend5: %t12 = load ptr, ptr %t0 %t13 = call i32 @lp_str_eq(ptr %t12, ptr @.str6878) %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then6, label %ifend8 then6: store i32 1, ptr @g_g_uses_datert %t15 = load ptr, ptr %t1 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 0, %t21 br i1 %t22, label %ixok9, label %ixbad10 ixbad10: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str6879, i32 0, i32 %t21) call void @exit(i32 1) unreachable ixok9: %t24 = getelementptr inbounds ptr, ptr %t19, i32 0 %t25 = load ptr, ptr %t24 %t26 = call ptr @fn_emit_expr(ptr %t25) store ptr %t26, ptr %t27 %t28 = load ptr, ptr %t1 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 1, %t34 br i1 %t35, label %ixok11, label %ixbad12 ixbad12: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str6880, i32 1, i32 %t34) call void @exit(i32 1) unreachable ixok11: %t37 = getelementptr inbounds ptr, ptr %t32, i32 1 %t38 = load ptr, ptr %t37 %t39 = call ptr @fn_emit_expr(ptr %t38) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t1 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 7 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 2, %t47 br i1 %t48, label %ixok13, label %ixbad14 ixbad14: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str6881, i32 2, i32 %t47) call void @exit(i32 1) unreachable ixok13: %t50 = getelementptr inbounds ptr, ptr %t45, i32 2 %t51 = load ptr, ptr %t50 %t52 = call ptr @fn_emit_expr(ptr %t51) store ptr %t52, ptr %t53 %t54 = load ptr, ptr %t1 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 7 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp ult i32 3, %t60 br i1 %t61, label %ixok15, label %ixbad16 ixbad16: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str6882, i32 3, i32 %t60) call void @exit(i32 1) unreachable ixok15: %t63 = getelementptr inbounds ptr, ptr %t58, i32 3 %t64 = load ptr, ptr %t63 %t65 = call ptr @fn_emit_expr(ptr %t64) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t1 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 7 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 4, %t73 br i1 %t74, label %ixok17, label %ixbad18 ixbad18: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str6883, i32 4, i32 %t73) call void @exit(i32 1) unreachable ixok17: %t76 = getelementptr inbounds ptr, ptr %t71, i32 4 %t77 = load ptr, ptr %t76 %t78 = call ptr @fn_emit_expr(ptr %t77) store ptr %t78, ptr %t79 %t80 = load ptr, ptr %t1 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 7 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t86 = load i32, ptr %t85 %t87 = icmp ult i32 5, %t86 br i1 %t87, label %ixok19, label %ixbad20 ixbad20: %t88 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t88, ptr @.fmt_bounds, ptr @.str6884, i32 5, i32 %t86) call void @exit(i32 1) unreachable ixok19: %t89 = getelementptr inbounds ptr, ptr %t84, i32 5 %t90 = load ptr, ptr %t89 %t91 = call ptr @fn_emit_expr(ptr %t90) store ptr %t91, ptr %t92 %t93 = load ptr, ptr %t27 %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0 %t95 = load ptr, ptr %t94 %t96 = call ptr @lp_str_concat(ptr @.str6885, ptr %t95) %t97 = call ptr @lp_str_concat(ptr %t96, ptr @.str6886) %t98 = load ptr, ptr %t40 %t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0 %t100 = load ptr, ptr %t99 %t101 = call ptr @lp_str_concat(ptr %t97, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str6887) %t103 = load ptr, ptr %t53 %t104 = getelementptr inbounds %Cmp_Val, ptr %t103, i32 0, i32 0 %t105 = load ptr, ptr %t104 %t106 = call ptr @lp_str_concat(ptr %t102, ptr %t105) %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str6888) %t108 = call ptr @fn_emit_bind(ptr %t107) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t109 %t111 = call ptr @lp_str_concat(ptr @.str6889, ptr %t110) %t112 = call ptr @lp_str_concat(ptr %t111, ptr @.str6890) %t113 = call ptr @fn_emit_bind(ptr %t112) store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t66 %t116 = getelementptr inbounds %Cmp_Val, ptr %t115, i32 0, i32 0 %t117 = load ptr, ptr %t116 %t118 = call ptr @lp_str_concat(ptr @.str6891, ptr %t117) %t119 = call ptr @lp_str_concat(ptr %t118, ptr @.str6892) %t120 = call ptr @fn_emit_bind(ptr %t119) store ptr %t120, ptr %t121 %t122 = load ptr, ptr %t79 %t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0 %t124 = load ptr, ptr %t123 %t125 = call ptr @lp_str_concat(ptr @.str6893, ptr %t124) %t126 = call ptr @lp_str_concat(ptr %t125, ptr @.str6894) %t127 = call ptr @fn_emit_bind(ptr %t126) store ptr %t127, ptr %t128 %t129 = load ptr, ptr %t114 %t130 = call ptr @lp_str_concat(ptr @.str6895, ptr %t129) %t131 = call ptr @lp_str_concat(ptr %t130, ptr @.str6896) %t132 = load ptr, ptr %t121 %t133 = call ptr @lp_str_concat(ptr %t131, ptr %t132) %t134 = call ptr @fn_emit_bind(ptr %t133) store ptr %t134, ptr %t135 %t136 = load ptr, ptr %t135 %t137 = call ptr @lp_str_concat(ptr @.str6897, ptr %t136) %t138 = call ptr @lp_str_concat(ptr %t137, ptr @.str6898) %t139 = load ptr, ptr %t128 %t140 = call ptr @lp_str_concat(ptr %t138, ptr %t139) %t141 = call ptr @fn_emit_bind(ptr %t140) store ptr %t141, ptr %t142 %t143 = load ptr, ptr %t142 %t144 = call ptr @lp_str_concat(ptr @.str6899, ptr %t143) %t145 = call ptr @lp_str_concat(ptr %t144, ptr @.str6900) %t146 = load ptr, ptr %t92 %t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0 %t148 = load ptr, ptr %t147 %t149 = call ptr @lp_str_concat(ptr %t145, ptr %t148) %t150 = call ptr @fn_emit_bind(ptr %t149) %t151 = call ptr @fn_val(ptr %t150, ptr @.str6901) store ptr %t151, ptr %retval br label %ret ifend8: %t152 = load ptr, ptr %t0 %t153 = call i32 @lp_str_eq(ptr %t152, ptr @.str6902) %t154 = icmp ne i32 %t153, 0 br i1 %t154, label %then21, label %ifend23 then21: %t155 = load ptr, ptr %t1 %t156 = getelementptr inbounds %Cmp_Node, ptr %t155, i32 0, i32 7 %t157 = load ptr, ptr %t156 %t158 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 0 %t159 = load ptr, ptr %t158 %t160 = getelementptr inbounds %LSlice, ptr %t157, i32 0, i32 1 %t161 = load i32, ptr %t160 %t162 = icmp ult i32 0, %t161 br i1 %t162, label %ixok24, label %ixbad25 ixbad25: %t163 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t163, ptr @.fmt_bounds, ptr @.str6903, i32 0, i32 %t161) call void @exit(i32 1) unreachable ixok24: %t164 = getelementptr inbounds ptr, ptr %t159, i32 0 %t165 = load ptr, ptr %t164 %t166 = call ptr @fn_emit_expr(ptr %t165) store ptr %t166, ptr %t167 %t168 = load ptr, ptr %t167 %t169 = getelementptr inbounds %Cmp_Val, ptr %t168, i32 0, i32 0 %t170 = load ptr, ptr %t169 %t171 = call ptr @fn_dt_epochday(ptr %t170) %t172 = call ptr @fn_val(ptr %t171, ptr @.str6904) store ptr %t172, ptr %retval br label %ret ifend23: %t173 = load ptr, ptr %t0 %t174 = call i32 @lp_str_eq(ptr %t173, ptr @.str6905) %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then26, label %ifend28 then26: %t176 = load ptr, ptr %t1 %t177 = getelementptr inbounds %Cmp_Node, ptr %t176, i32 0, i32 7 %t178 = load ptr, ptr %t177 %t179 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 0 %t180 = load ptr, ptr %t179 %t181 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 1 %t182 = load i32, ptr %t181 %t183 = icmp ult i32 0, %t182 br i1 %t183, label %ixok29, label %ixbad30 ixbad30: %t184 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t184, ptr @.fmt_bounds, ptr @.str6906, i32 0, i32 %t182) call void @exit(i32 1) unreachable ixok29: %t185 = getelementptr inbounds ptr, ptr %t180, i32 0 %t186 = load ptr, ptr %t185 %t187 = call ptr @fn_emit_expr(ptr %t186) store ptr %t187, ptr %t188 %t189 = load ptr, ptr %t1 %t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 7 %t191 = load ptr, ptr %t190 %t192 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 0 %t193 = load ptr, ptr %t192 %t194 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1 %t195 = load i32, ptr %t194 %t196 = icmp ult i32 1, %t195 br i1 %t196, label %ixok31, label %ixbad32 ixbad32: %t197 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t197, ptr @.fmt_bounds, ptr @.str6907, i32 1, i32 %t195) call void @exit(i32 1) unreachable ixok31: %t198 = getelementptr inbounds ptr, ptr %t193, i32 1 %t199 = load ptr, ptr %t198 %t200 = call ptr @fn_emit_expr(ptr %t199) store ptr %t200, ptr %t201 %t202 = load ptr, ptr %t188 %t203 = getelementptr inbounds %Cmp_Val, ptr %t202, i32 0, i32 0 %t204 = load ptr, ptr %t203 %t205 = call ptr @lp_str_concat(ptr @.str6908, ptr %t204) %t206 = call ptr @lp_str_concat(ptr %t205, ptr @.str6909) %t207 = load ptr, ptr %t201 %t208 = getelementptr inbounds %Cmp_Val, ptr %t207, i32 0, i32 0 %t209 = load ptr, ptr %t208 %t210 = call ptr @lp_str_concat(ptr %t206, ptr %t209) %t211 = call ptr @fn_emit_bind(ptr %t210) %t212 = call ptr @fn_val(ptr %t211, ptr @.str6910) store ptr %t212, ptr %retval br label %ret ifend28: %t213 = load ptr, ptr %t0 %t214 = call i32 @lp_str_eq(ptr %t213, ptr @.str6911) %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %then33, label %ifend35 then33: %t216 = load ptr, ptr %t1 %t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 7 %t218 = load ptr, ptr %t217 %t219 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 0 %t220 = load ptr, ptr %t219 %t221 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 1 %t222 = load i32, ptr %t221 %t223 = icmp ult i32 0, %t222 br i1 %t223, label %ixok36, label %ixbad37 ixbad37: %t224 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t224, ptr @.fmt_bounds, ptr @.str6912, i32 0, i32 %t222) call void @exit(i32 1) unreachable ixok36: %t225 = getelementptr inbounds ptr, ptr %t220, i32 0 %t226 = load ptr, ptr %t225 %t227 = call ptr @fn_emit_expr(ptr %t226) store ptr %t227, ptr %t228 %t229 = load ptr, ptr %t228 %t230 = getelementptr inbounds %Cmp_Val, ptr %t229, i32 0, i32 0 %t231 = load ptr, ptr %t230 %t232 = call ptr @fn_dt_epochday(ptr %t231) %t233 = call ptr @fn_date_component(ptr %t232, i32 0) %t234 = call ptr @fn_val(ptr %t233, ptr @.str6913) store ptr %t234, ptr %retval br label %ret ifend35: %t235 = load ptr, ptr %t0 %t236 = call i32 @lp_str_eq(ptr %t235, ptr @.str6914) %t237 = icmp ne i32 %t236, 0 br i1 %t237, label %then38, label %ifend40 then38: %t238 = load ptr, ptr %t1 %t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 7 %t240 = load ptr, ptr %t239 %t241 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 0 %t242 = load ptr, ptr %t241 %t243 = getelementptr inbounds %LSlice, ptr %t240, i32 0, i32 1 %t244 = load i32, ptr %t243 %t245 = icmp ult i32 0, %t244 br i1 %t245, label %ixok41, label %ixbad42 ixbad42: %t246 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t246, ptr @.fmt_bounds, ptr @.str6915, i32 0, i32 %t244) call void @exit(i32 1) unreachable ixok41: %t247 = getelementptr inbounds ptr, ptr %t242, i32 0 %t248 = load ptr, ptr %t247 %t249 = call ptr @fn_emit_expr(ptr %t248) store ptr %t249, ptr %t250 %t251 = load ptr, ptr %t250 %t252 = getelementptr inbounds %Cmp_Val, ptr %t251, i32 0, i32 0 %t253 = load ptr, ptr %t252 %t254 = call ptr @fn_dt_epochday(ptr %t253) %t255 = call ptr @fn_date_component(ptr %t254, i32 1) %t256 = call ptr @fn_val(ptr %t255, ptr @.str6916) store ptr %t256, ptr %retval br label %ret ifend40: %t257 = load ptr, ptr %t0 %t258 = call i32 @lp_str_eq(ptr %t257, ptr @.str6917) %t259 = icmp ne i32 %t258, 0 br i1 %t259, label %then43, label %ifend45 then43: %t260 = load ptr, ptr %t1 %t261 = getelementptr inbounds %Cmp_Node, ptr %t260, i32 0, i32 7 %t262 = load ptr, ptr %t261 %t263 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 0 %t264 = load ptr, ptr %t263 %t265 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 1 %t266 = load i32, ptr %t265 %t267 = icmp ult i32 0, %t266 br i1 %t267, label %ixok46, label %ixbad47 ixbad47: %t268 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t268, ptr @.fmt_bounds, ptr @.str6918, i32 0, i32 %t266) call void @exit(i32 1) unreachable ixok46: %t269 = getelementptr inbounds ptr, ptr %t264, i32 0 %t270 = load ptr, ptr %t269 %t271 = call ptr @fn_emit_expr(ptr %t270) store ptr %t271, ptr %t272 %t273 = load ptr, ptr %t272 %t274 = getelementptr inbounds %Cmp_Val, ptr %t273, i32 0, i32 0 %t275 = load ptr, ptr %t274 %t276 = call ptr @fn_dt_epochday(ptr %t275) %t277 = call ptr @fn_date_component(ptr %t276, i32 2) %t278 = call ptr @fn_val(ptr %t277, ptr @.str6919) store ptr %t278, ptr %retval br label %ret ifend45: %t279 = load ptr, ptr %t0 %t280 = call i32 @lp_str_eq(ptr %t279, ptr @.str6920) %t281 = icmp ne i32 %t280, 0 br i1 %t281, label %then48, label %ifend50 then48: %t282 = load ptr, ptr %t1 %t283 = getelementptr inbounds %Cmp_Node, ptr %t282, i32 0, i32 7 %t284 = load ptr, ptr %t283 %t285 = getelementptr inbounds %LSlice, ptr %t284, i32 0, i32 0 %t286 = load ptr, ptr %t285 %t287 = getelementptr inbounds %LSlice, ptr %t284, i32 0, i32 1 %t288 = load i32, ptr %t287 %t289 = icmp ult i32 0, %t288 br i1 %t289, label %ixok51, label %ixbad52 ixbad52: %t290 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t290, ptr @.fmt_bounds, ptr @.str6921, i32 0, i32 %t288) call void @exit(i32 1) unreachable ixok51: %t291 = getelementptr inbounds ptr, ptr %t286, i32 0 %t292 = load ptr, ptr %t291 %t293 = call ptr @fn_emit_expr(ptr %t292) store ptr %t293, ptr %t294 %t295 = load ptr, ptr %t294 %t296 = getelementptr inbounds %Cmp_Val, ptr %t295, i32 0, i32 0 %t297 = load ptr, ptr %t296 %t298 = call ptr @fn_dt_epochday(ptr %t297) store ptr %t298, ptr %t299 %t300 = load ptr, ptr %t299 %t301 = call ptr @lp_str_concat(ptr @.str6922, ptr %t300) %t302 = call ptr @lp_str_concat(ptr %t301, ptr @.str6923) %t303 = call ptr @fn_emit_bind(ptr %t302) store ptr %t303, ptr %t304 %t305 = load ptr, ptr %t304 %t306 = call ptr @lp_str_concat(ptr @.str6924, ptr %t305) %t307 = call ptr @lp_str_concat(ptr %t306, ptr @.str6925) %t308 = call ptr @fn_emit_bind(ptr %t307) store ptr %t308, ptr %t309 %t310 = load ptr, ptr %t309 %t311 = call ptr @lp_str_concat(ptr @.str6926, ptr %t310) %t312 = call ptr @lp_str_concat(ptr %t311, ptr @.str6927) %t313 = call ptr @fn_emit_bind(ptr %t312) store ptr %t313, ptr %t314 %t315 = load ptr, ptr %t314 %t316 = call ptr @lp_str_concat(ptr @.str6928, ptr %t315) %t317 = call ptr @lp_str_concat(ptr %t316, ptr @.str6929) %t318 = call ptr @fn_emit_bind(ptr %t317) %t319 = call ptr @fn_val(ptr %t318, ptr @.str6930) store ptr %t319, ptr %retval br label %ret ifend50: %t320 = load ptr, ptr %t0 %t321 = call i32 @lp_str_eq(ptr %t320, ptr @.str6931) %t322 = icmp ne i32 %t321, 0 br i1 %t322, label %then53, label %ifend55 then53: %t323 = load ptr, ptr %t1 %t324 = getelementptr inbounds %Cmp_Node, ptr %t323, i32 0, i32 7 %t325 = load ptr, ptr %t324 %t326 = getelementptr inbounds %LSlice, ptr %t325, i32 0, i32 0 %t327 = load ptr, ptr %t326 %t328 = getelementptr inbounds %LSlice, ptr %t325, i32 0, i32 1 %t329 = load i32, ptr %t328 %t330 = icmp ult i32 0, %t329 br i1 %t330, label %ixok56, label %ixbad57 ixbad57: %t331 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t331, ptr @.fmt_bounds, ptr @.str6932, i32 0, i32 %t329) call void @exit(i32 1) unreachable ixok56: %t332 = getelementptr inbounds ptr, ptr %t327, i32 0 %t333 = load ptr, ptr %t332 %t334 = call ptr @fn_emit_expr(ptr %t333) store ptr %t334, ptr %t335 %t336 = load ptr, ptr %t335 %t337 = getelementptr inbounds %Cmp_Val, ptr %t336, i32 0, i32 0 %t338 = load ptr, ptr %t337 %t339 = call ptr @fn_dt_secofday(ptr %t338) store ptr %t339, ptr %t340 %t341 = load ptr, ptr %t340 %t342 = call ptr @lp_str_concat(ptr @.str6933, ptr %t341) %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str6934) %t344 = call ptr @fn_emit_bind(ptr %t343) %t345 = call ptr @fn_val(ptr %t344, ptr @.str6935) store ptr %t345, ptr %retval br label %ret ifend55: %t346 = load ptr, ptr %t0 %t347 = call i32 @lp_str_eq(ptr %t346, ptr @.str6936) %t348 = icmp ne i32 %t347, 0 br i1 %t348, label %then58, label %ifend60 then58: %t349 = load ptr, ptr %t1 %t350 = getelementptr inbounds %Cmp_Node, ptr %t349, i32 0, i32 7 %t351 = load ptr, ptr %t350 %t352 = getelementptr inbounds %LSlice, ptr %t351, i32 0, i32 0 %t353 = load ptr, ptr %t352 %t354 = getelementptr inbounds %LSlice, ptr %t351, i32 0, i32 1 %t355 = load i32, ptr %t354 %t356 = icmp ult i32 0, %t355 br i1 %t356, label %ixok61, label %ixbad62 ixbad62: %t357 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t357, ptr @.fmt_bounds, ptr @.str6937, i32 0, i32 %t355) call void @exit(i32 1) unreachable ixok61: %t358 = getelementptr inbounds ptr, ptr %t353, i32 0 %t359 = load ptr, ptr %t358 %t360 = call ptr @fn_emit_expr(ptr %t359) store ptr %t360, ptr %t361 %t362 = load ptr, ptr %t361 %t363 = getelementptr inbounds %Cmp_Val, ptr %t362, i32 0, i32 0 %t364 = load ptr, ptr %t363 %t365 = call ptr @fn_dt_secofday(ptr %t364) store ptr %t365, ptr %t366 %t367 = load ptr, ptr %t366 %t368 = call ptr @lp_str_concat(ptr @.str6938, ptr %t367) %t369 = call ptr @lp_str_concat(ptr %t368, ptr @.str6939) %t370 = call ptr @fn_emit_bind(ptr %t369) store ptr %t370, ptr %t371 %t372 = load ptr, ptr %t371 %t373 = call ptr @lp_str_concat(ptr @.str6940, ptr %t372) %t374 = call ptr @lp_str_concat(ptr %t373, ptr @.str6941) %t375 = call ptr @fn_emit_bind(ptr %t374) %t376 = call ptr @fn_val(ptr %t375, ptr @.str6942) store ptr %t376, ptr %retval br label %ret ifend60: %t377 = load ptr, ptr %t1 %t378 = getelementptr inbounds %Cmp_Node, ptr %t377, i32 0, i32 7 %t379 = load ptr, ptr %t378 %t380 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 0 %t381 = load ptr, ptr %t380 %t382 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 1 %t383 = load i32, ptr %t382 %t384 = icmp ult i32 0, %t383 br i1 %t384, label %ixok63, label %ixbad64 ixbad64: %t385 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t385, ptr @.fmt_bounds, ptr @.str6943, i32 0, i32 %t383) call void @exit(i32 1) unreachable ixok63: %t386 = getelementptr inbounds ptr, ptr %t381, i32 0 %t387 = load ptr, ptr %t386 %t388 = call ptr @fn_emit_expr(ptr %t387) store ptr %t388, ptr %t389 %t390 = load ptr, ptr %t389 %t391 = getelementptr inbounds %Cmp_Val, ptr %t390, i32 0, i32 0 %t392 = load ptr, ptr %t391 %t393 = call ptr @fn_dt_secofday(ptr %t392) store ptr %t393, ptr %t394 %t395 = load ptr, ptr %t394 %t396 = call ptr @lp_str_concat(ptr @.str6944, ptr %t395) %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str6945) %t398 = call ptr @fn_emit_bind(ptr %t397) %t399 = call ptr @fn_val(ptr %t398, ptr @.str6946) store ptr %t399, ptr %retval br label %ret ret: %t400 = load ptr, ptr %retval ret ptr %t400 } define void @fn_emit_datetime_prelude() { entry: call void @fn_emith(ptr @.str6947) call void @fn_emith(ptr @.str6948) call void @fn_emith(ptr @.str6949) call void @fn_emith(ptr @.str6950) call void @fn_emith(ptr @.str6951) call void @fn_emith(ptr @.str6952) call void @fn_emith(ptr @.str6953) call void @fn_emith(ptr @.str6954) call void @fn_emith(ptr @.str6955) call void @fn_emith(ptr @.str6956) call void @fn_emith(ptr @.str6957) call void @fn_emith(ptr @.str6958) call void @fn_emith(ptr @.str6959) call void @fn_emith(ptr @.str6960) call void @fn_emith(ptr @.str6961) call void @fn_emith(ptr @.str6962) call void @fn_emith(ptr @.str6963) call void @fn_emith(ptr @.str6964) call void @fn_emith(ptr @.str6965) call void @fn_emith(ptr @.str6966) call void @fn_emith(ptr @.str6967) call void @fn_emith(ptr @.str6968) call void @fn_emith(ptr @.str6969) call void @fn_emith(ptr @.str6970) call void @fn_emith(ptr @.str6971) call void @fn_emith(ptr @.str6972) call void @fn_emith(ptr @.str6973) call void @fn_emith(ptr @.str6974) call void @fn_emith(ptr @.str6975) call void @fn_emith(ptr @.str6976) call void @fn_emith(ptr @.str6977) call void @fn_emith(ptr @.str6978) call void @fn_emith(ptr @.str6979) call void @fn_emith(ptr @.str6980) call void @fn_emith(ptr @.str6981) call void @fn_emith(ptr @.str6982) call void @fn_emith(ptr @.str6983) call void @fn_emith(ptr @.str6984) call void @fn_emith(ptr @.str6985) call void @fn_emith(ptr @.str6986) call void @fn_emith(ptr @.str6987) call void @fn_emith(ptr @.str6988) call void @fn_emith(ptr @.str6989) call void @fn_emith(ptr @.str6990) call void @fn_emith(ptr @.str6991) call void @fn_emith(ptr @.str6992) call void @fn_emith(ptr @.str6993) call void @fn_emith(ptr @.str6994) call void @fn_emith(ptr @.str6995) call void @fn_emith(ptr @.str6996) call void @fn_emith(ptr @.str6997) call void @fn_emith(ptr @.str6998) call void @fn_emith(ptr @.str6999) call void @fn_emith(ptr @.str7000) call void @fn_emith(ptr @.str7001) call void @fn_emith(ptr @.str7002) call void @fn_emith(ptr @.str7003) call void @fn_emith(ptr @.str7004) call void @fn_emith(ptr @.str7005) call void @fn_emith(ptr @.str7006) call void @fn_emith(ptr @.str7007) call void @fn_emith(ptr @.str7008) call void @fn_emith(ptr @.str7009) call void @fn_emith(ptr @.str7010) call void @fn_emith(ptr @.str7011) call void @fn_emith(ptr @.str7012) call void @fn_emith(ptr @.str7013) call void @fn_emith(ptr @.str7014) call void @fn_emith(ptr @.str7015) call void @fn_emith(ptr @.str7016) call void @fn_emith(ptr @.str7017) call void @fn_emith(ptr @.str7018) call void @fn_emith(ptr @.str7019) call void @fn_emith(ptr @.str7020) call void @fn_emith(ptr @.str7021) call void @fn_emith(ptr @.str7022) call void @fn_emith(ptr @.str7023) call void @fn_emith(ptr @.str7024) call void @fn_emith(ptr @.str7025) call void @fn_emith(ptr @.str7026) call void @fn_emith(ptr @.str7027) call void @fn_emith(ptr @.str7028) call void @fn_emith(ptr @.str7029) call void @fn_emith(ptr @.str7030) call void @fn_emith(ptr @.str7031) call void @fn_emith(ptr @.str7032) call void @fn_emith(ptr @.str7033) call void @fn_emith(ptr @.str7034) call void @fn_emith(ptr @.str7035) call void @fn_emith(ptr @.str7036) call void @fn_emith(ptr @.str7037) call void @fn_emith(ptr @.str7038) call void @fn_emith(ptr @.str7039) call void @fn_emith(ptr @.str7040) call void @fn_emith(ptr @.str7041) call void @fn_emith(ptr @.str7042) call void @fn_emith(ptr @.str7043) call void @fn_emith(ptr @.str7044) br label %ret ret: ret void } define i32 @fn_is_clock_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_meth, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str7045) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t3 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str7046) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 br label %scend1 scend1: %t12 = load i32, ptr %t3 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str7047) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br label %scend3 scend3: %t19 = load i32, ptr %t2 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t1 br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str7048) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 br label %scend5 scend5: %t26 = load i32, ptr %t1 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %ifend8 then6: store i32 1, ptr %retval br label %ret ifend8: store i32 0, ptr %retval br label %ret ret: %t28 = load i32, ptr %retval ret i32 %t28 } define ptr @fn_emit_clock_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t26 = alloca ptr %t45 = alloca ptr %t47 = alloca ptr %t56 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str7049) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_emit_bind(ptr @.str7050) %t6 = call ptr @fn_val(ptr %t5, ptr @.str7051) store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str7052) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str7053) %t10 = call ptr @fn_val(ptr @.str7054, ptr @.str7055) store ptr %t10, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t0 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str7056) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: %t14 = load ptr, ptr %t1 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 0, %t20 br i1 %t21, label %ixok9, label %ixbad10 ixbad10: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str7057, i32 0, i32 %t20) call void @exit(i32 1) unreachable ixok9: %t23 = getelementptr inbounds ptr, ptr %t18, i32 0 %t24 = load ptr, ptr %t23 %t25 = call ptr @fn_emit_expr(ptr %t24) store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %Cmp_Val, ptr %t27, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = call ptr @lp_str_concat(ptr @.str7058, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str7059) call void @fn_emit(ptr %t31) %t32 = call ptr @fn_val(ptr @.str7060, ptr @.str7061) store ptr %t32, ptr %retval br label %ret ifend8: %t33 = load ptr, ptr %t1 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t39 = load i32, ptr %t38 %t40 = icmp ult i32 0, %t39 br i1 %t40, label %ixok11, label %ixbad12 ixbad12: %t41 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t41, ptr @.fmt_bounds, ptr @.str7062, i32 0, i32 %t39) call void @exit(i32 1) unreachable ixok11: %t42 = getelementptr inbounds ptr, ptr %t37, i32 0 %t43 = load ptr, ptr %t42 %t44 = call ptr @fn_emit_expr(ptr %t43) store ptr %t44, ptr %t45 %t46 = call ptr @fn_emit_bind(ptr @.str7063) store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 %t49 = call ptr @lp_str_concat(ptr @.str7064, ptr %t48) %t50 = call ptr @lp_str_concat(ptr %t49, ptr @.str7065) %t51 = load ptr, ptr %t45 %t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0 %t53 = load ptr, ptr %t52 %t54 = call ptr @lp_str_concat(ptr %t50, ptr %t53) %t55 = call ptr @fn_emit_bind(ptr %t54) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 %t58 = call ptr @lp_str_concat(ptr @.str7066, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str7067) call void @fn_emit(ptr %t59) %t60 = call ptr @fn_val(ptr @.str7068, ptr @.str7069) store ptr %t60, ptr %retval br label %ret ret: %t61 = load ptr, ptr %retval ret ptr %t61 } define i32 @fn_is_colorfn_ns(ptr %arg_meth) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t20 = alloca i32 %t21 = alloca i32 store ptr %arg_meth, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str7070) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str7071) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str7072) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str7073) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t21 br i1 %t24, label %scend8, label %sc7 sc7: %t26 = load ptr, ptr %t0 %t27 = call i32 @lp_str_eq(ptr %t26, ptr @.str7074) %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t21 br label %scend8 scend8: %t30 = load i32, ptr %t21 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t20 br i1 %t31, label %scend10, label %sc9 sc9: %t33 = load ptr, ptr %t0 %t34 = call i32 @lp_str_eq(ptr %t33, ptr @.str7075) %t35 = icmp ne i32 %t34, 0 %t36 = zext i1 %t35 to i32 store i32 %t36, ptr %t20 br label %scend10 scend10: %t37 = load i32, ptr %t20 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then11, label %ifend13 then11: store i32 1, ptr %retval br label %ret ifend13: store i32 0, ptr %retval br label %ret ret: %t39 = load i32, ptr %retval ret i32 %t39 } define ptr @fn_color_ch(ptr %arg_c, ptr %arg_shift) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t8 = alloca ptr store ptr %arg_c, ptr %t0 store ptr %arg_shift, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @lp_str_concat(ptr @.str7076, ptr %t2) %t4 = call ptr @lp_str_concat(ptr %t3, ptr @.str7077) %t5 = load ptr, ptr %t1 %t6 = call ptr @lp_str_concat(ptr %t4, ptr %t5) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 %t9 = load ptr, ptr %t8 %t10 = call ptr @lp_str_concat(ptr @.str7078, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str7079) %t12 = call ptr @fn_emit_bind(ptr %t11) store ptr %t12, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define ptr @fn_color_pack(ptr %arg_r, ptr %arg_g, ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t7 = alloca ptr %t12 = alloca ptr %t19 = alloca ptr store ptr %arg_r, ptr %t0 store ptr %arg_g, ptr %t1 store ptr %arg_b, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call ptr @lp_str_concat(ptr @.str7080, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str7081) %t6 = call ptr @fn_emit_bind(ptr %t5) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t1 %t9 = call ptr @lp_str_concat(ptr @.str7082, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str7083) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t7 %t14 = call ptr @lp_str_concat(ptr @.str7084, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str7085) %t16 = load ptr, ptr %t12 %t17 = call ptr @lp_str_concat(ptr %t15, ptr %t16) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 %t20 = load ptr, ptr %t19 %t21 = call ptr @lp_str_concat(ptr @.str7086, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str7087) %t23 = load ptr, ptr %t2 %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %retval br label %ret ret: %t26 = load ptr, ptr %retval ret ptr %t26 } define ptr @fn_color_lerp_ch(ptr %arg_ch0, ptr %arg_ch1, ptr %arg_t) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t9 = alloca ptr %t16 = alloca ptr %t21 = alloca ptr store ptr %arg_ch0, ptr %t0 store ptr %arg_ch1, ptr %t1 store ptr %arg_t, ptr %t2 %t3 = load ptr, ptr %t1 %t4 = call ptr @lp_str_concat(ptr @.str7088, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str7089) %t6 = load ptr, ptr %t0 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t9 %t11 = call ptr @lp_str_concat(ptr @.str7090, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str7091) %t13 = load ptr, ptr %t2 %t14 = call ptr @lp_str_concat(ptr %t12, ptr %t13) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t16 %t18 = call ptr @lp_str_concat(ptr @.str7092, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str7093) %t20 = call ptr @fn_emit_bind(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t0 %t23 = call ptr @lp_str_concat(ptr @.str7094, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str7095) %t25 = load ptr, ptr %t21 %t26 = call ptr @lp_str_concat(ptr %t24, ptr %t25) %t27 = call ptr @fn_emit_bind(ptr %t26) store ptr %t27, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval ret ptr %t28 } define ptr @fn_emit_colorfn_ns(ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t17 = alloca ptr %t30 = alloca ptr %t43 = alloca ptr %t70 = alloca ptr %t83 = alloca ptr %t96 = alloca ptr %t109 = alloca ptr %t120 = alloca ptr %t127 = alloca ptr %t150 = alloca ptr %t163 = alloca ptr %t170 = alloca ptr %t177 = alloca ptr %t200 = alloca ptr %t213 = alloca ptr %t226 = alloca ptr %t239 = alloca ptr %t252 = alloca ptr %t265 = alloca ptr %t286 = alloca ptr %t299 = alloca ptr %t305 = alloca ptr %t310 = alloca ptr %t315 = alloca ptr %t320 = alloca ptr %t327 = alloca ptr %t332 = alloca ptr %t339 = alloca ptr %t344 = alloca ptr %t351 = alloca ptr %t356 = alloca ptr %t374 = alloca ptr %t387 = alloca ptr %t392 = alloca ptr %t397 = alloca ptr %t402 = alloca ptr %t406 = alloca ptr %t415 = alloca ptr %t420 = alloca ptr %t427 = alloca ptr %t431 = alloca ptr %t440 = alloca ptr %t445 = alloca ptr %t452 = alloca ptr %t456 = alloca ptr %t465 = alloca ptr %t470 = alloca ptr %t477 = alloca ptr store ptr %arg_meth, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str7096) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7 %t7 = load ptr, ptr %t6 %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 0, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str7097, i32 0, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t9, i32 0 %t15 = load ptr, ptr %t14 %t16 = call ptr @fn_emit_expr(ptr %t15) store ptr %t16, ptr %t17 %t18 = load ptr, ptr %t1 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 1, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str7098, i32 1, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t22, i32 1 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_emit_expr(ptr %t28) store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t1 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 2, %t37 br i1 %t38, label %ixok7, label %ixbad8 ixbad8: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str7099, i32 2, i32 %t37) call void @exit(i32 1) unreachable ixok7: %t40 = getelementptr inbounds ptr, ptr %t35, i32 2 %t41 = load ptr, ptr %t40 %t42 = call ptr @fn_emit_expr(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t17 %t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = load ptr, ptr %t30 %t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = load ptr, ptr %t43 %t51 = getelementptr inbounds %Cmp_Val, ptr %t50, i32 0, i32 0 %t52 = load ptr, ptr %t51 %t53 = call ptr @fn_color_pack(ptr %t46, ptr %t49, ptr %t52) %t54 = call ptr @fn_val(ptr %t53, ptr @.str7100) store ptr %t54, ptr %retval br label %ret ifend2: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str7101) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then9, label %ifend11 then9: %t58 = load ptr, ptr %t1 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 7 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 0, %t64 br i1 %t65, label %ixok12, label %ixbad13 ixbad13: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str7102, i32 0, i32 %t64) call void @exit(i32 1) unreachable ixok12: %t67 = getelementptr inbounds ptr, ptr %t62, i32 0 %t68 = load ptr, ptr %t67 %t69 = call ptr @fn_emit_expr(ptr %t68) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t1 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 7 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 %t77 = load i32, ptr %t76 %t78 = icmp ult i32 1, %t77 br i1 %t78, label %ixok14, label %ixbad15 ixbad15: %t79 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t79, ptr @.fmt_bounds, ptr @.str7103, i32 1, i32 %t77) call void @exit(i32 1) unreachable ixok14: %t80 = getelementptr inbounds ptr, ptr %t75, i32 1 %t81 = load ptr, ptr %t80 %t82 = call ptr @fn_emit_expr(ptr %t81) store ptr %t82, ptr %t83 %t84 = load ptr, ptr %t1 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 7 %t86 = load ptr, ptr %t85 %t87 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 0 %t88 = load ptr, ptr %t87 %t89 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 %t90 = load i32, ptr %t89 %t91 = icmp ult i32 2, %t90 br i1 %t91, label %ixok16, label %ixbad17 ixbad17: %t92 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str7104, i32 2, i32 %t90) call void @exit(i32 1) unreachable ixok16: %t93 = getelementptr inbounds ptr, ptr %t88, i32 2 %t94 = load ptr, ptr %t93 %t95 = call ptr @fn_emit_expr(ptr %t94) store ptr %t95, ptr %t96 %t97 = load ptr, ptr %t1 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 7 %t99 = load ptr, ptr %t98 %t100 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 0 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1 %t103 = load i32, ptr %t102 %t104 = icmp ult i32 3, %t103 br i1 %t104, label %ixok18, label %ixbad19 ixbad19: %t105 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str7105, i32 3, i32 %t103) call void @exit(i32 1) unreachable ixok18: %t106 = getelementptr inbounds ptr, ptr %t101, i32 3 %t107 = load ptr, ptr %t106 %t108 = call ptr @fn_emit_expr(ptr %t107) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t70 %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0 %t112 = load ptr, ptr %t111 %t113 = load ptr, ptr %t83 %t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = load ptr, ptr %t96 %t117 = getelementptr inbounds %Cmp_Val, ptr %t116, i32 0, i32 0 %t118 = load ptr, ptr %t117 %t119 = call ptr @fn_color_pack(ptr %t112, ptr %t115, ptr %t118) store ptr %t119, ptr %t120 %t121 = load ptr, ptr %t109 %t122 = getelementptr inbounds %Cmp_Val, ptr %t121, i32 0, i32 0 %t123 = load ptr, ptr %t122 %t124 = call ptr @lp_str_concat(ptr @.str7106, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str7107) %t126 = call ptr @fn_emit_bind(ptr %t125) store ptr %t126, ptr %t127 %t128 = load ptr, ptr %t120 %t129 = call ptr @lp_str_concat(ptr @.str7108, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str7109) %t131 = load ptr, ptr %t127 %t132 = call ptr @lp_str_concat(ptr %t130, ptr %t131) %t133 = call ptr @fn_emit_bind(ptr %t132) %t134 = call ptr @fn_val(ptr %t133, ptr @.str7110) store ptr %t134, ptr %retval br label %ret ifend11: %t135 = load ptr, ptr %t0 %t136 = call i32 @lp_str_eq(ptr %t135, ptr @.str7111) %t137 = icmp ne i32 %t136, 0 br i1 %t137, label %then20, label %ifend22 then20: %t138 = load ptr, ptr %t1 %t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 7 %t140 = load ptr, ptr %t139 %t141 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0 %t142 = load ptr, ptr %t141 %t143 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 1 %t144 = load i32, ptr %t143 %t145 = icmp ult i32 0, %t144 br i1 %t145, label %ixok23, label %ixbad24 ixbad24: %t146 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t146, ptr @.fmt_bounds, ptr @.str7112, i32 0, i32 %t144) call void @exit(i32 1) unreachable ixok23: %t147 = getelementptr inbounds ptr, ptr %t142, i32 0 %t148 = load ptr, ptr %t147 %t149 = call ptr @fn_emit_expr(ptr %t148) store ptr %t149, ptr %t150 %t151 = load ptr, ptr %t1 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 7 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 0 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %LSlice, ptr %t153, i32 0, i32 1 %t157 = load i32, ptr %t156 %t158 = icmp ult i32 1, %t157 br i1 %t158, label %ixok25, label %ixbad26 ixbad26: %t159 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t159, ptr @.fmt_bounds, ptr @.str7113, i32 1, i32 %t157) call void @exit(i32 1) unreachable ixok25: %t160 = getelementptr inbounds ptr, ptr %t155, i32 1 %t161 = load ptr, ptr %t160 %t162 = call ptr @fn_emit_expr(ptr %t161) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t150 %t165 = getelementptr inbounds %Cmp_Val, ptr %t164, i32 0, i32 0 %t166 = load ptr, ptr %t165 %t167 = call ptr @lp_str_concat(ptr @.str7114, ptr %t166) %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str7115) %t169 = call ptr @fn_emit_bind(ptr %t168) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t163 %t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0 %t173 = load ptr, ptr %t172 %t174 = call ptr @lp_str_concat(ptr @.str7116, ptr %t173) %t175 = call ptr @lp_str_concat(ptr %t174, ptr @.str7117) %t176 = call ptr @fn_emit_bind(ptr %t175) store ptr %t176, ptr %t177 %t178 = load ptr, ptr %t170 %t179 = call ptr @lp_str_concat(ptr @.str7118, ptr %t178) %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str7119) %t181 = load ptr, ptr %t177 %t182 = call ptr @lp_str_concat(ptr %t180, ptr %t181) %t183 = call ptr @fn_emit_bind(ptr %t182) %t184 = call ptr @fn_val(ptr %t183, ptr @.str7120) store ptr %t184, ptr %retval br label %ret ifend22: %t185 = load ptr, ptr %t0 %t186 = call i32 @lp_str_eq(ptr %t185, ptr @.str7121) %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then27, label %ifend29 then27: %t188 = load ptr, ptr %t1 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 7 %t190 = load ptr, ptr %t189 %t191 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 0 %t192 = load ptr, ptr %t191 %t193 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 1 %t194 = load i32, ptr %t193 %t195 = icmp ult i32 0, %t194 br i1 %t195, label %ixok30, label %ixbad31 ixbad31: %t196 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t196, ptr @.fmt_bounds, ptr @.str7122, i32 0, i32 %t194) call void @exit(i32 1) unreachable ixok30: %t197 = getelementptr inbounds ptr, ptr %t192, i32 0 %t198 = load ptr, ptr %t197 %t199 = call ptr @fn_emit_expr(ptr %t198) store ptr %t199, ptr %t200 %t201 = load ptr, ptr %t1 %t202 = getelementptr inbounds %Cmp_Node, ptr %t201, i32 0, i32 7 %t203 = load ptr, ptr %t202 %t204 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 0 %t205 = load ptr, ptr %t204 %t206 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 1 %t207 = load i32, ptr %t206 %t208 = icmp ult i32 1, %t207 br i1 %t208, label %ixok32, label %ixbad33 ixbad33: %t209 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t209, ptr @.fmt_bounds, ptr @.str7123, i32 1, i32 %t207) call void @exit(i32 1) unreachable ixok32: %t210 = getelementptr inbounds ptr, ptr %t205, i32 1 %t211 = load ptr, ptr %t210 %t212 = call ptr @fn_emit_expr(ptr %t211) store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t1 %t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 7 %t216 = load ptr, ptr %t215 %t217 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 0 %t218 = load ptr, ptr %t217 %t219 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 1 %t220 = load i32, ptr %t219 %t221 = icmp ult i32 2, %t220 br i1 %t221, label %ixok34, label %ixbad35 ixbad35: %t222 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t222, ptr @.fmt_bounds, ptr @.str7124, i32 2, i32 %t220) call void @exit(i32 1) unreachable ixok34: %t223 = getelementptr inbounds ptr, ptr %t218, i32 2 %t224 = load ptr, ptr %t223 %t225 = call ptr @fn_emit_expr(ptr %t224) store ptr %t225, ptr %t226 %t227 = load ptr, ptr %t200 %t228 = getelementptr inbounds %Cmp_Val, ptr %t227, i32 0, i32 0 %t229 = load ptr, ptr %t228 %t230 = call ptr @fn_color_ch(ptr %t229, ptr @.str7125) %t231 = load ptr, ptr %t213 %t232 = getelementptr inbounds %Cmp_Val, ptr %t231, i32 0, i32 0 %t233 = load ptr, ptr %t232 %t234 = call ptr @fn_color_ch(ptr %t233, ptr @.str7126) %t235 = load ptr, ptr %t226 %t236 = getelementptr inbounds %Cmp_Val, ptr %t235, i32 0, i32 0 %t237 = load ptr, ptr %t236 %t238 = call ptr @fn_color_lerp_ch(ptr %t230, ptr %t234, ptr %t237) store ptr %t238, ptr %t239 %t240 = load ptr, ptr %t200 %t241 = getelementptr inbounds %Cmp_Val, ptr %t240, i32 0, i32 0 %t242 = load ptr, ptr %t241 %t243 = call ptr @fn_color_ch(ptr %t242, ptr @.str7127) %t244 = load ptr, ptr %t213 %t245 = getelementptr inbounds %Cmp_Val, ptr %t244, i32 0, i32 0 %t246 = load ptr, ptr %t245 %t247 = call ptr @fn_color_ch(ptr %t246, ptr @.str7128) %t248 = load ptr, ptr %t226 %t249 = getelementptr inbounds %Cmp_Val, ptr %t248, i32 0, i32 0 %t250 = load ptr, ptr %t249 %t251 = call ptr @fn_color_lerp_ch(ptr %t243, ptr %t247, ptr %t250) store ptr %t251, ptr %t252 %t253 = load ptr, ptr %t200 %t254 = getelementptr inbounds %Cmp_Val, ptr %t253, i32 0, i32 0 %t255 = load ptr, ptr %t254 %t256 = call ptr @fn_color_ch(ptr %t255, ptr @.str7129) %t257 = load ptr, ptr %t213 %t258 = getelementptr inbounds %Cmp_Val, ptr %t257, i32 0, i32 0 %t259 = load ptr, ptr %t258 %t260 = call ptr @fn_color_ch(ptr %t259, ptr @.str7130) %t261 = load ptr, ptr %t226 %t262 = getelementptr inbounds %Cmp_Val, ptr %t261, i32 0, i32 0 %t263 = load ptr, ptr %t262 %t264 = call ptr @fn_color_lerp_ch(ptr %t256, ptr %t260, ptr %t263) store ptr %t264, ptr %t265 %t266 = load ptr, ptr %t239 %t267 = load ptr, ptr %t252 %t268 = load ptr, ptr %t265 %t269 = call ptr @fn_color_pack(ptr %t266, ptr %t267, ptr %t268) %t270 = call ptr @fn_val(ptr %t269, ptr @.str7131) store ptr %t270, ptr %retval br label %ret ifend29: %t271 = load ptr, ptr %t0 %t272 = call i32 @lp_str_eq(ptr %t271, ptr @.str7132) %t273 = icmp ne i32 %t272, 0 br i1 %t273, label %then36, label %ifend38 then36: %t274 = load ptr, ptr %t1 %t275 = getelementptr inbounds %Cmp_Node, ptr %t274, i32 0, i32 7 %t276 = load ptr, ptr %t275 %t277 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 0 %t278 = load ptr, ptr %t277 %t279 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 1 %t280 = load i32, ptr %t279 %t281 = icmp ult i32 0, %t280 br i1 %t281, label %ixok39, label %ixbad40 ixbad40: %t282 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t282, ptr @.fmt_bounds, ptr @.str7133, i32 0, i32 %t280) call void @exit(i32 1) unreachable ixok39: %t283 = getelementptr inbounds ptr, ptr %t278, i32 0 %t284 = load ptr, ptr %t283 %t285 = call ptr @fn_emit_expr(ptr %t284) store ptr %t285, ptr %t286 %t287 = load ptr, ptr %t1 %t288 = getelementptr inbounds %Cmp_Node, ptr %t287, i32 0, i32 7 %t289 = load ptr, ptr %t288 %t290 = getelementptr inbounds %LSlice, ptr %t289, i32 0, i32 0 %t291 = load ptr, ptr %t290 %t292 = getelementptr inbounds %LSlice, ptr %t289, i32 0, i32 1 %t293 = load i32, ptr %t292 %t294 = icmp ult i32 1, %t293 br i1 %t294, label %ixok41, label %ixbad42 ixbad42: %t295 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t295, ptr @.fmt_bounds, ptr @.str7134, i32 1, i32 %t293) call void @exit(i32 1) unreachable ixok41: %t296 = getelementptr inbounds ptr, ptr %t291, i32 1 %t297 = load ptr, ptr %t296 %t298 = call ptr @fn_emit_expr(ptr %t297) store ptr %t298, ptr %t299 %t300 = load ptr, ptr %t299 %t301 = getelementptr inbounds %Cmp_Val, ptr %t300, i32 0, i32 0 %t302 = load ptr, ptr %t301 %t303 = call ptr @lp_str_concat(ptr @.str7135, ptr %t302) %t304 = call ptr @fn_emit_bind(ptr %t303) store ptr %t304, ptr %t305 %t306 = load ptr, ptr %t286 %t307 = getelementptr inbounds %Cmp_Val, ptr %t306, i32 0, i32 0 %t308 = load ptr, ptr %t307 %t309 = call ptr @fn_color_ch(ptr %t308, ptr @.str7136) store ptr %t309, ptr %t310 %t311 = load ptr, ptr %t286 %t312 = getelementptr inbounds %Cmp_Val, ptr %t311, i32 0, i32 0 %t313 = load ptr, ptr %t312 %t314 = call ptr @fn_color_ch(ptr %t313, ptr @.str7137) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t286 %t317 = getelementptr inbounds %Cmp_Val, ptr %t316, i32 0, i32 0 %t318 = load ptr, ptr %t317 %t319 = call ptr @fn_color_ch(ptr %t318, ptr @.str7138) store ptr %t319, ptr %t320 %t321 = load ptr, ptr %t310 %t322 = call ptr @lp_str_concat(ptr @.str7139, ptr %t321) %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str7140) %t324 = load ptr, ptr %t305 %t325 = call ptr @lp_str_concat(ptr %t323, ptr %t324) %t326 = call ptr @fn_emit_bind(ptr %t325) store ptr %t326, ptr %t327 %t328 = load ptr, ptr %t327 %t329 = call ptr @lp_str_concat(ptr @.str7141, ptr %t328) %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str7142) %t331 = call ptr @fn_emit_bind(ptr %t330) store ptr %t331, ptr %t332 %t333 = load ptr, ptr %t315 %t334 = call ptr @lp_str_concat(ptr @.str7143, ptr %t333) %t335 = call ptr @lp_str_concat(ptr %t334, ptr @.str7144) %t336 = load ptr, ptr %t305 %t337 = call ptr @lp_str_concat(ptr %t335, ptr %t336) %t338 = call ptr @fn_emit_bind(ptr %t337) store ptr %t338, ptr %t339 %t340 = load ptr, ptr %t339 %t341 = call ptr @lp_str_concat(ptr @.str7145, ptr %t340) %t342 = call ptr @lp_str_concat(ptr %t341, ptr @.str7146) %t343 = call ptr @fn_emit_bind(ptr %t342) store ptr %t343, ptr %t344 %t345 = load ptr, ptr %t320 %t346 = call ptr @lp_str_concat(ptr @.str7147, ptr %t345) %t347 = call ptr @lp_str_concat(ptr %t346, ptr @.str7148) %t348 = load ptr, ptr %t305 %t349 = call ptr @lp_str_concat(ptr %t347, ptr %t348) %t350 = call ptr @fn_emit_bind(ptr %t349) store ptr %t350, ptr %t351 %t352 = load ptr, ptr %t351 %t353 = call ptr @lp_str_concat(ptr @.str7149, ptr %t352) %t354 = call ptr @lp_str_concat(ptr %t353, ptr @.str7150) %t355 = call ptr @fn_emit_bind(ptr %t354) store ptr %t355, ptr %t356 %t357 = load ptr, ptr %t332 %t358 = load ptr, ptr %t344 %t359 = load ptr, ptr %t356 %t360 = call ptr @fn_color_pack(ptr %t357, ptr %t358, ptr %t359) %t361 = call ptr @fn_val(ptr %t360, ptr @.str7151) store ptr %t361, ptr %retval br label %ret ifend38: %t362 = load ptr, ptr %t1 %t363 = getelementptr inbounds %Cmp_Node, ptr %t362, i32 0, i32 7 %t364 = load ptr, ptr %t363 %t365 = getelementptr inbounds %LSlice, ptr %t364, i32 0, i32 0 %t366 = load ptr, ptr %t365 %t367 = getelementptr inbounds %LSlice, ptr %t364, i32 0, i32 1 %t368 = load i32, ptr %t367 %t369 = icmp ult i32 0, %t368 br i1 %t369, label %ixok43, label %ixbad44 ixbad44: %t370 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t370, ptr @.fmt_bounds, ptr @.str7152, i32 0, i32 %t368) call void @exit(i32 1) unreachable ixok43: %t371 = getelementptr inbounds ptr, ptr %t366, i32 0 %t372 = load ptr, ptr %t371 %t373 = call ptr @fn_emit_expr(ptr %t372) store ptr %t373, ptr %t374 %t375 = load ptr, ptr %t1 %t376 = getelementptr inbounds %Cmp_Node, ptr %t375, i32 0, i32 7 %t377 = load ptr, ptr %t376 %t378 = getelementptr inbounds %LSlice, ptr %t377, i32 0, i32 0 %t379 = load ptr, ptr %t378 %t380 = getelementptr inbounds %LSlice, ptr %t377, i32 0, i32 1 %t381 = load i32, ptr %t380 %t382 = icmp ult i32 1, %t381 br i1 %t382, label %ixok45, label %ixbad46 ixbad46: %t383 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t383, ptr @.fmt_bounds, ptr @.str7153, i32 1, i32 %t381) call void @exit(i32 1) unreachable ixok45: %t384 = getelementptr inbounds ptr, ptr %t379, i32 1 %t385 = load ptr, ptr %t384 %t386 = call ptr @fn_emit_expr(ptr %t385) store ptr %t386, ptr %t387 %t388 = load ptr, ptr %t374 %t389 = getelementptr inbounds %Cmp_Val, ptr %t388, i32 0, i32 0 %t390 = load ptr, ptr %t389 %t391 = call ptr @fn_color_ch(ptr %t390, ptr @.str7154) store ptr %t391, ptr %t392 %t393 = load ptr, ptr %t374 %t394 = getelementptr inbounds %Cmp_Val, ptr %t393, i32 0, i32 0 %t395 = load ptr, ptr %t394 %t396 = call ptr @fn_color_ch(ptr %t395, ptr @.str7155) store ptr %t396, ptr %t397 %t398 = load ptr, ptr %t374 %t399 = getelementptr inbounds %Cmp_Val, ptr %t398, i32 0, i32 0 %t400 = load ptr, ptr %t399 %t401 = call ptr @fn_color_ch(ptr %t400, ptr @.str7156) store ptr %t401, ptr %t402 %t403 = load ptr, ptr %t392 %t404 = call ptr @lp_str_concat(ptr @.str7157, ptr %t403) %t405 = call ptr @fn_emit_bind(ptr %t404) store ptr %t405, ptr %t406 %t407 = load ptr, ptr %t406 %t408 = call ptr @lp_str_concat(ptr @.str7158, ptr %t407) %t409 = call ptr @lp_str_concat(ptr %t408, ptr @.str7159) %t410 = load ptr, ptr %t387 %t411 = getelementptr inbounds %Cmp_Val, ptr %t410, i32 0, i32 0 %t412 = load ptr, ptr %t411 %t413 = call ptr @lp_str_concat(ptr %t409, ptr %t412) %t414 = call ptr @fn_emit_bind(ptr %t413) store ptr %t414, ptr %t415 %t416 = load ptr, ptr %t415 %t417 = call ptr @lp_str_concat(ptr @.str7160, ptr %t416) %t418 = call ptr @lp_str_concat(ptr %t417, ptr @.str7161) %t419 = call ptr @fn_emit_bind(ptr %t418) store ptr %t419, ptr %t420 %t421 = load ptr, ptr %t392 %t422 = call ptr @lp_str_concat(ptr @.str7162, ptr %t421) %t423 = call ptr @lp_str_concat(ptr %t422, ptr @.str7163) %t424 = load ptr, ptr %t420 %t425 = call ptr @lp_str_concat(ptr %t423, ptr %t424) %t426 = call ptr @fn_emit_bind(ptr %t425) store ptr %t426, ptr %t427 %t428 = load ptr, ptr %t397 %t429 = call ptr @lp_str_concat(ptr @.str7164, ptr %t428) %t430 = call ptr @fn_emit_bind(ptr %t429) store ptr %t430, ptr %t431 %t432 = load ptr, ptr %t431 %t433 = call ptr @lp_str_concat(ptr @.str7165, ptr %t432) %t434 = call ptr @lp_str_concat(ptr %t433, ptr @.str7166) %t435 = load ptr, ptr %t387 %t436 = getelementptr inbounds %Cmp_Val, ptr %t435, i32 0, i32 0 %t437 = load ptr, ptr %t436 %t438 = call ptr @lp_str_concat(ptr %t434, ptr %t437) %t439 = call ptr @fn_emit_bind(ptr %t438) store ptr %t439, ptr %t440 %t441 = load ptr, ptr %t440 %t442 = call ptr @lp_str_concat(ptr @.str7167, ptr %t441) %t443 = call ptr @lp_str_concat(ptr %t442, ptr @.str7168) %t444 = call ptr @fn_emit_bind(ptr %t443) store ptr %t444, ptr %t445 %t446 = load ptr, ptr %t397 %t447 = call ptr @lp_str_concat(ptr @.str7169, ptr %t446) %t448 = call ptr @lp_str_concat(ptr %t447, ptr @.str7170) %t449 = load ptr, ptr %t445 %t450 = call ptr @lp_str_concat(ptr %t448, ptr %t449) %t451 = call ptr @fn_emit_bind(ptr %t450) store ptr %t451, ptr %t452 %t453 = load ptr, ptr %t402 %t454 = call ptr @lp_str_concat(ptr @.str7171, ptr %t453) %t455 = call ptr @fn_emit_bind(ptr %t454) store ptr %t455, ptr %t456 %t457 = load ptr, ptr %t456 %t458 = call ptr @lp_str_concat(ptr @.str7172, ptr %t457) %t459 = call ptr @lp_str_concat(ptr %t458, ptr @.str7173) %t460 = load ptr, ptr %t387 %t461 = getelementptr inbounds %Cmp_Val, ptr %t460, i32 0, i32 0 %t462 = load ptr, ptr %t461 %t463 = call ptr @lp_str_concat(ptr %t459, ptr %t462) %t464 = call ptr @fn_emit_bind(ptr %t463) store ptr %t464, ptr %t465 %t466 = load ptr, ptr %t465 %t467 = call ptr @lp_str_concat(ptr @.str7174, ptr %t466) %t468 = call ptr @lp_str_concat(ptr %t467, ptr @.str7175) %t469 = call ptr @fn_emit_bind(ptr %t468) store ptr %t469, ptr %t470 %t471 = load ptr, ptr %t402 %t472 = call ptr @lp_str_concat(ptr @.str7176, ptr %t471) %t473 = call ptr @lp_str_concat(ptr %t472, ptr @.str7177) %t474 = load ptr, ptr %t470 %t475 = call ptr @lp_str_concat(ptr %t473, ptr %t474) %t476 = call ptr @fn_emit_bind(ptr %t475) store ptr %t476, ptr %t477 %t478 = load ptr, ptr %t427 %t479 = load ptr, ptr %t452 %t480 = load ptr, ptr %t477 %t481 = call ptr @fn_color_pack(ptr %t478, ptr %t479, ptr %t480) %t482 = call ptr @fn_val(ptr %t481, ptr @.str7178) store ptr %t482, ptr %retval br label %ret ret: %t483 = load ptr, ptr %retval ret ptr %t483 } define i32 @fn_color_lookup(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str7179) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store i32 16777215, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str7180) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store i32 16775930, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str7181) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store i32 16777200, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str7182) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store i32 15788758, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str7183) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store i32 16775920, ptr %retval br label %ret ifend14: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str7184) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: store i32 16774638, ptr %retval br label %ret ifend17: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str7185) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: store i32 16445670, ptr %retval br label %ret ifend20: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str7186) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: store i32 16444375, ptr %retval br label %ret ifend23: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str7187) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: store i32 16643558, ptr %retval br label %ret ifend26: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str7188) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then27, label %ifend29 then27: store i32 16119260, ptr %retval br label %ret ifend29: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str7189) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then30, label %ifend32 then30: store i32 16776656, ptr %retval br label %ret ifend32: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str7190) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then33, label %ifend35 then33: store i32 15794160, ptr %retval br label %ret ifend35: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str7191) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then36, label %ifend38 then36: store i32 16121850, ptr %retval br label %ret ifend38: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str7192) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then39, label %ifend41 then39: store i32 15794175, ptr %retval br label %ret ifend41: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str7193) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then42, label %ifend44 then42: store i32 15792383, ptr %retval br label %ret ifend44: %t46 = load ptr, ptr %t0 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str7194) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then45, label %ifend47 then45: store i32 16316671, ptr %retval br label %ret ifend47: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str7195) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then48, label %ifend50 then48: store i32 16119285, ptr %retval br label %ret ifend50: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str7196) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then51, label %ifend53 then51: store i32 15132410, ptr %retval br label %ret ifend53: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str7197) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then54, label %ifend56 then54: store i32 14932681, ptr %retval br label %ret ifend56: %t58 = load ptr, ptr %t0 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str7198) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then57, label %ifend59 then57: store i32 15854034, ptr %retval br label %ret ifend59: %t61 = load ptr, ptr %t0 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str7199) %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then60, label %ifend62 then60: store i32 14474460, ptr %retval br label %ret ifend62: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str7200) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then63, label %ifend65 then63: store i32 13882323, ptr %retval br label %ret ifend65: %t67 = load ptr, ptr %t0 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str7201) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then66, label %ifend68 then66: store i32 12632256, ptr %retval br label %ret ifend68: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str7202) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then69, label %ifend71 then69: store i32 11714229, ptr %retval br label %ret ifend71: %t73 = load ptr, ptr %t0 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str7203) %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then72, label %ifend74 then72: store i32 11119017, ptr %retval br label %ret ifend74: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str7204) %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then75, label %ifend77 then75: store i32 8421504, ptr %retval br label %ret ifend77: %t79 = load ptr, ptr %t0 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str7205) %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then78, label %ifend80 then78: store i32 6908265, ptr %retval br label %ret ifend80: %t82 = load ptr, ptr %t0 %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str7206) %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then81, label %ifend83 then81: store i32 7500914, ptr %retval br label %ret ifend83: %t85 = load ptr, ptr %t0 %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str7207) %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then84, label %ifend86 then84: store i32 7372944, ptr %retval br label %ret ifend86: %t88 = load ptr, ptr %t0 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str7208) %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then87, label %ifend89 then87: store i32 7372944, ptr %retval br label %ret ifend89: %t91 = load ptr, ptr %t0 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str7209) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then90, label %ifend92 then90: store i32 7833753, ptr %retval br label %ret ifend92: %t94 = load ptr, ptr %t0 %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str7210) %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then93, label %ifend95 then93: store i32 2765881, ptr %retval br label %ret ifend95: %t97 = load ptr, ptr %t0 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str7211) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then96, label %ifend98 then96: store i32 3556687, ptr %retval br label %ret ifend98: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str7212) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then99, label %ifend101 then99: store i32 1842204, ptr %retval br label %ret ifend101: %t103 = load ptr, ptr %t0 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str7213) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then102, label %ifend104 then102: store i32 3487801, ptr %retval br label %ret ifend104: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str7214) %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then105, label %ifend107 then105: store i32 3421236, ptr %retval br label %ret ifend107: %t109 = load ptr, ptr %t0 %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str7215) %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then108, label %ifend110 then108: store i32 0, ptr %retval br label %ret ifend110: %t112 = load ptr, ptr %t0 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str7216) %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then111, label %ifend113 then111: store i32 1776411, ptr %retval br label %ret ifend113: %t115 = load ptr, ptr %t0 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str7217) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then114, label %ifend116 then114: store i32 2367780, ptr %retval br label %ret ifend116: %t118 = load ptr, ptr %t0 %t119 = call i32 @lp_str_eq(ptr %t118, ptr @.str7218) %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then117, label %ifend119 then117: store i32 5594448, ptr %retval br label %ret ifend119: %t121 = load ptr, ptr %t0 %t122 = call i32 @lp_str_eq(ptr %t121, ptr @.str7219) %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then120, label %ifend122 then120: store i32 16711680, ptr %retval br label %ret ifend122: %t124 = load ptr, ptr %t0 %t125 = call i32 @lp_str_eq(ptr %t124, ptr @.str7220) %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then123, label %ifend125 then123: store i32 14423100, ptr %retval br label %ret ifend125: %t127 = load ptr, ptr %t0 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str7221) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then126, label %ifend128 then126: store i32 16720896, ptr %retval br label %ret ifend128: %t130 = load ptr, ptr %t0 %t131 = call i32 @lp_str_eq(ptr %t130, ptr @.str7222) %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then129, label %ifend131 then129: store i32 14893620, ptr %retval br label %ret ifend131: %t133 = load ptr, ptr %t0 %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str7223) %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then132, label %ifend134 then132: store i32 11674146, ptr %retval br label %ret ifend134: %t136 = load ptr, ptr %t0 %t137 = call i32 @lp_str_eq(ptr %t136, ptr @.str7224) %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %then135, label %ifend137 then135: store i32 14961966, ptr %retval br label %ret ifend137: %t139 = load ptr, ptr %t0 %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str7225) %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then138, label %ifend140 then138: store i32 9109504, ptr %retval br label %ret ifend140: %t142 = load ptr, ptr %t0 %t143 = call i32 @lp_str_eq(ptr %t142, ptr @.str7226) %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then141, label %ifend143 then141: store i32 8388608, ptr %retval br label %ret ifend143: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str7227) %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then144, label %ifend146 then144: store i32 14684511, ptr %retval br label %ret ifend146: %t148 = load ptr, ptr %t0 %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str7228) %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %then147, label %ifend149 then147: store i32 12852794, ptr %retval br label %ret ifend149: %t151 = load ptr, ptr %t0 %t152 = call i32 @lp_str_eq(ptr %t151, ptr @.str7229) %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %then150, label %ifend152 then150: store i32 13458524, ptr %retval br label %ret ifend152: %t154 = load ptr, ptr %t0 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str7230) %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %then153, label %ifend155 then153: store i32 12009742, ptr %retval br label %ret ifend155: %t157 = load ptr, ptr %t0 %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str7231) %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %then156, label %ifend158 then156: store i32 9568266, ptr %retval br label %ret ifend158: %t160 = load ptr, ptr %t0 %t161 = call i32 @lp_str_eq(ptr %t160, ptr @.str7232) %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then159, label %ifend161 then159: store i32 10771026, ptr %retval br label %ret ifend161: %t163 = load ptr, ptr %t0 %t164 = call i32 @lp_str_eq(ptr %t163, ptr @.str7233) %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then162, label %ifend164 then162: store i32 14561635, ptr %retval br label %ret ifend164: %t166 = load ptr, ptr %t0 %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str7234) %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then165, label %ifend167 then165: store i32 15018832, ptr %retval br label %ret ifend167: %t169 = load ptr, ptr %t0 %t170 = call i32 @lp_str_eq(ptr %t169, ptr @.str7235) %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then168, label %ifend170 then168: store i32 9830424, ptr %retval br label %ret ifend170: %t172 = load ptr, ptr %t0 %t173 = call i32 @lp_str_eq(ptr %t172, ptr @.str7236) %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then171, label %ifend173 then171: store i32 9782581, ptr %retval br label %ret ifend173: %t175 = load ptr, ptr %t0 %t176 = call i32 @lp_str_eq(ptr %t175, ptr @.str7237) %t177 = icmp ne i32 %t176, 0 br i1 %t177, label %then174, label %ifend176 then174: store i32 13320532, ptr %retval br label %ret ifend176: %t178 = load ptr, ptr %t0 %t179 = call i32 @lp_str_eq(ptr %t178, ptr @.str7238) %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then177, label %ifend179 then177: store i32 14840411, ptr %retval br label %ret ifend179: %t181 = load ptr, ptr %t0 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str7239) %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then180, label %ifend182 then180: store i32 16761035, ptr %retval br label %ret ifend182: %t184 = load ptr, ptr %t0 %t185 = call i32 @lp_str_eq(ptr %t184, ptr @.str7240) %t186 = icmp ne i32 %t185, 0 br i1 %t186, label %then183, label %ifend185 then183: store i32 16758465, ptr %retval br label %ret ifend185: %t187 = load ptr, ptr %t0 %t188 = call i32 @lp_str_eq(ptr %t187, ptr @.str7241) %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then186, label %ifend188 then186: store i32 16738740, ptr %retval br label %ret ifend188: %t190 = load ptr, ptr %t0 %t191 = call i32 @lp_str_eq(ptr %t190, ptr @.str7242) %t192 = icmp ne i32 %t191, 0 br i1 %t192, label %then189, label %ifend191 then189: store i32 16716947, ptr %retval br label %ret ifend191: %t193 = load ptr, ptr %t0 %t194 = call i32 @lp_str_eq(ptr %t193, ptr @.str7243) %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %then192, label %ifend194 then192: store i32 14381203, ptr %retval br label %ret ifend194: %t196 = load ptr, ptr %t0 %t197 = call i32 @lp_str_eq(ptr %t196, ptr @.str7244) %t198 = icmp ne i32 %t197, 0 br i1 %t198, label %then195, label %ifend197 then195: store i32 16711807, ptr %retval br label %ret ifend197: %t199 = load ptr, ptr %t0 %t200 = call i32 @lp_str_eq(ptr %t199, ptr @.str7245) %t201 = icmp ne i32 %t200, 0 br i1 %t201, label %then198, label %ifend200 then198: store i32 14572931, ptr %retval br label %ret ifend200: %t202 = load ptr, ptr %t0 %t203 = call i32 @lp_str_eq(ptr %t202, ptr @.str7246) %t204 = icmp ne i32 %t203, 0 br i1 %t204, label %then201, label %ifend203 then201: store i32 16416882, ptr %retval br label %ret ifend203: %t205 = load ptr, ptr %t0 %t206 = call i32 @lp_str_eq(ptr %t205, ptr @.str7247) %t207 = icmp ne i32 %t206, 0 br i1 %t207, label %then204, label %ifend206 then204: store i32 16752762, ptr %retval br label %ret ifend206: %t208 = load ptr, ptr %t0 %t209 = call i32 @lp_str_eq(ptr %t208, ptr @.str7248) %t210 = icmp ne i32 %t209, 0 br i1 %t210, label %then207, label %ifend209 then207: store i32 15308410, ptr %retval br label %ret ifend209: %t211 = load ptr, ptr %t0 %t212 = call i32 @lp_str_eq(ptr %t211, ptr @.str7249) %t213 = icmp ne i32 %t212, 0 br i1 %t213, label %then210, label %ifend212 then210: store i32 16744272, ptr %retval br label %ret ifend212: %t214 = load ptr, ptr %t0 %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str7250) %t216 = icmp ne i32 %t215, 0 br i1 %t216, label %then213, label %ifend215 then213: store i32 16542853, ptr %retval br label %ret ifend215: %t217 = load ptr, ptr %t0 %t218 = call i32 @lp_str_eq(ptr %t217, ptr @.str7251) %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %then216, label %ifend218 then216: store i32 16551596, ptr %retval br label %ret ifend218: %t220 = load ptr, ptr %t0 %t221 = call i32 @lp_str_eq(ptr %t220, ptr @.str7252) %t222 = icmp ne i32 %t221, 0 br i1 %t222, label %then219, label %ifend221 then219: store i32 16761292, ptr %retval br label %ret ifend221: %t223 = load ptr, ptr %t0 %t224 = call i32 @lp_str_eq(ptr %t223, ptr @.str7253) %t225 = icmp ne i32 %t224, 0 br i1 %t225, label %then222, label %ifend224 then222: store i32 16711935, ptr %retval br label %ret ifend224: %t226 = load ptr, ptr %t0 %t227 = call i32 @lp_str_eq(ptr %t226, ptr @.str7254) %t228 = icmp ne i32 %t227, 0 br i1 %t228, label %then225, label %ifend227 then225: store i32 16711935, ptr %retval br label %ret ifend227: %t229 = load ptr, ptr %t0 %t230 = call i32 @lp_str_eq(ptr %t229, ptr @.str7255) %t231 = icmp ne i32 %t230, 0 br i1 %t231, label %then228, label %ifend230 then228: store i32 14725375, ptr %retval br label %ret ifend230: %t232 = load ptr, ptr %t0 %t233 = call i32 @lp_str_eq(ptr %t232, ptr @.str7256) %t234 = icmp ne i32 %t233, 0 br i1 %t234, label %then231, label %ifend233 then231: store i32 13404313, ptr %retval br label %ret ifend233: %t235 = load ptr, ptr %t0 %t236 = call i32 @lp_str_eq(ptr %t235, ptr @.str7257) %t237 = icmp ne i32 %t236, 0 br i1 %t237, label %then234, label %ifend236 then234: store i32 14204888, ptr %retval br label %ret ifend236: %t238 = load ptr, ptr %t0 %t239 = call i32 @lp_str_eq(ptr %t238, ptr @.str7258) %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %then237, label %ifend239 then237: store i32 14315734, ptr %retval br label %ret ifend239: %t241 = load ptr, ptr %t0 %t242 = call i32 @lp_str_eq(ptr %t241, ptr @.str7259) %t243 = icmp ne i32 %t242, 0 br i1 %t243, label %then240, label %ifend242 then240: store i32 16753920, ptr %retval br label %ret ifend242: %t244 = load ptr, ptr %t0 %t245 = call i32 @lp_str_eq(ptr %t244, ptr @.str7260) %t246 = icmp ne i32 %t245, 0 br i1 %t246, label %then243, label %ifend245 then243: store i32 16747520, ptr %retval br label %ret ifend245: %t247 = load ptr, ptr %t0 %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str7261) %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then246, label %ifend248 then246: store i32 15893760, ptr %retval br label %ret ifend248: %t250 = load ptr, ptr %t0 %t251 = call i32 @lp_str_eq(ptr %t250, ptr @.str7262) %t252 = icmp ne i32 %t251, 0 br i1 %t252, label %then249, label %ifend251 then249: store i32 16741656, ptr %retval br label %ret ifend251: %t253 = load ptr, ptr %t0 %t254 = call i32 @lp_str_eq(ptr %t253, ptr @.str7263) %t255 = icmp ne i32 %t254, 0 br i1 %t255, label %then252, label %ifend254 then252: store i32 16502449, ptr %retval br label %ret ifend254: %t256 = load ptr, ptr %t0 %t257 = call i32 @lp_str_eq(ptr %t256, ptr @.str7264) %t258 = icmp ne i32 %t257, 0 br i1 %t258, label %then255, label %ifend257 then255: store i32 16770484, ptr %retval br label %ret ifend257: %t259 = load ptr, ptr %t0 %t260 = call i32 @lp_str_eq(ptr %t259, ptr @.str7265) %t261 = icmp ne i32 %t260, 0 br i1 %t261, label %then258, label %ifend260 then258: store i32 16754219, ptr %retval br label %ret ifend260: %t262 = load ptr, ptr %t0 %t263 = call i32 @lp_str_eq(ptr %t262, ptr @.str7266) %t264 = icmp ne i32 %t263, 0 br i1 %t264, label %then261, label %ifend263 then261: store i32 16760576, ptr %retval br label %ret ifend263: %t265 = load ptr, ptr %t0 %t266 = call i32 @lp_str_eq(ptr %t265, ptr @.str7267) %t267 = icmp ne i32 %t266, 0 br i1 %t267, label %then264, label %ifend266 then264: store i32 13467442, ptr %retval br label %ret ifend266: %t268 = load ptr, ptr %t0 %t269 = call i32 @lp_str_eq(ptr %t268, ptr @.str7268) %t270 = icmp ne i32 %t269, 0 br i1 %t270, label %then267, label %ifend269 then267: store i32 12088115, ptr %retval br label %ret ifend269: %t271 = load ptr, ptr %t0 %t272 = call i32 @lp_str_eq(ptr %t271, ptr @.str7269) %t273 = icmp ne i32 %t272, 0 br i1 %t273, label %then270, label %ifend272 then270: store i32 15376929, ptr %retval br label %ret ifend272: %t274 = load ptr, ptr %t0 %t275 = call i32 @lp_str_eq(ptr %t274, ptr @.str7270) %t276 = icmp ne i32 %t275, 0 br i1 %t276, label %then273, label %ifend275 then273: store i32 15569185, ptr %retval br label %ret ifend275: %t277 = load ptr, ptr %t0 %t278 = call i32 @lp_str_eq(ptr %t277, ptr @.str7271) %t279 = icmp ne i32 %t278, 0 br i1 %t279, label %then276, label %ifend278 then276: store i32 15489024, ptr %retval br label %ret ifend278: %t280 = load ptr, ptr %t0 %t281 = call i32 @lp_str_eq(ptr %t280, ptr @.str7272) %t282 = icmp ne i32 %t281, 0 br i1 %t282, label %then279, label %ifend281 then279: store i32 16752172, ptr %retval br label %ret ifend281: %t283 = load ptr, ptr %t0 %t284 = call i32 @lp_str_eq(ptr %t283, ptr @.str7273) %t285 = icmp ne i32 %t284, 0 br i1 %t285, label %then282, label %ifend284 then282: store i32 16438949, ptr %retval br label %ret ifend284: %t286 = load ptr, ptr %t0 %t287 = call i32 @lp_str_eq(ptr %t286, ptr @.str7274) %t288 = icmp ne i32 %t287, 0 br i1 %t288, label %then285, label %ifend287 then285: store i32 16776960, ptr %retval br label %ret ifend287: %t289 = load ptr, ptr %t0 %t290 = call i32 @lp_str_eq(ptr %t289, ptr @.str7275) %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then288, label %ifend290 then288: store i32 16777184, ptr %retval br label %ret ifend290: %t292 = load ptr, ptr %t0 %t293 = call i32 @lp_str_eq(ptr %t292, ptr @.str7276) %t294 = icmp ne i32 %t293, 0 br i1 %t294, label %then291, label %ifend293 then291: store i32 16766720, ptr %retval br label %ret ifend293: %t295 = load ptr, ptr %t0 %t296 = call i32 @lp_str_eq(ptr %t295, ptr @.str7277) %t297 = icmp ne i32 %t296, 0 br i1 %t297, label %then294, label %ifend296 then294: store i32 14329120, ptr %retval br label %ret ifend296: %t298 = load ptr, ptr %t0 %t299 = call i32 @lp_str_eq(ptr %t298, ptr @.str7278) %t300 = icmp ne i32 %t299, 0 br i1 %t300, label %then297, label %ifend299 then297: store i32 16774912, ptr %retval br label %ret ifend299: %t301 = load ptr, ptr %t0 %t302 = call i32 @lp_str_eq(ptr %t301, ptr @.str7279) %t303 = icmp ne i32 %t302, 0 br i1 %t303, label %then300, label %ifend302 then300: store i32 16772864, ptr %retval br label %ret ifend302: %t304 = load ptr, ptr %t0 %t305 = call i32 @lp_str_eq(ptr %t304, ptr @.str7280) %t306 = icmp ne i32 %t305, 0 br i1 %t306, label %then303, label %ifend305 then303: store i32 16767832, ptr %retval br label %ret ifend305: %t307 = load ptr, ptr %t0 %t308 = call i32 @lp_str_eq(ptr %t307, ptr @.str7281) %t309 = icmp ne i32 %t308, 0 br i1 %t309, label %then306, label %ifend308 then306: store i32 15654018, ptr %retval br label %ret ifend308: %t310 = load ptr, ptr %t0 %t311 = call i32 @lp_str_eq(ptr %t310, ptr @.str7282) %t312 = icmp ne i32 %t311, 0 br i1 %t312, label %then309, label %ifend311 then309: store i32 16113331, ptr %retval br label %ret ifend311: %t313 = load ptr, ptr %t0 %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str7283) %t315 = icmp ne i32 %t314, 0 br i1 %t315, label %then312, label %ifend314 then312: store i32 16510045, ptr %retval br label %ret ifend314: %t316 = load ptr, ptr %t0 %t317 = call i32 @lp_str_eq(ptr %t316, ptr @.str7284) %t318 = icmp ne i32 %t317, 0 br i1 %t318, label %then315, label %ifend317 then315: store i32 15786288, ptr %retval br label %ret ifend317: %t319 = load ptr, ptr %t0 %t320 = call i32 @lp_str_eq(ptr %t319, ptr @.str7285) %t321 = icmp ne i32 %t320, 0 br i1 %t321, label %then318, label %ifend320 then318: store i32 16041008, ptr %retval br label %ret ifend320: %t322 = load ptr, ptr %t0 %t323 = call i32 @lp_str_eq(ptr %t322, ptr @.str7286) %t324 = icmp ne i32 %t323, 0 br i1 %t324, label %then321, label %ifend323 then321: store i32 15787660, ptr %retval br label %ret ifend323: %t325 = load ptr, ptr %t0 %t326 = call i32 @lp_str_eq(ptr %t325, ptr @.str7287) %t327 = icmp ne i32 %t326, 0 br i1 %t327, label %then324, label %ifend326 then324: store i32 12433259, ptr %retval br label %ret ifend326: %t328 = load ptr, ptr %t0 %t329 = call i32 @lp_str_eq(ptr %t328, ptr @.str7288) %t330 = icmp ne i32 %t329, 0 br i1 %t330, label %then327, label %ifend329 then327: store i32 14997871, ptr %retval br label %ret ifend329: %t331 = load ptr, ptr %t0 %t332 = call i32 @lp_str_eq(ptr %t331, ptr @.str7289) %t333 = icmp ne i32 %t332, 0 br i1 %t333, label %then330, label %ifend332 then330: store i32 9127187, ptr %retval br label %ret ifend332: %t334 = load ptr, ptr %t0 %t335 = call i32 @lp_str_eq(ptr %t334, ptr @.str7290) %t336 = icmp ne i32 %t335, 0 br i1 %t336, label %then333, label %ifend335 then333: store i32 9127187, ptr %retval br label %ret ifend335: %t337 = load ptr, ptr %t0 %t338 = call i32 @lp_str_eq(ptr %t337, ptr @.str7291) %t339 = icmp ne i32 %t338, 0 br i1 %t339, label %then336, label %ifend338 then336: store i32 10506797, ptr %retval br label %ret ifend338: %t340 = load ptr, ptr %t0 %t341 = call i32 @lp_str_eq(ptr %t340, ptr @.str7292) %t342 = icmp ne i32 %t341, 0 br i1 %t342, label %then339, label %ifend341 then339: store i32 13789470, ptr %retval br label %ret ifend341: %t343 = load ptr, ptr %t0 %t344 = call i32 @lp_str_eq(ptr %t343, ptr @.str7293) %t345 = icmp ne i32 %t344, 0 br i1 %t345, label %then342, label %ifend344 then342: store i32 13468991, ptr %retval br label %ret ifend344: %t346 = load ptr, ptr %t0 %t347 = call i32 @lp_str_eq(ptr %t346, ptr @.str7294) %t348 = icmp ne i32 %t347, 0 br i1 %t348, label %then345, label %ifend347 then345: store i32 13808780, ptr %retval br label %ret ifend347: %t349 = load ptr, ptr %t0 %t350 = call i32 @lp_str_eq(ptr %t349, ptr @.str7295) %t351 = icmp ne i32 %t350, 0 br i1 %t351, label %then348, label %ifend350 then348: store i32 14596231, ptr %retval br label %ret ifend350: %t352 = load ptr, ptr %t0 %t353 = call i32 @lp_str_eq(ptr %t352, ptr @.str7296) %t354 = icmp ne i32 %t353, 0 br i1 %t354, label %then351, label %ifend353 then351: store i32 12759680, ptr %retval br label %ret ifend353: %t355 = load ptr, ptr %t0 %t356 = call i32 @lp_str_eq(ptr %t355, ptr @.str7297) %t357 = icmp ne i32 %t356, 0 br i1 %t357, label %then354, label %ifend356 then354: store i32 7294519, ptr %retval br label %ret ifend356: %t358 = load ptr, ptr %t0 %t359 = call i32 @lp_str_eq(ptr %t358, ptr @.str7298) %t360 = icmp ne i32 %t359, 0 br i1 %t360, label %then357, label %ifend359 then357: store i32 4929057, ptr %retval br label %ret ifend359: %t361 = load ptr, ptr %t0 %t362 = call i32 @lp_str_eq(ptr %t361, ptr @.str7299) %t363 = icmp ne i32 %t362, 0 br i1 %t363, label %then360, label %ifend362 then360: store i32 12599296, ptr %retval br label %ret ifend362: %t364 = load ptr, ptr %t0 %t365 = call i32 @lp_str_eq(ptr %t364, ptr @.str7300) %t366 = icmp ne i32 %t365, 0 br i1 %t366, label %then363, label %ifend365 then363: store i32 7814938, ptr %retval br label %ret ifend365: %t367 = load ptr, ptr %t0 %t368 = call i32 @lp_str_eq(ptr %t367, ptr @.str7301) %t369 = icmp ne i32 %t368, 0 br i1 %t369, label %then366, label %ifend368 then366: store i32 6508871, ptr %retval br label %ret ifend368: %t370 = load ptr, ptr %t0 %t371 = call i32 @lp_str_eq(ptr %t370, ptr @.str7302) %t372 = icmp ne i32 %t371, 0 br i1 %t372, label %then369, label %ifend371 then369: store i32 7356948, ptr %retval br label %ret ifend371: %t373 = load ptr, ptr %t0 %t374 = call i32 @lp_str_eq(ptr %t373, ptr @.str7303) %t375 = icmp ne i32 %t374, 0 br i1 %t375, label %then372, label %ifend374 then372: store i32 4734002, ptr %retval br label %ret ifend374: %t376 = load ptr, ptr %t0 %t377 = call i32 @lp_str_eq(ptr %t376, ptr @.str7304) %t378 = icmp ne i32 %t377, 0 br i1 %t378, label %then375, label %ifend377 then375: store i32 15051376, ptr %retval br label %ret ifend377: %t379 = load ptr, ptr %t0 %t380 = call i32 @lp_str_eq(ptr %t379, ptr @.str7305) %t381 = icmp ne i32 %t380, 0 br i1 %t381, label %then378, label %ifend380 then378: store i32 13012503, ptr %retval br label %ret ifend380: %t382 = load ptr, ptr %t0 %t383 = call i32 @lp_str_eq(ptr %t382, ptr @.str7306) %t384 = icmp ne i32 %t383, 0 br i1 %t384, label %then381, label %ifend383 then381: store i32 13789470, ptr %retval br label %ret ifend383: %t385 = load ptr, ptr %t0 %t386 = call i32 @lp_str_eq(ptr %t385, ptr @.str7307) %t387 = icmp ne i32 %t386, 0 br i1 %t387, label %then384, label %ifend386 then384: store i32 9336344, ptr %retval br label %ret ifend386: %t388 = load ptr, ptr %t0 %t389 = call i32 @lp_str_eq(ptr %t388, ptr @.str7308) %t390 = icmp ne i32 %t389, 0 br i1 %t390, label %then387, label %ifend389 then387: store i32 6575186, ptr %retval br label %ret ifend389: %t391 = load ptr, ptr %t0 %t392 = call i32 @lp_str_eq(ptr %t391, ptr @.str7309) %t393 = icmp ne i32 %t392, 0 br i1 %t393, label %then390, label %ifend392 then390: store i32 32768, ptr %retval br label %ret ifend392: %t394 = load ptr, ptr %t0 %t395 = call i32 @lp_str_eq(ptr %t394, ptr @.str7310) %t396 = icmp ne i32 %t395, 0 br i1 %t396, label %then393, label %ifend395 then393: store i32 65280, ptr %retval br label %ret ifend395: %t397 = load ptr, ptr %t0 %t398 = call i32 @lp_str_eq(ptr %t397, ptr @.str7311) %t399 = icmp ne i32 %t398, 0 br i1 %t399, label %then396, label %ifend398 then396: store i32 3329330, ptr %retval br label %ret ifend398: %t400 = load ptr, ptr %t0 %t401 = call i32 @lp_str_eq(ptr %t400, ptr @.str7312) %t402 = icmp ne i32 %t401, 0 br i1 %t402, label %then399, label %ifend401 then399: store i32 8190976, ptr %retval br label %ret ifend401: %t403 = load ptr, ptr %t0 %t404 = call i32 @lp_str_eq(ptr %t403, ptr @.str7313) %t405 = icmp ne i32 %t404, 0 br i1 %t405, label %then402, label %ifend404 then402: store i32 8388352, ptr %retval br label %ret ifend404: %t406 = load ptr, ptr %t0 %t407 = call i32 @lp_str_eq(ptr %t406, ptr @.str7314) %t408 = icmp ne i32 %t407, 0 br i1 %t408, label %then405, label %ifend407 then405: store i32 11403055, ptr %retval br label %ret ifend407: %t409 = load ptr, ptr %t0 %t410 = call i32 @lp_str_eq(ptr %t409, ptr @.str7315) %t411 = icmp ne i32 %t410, 0 br i1 %t411, label %then408, label %ifend410 then408: store i32 65407, ptr %retval br label %ret ifend410: %t412 = load ptr, ptr %t0 %t413 = call i32 @lp_str_eq(ptr %t412, ptr @.str7316) %t414 = icmp ne i32 %t413, 0 br i1 %t414, label %then411, label %ifend413 then411: store i32 10026904, ptr %retval br label %ret ifend413: %t415 = load ptr, ptr %t0 %t416 = call i32 @lp_str_eq(ptr %t415, ptr @.str7317) %t417 = icmp ne i32 %t416, 0 br i1 %t417, label %then414, label %ifend416 then414: store i32 3050327, ptr %retval br label %ret ifend416: %t418 = load ptr, ptr %t0 %t419 = call i32 @lp_str_eq(ptr %t418, ptr @.str7318) %t420 = icmp ne i32 %t419, 0 br i1 %t420, label %then417, label %ifend419 then417: store i32 3978097, ptr %retval br label %ret ifend419: %t421 = load ptr, ptr %t0 %t422 = call i32 @lp_str_eq(ptr %t421, ptr @.str7319) %t423 = icmp ne i32 %t422, 0 br i1 %t423, label %then420, label %ifend422 then420: store i32 2263842, ptr %retval br label %ret ifend422: %t424 = load ptr, ptr %t0 %t425 = call i32 @lp_str_eq(ptr %t424, ptr @.str7320) %t426 = icmp ne i32 %t425, 0 br i1 %t426, label %then423, label %ifend425 then423: store i32 25600, ptr %retval br label %ret ifend425: %t427 = load ptr, ptr %t0 %t428 = call i32 @lp_str_eq(ptr %t427, ptr @.str7321) %t429 = icmp ne i32 %t428, 0 br i1 %t429, label %then426, label %ifend428 then426: store i32 7048739, ptr %retval br label %ret ifend428: %t430 = load ptr, ptr %t0 %t431 = call i32 @lp_str_eq(ptr %t430, ptr @.str7322) %t432 = icmp ne i32 %t431, 0 br i1 %t432, label %then429, label %ifend431 then429: store i32 8421376, ptr %retval br label %ret ifend431: %t433 = load ptr, ptr %t0 %t434 = call i32 @lp_str_eq(ptr %t433, ptr @.str7323) %t435 = icmp ne i32 %t434, 0 br i1 %t435, label %then432, label %ifend434 then432: store i32 9083483, ptr %retval br label %ret ifend434: %t436 = load ptr, ptr %t0 %t437 = call i32 @lp_str_eq(ptr %t436, ptr @.str7324) %t438 = icmp ne i32 %t437, 0 br i1 %t438, label %then435, label %ifend437 then435: store i32 5208386, ptr %retval br label %ret ifend437: %t439 = load ptr, ptr %t0 %t440 = call i32 @lp_str_eq(ptr %t439, ptr @.str7325) %t441 = icmp ne i32 %t440, 0 br i1 %t441, label %then438, label %ifend440 then438: store i32 5294200, ptr %retval br label %ret ifend440: %t442 = load ptr, ptr %t0 %t443 = call i32 @lp_str_eq(ptr %t442, ptr @.str7326) %t444 = icmp ne i32 %t443, 0 br i1 %t444, label %then441, label %ifend443 then441: store i32 43115, ptr %retval br label %ret ifend443: %t445 = load ptr, ptr %t0 %t446 = call i32 @lp_str_eq(ptr %t445, ptr @.str7327) %t447 = icmp ne i32 %t446, 0 br i1 %t447, label %then444, label %ifend446 then444: store i32 776785, ptr %retval br label %ret ifend446: %t448 = load ptr, ptr %t0 %t449 = call i32 @lp_str_eq(ptr %t448, ptr @.str7328) %t450 = icmp ne i32 %t449, 0 br i1 %t450, label %then447, label %ifend449 then447: store i32 40544, ptr %retval br label %ret ifend449: %t451 = load ptr, ptr %t0 %t452 = call i32 @lp_str_eq(ptr %t451, ptr @.str7329) %t453 = icmp ne i32 %t452, 0 br i1 %t453, label %then450, label %ifend452 then450: store i32 9684338, ptr %retval br label %ret ifend452: %t454 = load ptr, ptr %t0 %t455 = call i32 @lp_str_eq(ptr %t454, ptr @.str7330) %t456 = icmp ne i32 %t455, 0 br i1 %t456, label %then453, label %ifend455 then453: store i32 5669379, ptr %retval br label %ret ifend455: %t457 = load ptr, ptr %t0 %t458 = call i32 @lp_str_eq(ptr %t457, ptr @.str7331) %t459 = icmp ne i32 %t458, 0 br i1 %t459, label %then456, label %ifend458 then456: store i32 96623, ptr %retval br label %ret ifend458: %t460 = load ptr, ptr %t0 %t461 = call i32 @lp_str_eq(ptr %t460, ptr @.str7332) %t462 = icmp ne i32 %t461, 0 br i1 %t462, label %then459, label %ifend461 then459: store i32 10268552, ptr %retval br label %ret ifend461: %t463 = load ptr, ptr %t0 %t464 = call i32 @lp_str_eq(ptr %t463, ptr @.str7333) %t465 = icmp ne i32 %t464, 0 br i1 %t465, label %then462, label %ifend464 then462: store i32 5028631, ptr %retval br label %ret ifend464: %t466 = load ptr, ptr %t0 %t467 = call i32 @lp_str_eq(ptr %t466, ptr @.str7334) %t468 = icmp ne i32 %t467, 0 br i1 %t468, label %then465, label %ifend467 then465: store i32 3497531, ptr %retval br label %ret ifend467: %t469 = load ptr, ptr %t0 %t470 = call i32 @lp_str_eq(ptr %t469, ptr @.str7335) %t471 = icmp ne i32 %t470, 0 br i1 %t471, label %then468, label %ifend470 then468: store i32 5739049, ptr %retval br label %ret ifend470: %t472 = load ptr, ptr %t0 %t473 = call i32 @lp_str_eq(ptr %t472, ptr @.str7336) %t474 = icmp ne i32 %t473, 0 br i1 %t474, label %then471, label %ifend473 then471: store i32 3050327, ptr %retval br label %ret ifend473: %t475 = load ptr, ptr %t0 %t476 = call i32 @lp_str_eq(ptr %t475, ptr @.str7337) %t477 = icmp ne i32 %t476, 0 br i1 %t477, label %then474, label %ifend476 then474: store i32 7182969, ptr %retval br label %ret ifend476: %t478 = load ptr, ptr %t0 %t479 = call i32 @lp_str_eq(ptr %t478, ptr @.str7338) %t480 = icmp ne i32 %t479, 0 br i1 %t480, label %then477, label %ifend479 then477: store i32 3800852, ptr %retval br label %ret ifend479: %t481 = load ptr, ptr %t0 %t482 = call i32 @lp_str_eq(ptr %t481, ptr @.str7339) %t483 = icmp ne i32 %t482, 0 br i1 %t483, label %then480, label %ifend482 then480: store i32 65535, ptr %retval br label %ret ifend482: %t484 = load ptr, ptr %t0 %t485 = call i32 @lp_str_eq(ptr %t484, ptr @.str7340) %t486 = icmp ne i32 %t485, 0 br i1 %t486, label %then483, label %ifend485 then483: store i32 65535, ptr %retval br label %ret ifend485: %t487 = load ptr, ptr %t0 %t488 = call i32 @lp_str_eq(ptr %t487, ptr @.str7341) %t489 = icmp ne i32 %t488, 0 br i1 %t489, label %then486, label %ifend488 then486: store i32 14745599, ptr %retval br label %ret ifend488: %t490 = load ptr, ptr %t0 %t491 = call i32 @lp_str_eq(ptr %t490, ptr @.str7342) %t492 = icmp ne i32 %t491, 0 br i1 %t492, label %then489, label %ifend491 then489: store i32 11529966, ptr %retval br label %ret ifend491: %t493 = load ptr, ptr %t0 %t494 = call i32 @lp_str_eq(ptr %t493, ptr @.str7343) %t495 = icmp ne i32 %t494, 0 br i1 %t495, label %then492, label %ifend494 then492: store i32 8388564, ptr %retval br label %ret ifend494: %t496 = load ptr, ptr %t0 %t497 = call i32 @lp_str_eq(ptr %t496, ptr @.str7344) %t498 = icmp ne i32 %t497, 0 br i1 %t498, label %then495, label %ifend497 then495: store i32 4251856, ptr %retval br label %ret ifend497: %t499 = load ptr, ptr %t0 %t500 = call i32 @lp_str_eq(ptr %t499, ptr @.str7345) %t501 = icmp ne i32 %t500, 0 br i1 %t501, label %then498, label %ifend500 then498: store i32 4772300, ptr %retval br label %ret ifend500: %t502 = load ptr, ptr %t0 %t503 = call i32 @lp_str_eq(ptr %t502, ptr @.str7346) %t504 = icmp ne i32 %t503, 0 br i1 %t504, label %then501, label %ifend503 then501: store i32 52945, ptr %retval br label %ret ifend503: %t505 = load ptr, ptr %t0 %t506 = call i32 @lp_str_eq(ptr %t505, ptr @.str7347) %t507 = icmp ne i32 %t506, 0 br i1 %t507, label %then504, label %ifend506 then504: store i32 32896, ptr %retval br label %ret ifend506: %t508 = load ptr, ptr %t0 %t509 = call i32 @lp_str_eq(ptr %t508, ptr @.str7348) %t510 = icmp ne i32 %t509, 0 br i1 %t510, label %then507, label %ifend509 then507: store i32 35723, ptr %retval br label %ret ifend509: %t511 = load ptr, ptr %t0 %t512 = call i32 @lp_str_eq(ptr %t511, ptr @.str7349) %t513 = icmp ne i32 %t512, 0 br i1 %t513, label %then510, label %ifend512 then510: store i32 6266528, ptr %retval br label %ret ifend512: %t514 = load ptr, ptr %t0 %t515 = call i32 @lp_str_eq(ptr %t514, ptr @.str7350) %t516 = icmp ne i32 %t515, 0 br i1 %t516, label %then513, label %ifend515 then513: store i32 102030, ptr %retval br label %ret ifend515: %t517 = load ptr, ptr %t0 %t518 = call i32 @lp_str_eq(ptr %t517, ptr @.str7351) %t519 = icmp ne i32 %t518, 0 br i1 %t519, label %then516, label %ifend518 then516: store i32 9693630, ptr %retval br label %ret ifend518: %t520 = load ptr, ptr %t0 %t521 = call i32 @lp_str_eq(ptr %t520, ptr @.str7352) %t522 = icmp ne i32 %t521, 0 br i1 %t522, label %then519, label %ifend521 then519: store i32 31655, ptr %retval br label %ret ifend521: %t523 = load ptr, ptr %t0 %t524 = call i32 @lp_str_eq(ptr %t523, ptr @.str7353) %t525 = icmp ne i32 %t524, 0 br i1 %t525, label %then522, label %ifend524 then522: store i32 8444651, ptr %retval br label %ret ifend524: %t526 = load ptr, ptr %t0 %t527 = call i32 @lp_str_eq(ptr %t526, ptr @.str7354) %t528 = icmp ne i32 %t527, 0 br i1 %t528, label %then525, label %ifend527 then525: store i32 52428, ptr %retval br label %ret ifend527: %t529 = load ptr, ptr %t0 %t530 = call i32 @lp_str_eq(ptr %t529, ptr @.str7355) %t531 = icmp ne i32 %t530, 0 br i1 %t531, label %then528, label %ifend530 then528: store i32 4436910, ptr %retval br label %ret ifend530: %t532 = load ptr, ptr %t0 %t533 = call i32 @lp_str_eq(ptr %t532, ptr @.str7356) %t534 = icmp ne i32 %t533, 0 br i1 %t534, label %then531, label %ifend533 then531: store i32 11329967, ptr %retval br label %ret ifend533: %t535 = load ptr, ptr %t0 %t536 = call i32 @lp_str_eq(ptr %t535, ptr @.str7357) %t537 = icmp ne i32 %t536, 0 br i1 %t537, label %then534, label %ifend536 then534: store i32 255, ptr %retval br label %ret ifend536: %t538 = load ptr, ptr %t0 %t539 = call i32 @lp_str_eq(ptr %t538, ptr @.str7358) %t540 = icmp ne i32 %t539, 0 br i1 %t540, label %then537, label %ifend539 then537: store i32 11393254, ptr %retval br label %ret ifend539: %t541 = load ptr, ptr %t0 %t542 = call i32 @lp_str_eq(ptr %t541, ptr @.str7359) %t543 = icmp ne i32 %t542, 0 br i1 %t543, label %then540, label %ifend542 then540: store i32 11591910, ptr %retval br label %ret ifend542: %t544 = load ptr, ptr %t0 %t545 = call i32 @lp_str_eq(ptr %t544, ptr @.str7360) %t546 = icmp ne i32 %t545, 0 br i1 %t546, label %then543, label %ifend545 then543: store i32 8900331, ptr %retval br label %ret ifend545: %t547 = load ptr, ptr %t0 %t548 = call i32 @lp_str_eq(ptr %t547, ptr @.str7361) %t549 = icmp ne i32 %t548, 0 br i1 %t549, label %then546, label %ifend548 then546: store i32 8900346, ptr %retval br label %ret ifend548: %t550 = load ptr, ptr %t0 %t551 = call i32 @lp_str_eq(ptr %t550, ptr @.str7362) %t552 = icmp ne i32 %t551, 0 br i1 %t552, label %then549, label %ifend551 then549: store i32 49151, ptr %retval br label %ret ifend551: %t553 = load ptr, ptr %t0 %t554 = call i32 @lp_str_eq(ptr %t553, ptr @.str7363) %t555 = icmp ne i32 %t554, 0 br i1 %t555, label %then552, label %ifend554 then552: store i32 2003199, ptr %retval br label %ret ifend554: %t556 = load ptr, ptr %t0 %t557 = call i32 @lp_str_eq(ptr %t556, ptr @.str7364) %t558 = icmp ne i32 %t557, 0 br i1 %t558, label %then555, label %ifend557 then555: store i32 6591981, ptr %retval br label %ret ifend557: %t559 = load ptr, ptr %t0 %t560 = call i32 @lp_str_eq(ptr %t559, ptr @.str7365) %t561 = icmp ne i32 %t560, 0 br i1 %t561, label %then558, label %ifend560 then558: store i32 4620980, ptr %retval br label %ret ifend560: %t562 = load ptr, ptr %t0 %t563 = call i32 @lp_str_eq(ptr %t562, ptr @.str7366) %t564 = icmp ne i32 %t563, 0 br i1 %t564, label %then561, label %ifend563 then561: store i32 4286945, ptr %retval br label %ret ifend563: %t565 = load ptr, ptr %t0 %t566 = call i32 @lp_str_eq(ptr %t565, ptr @.str7367) %t567 = icmp ne i32 %t566, 0 br i1 %t567, label %then564, label %ifend566 then564: store i32 205, ptr %retval br label %ret ifend566: %t568 = load ptr, ptr %t0 %t569 = call i32 @lp_str_eq(ptr %t568, ptr @.str7368) %t570 = icmp ne i32 %t569, 0 br i1 %t570, label %then567, label %ifend569 then567: store i32 139, ptr %retval br label %ret ifend569: %t571 = load ptr, ptr %t0 %t572 = call i32 @lp_str_eq(ptr %t571, ptr @.str7369) %t573 = icmp ne i32 %t572, 0 br i1 %t573, label %then570, label %ifend572 then570: store i32 128, ptr %retval br label %ret ifend572: %t574 = load ptr, ptr %t0 %t575 = call i32 @lp_str_eq(ptr %t574, ptr @.str7370) %t576 = icmp ne i32 %t575, 0 br i1 %t576, label %then573, label %ifend575 then573: store i32 1644912, ptr %retval br label %ret ifend575: %t577 = load ptr, ptr %t0 %t578 = call i32 @lp_str_eq(ptr %t577, ptr @.str7371) %t579 = icmp ne i32 %t578, 0 br i1 %t579, label %then576, label %ifend578 then576: store i32 18347, ptr %retval br label %ret ifend578: %t580 = load ptr, ptr %t0 %t581 = call i32 @lp_str_eq(ptr %t580, ptr @.str7372) %t582 = icmp ne i32 %t581, 0 br i1 %t582, label %then579, label %ifend581 then579: store i32 1004218, ptr %retval br label %ret ifend581: %t583 = load ptr, ptr %t0 %t584 = call i32 @lp_str_eq(ptr %t583, ptr @.str7373) %t585 = icmp ne i32 %t584, 0 br i1 %t585, label %then582, label %ifend584 then582: store i32 1401021, ptr %retval br label %ret ifend584: %t586 = load ptr, ptr %t0 %t587 = call i32 @lp_str_eq(ptr %t586, ptr @.str7374) %t588 = icmp ne i32 %t587, 0 br i1 %t588, label %then585, label %ifend587 then585: store i32 4915330, ptr %retval br label %ret ifend587: %t589 = load ptr, ptr %t0 %t590 = call i32 @lp_str_eq(ptr %t589, ptr @.str7375) %t591 = icmp ne i32 %t590, 0 br i1 %t591, label %then588, label %ifend590 then588: store i32 12627, ptr %retval br label %ret ifend590: %t592 = load ptr, ptr %t0 %t593 = call i32 @lp_str_eq(ptr %t592, ptr @.str7376) %t594 = icmp ne i32 %t593, 0 br i1 %t594, label %then591, label %ifend593 then591: store i32 4129023, ptr %retval br label %ret ifend593: %t595 = load ptr, ptr %t0 %t596 = call i32 @lp_str_eq(ptr %t595, ptr @.str7377) %t597 = icmp ne i32 %t596, 0 br i1 %t597, label %then594, label %ifend596 then594: store i32 13421823, ptr %retval br label %ret ifend596: %t598 = load ptr, ptr %t0 %t599 = call i32 @lp_str_eq(ptr %t598, ptr @.str7378) %t600 = icmp ne i32 %t599, 0 br i1 %t600, label %then597, label %ifend599 then597: store i32 5918671, ptr %retval br label %ret ifend599: %t601 = load ptr, ptr %t0 %t602 = call i32 @lp_str_eq(ptr %t601, ptr @.str7379) %t603 = icmp ne i32 %t602, 0 br i1 %t603, label %then600, label %ifend602 then600: store i32 6324918, ptr %retval br label %ret ifend602: %t604 = load ptr, ptr %t0 %t605 = call i32 @lp_str_eq(ptr %t604, ptr @.str7380) %t606 = icmp ne i32 %t605, 0 br i1 %t606, label %then603, label %ifend605 then603: store i32 5288, ptr %retval br label %ret ifend605: %t607 = load ptr, ptr %t0 %t608 = call i32 @lp_str_eq(ptr %t607, ptr @.str7381) %t609 = icmp ne i32 %t608, 0 br i1 %t609, label %then606, label %ifend608 then606: store i32 3026312, ptr %retval br label %ret ifend608: %t610 = load ptr, ptr %t0 %t611 = call i32 @lp_str_eq(ptr %t610, ptr @.str7382) %t612 = icmp ne i32 %t611, 0 br i1 %t612, label %then609, label %ifend611 then609: store i32 8388736, ptr %retval br label %ret ifend611: %t613 = load ptr, ptr %t0 %t614 = call i32 @lp_str_eq(ptr %t613, ptr @.str7383) %t615 = icmp ne i32 %t614, 0 br i1 %t615, label %then612, label %ifend614 then612: store i32 15631086, ptr %retval br label %ret ifend614: %t616 = load ptr, ptr %t0 %t617 = call i32 @lp_str_eq(ptr %t616, ptr @.str7384) %t618 = icmp ne i32 %t617, 0 br i1 %t618, label %then615, label %ifend617 then615: store i32 9699539, ptr %retval br label %ret ifend617: %t619 = load ptr, ptr %t0 %t620 = call i32 @lp_str_eq(ptr %t619, ptr @.str7385) %t621 = icmp ne i32 %t620, 0 br i1 %t621, label %then618, label %ifend620 then618: store i32 9055202, ptr %retval br label %ret ifend620: %t622 = load ptr, ptr %t0 %t623 = call i32 @lp_str_eq(ptr %t622, ptr @.str7386) %t624 = icmp ne i32 %t623, 0 br i1 %t624, label %then621, label %ifend623 then621: store i32 9662683, ptr %retval br label %ret ifend623: %t625 = load ptr, ptr %t0 %t626 = call i32 @lp_str_eq(ptr %t625, ptr @.str7387) %t627 = icmp ne i32 %t626, 0 br i1 %t627, label %then624, label %ifend626 then624: store i32 10053324, ptr %retval br label %ret ifend626: %t628 = load ptr, ptr %t0 %t629 = call i32 @lp_str_eq(ptr %t628, ptr @.str7388) %t630 = icmp ne i32 %t629, 0 br i1 %t630, label %then627, label %ifend629 then627: store i32 9323909, ptr %retval br label %ret ifend629: %t631 = load ptr, ptr %t0 %t632 = call i32 @lp_str_eq(ptr %t631, ptr @.str7389) %t633 = icmp ne i32 %t632, 0 br i1 %t633, label %then630, label %ifend632 then630: store i32 6373457, ptr %retval br label %ret ifend632: %t634 = load ptr, ptr %t0 %t635 = call i32 @lp_str_eq(ptr %t634, ptr @.str7390) %t636 = icmp ne i32 %t635, 0 br i1 %t636, label %then633, label %ifend635 then633: store i32 7286184, ptr %retval br label %ret ifend635: %t637 = load ptr, ptr %t0 %t638 = call i32 @lp_str_eq(ptr %t637, ptr @.str7391) %t639 = icmp ne i32 %t638, 0 br i1 %t639, label %then636, label %ifend638 then636: store i32 7483191, ptr %retval br label %ret ifend638: %t640 = load ptr, ptr %t0 %t641 = call i32 @lp_str_eq(ptr %t640, ptr @.str7392) %t642 = icmp ne i32 %t641, 0 br i1 %t642, label %then639, label %ifend641 then639: store i32 12929932, ptr %retval br label %ret ifend641: %t643 = load ptr, ptr %t0 %t644 = call i32 @lp_str_eq(ptr %t643, ptr @.str7393) %t645 = icmp ne i32 %t644, 0 br i1 %t645, label %then642, label %ifend644 then642: store i32 13148872, ptr %retval br label %ret ifend644: %t646 = load ptr, ptr %t0 %t647 = call i32 @lp_str_eq(ptr %t646, ptr @.str7394) %t648 = icmp ne i32 %t647, 0 br i1 %t648, label %then645, label %ifend647 then645: store i32 13213916, ptr %retval br label %ret ifend647: %t649 = load ptr, ptr %t0 %t650 = call i32 @lp_str_eq(ptr %t649, ptr @.str7395) %t651 = icmp ne i32 %t650, 0 br i1 %t651, label %then648, label %ifend650 then648: store i32 14644223, ptr %retval br label %ret ifend650: %t652 = load ptr, ptr %t0 %t653 = call i32 @lp_str_eq(ptr %t652, ptr @.str7396) %t654 = icmp ne i32 %t653, 0 br i1 %t654, label %then651, label %ifend653 then651: store i32 7350627, ptr %retval br label %ret ifend653: %t655 = load ptr, ptr %t0 %t656 = call i32 @lp_str_eq(ptr %t655, ptr @.str7397) %t657 = icmp ne i32 %t656, 0 br i1 %t657, label %then654, label %ifend656 then654: store i32 6685244, ptr %retval br label %ret ifend656: %t658 = load ptr, ptr %t0 %t659 = call i32 @lp_str_eq(ptr %t658, ptr @.str7398) %t660 = icmp ne i32 %t659, 0 br i1 %t660, label %then657, label %ifend659 then657: store i32 6697881, ptr %retval br label %ret ifend659: %t661 = load ptr, ptr %t0 %t662 = call i32 @lp_str_eq(ptr %t661, ptr @.str7399) %t663 = icmp ne i32 %t662, 0 br i1 %t663, label %then660, label %ifend662 then660: store i32 11495919, ptr %retval br label %ret ifend662: %t664 = sub i32 0, 1 store i32 %t664, ptr %retval br label %ret ret: %t665 = load i32, ptr %retval ret i32 %t665 } define i32 @fn_key_lookup(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t180 = alloca i32 %t181 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str7400) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store i32 32, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str7401) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store i32 10, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str7402) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store i32 10, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str7403) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store i32 27, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str7404) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store i32 27, ptr %retval br label %ret ifend14: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str7405) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: store i32 16, ptr %retval br label %ret ifend17: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str7406) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: store i32 9, ptr %retval br label %ret ifend20: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str7407) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: store i32 8, ptr %retval br label %ret ifend23: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str7408) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: store i32 128, ptr %retval br label %ret ifend26: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str7409) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then27, label %ifend29 then27: store i32 129, ptr %retval br label %ret ifend29: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str7410) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then30, label %ifend32 then30: store i32 130, ptr %retval br label %ret ifend32: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str7411) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then33, label %ifend35 then33: store i32 131, ptr %retval br label %ret ifend35: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str7412) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then36, label %ifend38 then36: store i32 132, ptr %retval br label %ret ifend38: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str7413) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then39, label %ifend41 then39: store i32 133, ptr %retval br label %ret ifend41: %t43 = load ptr, ptr %t0 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str7414) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then42, label %ifend44 then42: store i32 134, ptr %retval br label %ret ifend44: %t46 = load ptr, ptr %t0 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str7415) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then45, label %ifend47 then45: store i32 135, ptr %retval br label %ret ifend47: %t49 = load ptr, ptr %t0 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str7416) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then48, label %ifend50 then48: store i32 136, ptr %retval br label %ret ifend50: %t52 = load ptr, ptr %t0 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str7417) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then51, label %ifend53 then51: store i32 137, ptr %retval br label %ret ifend53: %t55 = load ptr, ptr %t0 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str7418) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then54, label %ifend56 then54: store i32 138, ptr %retval br label %ret ifend56: %t58 = load ptr, ptr %t0 %t59 = call i32 @lp_str_eq(ptr %t58, ptr @.str7419) %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then57, label %ifend59 then57: store i32 139, ptr %retval br label %ret ifend59: %t61 = load ptr, ptr %t0 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str7420) %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then60, label %ifend62 then60: store i32 140, ptr %retval br label %ret ifend62: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str7421) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then63, label %ifend65 then63: store i32 141, ptr %retval br label %ret ifend65: %t67 = load ptr, ptr %t0 %t68 = call i32 @lp_str_eq(ptr %t67, ptr @.str7422) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then66, label %ifend68 then66: store i32 142, ptr %retval br label %ret ifend68: %t70 = load ptr, ptr %t0 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str7423) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then69, label %ifend71 then69: store i32 143, ptr %retval br label %ret ifend71: %t73 = load ptr, ptr %t0 %t74 = call i32 @lp_str_eq(ptr %t73, ptr @.str7424) %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then72, label %ifend74 then72: store i32 144, ptr %retval br label %ret ifend74: %t76 = load ptr, ptr %t0 %t77 = call i32 @lp_str_eq(ptr %t76, ptr @.str7425) %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then75, label %ifend77 then75: store i32 145, ptr %retval br label %ret ifend77: %t79 = load ptr, ptr %t0 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str7426) %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then78, label %ifend80 then78: store i32 146, ptr %retval br label %ret ifend80: %t82 = load ptr, ptr %t0 %t83 = call i32 @lp_str_eq(ptr %t82, ptr @.str7427) %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then81, label %ifend83 then81: store i32 147, ptr %retval br label %ret ifend83: %t85 = load ptr, ptr %t0 %t86 = call i32 @lp_str_eq(ptr %t85, ptr @.str7428) %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then84, label %ifend86 then84: store i32 148, ptr %retval br label %ret ifend86: %t88 = load ptr, ptr %t0 %t89 = call i32 @lp_str_eq(ptr %t88, ptr @.str7429) %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then87, label %ifend89 then87: store i32 149, ptr %retval br label %ret ifend89: %t91 = load ptr, ptr %t0 %t92 = call i32 @lp_str_eq(ptr %t91, ptr @.str7430) %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then90, label %ifend92 then90: store i32 150, ptr %retval br label %ret ifend92: %t94 = load ptr, ptr %t0 %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str7431) %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %then93, label %ifend95 then93: store i32 152, ptr %retval br label %ret ifend95: %t97 = load ptr, ptr %t0 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str7432) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then96, label %ifend98 then96: store i32 153, ptr %retval br label %ret ifend98: %t100 = load ptr, ptr %t0 %t101 = call i32 @lp_str_eq(ptr %t100, ptr @.str7433) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then99, label %ifend101 then99: store i32 154, ptr %retval br label %ret ifend101: %t103 = load ptr, ptr %t0 %t104 = call i32 @lp_str_eq(ptr %t103, ptr @.str7434) %t105 = icmp ne i32 %t104, 0 br i1 %t105, label %then102, label %ifend104 then102: store i32 155, ptr %retval br label %ret ifend104: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str7435) %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then105, label %ifend107 then105: store i32 156, ptr %retval br label %ret ifend107: %t109 = load ptr, ptr %t0 %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str7436) %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then108, label %ifend110 then108: store i32 157, ptr %retval br label %ret ifend110: %t112 = load ptr, ptr %t0 %t113 = call i32 @lp_str_eq(ptr %t112, ptr @.str7437) %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then111, label %ifend113 then111: store i32 158, ptr %retval br label %ret ifend113: %t115 = load ptr, ptr %t0 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str7438) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then114, label %ifend116 then114: store i32 159, ptr %retval br label %ret ifend116: %t118 = load ptr, ptr %t0 %t119 = call i32 @lp_str_eq(ptr %t118, ptr @.str7439) %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then117, label %ifend119 then117: store i32 160, ptr %retval br label %ret ifend119: %t121 = load ptr, ptr %t0 %t122 = call i32 @lp_str_eq(ptr %t121, ptr @.str7440) %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then120, label %ifend122 then120: store i32 161, ptr %retval br label %ret ifend122: %t124 = load ptr, ptr %t0 %t125 = call i32 @lp_str_eq(ptr %t124, ptr @.str7441) %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then123, label %ifend125 then123: store i32 162, ptr %retval br label %ret ifend125: %t127 = load ptr, ptr %t0 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str7442) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then126, label %ifend128 then126: store i32 163, ptr %retval br label %ret ifend128: %t130 = load ptr, ptr %t0 %t131 = call i32 @lp_str_eq(ptr %t130, ptr @.str7443) %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then129, label %ifend131 then129: store i32 164, ptr %retval br label %ret ifend131: %t133 = load ptr, ptr %t0 %t134 = call i32 @lp_str_eq(ptr %t133, ptr @.str7444) %t135 = icmp ne i32 %t134, 0 br i1 %t135, label %then132, label %ifend134 then132: store i32 165, ptr %retval br label %ret ifend134: %t136 = load ptr, ptr %t0 %t137 = call i32 @lp_str_eq(ptr %t136, ptr @.str7445) %t138 = icmp ne i32 %t137, 0 br i1 %t138, label %then135, label %ifend137 then135: store i32 166, ptr %retval br label %ret ifend137: %t139 = load ptr, ptr %t0 %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str7446) %t141 = icmp ne i32 %t140, 0 br i1 %t141, label %then138, label %ifend140 then138: store i32 48, ptr %retval br label %ret ifend140: %t142 = load ptr, ptr %t0 %t143 = call i32 @lp_str_eq(ptr %t142, ptr @.str7447) %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then141, label %ifend143 then141: store i32 49, ptr %retval br label %ret ifend143: %t145 = load ptr, ptr %t0 %t146 = call i32 @lp_str_eq(ptr %t145, ptr @.str7448) %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then144, label %ifend146 then144: store i32 50, ptr %retval br label %ret ifend146: %t148 = load ptr, ptr %t0 %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str7449) %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %then147, label %ifend149 then147: store i32 51, ptr %retval br label %ret ifend149: %t151 = load ptr, ptr %t0 %t152 = call i32 @lp_str_eq(ptr %t151, ptr @.str7450) %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %then150, label %ifend152 then150: store i32 52, ptr %retval br label %ret ifend152: %t154 = load ptr, ptr %t0 %t155 = call i32 @lp_str_eq(ptr %t154, ptr @.str7451) %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %then153, label %ifend155 then153: store i32 53, ptr %retval br label %ret ifend155: %t157 = load ptr, ptr %t0 %t158 = call i32 @lp_str_eq(ptr %t157, ptr @.str7452) %t159 = icmp ne i32 %t158, 0 br i1 %t159, label %then156, label %ifend158 then156: store i32 54, ptr %retval br label %ret ifend158: %t160 = load ptr, ptr %t0 %t161 = call i32 @lp_str_eq(ptr %t160, ptr @.str7453) %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then159, label %ifend161 then159: store i32 55, ptr %retval br label %ret ifend161: %t163 = load ptr, ptr %t0 %t164 = call i32 @lp_str_eq(ptr %t163, ptr @.str7454) %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then162, label %ifend164 then162: store i32 56, ptr %retval br label %ret ifend164: %t166 = load ptr, ptr %t0 %t167 = call i32 @lp_str_eq(ptr %t166, ptr @.str7455) %t168 = icmp ne i32 %t167, 0 br i1 %t168, label %then165, label %ifend167 then165: store i32 57, ptr %retval br label %ret ifend167: %t169 = load ptr, ptr %t0 %t170 = getelementptr inbounds i8, ptr %t169, i32 1 %t171 = load i8, ptr %t170 %t172 = zext i8 %t171 to i32 %t173 = icmp eq i32 %t172, 0 %t174 = zext i1 %t173 to i32 %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then168, label %ifend170 then168: %t176 = load ptr, ptr %t0 %t177 = getelementptr inbounds i8, ptr %t176, i32 0 %t178 = load i8, ptr %t177 %t179 = zext i8 %t178 to i32 store i32 %t179, ptr %t180 %t182 = load i32, ptr %t180 %t183 = icmp sge i32 %t182, 65 %t184 = zext i1 %t183 to i32 %t185 = icmp ne i32 %t184, 0 %t186 = zext i1 %t185 to i32 store i32 %t186, ptr %t181 br i1 %t185, label %sc171, label %scend172 sc171: %t187 = load i32, ptr %t180 %t188 = icmp sle i32 %t187, 90 %t189 = zext i1 %t188 to i32 %t190 = icmp ne i32 %t189, 0 %t191 = zext i1 %t190 to i32 store i32 %t191, ptr %t181 br label %scend172 scend172: %t192 = load i32, ptr %t181 %t193 = icmp ne i32 %t192, 0 br i1 %t193, label %then173, label %ifend175 then173: %t194 = load i32, ptr %t180 %t195 = add i32 %t194, 32 store i32 %t195, ptr %retval br label %ret ifend175: br label %ifend170 ifend170: %t196 = sub i32 0, 1 store i32 %t196, ptr %retval br label %ret ret: %t197 = load i32, ptr %retval ret i32 %t197 } define ptr @fn_emit_sizeof(ptr %arg_llt) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr store ptr %arg_llt, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @lp_str_concat(ptr @.str7456, ptr %t1) %t3 = call ptr @lp_str_concat(ptr %t2, ptr @.str7457) %t4 = call ptr @fn_emit_bind(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = call ptr @lp_str_concat(ptr @.str7458, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str7459) %t9 = call ptr @fn_emit_bind(ptr %t8) store ptr %t9, ptr %retval br label %ret ret: %t10 = load ptr, ptr %retval ret ptr %t10 } define ptr @fn_rec_field(ptr %arg_rec, ptr %arg_fname) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t6 = alloca i32 %t28 = alloca ptr store ptr %arg_rec, ptr %t0 store ptr %arg_fname, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = icmp eq ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: store ptr null, ptr %retval br label %ret ifend2: store i32 0, ptr %t6 br label %wcond3 wcond3: %t7 = load i32, ptr %t6 %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 7 %t10 = load ptr, ptr %t9 %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t12 = load i32, ptr %t11 %t13 = icmp slt i32 %t7, %t12 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %wbody4, label %wend5 wbody4: %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = load i32, ptr %t6 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t21, %t23 br i1 %t24, label %ixok6, label %ixbad7 ixbad7: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str7460, i32 %t21, i32 %t23) call void @exit(i32 1) unreachable ixok6: %t26 = getelementptr inbounds ptr, ptr %t20, i32 %t21 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 %t32 = load ptr, ptr %t1 %t33 = call i32 @lp_str_eq(ptr %t31, ptr %t32) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then8, label %ifend10 then8: %t35 = load ptr, ptr %t28 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 4 %t37 = load ptr, ptr %t36 store ptr %t37, ptr %retval br label %ret ifend10: %t38 = load i32, ptr %t6 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t6 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define ptr @fn_emit_new_struct(ptr %arg_name, ptr %arg_rec) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t4 = alloca ptr %t11 = alloca ptr %t14 = alloca ptr %t19 = alloca ptr %t20 = alloca i32 %t42 = alloca ptr %t44 = alloca ptr %t54 = alloca ptr %t57 = alloca ptr %t68 = alloca ptr %t79 = alloca ptr %t86 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_rec, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @fn_layout_node(ptr %t2) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 %t6 = icmp eq ptr %t5, null %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: call void @fn_perr(ptr @.str7461) br label %ifend2 ifend2: %t9 = load ptr, ptr %t0 %t10 = call ptr @fn_layout_ty(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t11 %t13 = call ptr @fn_emit_sizeof(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = call ptr @lp_str_concat(ptr @.str7462, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str7463) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 store i32 0, ptr %t20 br label %wcond3 wcond3: %t21 = load i32, ptr %t20 %t22 = load ptr, ptr %t4 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t26 = load i32, ptr %t25 %t27 = icmp slt i32 %t21, %t26 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %wbody4, label %wend5 wbody4: %t30 = load ptr, ptr %t4 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = load i32, ptr %t20 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t35, %t37 br i1 %t38, label %ixok6, label %ixbad7 ixbad7: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str7464, i32 %t35, i32 %t37) call void @exit(i32 1) unreachable ixok6: %t40 = getelementptr inbounds ptr, ptr %t34, i32 %t35 %t41 = load ptr, ptr %t40 store ptr %t41, ptr %t42 %t43 = call ptr @fn_nreg() store ptr %t43, ptr %t44 call void @fn_emit(ptr @.str7465) %t45 = load ptr, ptr %t44 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str7466) %t46 = load ptr, ptr %t11 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str7467) %t47 = load ptr, ptr %t19 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str7468) %t48 = load i32, ptr %t20 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str7469) %t50 = load ptr, ptr %t42 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 3 %t52 = load ptr, ptr %t51 %t53 = call ptr @fn_llty(ptr %t52) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t54 %t56 = call ptr @fn_zero_of(ptr %t55) store ptr %t56, ptr %t57 %t58 = load ptr, ptr %t42 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 4 %t60 = load ptr, ptr %t59 %t61 = icmp ne ptr %t60, null %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then8, label %ifend10 then8: %t64 = load ptr, ptr %t42 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 4 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_emit_expr(ptr %t66) store ptr %t67, ptr %t68 %t69 = load ptr, ptr %t68 %t70 = load ptr, ptr %t42 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 3 %t72 = load ptr, ptr %t71 %t73 = call ptr @fn_coerce_code(ptr %t69, ptr %t72) store ptr %t73, ptr %t57 br label %ifend10 ifend10: %t74 = load ptr, ptr %t1 %t75 = load ptr, ptr %t42 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 1 %t77 = load ptr, ptr %t76 %t78 = call ptr @fn_rec_field(ptr %t74, ptr %t77) store ptr %t78, ptr %t79 %t80 = load ptr, ptr %t79 %t81 = icmp ne ptr %t80, null %t82 = zext i1 %t81 to i32 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then11, label %ifend13 then11: %t84 = load ptr, ptr %t79 %t85 = call ptr @fn_emit_expr(ptr %t84) store ptr %t85, ptr %t86 %t87 = load ptr, ptr %t86 %t88 = load ptr, ptr %t42 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 3 %t90 = load ptr, ptr %t89 %t91 = call ptr @fn_coerce_code(ptr %t87, ptr %t90) store ptr %t91, ptr %t57 br label %ifend13 ifend13: call void @fn_emit(ptr @.str7470) %t92 = load ptr, ptr %t54 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str7471) %t93 = load ptr, ptr %t57 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str7472) %t94 = load ptr, ptr %t44 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str7473) %t95 = load i32, ptr %t20 %t96 = add i32 %t95, 1 store i32 %t96, ptr %t20 br label %wcond3 wend5: %t97 = load ptr, ptr %t19 %t98 = load ptr, ptr %t0 %t99 = call ptr @fn_val(ptr %t97, ptr %t98) store ptr %t99, ptr %retval br label %ret ret: %t100 = load ptr, ptr %retval ret ptr %t100 } define ptr @fn_emit_new_slice(ptr %arg_ty) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t7 = alloca ptr %t9 = alloca ptr %t14 = alloca ptr %t19 = alloca ptr store ptr %arg_ty, ptr %t0 %t1 = call ptr @fn_emit_sizeof(ptr @.str7474) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = call ptr @lp_str_concat(ptr @.str7475, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str7476) %t6 = call ptr @fn_emit_bind(ptr %t5) store ptr %t6, ptr %t7 %t8 = call ptr @fn_nreg() store ptr %t8, ptr %t9 call void @fn_emit(ptr @.str7477) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str7478) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str7479) call void @fn_emit(ptr @.str7480) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str7481) %t13 = call ptr @fn_nreg() store ptr %t13, ptr %t14 call void @fn_emit(ptr @.str7482) %t15 = load ptr, ptr %t14 call void @fn_emit(ptr %t15) call void @fn_emit(ptr @.str7483) %t16 = load ptr, ptr %t7 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str7484) call void @fn_emit(ptr @.str7485) %t17 = load ptr, ptr %t14 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str7486) %t18 = call ptr @fn_nreg() store ptr %t18, ptr %t19 call void @fn_emit(ptr @.str7487) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str7488) %t21 = load ptr, ptr %t7 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str7489) call void @fn_emit(ptr @.str7490) %t22 = load ptr, ptr %t19 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str7491) %t23 = load ptr, ptr %t7 %t24 = load ptr, ptr %t0 %t25 = call ptr @fn_val(ptr %t23, ptr %t24) store ptr %t25, ptr %retval br label %ret ret: %t26 = load ptr, ptr %retval ret ptr %t26 } define ptr @fn_slice_field(ptr %arg_h, i32 %arg_i) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t3 = alloca ptr store ptr %arg_h, ptr %t0 store i32 %arg_i, ptr %t1 %t2 = call ptr @fn_nreg() store ptr %t2, ptr %t3 call void @fn_emit(ptr @.str7492) %t4 = load ptr, ptr %t3 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str7493) %t5 = load ptr, ptr %t0 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str7494) %t6 = load i32, ptr %t1 %t7 = call ptr @fn_itoa(i32 %t6) call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str7495) %t8 = load ptr, ptr %t3 store ptr %t8, ptr %retval br label %ret ret: %t9 = load ptr, ptr %retval ret ptr %t9 } define ptr @fn_emit_len(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t13 = alloca ptr %t23 = alloca ptr %t34 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp ult i32 0, %t7 br i1 %t8, label %ixok0, label %ixbad1 ixbad1: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str7496, i32 0, i32 %t7) call void @exit(i32 1) unreachable ixok0: %t10 = getelementptr inbounds ptr, ptr %t5, i32 0 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_emit_expr(ptr %t11) store ptr %t12, ptr %t13 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 1 %t16 = load ptr, ptr %t15 %t17 = call i32 @fn_is_slice_ty(ptr %t16) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then2, label %ifend4 then2: %t19 = load ptr, ptr %t13 %t20 = getelementptr inbounds %Cmp_Val, ptr %t19, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = call ptr @fn_slice_field(ptr %t21, i32 1) store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t23 %t25 = call ptr @lp_str_concat(ptr @.str7497, ptr %t24) %t26 = call ptr @fn_emit_bind(ptr %t25) %t27 = call ptr @fn_val(ptr %t26, ptr @.str7498) store ptr %t27, ptr %retval br label %ret ifend4: %t28 = load ptr, ptr %t13 %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = call ptr @lp_str_concat(ptr @.str7499, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str7500) %t33 = call ptr @fn_emit_bind(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = call ptr @lp_str_concat(ptr @.str7501, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str7502) %t38 = call ptr @fn_emit_bind(ptr %t37) %t39 = call ptr @fn_val(ptr %t38, ptr @.str7503) store ptr %t39, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define ptr @fn_emit_push(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t13 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp ult i32 0, %t7 br i1 %t8, label %ixok0, label %ixbad1 ixbad1: %t9 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t9, ptr @.fmt_bounds, ptr @.str7504, i32 0, i32 %t7) call void @exit(i32 1) unreachable ixok0: %t10 = getelementptr inbounds ptr, ptr %t5, i32 0 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_emit_expr(ptr %t11) store ptr %t12, ptr %t13 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = load ptr, ptr %t13 %t18 = getelementptr inbounds %Cmp_Val, ptr %t17, i32 0, i32 1 %t19 = load ptr, ptr %t18 %t20 = call ptr @fn_slice_elem(ptr %t19) %t21 = call ptr @fn_llty(ptr %t20) %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7 %t24 = load ptr, ptr %t23 %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 1, %t28 br i1 %t29, label %ixok2, label %ixbad3 ixbad3: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str7505, i32 1, i32 %t28) call void @exit(i32 1) unreachable ixok2: %t31 = getelementptr inbounds ptr, ptr %t26, i32 1 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_emit_expr(ptr %t32) call void @fn_emit_push_into(ptr %t16, ptr %t21, ptr %t33) %t34 = call ptr @fn_val(ptr @.str7506, ptr @.str7507) store ptr %t34, ptr %retval br label %ret ret: %t35 = load ptr, ptr %retval ret ptr %t35 } define ptr @fn_emit_list(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t21 = alloca ptr %t26 = alloca ptr %t31 = alloca ptr %t34 = alloca ptr %t40 = alloca i32 %t63 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp eq i32 %t5, 0 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: call void @fn_perr(ptr @.str7508) br label %ifend2 ifend2: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 0, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str7509, i32 0, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 0 %t19 = load ptr, ptr %t18 %t20 = call ptr @fn_emit_expr(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 1 %t24 = load ptr, ptr %t23 %t25 = call ptr @lp_str_concat(ptr @.str7510, ptr %t24) store ptr %t25, ptr %t26 %t27 = load ptr, ptr %t21 %t28 = getelementptr inbounds %Cmp_Val, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 %t30 = call ptr @fn_llty(ptr %t29) store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t26 %t33 = call ptr @fn_emit_new_slice(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = load ptr, ptr %t31 %t39 = load ptr, ptr %t21 call void @fn_emit_push_into(ptr %t37, ptr %t38, ptr %t39) store i32 1, ptr %t40 br label %wcond5 wcond5: %t41 = load i32, ptr %t40 %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 7 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t46 = load i32, ptr %t45 %t47 = icmp slt i32 %t41, %t46 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %wbody6, label %wend7 wbody6: %t50 = load ptr, ptr %t0 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 7 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = load i32, ptr %t40 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t55, %t57 br i1 %t58, label %ixok8, label %ixbad9 ixbad9: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str7511, i32 %t55, i32 %t57) call void @exit(i32 1) unreachable ixok8: %t60 = getelementptr inbounds ptr, ptr %t54, i32 %t55 %t61 = load ptr, ptr %t60 %t62 = call ptr @fn_emit_expr(ptr %t61) store ptr %t62, ptr %t63 %t64 = load ptr, ptr %t63 %t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 %t67 = load ptr, ptr %t21 %t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 1 %t69 = load ptr, ptr %t68 %t70 = call i32 @lp_str_eq(ptr %t66, ptr %t69) %t71 = icmp eq i32 %t70, 0 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then10, label %ifend12 then10: %t74 = load ptr, ptr %t21 %t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 1 %t76 = load ptr, ptr %t75 %t77 = call ptr @lp_str_concat(ptr @.str7512, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str7513) %t79 = load ptr, ptr %t63 %t80 = getelementptr inbounds %Cmp_Val, ptr %t79, i32 0, i32 1 %t81 = load ptr, ptr %t80 %t82 = call ptr @lp_str_concat(ptr %t78, ptr %t81) call void @fn_perr(ptr %t82) br label %ifend12 ifend12: %t83 = load ptr, ptr %t34 %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = load ptr, ptr %t31 %t87 = load ptr, ptr %t63 call void @fn_emit_push_into(ptr %t85, ptr %t86, ptr %t87) %t88 = load i32, ptr %t40 %t89 = add i32 %t88, 1 store i32 %t89, ptr %t40 br label %wcond5 wend7: %t90 = load ptr, ptr %t34 store ptr %t90, ptr %retval br label %ret ret: %t91 = load ptr, ptr %retval ret ptr %t91 } define void @fn_emit_push_into(ptr %arg_h, ptr %arg_elt, ptr %arg_v) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t5 = alloca ptr %t8 = alloca ptr %t11 = alloca ptr %t15 = alloca ptr %t19 = alloca ptr %t26 = alloca ptr %t28 = alloca ptr %t30 = alloca ptr %t39 = alloca ptr %t44 = alloca ptr %t51 = alloca ptr %t54 = alloca ptr %t59 = alloca ptr %t66 = alloca ptr %t70 = alloca ptr %t78 = alloca ptr %t88 = alloca ptr %t90 = alloca ptr %t104 = alloca ptr store ptr %arg_h, ptr %t0 store ptr %arg_elt, ptr %t1 store ptr %arg_v, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_slice_field(ptr %t3, i32 1) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t0 %t7 = call ptr @fn_slice_field(ptr %t6, i32 2) store ptr %t7, ptr %t8 %t9 = load ptr, ptr %t0 %t10 = call ptr @fn_slice_field(ptr %t9, i32 0) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t5 %t13 = call ptr @lp_str_concat(ptr @.str7514, ptr %t12) %t14 = call ptr @fn_emit_bind(ptr %t13) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t8 %t17 = call ptr @lp_str_concat(ptr @.str7515, ptr %t16) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 %t20 = load ptr, ptr %t15 %t21 = call ptr @lp_str_concat(ptr @.str7516, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str7517) %t23 = load ptr, ptr %t19 %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = call ptr @fn_lbl(ptr @.str7518) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str7519) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str7520) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str7521) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str7522) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str7523) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str7524) %t35 = load ptr, ptr %t19 %t36 = call ptr @lp_str_concat(ptr @.str7525, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str7526) %t38 = call ptr @fn_emit_bind(ptr %t37) store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t19 %t41 = call ptr @lp_str_concat(ptr @.str7527, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str7528) %t43 = call ptr @fn_emit_bind(ptr %t42) store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t44 %t46 = call ptr @lp_str_concat(ptr @.str7529, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str7530) %t48 = load ptr, ptr %t39 %t49 = call ptr @lp_str_concat(ptr %t47, ptr %t48) %t50 = call ptr @fn_emit_bind(ptr %t49) store ptr %t50, ptr %t51 %t52 = load ptr, ptr %t1 %t53 = call ptr @fn_emit_sizeof(ptr %t52) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t51 %t56 = call ptr @lp_str_concat(ptr @.str7531, ptr %t55) %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str7532) %t58 = call ptr @fn_emit_bind(ptr %t57) store ptr %t58, ptr %t59 %t60 = load ptr, ptr %t59 %t61 = call ptr @lp_str_concat(ptr @.str7533, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str7534) %t63 = load ptr, ptr %t54 %t64 = call ptr @lp_str_concat(ptr %t62, ptr %t63) %t65 = call ptr @fn_emit_bind(ptr %t64) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t11 %t68 = call ptr @lp_str_concat(ptr @.str7535, ptr %t67) %t69 = call ptr @fn_emit_bind(ptr %t68) store ptr %t69, ptr %t70 %t71 = load ptr, ptr %t70 %t72 = call ptr @lp_str_concat(ptr @.str7536, ptr %t71) %t73 = call ptr @lp_str_concat(ptr %t72, ptr @.str7537) %t74 = load ptr, ptr %t66 %t75 = call ptr @lp_str_concat(ptr %t73, ptr %t74) %t76 = call ptr @lp_str_concat(ptr %t75, ptr @.str7538) %t77 = call ptr @fn_emit_bind(ptr %t76) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str7539) %t79 = load ptr, ptr %t78 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str7540) %t80 = load ptr, ptr %t11 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str7541) call void @fn_emit(ptr @.str7542) %t81 = load ptr, ptr %t51 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str7543) %t82 = load ptr, ptr %t8 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str7544) call void @fn_emit(ptr @.str7545) %t83 = load ptr, ptr %t30 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str7546) %t84 = load ptr, ptr %t30 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str7547) %t85 = load ptr, ptr %t11 %t86 = call ptr @lp_str_concat(ptr @.str7548, ptr %t85) %t87 = call ptr @fn_emit_bind(ptr %t86) store ptr %t87, ptr %t88 %t89 = call ptr @fn_nreg() store ptr %t89, ptr %t90 call void @fn_emit(ptr @.str7549) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str7550) %t92 = load ptr, ptr %t1 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str7551) %t93 = load ptr, ptr %t88 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str7552) %t94 = load ptr, ptr %t15 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str7553) call void @fn_emit(ptr @.str7554) %t95 = load ptr, ptr %t1 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str7555) %t96 = load ptr, ptr %t2 %t97 = getelementptr inbounds %Cmp_Val, ptr %t96, i32 0, i32 0 %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str7556) %t99 = load ptr, ptr %t90 call void @fn_emit(ptr %t99) call void @fn_emit(ptr @.str7557) %t100 = load ptr, ptr %t15 %t101 = call ptr @lp_str_concat(ptr @.str7558, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str7559) %t103 = call ptr @fn_emit_bind(ptr %t102) store ptr %t103, ptr %t104 call void @fn_emit(ptr @.str7560) %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str7561) %t106 = load ptr, ptr %t5 call void @fn_emit(ptr %t106) call void @fn_emit(ptr @.str7562) br label %ret ret: ret void } define void @fn_emit_try_body(ptr %arg_b, ptr %arg_slot) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t26 = alloca ptr %t27 = alloca i32 %t55 = alloca ptr store ptr %arg_b, ptr %t0 store ptr %arg_slot, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp slt i32 %t3, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t12 = load i32, ptr @g_g_term %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then3, label %ifend5 then3: br label %ret ifend5: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = load i32, ptr %t2 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t19, %t21 br i1 %t22, label %ixok6, label %ixbad7 ixbad7: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str7563, i32 %t19, i32 %t21) call void @exit(i32 1) unreachable ixok6: %t24 = getelementptr inbounds ptr, ptr %t18, i32 %t19 %t25 = load ptr, ptr %t24 store ptr %t25, ptr %t26 %t28 = load i32, ptr %t2 %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = sub i32 %t33, 1 %t35 = icmp eq i32 %t28, %t34 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t27 br i1 %t37, label %sc8, label %scend9 sc8: %t39 = load ptr, ptr %t26 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0 %t41 = load i32, ptr %t40 %t42 = icmp eq i32 %t41, 16 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t27 br label %scend9 scend9: %t46 = load i32, ptr %t27 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then10, label %else11 then10: %t48 = load ptr, ptr %t26 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 8 %t50 = load i32, ptr %t49 call void @fn_emit_cov_hit(i32 %t50) %t51 = load ptr, ptr %t26 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 4 %t53 = load ptr, ptr %t52 %t54 = call ptr @fn_emit_expr(ptr %t53) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_coerce_code(ptr %t56, ptr @.str7565) %t58 = call ptr @lp_str_concat(ptr @.str7564, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str7566) %t60 = load ptr, ptr %t1 %t61 = call ptr @lp_str_concat(ptr %t59, ptr %t60) %t62 = call ptr @lp_str_concat(ptr %t61, ptr @.str7567) call void @fn_emit(ptr %t62) br label %ifend12 else11: %t63 = load ptr, ptr %t26 call void @fn_emit_stmt(ptr %t63) br label %ifend12 ifend12: %t64 = load i32, ptr %t2 %t65 = add i32 %t64, 1 store i32 %t65, ptr %t2 br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_emit_try(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr %t24 = alloca ptr %t34 = alloca ptr %t38 = alloca ptr %t43 = alloca ptr %t45 = alloca ptr %t47 = alloca ptr %t49 = alloca ptr %t67 = alloca ptr %t71 = alloca ptr %t89 = alloca ptr %t93 = alloca ptr %t95 = alloca ptr %t103 = alloca i32 store ptr %arg_e, ptr %t0 store i32 1, ptr @g_g_uses_result %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_emit_expr(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 1 %t8 = load ptr, ptr %t7 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str7568) %t10 = icmp eq i32 %t9, 0 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %ifend2 then0: %t13 = load ptr, ptr %t5 %t14 = getelementptr inbounds %Cmp_Val, ptr %t13, i32 0, i32 1 %t15 = load ptr, ptr %t14 %t16 = call ptr @lp_str_concat(ptr @.str7569, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str7570) %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 8 %t20 = load i32, ptr %t19 %t21 = call ptr @fn_itoa(i32 %t20) %t22 = call ptr @lp_str_concat(ptr %t17, ptr %t21) call void @fn_perr(ptr %t22) br label %ifend2 ifend2: %t23 = call ptr @fn_emit_alloca(ptr @.str7571) store ptr %t23, ptr %t24 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str7572, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str7573) call void @fn_emit(ptr %t27) %t28 = load ptr, ptr %t5 %t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0 %t30 = load ptr, ptr %t29 %t31 = call ptr @lp_str_concat(ptr @.str7574, ptr %t30) %t32 = call ptr @lp_str_concat(ptr %t31, ptr @.str7575) %t33 = call ptr @fn_emit_bind(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t34 %t36 = call ptr @lp_str_concat(ptr @.str7576, ptr %t35) %t37 = call ptr @fn_emit_bind(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 %t40 = call ptr @lp_str_concat(ptr @.str7577, ptr %t39) %t41 = call ptr @lp_str_concat(ptr %t40, ptr @.str7578) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 %t44 = call ptr @fn_lbl(ptr @.str7579) store ptr %t44, ptr %t45 %t46 = call ptr @fn_lbl(ptr @.str7580) store ptr %t46, ptr %t47 %t48 = call ptr @fn_lbl(ptr @.str7581) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t43 %t51 = call ptr @lp_str_concat(ptr @.str7582, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str7583) %t53 = load ptr, ptr %t45 %t54 = call ptr @lp_str_concat(ptr %t52, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str7584) %t56 = load ptr, ptr %t47 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str7585) call void @fn_emit(ptr %t58) %t59 = load ptr, ptr %t45 %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str7586) call void @fn_emit(ptr %t60) store i32 0, ptr @g_g_term %t61 = load ptr, ptr %t5 %t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = call ptr @lp_str_concat(ptr @.str7587, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str7588) %t66 = call ptr @fn_emit_bind(ptr %t65) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t67 %t69 = call ptr @lp_str_concat(ptr @.str7589, ptr %t68) %t70 = call ptr @fn_emit_bind(ptr %t69) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t71 %t73 = call ptr @lp_str_concat(ptr @.str7590, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str7591) %t75 = load ptr, ptr %t24 %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str7592) call void @fn_emit(ptr %t77) %t78 = load ptr, ptr %t49 %t79 = call ptr @lp_str_concat(ptr @.str7593, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str7594) call void @fn_emit(ptr %t80) %t81 = load ptr, ptr %t47 %t82 = call ptr @lp_str_concat(ptr %t81, ptr @.str7595) call void @fn_emit(ptr %t82) store i32 0, ptr @g_g_term %t83 = load ptr, ptr %t5 %t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = call ptr @lp_str_concat(ptr @.str7596, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str7597) %t88 = call ptr @fn_emit_bind(ptr %t87) store ptr %t88, ptr %t89 %t90 = load ptr, ptr %t89 %t91 = call ptr @lp_str_concat(ptr @.str7598, ptr %t90) %t92 = call ptr @fn_emit_bind(ptr %t91) store ptr %t92, ptr %t93 %t94 = call ptr @fn_emit_alloca(ptr @.str7599) store ptr %t94, ptr %t95 %t96 = load ptr, ptr %t93 %t97 = call ptr @lp_str_concat(ptr @.str7600, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str7601) %t99 = load ptr, ptr %t95 %t100 = call ptr @lp_str_concat(ptr %t98, ptr %t99) %t101 = call ptr @lp_str_concat(ptr %t100, ptr @.str7602) call void @fn_emit(ptr %t101) %t102 = load i32, ptr @g_nloc store i32 %t102, ptr %t103 %t104 = load ptr, ptr %t95 call void @fn_loc_push(ptr @.str7603, ptr %t104, ptr @.str7604) %t105 = load ptr, ptr %t0 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 5 %t107 = load ptr, ptr %t106 %t108 = load ptr, ptr %t24 call void @fn_emit_try_body(ptr %t107, ptr %t108) %t109 = load i32, ptr %t103 store i32 %t109, ptr @g_nloc %t110 = load i32, ptr @g_g_term %t111 = icmp eq i32 %t110, 0 %t112 = zext i1 %t111 to i32 %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then3, label %ifend5 then3: %t114 = load ptr, ptr %t49 %t115 = call ptr @lp_str_concat(ptr @.str7605, ptr %t114) %t116 = call ptr @lp_str_concat(ptr %t115, ptr @.str7606) call void @fn_emit(ptr %t116) br label %ifend5 ifend5: %t117 = load ptr, ptr %t49 %t118 = call ptr @lp_str_concat(ptr %t117, ptr @.str7607) call void @fn_emit(ptr %t118) store i32 0, ptr @g_g_term %t119 = load ptr, ptr %t24 %t120 = call ptr @lp_str_concat(ptr @.str7608, ptr %t119) %t121 = call ptr @fn_emit_bind(ptr %t120) %t122 = call ptr @fn_val(ptr %t121, ptr @.str7609) store ptr %t122, ptr %retval br label %ret ret: %t123 = load ptr, ptr %retval ret ptr %t123 } define ptr @fn_emit_load_at(ptr %arg_addr, ptr %arg_ty) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t9 = alloca ptr store ptr %arg_addr, ptr %t0 store ptr %arg_ty, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = call ptr @fn_llty(ptr %t2) %t4 = call ptr @lp_str_concat(ptr @.str7610, ptr %t3) %t5 = call ptr @lp_str_concat(ptr %t4, ptr @.str7611) %t6 = load ptr, ptr %t0 %t7 = call ptr @lp_str_concat(ptr %t5, ptr %t6) %t8 = call ptr @fn_emit_bind(ptr %t7) store ptr %t8, ptr %t9 %t10 = load ptr, ptr %t9 %t11 = load ptr, ptr %t1 %t12 = call ptr @fn_val(ptr %t10, ptr %t11) store ptr %t12, ptr %retval br label %ret ret: %t13 = load ptr, ptr %retval ret ptr %t13 } define ptr @fn_emit_logic(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t7 = alloca ptr %t14 = alloca ptr %t19 = alloca ptr %t23 = alloca ptr %t25 = alloca ptr %t42 = alloca ptr %t49 = alloca ptr %t54 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = call ptr @fn_emit_alloca(ptr @.str7612) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4 %t5 = load ptr, ptr %t4 %t6 = call ptr @fn_emit_expr(ptr %t5) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = getelementptr inbounds %Cmp_Val, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = call ptr @lp_str_concat(ptr @.str7613, ptr %t10) %t12 = call ptr @lp_str_concat(ptr %t11, ptr @.str7614) %t13 = call ptr @fn_emit_bind(ptr %t12) store ptr %t13, ptr %t14 %t15 = load ptr, ptr %t14 %t16 = call ptr @lp_str_concat(ptr @.str7615, ptr %t15) %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str7616) %t18 = call ptr @fn_emit_bind(ptr %t17) store ptr %t18, ptr %t19 call void @fn_emit(ptr @.str7617) %t20 = load ptr, ptr %t19 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str7618) %t21 = load ptr, ptr %t2 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str7619) %t22 = call ptr @fn_lbl(ptr @.str7620) store ptr %t22, ptr %t23 %t24 = call ptr @fn_lbl(ptr @.str7621) store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1 %t28 = load ptr, ptr %t27 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str7622) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then0, label %else1 then0: call void @fn_emit(ptr @.str7623) %t31 = load ptr, ptr %t14 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str7624) %t32 = load ptr, ptr %t23 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str7625) %t33 = load ptr, ptr %t25 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str7626) br label %ifend2 else1: call void @fn_emit(ptr @.str7627) %t34 = load ptr, ptr %t14 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str7628) %t35 = load ptr, ptr %t25 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str7629) %t36 = load ptr, ptr %t23 call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str7630) br label %ifend2 ifend2: %t37 = load ptr, ptr %t23 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str7631) %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 5 %t40 = load ptr, ptr %t39 %t41 = call ptr @fn_emit_expr(ptr %t40) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = call ptr @lp_str_concat(ptr @.str7632, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str7633) %t48 = call ptr @fn_emit_bind(ptr %t47) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 %t51 = call ptr @lp_str_concat(ptr @.str7634, ptr %t50) %t52 = call ptr @lp_str_concat(ptr %t51, ptr @.str7635) %t53 = call ptr @fn_emit_bind(ptr %t52) store ptr %t53, ptr %t54 call void @fn_emit(ptr @.str7636) %t55 = load ptr, ptr %t54 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str7637) %t56 = load ptr, ptr %t2 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str7638) call void @fn_emit(ptr @.str7639) %t57 = load ptr, ptr %t25 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str7640) %t58 = load ptr, ptr %t25 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str7641) %t59 = load ptr, ptr %t2 %t60 = call ptr @lp_str_concat(ptr @.str7642, ptr %t59) %t61 = call ptr @fn_emit_bind(ptr %t60) %t62 = call ptr @fn_val(ptr %t61, ptr @.str7643) store ptr %t62, ptr %retval br label %ret ret: %t63 = load ptr, ptr %retval ret ptr %t63 } define ptr @fn_cmp_code(ptr %arg_op) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_op, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str7644) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str7645, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str7646) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str7647, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str7648) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str7649, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str7650) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str7651, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str7652) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str7653, ptr %retval br label %ret ifend14: store ptr @.str7654, ptr %retval br label %ret ret: %t16 = load ptr, ptr %retval ret ptr %t16 } define i32 @fn_is_cmp(ptr %arg_op) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 store ptr %arg_op, ptr %t0 %t6 = load ptr, ptr %t0 %t7 = call i32 @lp_str_eq(ptr %t6, ptr @.str7655) %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t5 br i1 %t8, label %scend1, label %sc0 sc0: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str7656) %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t5 br label %scend1 scend1: %t14 = load i32, ptr %t5 %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t4 br i1 %t15, label %scend3, label %sc2 sc2: %t17 = load ptr, ptr %t0 %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str7657) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t4 br label %scend3 scend3: %t21 = load i32, ptr %t4 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t3 br i1 %t22, label %scend5, label %sc4 sc4: %t24 = load ptr, ptr %t0 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str7658) %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t3 br label %scend5 scend5: %t28 = load i32, ptr %t3 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t2 br i1 %t29, label %scend7, label %sc6 sc6: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str7659) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t2 br label %scend7 scend7: %t35 = load i32, ptr %t2 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t1 br i1 %t36, label %scend9, label %sc8 sc8: %t38 = load ptr, ptr %t0 %t39 = call i32 @lp_str_eq(ptr %t38, ptr @.str7660) %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t1 br label %scend9 scend9: %t42 = load i32, ptr %t1 store i32 %t42, ptr %retval br label %ret ret: %t43 = load i32, ptr %retval ret i32 %t43 } define ptr @fn_arith_code(ptr %arg_op) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_op, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str7661) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store ptr @.str7662, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str7663) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store ptr @.str7664, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str7665) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store ptr @.str7666, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str7667) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store ptr @.str7668, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str7669) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store ptr @.str7670, ptr %retval br label %ret ifend14: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str7671) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: store ptr @.str7672, ptr %retval br label %ret ifend17: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str7673) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: store ptr @.str7674, ptr %retval br label %ret ifend20: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str7675) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: store ptr @.str7676, ptr %retval br label %ret ifend23: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str7677) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: store ptr @.str7678, ptr %retval br label %ret ifend26: store ptr @.str7679, ptr %retval br label %ret ret: %t28 = load ptr, ptr %retval ret ptr %t28 } define ptr @fn_to_fixed(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str7680) %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0 %t8 = load ptr, ptr %t7 store ptr %t8, ptr %retval br label %ret ifend2: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Val, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = call ptr @lp_str_concat(ptr @.str7681, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str7682) %t14 = call ptr @fn_emit_bind(ptr %t13) store ptr %t14, ptr %retval br label %ret ret: %t15 = load ptr, ptr %retval ret ptr %t15 } define ptr @fn_coerce_code(ptr %arg_v, ptr %arg_target) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t11 = alloca i32 %t27 = alloca i32 %t28 = alloca i32 %t63 = alloca ptr %t68 = alloca ptr %t76 = alloca i32 %t93 = alloca i32 store ptr %arg_v, ptr %t0 store ptr %arg_target, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = call i32 @fn_is_fp(ptr %t2) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr %t0 %t6 = load ptr, ptr %t1 %t7 = load ptr, ptr %t1 %t8 = call ptr @lp_str_concat(ptr @.str7683, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str7684) %t10 = call ptr @fn_to_fp(ptr %t5, ptr %t6, ptr %t9) store ptr %t10, ptr %retval br label %ret ifend2: %t12 = load ptr, ptr %t1 %t13 = call i32 @lp_str_eq(ptr %t12, ptr @.str7685) %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t11 br i1 %t14, label %sc3, label %scend4 sc3: %t16 = load ptr, ptr %t0 %t17 = call ptr @fn_fixed_lit_code(ptr %t16) %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str7686) %t19 = icmp eq i32 %t18, 0 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t11 br label %scend4 scend4: %t23 = load i32, ptr %t11 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then5, label %ifend7 then5: %t25 = load ptr, ptr %t0 %t26 = call ptr @fn_fixed_lit_code(ptr %t25) store ptr %t26, ptr %retval br label %ret ifend7: %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Val, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 %t32 = call i32 @fn_is_fp(ptr %t31) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t28 br i1 %t33, label %sc8, label %scend9 sc8: %t35 = load ptr, ptr %t1 %t36 = call i32 @fn_is_fp(ptr %t35) %t37 = icmp eq i32 %t36, 0 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t28 br label %scend9 scend9: %t41 = load i32, ptr %t28 %t42 = icmp ne i32 %t41, 0 %t43 = zext i1 %t42 to i32 store i32 %t43, ptr %t27 br i1 %t42, label %sc10, label %scend11 sc10: %t44 = load ptr, ptr %t1 %t45 = call ptr @fn_llty(ptr %t44) %t46 = call i32 @lp_str_eq(ptr %t45, ptr @.str7687) %t47 = icmp eq i32 %t46, 0 %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t27 br label %scend11 scend11: %t51 = load i32, ptr %t27 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then12, label %ifend14 then12: %t53 = load ptr, ptr %t0 %t54 = getelementptr inbounds %Cmp_Val, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 %t56 = call ptr @lp_str_concat(ptr @.str7688, ptr %t55) %t57 = call ptr @lp_str_concat(ptr %t56, ptr @.str7689) %t58 = load ptr, ptr %t1 %t59 = call ptr @lp_str_concat(ptr %t57, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str7690) call void @fn_perr(ptr %t60) br label %ifend14 ifend14: %t61 = load ptr, ptr %t1 %t62 = call ptr @fn_llty(ptr %t61) store ptr %t62, ptr %t63 %t64 = load ptr, ptr %t0 %t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 %t67 = call ptr @fn_llty(ptr %t66) store ptr %t67, ptr %t68 %t69 = load ptr, ptr %t63 %t70 = load ptr, ptr %t68 %t71 = call i32 @lp_str_eq(ptr %t69, ptr %t70) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then15, label %ifend17 then15: %t73 = load ptr, ptr %t0 %t74 = getelementptr inbounds %Cmp_Val, ptr %t73, i32 0, i32 0 %t75 = load ptr, ptr %t74 store ptr %t75, ptr %retval br label %ret ifend17: %t77 = load ptr, ptr %t63 %t78 = call i32 @lp_str_eq(ptr %t77, ptr @.str7691) %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t76 br i1 %t79, label %sc18, label %scend19 sc18: %t81 = load ptr, ptr %t68 %t82 = call i32 @lp_str_eq(ptr %t81, ptr @.str7692) %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t76 br label %scend19 scend19: %t85 = load i32, ptr %t76 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then20, label %ifend22 then20: %t87 = load ptr, ptr %t0 %t88 = getelementptr inbounds %Cmp_Val, ptr %t87, i32 0, i32 0 %t89 = load ptr, ptr %t88 %t90 = call ptr @lp_str_concat(ptr @.str7693, ptr %t89) %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str7694) %t92 = call ptr @fn_emit_bind(ptr %t91) store ptr %t92, ptr %retval br label %ret ifend22: %t94 = load ptr, ptr %t63 %t95 = call i32 @lp_str_eq(ptr %t94, ptr @.str7695) %t96 = icmp ne i32 %t95, 0 %t97 = zext i1 %t96 to i32 store i32 %t97, ptr %t93 br i1 %t96, label %sc23, label %scend24 sc23: %t98 = load ptr, ptr %t68 %t99 = call i32 @lp_str_eq(ptr %t98, ptr @.str7696) %t100 = icmp ne i32 %t99, 0 %t101 = zext i1 %t100 to i32 store i32 %t101, ptr %t93 br label %scend24 scend24: %t102 = load i32, ptr %t93 %t103 = icmp ne i32 %t102, 0 br i1 %t103, label %then25, label %ifend27 then25: %t104 = load ptr, ptr %t0 %t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0 %t106 = load ptr, ptr %t105 %t107 = call ptr @lp_str_concat(ptr @.str7697, ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str7698) %t109 = call ptr @fn_emit_bind(ptr %t108) store ptr %t109, ptr %retval br label %ret ifend27: %t110 = load ptr, ptr %t0 %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0 %t112 = load ptr, ptr %t111 store ptr %t112, ptr %retval br label %ret ret: %t113 = load ptr, ptr %retval ret ptr %t113 } define ptr @fn_to_long(ptr %arg_v) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_v, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_llty(ptr %t3) %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str7699) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Val, ptr %t7, i32 0, i32 0 %t9 = load ptr, ptr %t8 store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = call ptr @lp_str_concat(ptr @.str7700, ptr %t12) %t14 = call ptr @lp_str_concat(ptr %t13, ptr @.str7701) %t15 = call ptr @fn_emit_bind(ptr %t14) store ptr %t15, ptr %retval br label %ret ret: %t16 = load ptr, ptr %retval ret ptr %t16 } define ptr @fn_emit_str_op(ptr %arg_op, ptr %arg_a, ptr %arg_b) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t29 = alloca ptr %t37 = alloca ptr store ptr %arg_op, ptr %t0 store ptr %arg_a, ptr %t1 store ptr %arg_b, ptr %t2 store i32 1, ptr @g_g_uses_str %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str7702) %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t1 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr @.str7703, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str7704) %t11 = load ptr, ptr %t2 %t12 = getelementptr inbounds %Cmp_Val, ptr %t11, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = call ptr @lp_str_concat(ptr %t10, ptr %t13) %t15 = call ptr @lp_str_concat(ptr %t14, ptr @.str7705) %t16 = call ptr @fn_emit_bind(ptr %t15) %t17 = call ptr @fn_val(ptr %t16, ptr @.str7706) store ptr %t17, ptr %retval br label %ret ifend2: %t18 = load ptr, ptr %t1 %t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = call ptr @lp_str_concat(ptr @.str7707, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str7708) %t23 = load ptr, ptr %t2 %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr %t22, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str7709) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str7710) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then3, label %ifend5 then3: %t33 = load ptr, ptr %t29 %t34 = call ptr @lp_str_concat(ptr @.str7711, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str7712) %t36 = call ptr @fn_emit_bind(ptr %t35) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 %t39 = call ptr @lp_str_concat(ptr @.str7713, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str7714) %t41 = call ptr @fn_emit_bind(ptr %t40) %t42 = call ptr @fn_val(ptr %t41, ptr @.str7715) store ptr %t42, ptr %retval br label %ret ifend5: %t43 = load ptr, ptr %t29 %t44 = call ptr @fn_val(ptr %t43, ptr @.str7716) store ptr %t44, ptr %retval br label %ret ret: %t45 = load ptr, ptr %retval ret ptr %t45 } define ptr @fn_arith_ty(ptr %arg_ty) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr %arg_ty, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str7717) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str7718) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @fn_is_fp(ptr %t14) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then4, label %ifend6 then4: %t20 = load ptr, ptr %t0 store ptr %t20, ptr %retval br label %ret ifend6: store ptr @.str7719, ptr %retval br label %ret ret: %t21 = load ptr, ptr %retval ret ptr %t21 } define ptr @fn_emit_bin(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t22 = alloca ptr %t27 = alloca ptr %t28 = alloca i32 %t48 = alloca i32 %t56 = alloca ptr %t57 = alloca i32 %t58 = alloca i32 %t78 = alloca i32 %t98 = alloca i32 %t99 = alloca i32 %t119 = alloca i32 store ptr %arg_e, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 1 %t4 = load ptr, ptr %t3 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str7720) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t1 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 %t10 = load ptr, ptr %t9 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str7721) %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br label %scend1 scend1: %t14 = load i32, ptr %t1 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then2, label %ifend4 then2: %t16 = load ptr, ptr %t0 %t17 = call ptr @fn_emit_logic(ptr %t16) store ptr %t17, ptr %retval br label %ret ifend4: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_emit_expr(ptr %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 5 %t25 = load ptr, ptr %t24 %t26 = call ptr @fn_emit_expr(ptr %t25) store ptr %t26, ptr %t27 %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 4 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 %t33 = load i32, ptr %t32 %t34 = icmp eq i32 %t33, 43 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t28 br i1 %t36, label %scend6, label %sc5 sc5: %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 5 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 0 %t42 = load i32, ptr %t41 %t43 = icmp eq i32 %t42, 43 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t28 br label %scend6 scend6: %t47 = load i32, ptr %t28 store i32 %t47, ptr %t48 %t49 = load ptr, ptr %t0 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 %t51 = load ptr, ptr %t50 %t52 = load ptr, ptr %t22 %t53 = load ptr, ptr %t27 %t54 = load i32, ptr %t48 %t55 = call ptr @fn_emit_bin_vals(ptr %t51, ptr %t52, ptr %t53, i32 %t54) store ptr %t55, ptr %t56 %t59 = load ptr, ptr %t0 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 1 %t61 = load ptr, ptr %t60 %t62 = call i32 @fn_is_cmp(ptr %t61) %t63 = icmp eq i32 %t62, 0 %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 %t66 = zext i1 %t65 to i32 store i32 %t66, ptr %t58 br i1 %t65, label %sc7, label %scend8 sc7: %t67 = load ptr, ptr %t56 %t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 1 %t69 = load ptr, ptr %t68 %t70 = call i32 @fn_is_fp(ptr %t69) %t71 = icmp eq i32 %t70, 0 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 %t74 = zext i1 %t73 to i32 store i32 %t74, ptr %t58 br label %scend8 scend8: %t75 = load i32, ptr %t58 %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t57 br i1 %t76, label %sc9, label %scend10 sc9: %t79 = load ptr, ptr %t22 %t80 = getelementptr inbounds %Cmp_Val, ptr %t79, i32 0, i32 2 %t81 = load ptr, ptr %t80 %t82 = icmp ne ptr %t81, null %t83 = zext i1 %t82 to i32 %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t78 br i1 %t84, label %scend12, label %sc11 sc11: %t86 = load ptr, ptr %t27 %t87 = getelementptr inbounds %Cmp_Val, ptr %t86, i32 0, i32 2 %t88 = load ptr, ptr %t87 %t89 = icmp ne ptr %t88, null %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t78 br label %scend12 scend12: %t93 = load i32, ptr %t78 %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t57 br label %scend10 scend10: %t96 = load i32, ptr %t57 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then13, label %ifend15 then13: %t100 = load ptr, ptr %t22 %t101 = getelementptr inbounds %Cmp_Val, ptr %t100, i32 0, i32 2 %t102 = load ptr, ptr %t101 %t103 = icmp ne ptr %t102, null %t104 = zext i1 %t103 to i32 %t105 = icmp ne i32 %t104, 0 %t106 = zext i1 %t105 to i32 store i32 %t106, ptr %t99 br i1 %t105, label %scend17, label %sc16 sc16: %t107 = load ptr, ptr %t0 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 4 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 0 %t111 = load i32, ptr %t110 %t112 = icmp eq i32 %t111, 30 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t99 br label %scend17 scend17: %t116 = load i32, ptr %t99 %t117 = icmp ne i32 %t116, 0 %t118 = zext i1 %t117 to i32 store i32 %t118, ptr %t98 br i1 %t117, label %sc18, label %scend19 sc18: %t120 = load ptr, ptr %t27 %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 2 %t122 = load ptr, ptr %t121 %t123 = icmp ne ptr %t122, null %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 %t126 = zext i1 %t125 to i32 store i32 %t126, ptr %t119 br i1 %t125, label %scend21, label %sc20 sc20: %t127 = load ptr, ptr %t0 %t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 5 %t129 = load ptr, ptr %t128 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 0 %t131 = load i32, ptr %t130 %t132 = icmp eq i32 %t131, 30 %t133 = zext i1 %t132 to i32 %t134 = icmp ne i32 %t133, 0 %t135 = zext i1 %t134 to i32 store i32 %t135, ptr %t119 br label %scend21 scend21: %t136 = load i32, ptr %t119 %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 store i32 %t138, ptr %t98 br label %scend19 scend19: %t139 = load i32, ptr %t98 %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then22, label %ifend24 then22: %t141 = load ptr, ptr %t56 %t142 = getelementptr inbounds %Cmp_Val, ptr %t141, i32 0, i32 2 %t143 = load ptr, ptr %t0 store ptr %t143, ptr %t142 br label %ifend24 ifend24: br label %ifend15 ifend15: %t144 = load ptr, ptr %t56 store ptr %t144, ptr %retval br label %ret ret: %t145 = load ptr, ptr %retval ret ptr %t145 } define i32 @fn_is_textish(ptr %arg_t) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr %arg_t, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str7722) %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t2 br i1 %t5, label %scend1, label %sc0 sc0: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str7723) %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t2 br label %scend1 scend1: %t11 = load i32, ptr %t2 %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t1 br i1 %t12, label %scend3, label %sc2 sc2: %t14 = load ptr, ptr %t0 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str7724) %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t1 br label %scend3 scend3: %t18 = load i32, ptr %t1 store i32 %t18, ptr %retval br label %ret ret: %t19 = load i32, ptr %retval ret i32 %t19 } define ptr @fn_emit_bin_vals(ptr %arg_op, ptr %arg_a, ptr %arg_b, i32 %arg_isnull) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t4 = alloca i32 %t20 = alloca i32 %t29 = alloca i32 %t30 = alloca i32 %t49 = alloca i32 %t68 = alloca i32 %t69 = alloca i32 %t86 = alloca i32 %t118 = alloca i32 %t132 = alloca i32 %t133 = alloca i32 %t134 = alloca i32 %t135 = alloca i32 %t167 = alloca i32 %t168 = alloca i32 %t193 = alloca ptr %t197 = alloca ptr %t198 = alloca ptr %t211 = alloca i32 %t241 = alloca ptr %t251 = alloca ptr %t254 = alloca ptr %t269 = alloca ptr %t272 = alloca ptr %t280 = alloca ptr %t285 = alloca ptr %t292 = alloca ptr %t297 = alloca ptr %t310 = alloca ptr %t315 = alloca ptr %t320 = alloca ptr %t327 = alloca ptr %t342 = alloca ptr %t358 = alloca ptr store ptr %arg_op, ptr %t0 store ptr %arg_a, ptr %t1 store ptr %arg_b, ptr %t2 store i32 %arg_isnull, ptr %t3 %t5 = load ptr, ptr %t1 %t6 = getelementptr inbounds %Cmp_Val, ptr %t5, i32 0, i32 1 %t7 = load ptr, ptr %t6 %t8 = call ptr @fn_llty(ptr %t7) %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str7725) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t4 br i1 %t10, label %scend1, label %sc0 sc0: %t12 = load ptr, ptr %t2 %t13 = getelementptr inbounds %Cmp_Val, ptr %t12, i32 0, i32 1 %t14 = load ptr, ptr %t13 %t15 = call ptr @fn_llty(ptr %t14) %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str7726) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t4 br label %scend1 scend1: %t19 = load i32, ptr %t4 store i32 %t19, ptr %t20 %t21 = load i32, ptr %t20 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then2, label %ifend4 then2: %t23 = load ptr, ptr %t0 %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str7727) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then5, label %ifend7 then5: %t26 = load ptr, ptr %t1 %t27 = load ptr, ptr %t2 %t28 = call ptr @fn_emit_str_op(ptr @.str7728, ptr %t26, ptr %t27) store ptr %t28, ptr %retval br label %ret ifend7: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str7729) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t30 br i1 %t33, label %scend9, label %sc8 sc8: %t35 = load ptr, ptr %t0 %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str7730) %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t30 br label %scend9 scend9: %t39 = load i32, ptr %t30 %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t29 br i1 %t40, label %sc10, label %scend11 sc10: %t42 = load i32, ptr %t3 %t43 = icmp eq i32 %t42, 0 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t29 br label %scend11 scend11: %t47 = load i32, ptr %t29 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then12, label %ifend14 then12: %t50 = load ptr, ptr %t1 %t51 = getelementptr inbounds %Cmp_Val, ptr %t50, i32 0, i32 1 %t52 = load ptr, ptr %t51 %t53 = call i32 @fn_is_textish(ptr %t52) %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t49 br i1 %t54, label %sc15, label %scend16 sc15: %t56 = load ptr, ptr %t2 %t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 1 %t58 = load ptr, ptr %t57 %t59 = call i32 @fn_is_textish(ptr %t58) %t60 = icmp ne i32 %t59, 0 %t61 = zext i1 %t60 to i32 store i32 %t61, ptr %t49 br label %scend16 scend16: %t62 = load i32, ptr %t49 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then17, label %ifend19 then17: %t64 = load ptr, ptr %t0 %t65 = load ptr, ptr %t1 %t66 = load ptr, ptr %t2 %t67 = call ptr @fn_emit_str_op(ptr %t64, ptr %t65, ptr %t66) store ptr %t67, ptr %retval br label %ret ifend19: %t70 = load ptr, ptr %t1 %t71 = getelementptr inbounds %Cmp_Val, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str7731) %t74 = icmp ne i32 %t73, 0 %t75 = zext i1 %t74 to i32 store i32 %t75, ptr %t69 br i1 %t74, label %sc20, label %scend21 sc20: %t76 = load ptr, ptr %t2 %t77 = getelementptr inbounds %Cmp_Val, ptr %t76, i32 0, i32 1 %t78 = load ptr, ptr %t77 %t79 = call ptr @fn_llty(ptr %t78) %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str7732) %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t69 br label %scend21 scend21: %t83 = load i32, ptr %t69 %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t68 br i1 %t84, label %scend23, label %sc22 sc22: %t87 = load ptr, ptr %t2 %t88 = getelementptr inbounds %Cmp_Val, ptr %t87, i32 0, i32 1 %t89 = load ptr, ptr %t88 %t90 = call i32 @lp_str_eq(ptr %t89, ptr @.str7733) %t91 = icmp ne i32 %t90, 0 %t92 = zext i1 %t91 to i32 store i32 %t92, ptr %t86 br i1 %t91, label %sc24, label %scend25 sc24: %t93 = load ptr, ptr %t1 %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 1 %t95 = load ptr, ptr %t94 %t96 = call ptr @fn_llty(ptr %t95) %t97 = call i32 @lp_str_eq(ptr %t96, ptr @.str7734) %t98 = icmp ne i32 %t97, 0 %t99 = zext i1 %t98 to i32 store i32 %t99, ptr %t86 br label %scend25 scend25: %t100 = load i32, ptr %t86 %t101 = icmp ne i32 %t100, 0 %t102 = zext i1 %t101 to i32 store i32 %t102, ptr %t68 br label %scend23 scend23: %t103 = load i32, ptr %t68 %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then26, label %ifend28 then26: %t105 = load ptr, ptr %t1 %t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 1 %t107 = load ptr, ptr %t106 %t108 = call ptr @lp_str_concat(ptr @.str7735, ptr %t107) %t109 = call ptr @lp_str_concat(ptr %t108, ptr @.str7736) %t110 = load ptr, ptr %t2 %t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 1 %t112 = load ptr, ptr %t111 %t113 = call ptr @lp_str_concat(ptr %t109, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str7737) %t115 = load ptr, ptr %t0 %t116 = call ptr @lp_str_concat(ptr %t114, ptr %t115) %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str7738) call void @fn_perr(ptr %t117) br label %ifend28 ifend28: br label %ifend14 ifend14: br label %ifend4 ifend4: %t119 = load ptr, ptr %t1 %t120 = getelementptr inbounds %Cmp_Val, ptr %t119, i32 0, i32 1 %t121 = load ptr, ptr %t120 %t122 = call i32 @lp_str_eq(ptr %t121, ptr @.str7739) %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t118 br i1 %t123, label %scend30, label %sc29 sc29: %t125 = load ptr, ptr %t2 %t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 1 %t127 = load ptr, ptr %t126 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str7740) %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t118 br label %scend30 scend30: %t131 = load i32, ptr %t118 store i32 %t131, ptr %t132 %t136 = load ptr, ptr %t1 %t137 = getelementptr inbounds %Cmp_Val, ptr %t136, i32 0, i32 1 %t138 = load ptr, ptr %t137 %t139 = call ptr @fn_llty(ptr %t138) %t140 = call i32 @lp_str_eq(ptr %t139, ptr @.str7741) %t141 = icmp ne i32 %t140, 0 %t142 = zext i1 %t141 to i32 store i32 %t142, ptr %t135 br i1 %t141, label %scend32, label %sc31 sc31: %t143 = load ptr, ptr %t2 %t144 = getelementptr inbounds %Cmp_Val, ptr %t143, i32 0, i32 1 %t145 = load ptr, ptr %t144 %t146 = call ptr @fn_llty(ptr %t145) %t147 = call i32 @lp_str_eq(ptr %t146, ptr @.str7742) %t148 = icmp ne i32 %t147, 0 %t149 = zext i1 %t148 to i32 store i32 %t149, ptr %t135 br label %scend32 scend32: %t150 = load i32, ptr %t135 %t151 = icmp ne i32 %t150, 0 %t152 = zext i1 %t151 to i32 store i32 %t152, ptr %t134 br i1 %t151, label %sc33, label %scend34 sc33: %t153 = load i32, ptr %t132 %t154 = icmp eq i32 %t153, 0 %t155 = zext i1 %t154 to i32 %t156 = icmp ne i32 %t155, 0 %t157 = zext i1 %t156 to i32 store i32 %t157, ptr %t134 br label %scend34 scend34: %t158 = load i32, ptr %t134 %t159 = icmp ne i32 %t158, 0 %t160 = zext i1 %t159 to i32 store i32 %t160, ptr %t133 br i1 %t159, label %sc35, label %scend36 sc35: %t161 = load i32, ptr %t20 %t162 = icmp eq i32 %t161, 0 %t163 = zext i1 %t162 to i32 %t164 = icmp ne i32 %t163, 0 %t165 = zext i1 %t164 to i32 store i32 %t165, ptr %t133 br label %scend36 scend36: %t166 = load i32, ptr %t133 store i32 %t166, ptr %t167 %t169 = load ptr, ptr %t1 %t170 = getelementptr inbounds %Cmp_Val, ptr %t169, i32 0, i32 1 %t171 = load ptr, ptr %t170 %t172 = call i32 @fn_is_fp(ptr %t171) %t173 = icmp ne i32 %t172, 0 %t174 = zext i1 %t173 to i32 store i32 %t174, ptr %t168 br i1 %t173, label %scend38, label %sc37 sc37: %t175 = load ptr, ptr %t2 %t176 = getelementptr inbounds %Cmp_Val, ptr %t175, i32 0, i32 1 %t177 = load ptr, ptr %t176 %t178 = call i32 @fn_is_fp(ptr %t177) %t179 = icmp ne i32 %t178, 0 %t180 = zext i1 %t179 to i32 store i32 %t180, ptr %t168 br label %scend38 scend38: %t181 = load i32, ptr %t168 %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %then39, label %ifend41 then39: %t183 = load ptr, ptr %t0 %t184 = load ptr, ptr %t1 %t185 = load ptr, ptr %t2 %t186 = call ptr @fn_emit_fp_bin(ptr %t183, ptr %t184, ptr %t185) store ptr %t186, ptr %retval br label %ret ifend41: %t187 = load ptr, ptr %t0 %t188 = call i32 @fn_is_cmp(ptr %t187) %t189 = icmp ne i32 %t188, 0 br i1 %t189, label %then42, label %ifend44 then42: %t190 = load ptr, ptr %t1 %t191 = getelementptr inbounds %Cmp_Val, ptr %t190, i32 0, i32 0 %t192 = load ptr, ptr %t191 store ptr %t192, ptr %t193 %t194 = load ptr, ptr %t2 %t195 = getelementptr inbounds %Cmp_Val, ptr %t194, i32 0, i32 0 %t196 = load ptr, ptr %t195 store ptr %t196, ptr %t197 store ptr @.str7743, ptr %t198 %t199 = load i32, ptr %t132 %t200 = icmp ne i32 %t199, 0 br i1 %t200, label %then45, label %else46 then45: %t201 = load ptr, ptr %t1 %t202 = call ptr @fn_to_fixed(ptr %t201) store ptr %t202, ptr %t193 %t203 = load ptr, ptr %t2 %t204 = call ptr @fn_to_fixed(ptr %t203) store ptr %t204, ptr %t197 br label %ifend47 else46: %t205 = load i32, ptr %t167 %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %then48, label %else49 then48: store ptr @.str7744, ptr %t198 %t207 = load ptr, ptr %t1 %t208 = call ptr @fn_to_long(ptr %t207) store ptr %t208, ptr %t193 %t209 = load ptr, ptr %t2 %t210 = call ptr @fn_to_long(ptr %t209) store ptr %t210, ptr %t197 br label %ifend50 else49: %t212 = load ptr, ptr %t1 %t213 = getelementptr inbounds %Cmp_Val, ptr %t212, i32 0, i32 1 %t214 = load ptr, ptr %t213 %t215 = call ptr @fn_llty(ptr %t214) %t216 = call i32 @lp_str_eq(ptr %t215, ptr @.str7745) %t217 = icmp ne i32 %t216, 0 %t218 = zext i1 %t217 to i32 store i32 %t218, ptr %t211 br i1 %t217, label %scend52, label %sc51 sc51: %t219 = load ptr, ptr %t2 %t220 = getelementptr inbounds %Cmp_Val, ptr %t219, i32 0, i32 1 %t221 = load ptr, ptr %t220 %t222 = call ptr @fn_llty(ptr %t221) %t223 = call i32 @lp_str_eq(ptr %t222, ptr @.str7746) %t224 = icmp ne i32 %t223, 0 %t225 = zext i1 %t224 to i32 store i32 %t225, ptr %t211 br label %scend52 scend52: %t226 = load i32, ptr %t211 %t227 = icmp ne i32 %t226, 0 br i1 %t227, label %then53, label %ifend55 then53: store ptr @.str7747, ptr %t198 br label %ifend55 ifend55: br label %ifend50 ifend50: br label %ifend47 ifend47: %t228 = load ptr, ptr %t0 %t229 = call ptr @fn_cmp_code(ptr %t228) %t230 = call ptr @lp_str_concat(ptr @.str7748, ptr %t229) %t231 = call ptr @lp_str_concat(ptr %t230, ptr @.str7749) %t232 = load ptr, ptr %t198 %t233 = call ptr @lp_str_concat(ptr %t231, ptr %t232) %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str7750) %t235 = load ptr, ptr %t193 %t236 = call ptr @lp_str_concat(ptr %t234, ptr %t235) %t237 = call ptr @lp_str_concat(ptr %t236, ptr @.str7751) %t238 = load ptr, ptr %t197 %t239 = call ptr @lp_str_concat(ptr %t237, ptr %t238) %t240 = call ptr @fn_emit_bind(ptr %t239) store ptr %t240, ptr %t241 %t242 = load ptr, ptr %t241 %t243 = call ptr @lp_str_concat(ptr @.str7752, ptr %t242) %t244 = call ptr @lp_str_concat(ptr %t243, ptr @.str7753) %t245 = call ptr @fn_emit_bind(ptr %t244) %t246 = call ptr @fn_val(ptr %t245, ptr @.str7754) store ptr %t246, ptr %retval br label %ret ifend44: %t247 = load i32, ptr %t167 %t248 = icmp ne i32 %t247, 0 br i1 %t248, label %then56, label %ifend58 then56: %t249 = load ptr, ptr %t1 %t250 = call ptr @fn_to_long(ptr %t249) store ptr %t250, ptr %t251 %t252 = load ptr, ptr %t2 %t253 = call ptr @fn_to_long(ptr %t252) store ptr %t253, ptr %t254 %t255 = load ptr, ptr %t0 %t256 = call ptr @fn_arith_code(ptr %t255) %t257 = call ptr @lp_str_concat(ptr %t256, ptr @.str7755) %t258 = load ptr, ptr %t251 %t259 = call ptr @lp_str_concat(ptr %t257, ptr %t258) %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str7756) %t261 = load ptr, ptr %t254 %t262 = call ptr @lp_str_concat(ptr %t260, ptr %t261) %t263 = call ptr @fn_emit_bind(ptr %t262) %t264 = call ptr @fn_val(ptr %t263, ptr @.str7757) store ptr %t264, ptr %retval br label %ret ifend58: %t265 = load i32, ptr %t132 %t266 = icmp ne i32 %t265, 0 br i1 %t266, label %then59, label %ifend61 then59: %t267 = load ptr, ptr %t1 %t268 = call ptr @fn_to_fixed(ptr %t267) store ptr %t268, ptr %t269 %t270 = load ptr, ptr %t2 %t271 = call ptr @fn_to_fixed(ptr %t270) store ptr %t271, ptr %t272 %t273 = load ptr, ptr %t0 %t274 = call i32 @lp_str_eq(ptr %t273, ptr @.str7758) %t275 = icmp ne i32 %t274, 0 br i1 %t275, label %then62, label %ifend64 then62: %t276 = load ptr, ptr %t269 %t277 = call ptr @lp_str_concat(ptr @.str7759, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str7760) %t279 = call ptr @fn_emit_bind(ptr %t278) store ptr %t279, ptr %t280 %t281 = load ptr, ptr %t272 %t282 = call ptr @lp_str_concat(ptr @.str7761, ptr %t281) %t283 = call ptr @lp_str_concat(ptr %t282, ptr @.str7762) %t284 = call ptr @fn_emit_bind(ptr %t283) store ptr %t284, ptr %t285 %t286 = load ptr, ptr %t280 %t287 = call ptr @lp_str_concat(ptr @.str7763, ptr %t286) %t288 = call ptr @lp_str_concat(ptr %t287, ptr @.str7764) %t289 = load ptr, ptr %t285 %t290 = call ptr @lp_str_concat(ptr %t288, ptr %t289) %t291 = call ptr @fn_emit_bind(ptr %t290) store ptr %t291, ptr %t292 %t293 = load ptr, ptr %t292 %t294 = call ptr @lp_str_concat(ptr @.str7765, ptr %t293) %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str7766) %t296 = call ptr @fn_emit_bind(ptr %t295) store ptr %t296, ptr %t297 %t298 = load ptr, ptr %t297 %t299 = call ptr @lp_str_concat(ptr @.str7767, ptr %t298) %t300 = call ptr @lp_str_concat(ptr %t299, ptr @.str7768) %t301 = call ptr @fn_emit_bind(ptr %t300) %t302 = call ptr @fn_val(ptr %t301, ptr @.str7769) store ptr %t302, ptr %retval br label %ret ifend64: %t303 = load ptr, ptr %t0 %t304 = call i32 @lp_str_eq(ptr %t303, ptr @.str7770) %t305 = icmp ne i32 %t304, 0 br i1 %t305, label %then65, label %ifend67 then65: %t306 = load ptr, ptr %t269 %t307 = call ptr @lp_str_concat(ptr @.str7771, ptr %t306) %t308 = call ptr @lp_str_concat(ptr %t307, ptr @.str7772) %t309 = call ptr @fn_emit_bind(ptr %t308) store ptr %t309, ptr %t310 %t311 = load ptr, ptr %t310 %t312 = call ptr @lp_str_concat(ptr @.str7773, ptr %t311) %t313 = call ptr @lp_str_concat(ptr %t312, ptr @.str7774) %t314 = call ptr @fn_emit_bind(ptr %t313) store ptr %t314, ptr %t315 %t316 = load ptr, ptr %t272 %t317 = call ptr @lp_str_concat(ptr @.str7775, ptr %t316) %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str7776) %t319 = call ptr @fn_emit_bind(ptr %t318) store ptr %t319, ptr %t320 %t321 = load ptr, ptr %t315 %t322 = call ptr @lp_str_concat(ptr @.str7777, ptr %t321) %t323 = call ptr @lp_str_concat(ptr %t322, ptr @.str7778) %t324 = load ptr, ptr %t320 %t325 = call ptr @lp_str_concat(ptr %t323, ptr %t324) %t326 = call ptr @fn_emit_bind(ptr %t325) store ptr %t326, ptr %t327 %t328 = load ptr, ptr %t327 %t329 = call ptr @lp_str_concat(ptr @.str7779, ptr %t328) %t330 = call ptr @lp_str_concat(ptr %t329, ptr @.str7780) %t331 = call ptr @fn_emit_bind(ptr %t330) %t332 = call ptr @fn_val(ptr %t331, ptr @.str7781) store ptr %t332, ptr %retval br label %ret ifend67: %t333 = load ptr, ptr %t0 %t334 = call ptr @fn_arith_code(ptr %t333) %t335 = call ptr @lp_str_concat(ptr %t334, ptr @.str7782) %t336 = load ptr, ptr %t269 %t337 = call ptr @lp_str_concat(ptr %t335, ptr %t336) %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str7783) %t339 = load ptr, ptr %t272 %t340 = call ptr @lp_str_concat(ptr %t338, ptr %t339) %t341 = call ptr @fn_emit_bind(ptr %t340) store ptr %t341, ptr %t342 %t343 = load ptr, ptr %t342 %t344 = call ptr @fn_val(ptr %t343, ptr @.str7784) store ptr %t344, ptr %retval br label %ret ifend61: %t345 = load ptr, ptr %t0 %t346 = call ptr @fn_arith_code(ptr %t345) %t347 = call ptr @lp_str_concat(ptr %t346, ptr @.str7785) %t348 = load ptr, ptr %t1 %t349 = getelementptr inbounds %Cmp_Val, ptr %t348, i32 0, i32 0 %t350 = load ptr, ptr %t349 %t351 = call ptr @lp_str_concat(ptr %t347, ptr %t350) %t352 = call ptr @lp_str_concat(ptr %t351, ptr @.str7786) %t353 = load ptr, ptr %t2 %t354 = getelementptr inbounds %Cmp_Val, ptr %t353, i32 0, i32 0 %t355 = load ptr, ptr %t354 %t356 = call ptr @lp_str_concat(ptr %t352, ptr %t355) %t357 = call ptr @fn_emit_bind(ptr %t356) store ptr %t357, ptr %t358 %t359 = load ptr, ptr %t358 %t360 = call ptr @fn_val(ptr %t359, ptr @.str7787) store ptr %t360, ptr %retval br label %ret ret: %t361 = load ptr, ptr %retval ret ptr %t361 } define i32 @fn_args_are_named(ptr %arg_e) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_e, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp slt i32 %t2, %t7 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %wbody1, label %wend2 wbody1: %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = load i32, ptr %t1 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t16, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str7788, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t15, i32 %t16 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 0 %t24 = load i32, ptr %t23 %t25 = icmp eq i32 %t24, 42 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t28 = load i32, ptr %t1 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t30 = load i32, ptr %retval ret i32 %t30 } define void @fn_reorder_named(ptr %arg_e, ptr %arg_labels) { entry: %t0 = alloca ptr %t1 = alloca ptr %t7 = alloca i32 %t53 = alloca ptr %t54 = alloca i32 %t62 = alloca ptr %t63 = alloca i32 store ptr %arg_e, ptr %t0 store ptr %arg_labels, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i32 @fn_args_are_named(ptr %t2) %t4 = icmp eq i32 %t3, 0 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: br label %ret ifend2: store i32 0, ptr %t7 br label %wcond3 wcond3: %t8 = load i32, ptr %t7 %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp slt i32 %t8, %t13 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %wbody4, label %wend5 wbody4: %t17 = load ptr, ptr %t0 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = load i32, ptr %t7 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t22, %t24 br i1 %t25, label %ixok6, label %ixbad7 ixbad7: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str7789, i32 %t22, i32 %t24) call void @exit(i32 1) unreachable ixok6: %t27 = getelementptr inbounds ptr, ptr %t21, i32 %t22 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 0 %t30 = load i32, ptr %t29 %t31 = icmp ne i32 %t30, 42 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then8, label %ifend10 then8: call void @fn_perr(ptr @.str7790) br label %ifend10 ifend10: %t34 = load i32, ptr %t7 %t35 = add i32 %t34, 1 store i32 %t35, ptr %t7 br label %wcond3 wend5: %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = load ptr, ptr %t1 %t42 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ne i32 %t40, %t43 %t45 = zext i1 %t44 to i32 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then11, label %ifend13 then11: call void @fn_perr(ptr @.str7791) br label %ifend13 ifend13: %t47 = getelementptr %LSlice, ptr null, i32 1 %t48 = ptrtoint ptr %t47 to i64 %t49 = call ptr @malloc(i64 %t48) %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 store ptr null, ptr %t50 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 store i32 0, ptr %t51 %t52 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 2 store i32 0, ptr %t52 store ptr %t49, ptr %t53 store i32 0, ptr %t54 br label %wcond14 wcond14: %t55 = load i32, ptr %t54 %t56 = load ptr, ptr %t1 %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp slt i32 %t55, %t58 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %wbody15, label %wend16 wbody15: store ptr null, ptr %t62 store i32 0, ptr %t63 br label %wcond17 wcond17: %t64 = load i32, ptr %t63 %t65 = load ptr, ptr %t0 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 7 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 1 %t69 = load i32, ptr %t68 %t70 = icmp slt i32 %t64, %t69 %t71 = zext i1 %t70 to i32 %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %wbody18, label %wend19 wbody18: %t73 = load ptr, ptr %t0 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 7 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0 %t77 = load ptr, ptr %t76 %t78 = load i32, ptr %t63 %t79 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 1 %t80 = load i32, ptr %t79 %t81 = icmp ult i32 %t78, %t80 br i1 %t81, label %ixok20, label %ixbad21 ixbad21: %t82 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t82, ptr @.fmt_bounds, ptr @.str7792, i32 %t78, i32 %t80) call void @exit(i32 1) unreachable ixok20: %t83 = getelementptr inbounds ptr, ptr %t77, i32 %t78 %t84 = load ptr, ptr %t83 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 1 %t86 = load ptr, ptr %t85 %t87 = load ptr, ptr %t1 %t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0 %t89 = load ptr, ptr %t88 %t90 = load i32, ptr %t54 %t91 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t92 = load i32, ptr %t91 %t93 = icmp ult i32 %t90, %t92 br i1 %t93, label %ixok22, label %ixbad23 ixbad23: %t94 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t94, ptr @.fmt_bounds, ptr @.str7793, i32 %t90, i32 %t92) call void @exit(i32 1) unreachable ixok22: %t95 = getelementptr inbounds ptr, ptr %t89, i32 %t90 %t96 = load ptr, ptr %t95 %t97 = call i32 @lp_str_eq(ptr %t86, ptr %t96) %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then24, label %ifend26 then24: %t99 = load ptr, ptr %t0 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 7 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0 %t103 = load ptr, ptr %t102 %t104 = load i32, ptr %t63 %t105 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 1 %t106 = load i32, ptr %t105 %t107 = icmp ult i32 %t104, %t106 br i1 %t107, label %ixok27, label %ixbad28 ixbad28: %t108 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str7794, i32 %t104, i32 %t106) call void @exit(i32 1) unreachable ixok27: %t109 = getelementptr inbounds ptr, ptr %t103, i32 %t104 %t110 = load ptr, ptr %t109 store ptr %t110, ptr %t62 br label %ifend26 ifend26: %t111 = load i32, ptr %t63 %t112 = add i32 %t111, 1 store i32 %t112, ptr %t63 br label %wcond17 wend19: %t113 = load ptr, ptr %t62 %t114 = icmp eq ptr %t113, null %t115 = zext i1 %t114 to i32 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then29, label %ifend31 then29: %t117 = load ptr, ptr %t1 %t118 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0 %t119 = load ptr, ptr %t118 %t120 = load i32, ptr %t54 %t121 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 1 %t122 = load i32, ptr %t121 %t123 = icmp ult i32 %t120, %t122 br i1 %t123, label %ixok32, label %ixbad33 ixbad33: %t124 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t124, ptr @.fmt_bounds, ptr @.str7796, i32 %t120, i32 %t122) call void @exit(i32 1) unreachable ixok32: %t125 = getelementptr inbounds ptr, ptr %t119, i32 %t120 %t126 = load ptr, ptr %t125 %t127 = call ptr @lp_str_concat(ptr @.str7795, ptr %t126) call void @fn_perr(ptr %t127) br label %ifend31 ifend31: %t128 = load ptr, ptr %t53 %t129 = load ptr, ptr %t62 %t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 4 %t131 = load ptr, ptr %t130 %t132 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 1 %t133 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 2 %t134 = getelementptr inbounds %LSlice, ptr %t128, i32 0, i32 0 %t135 = load i32, ptr %t132 %t136 = load i32, ptr %t133 %t137 = icmp sge i32 %t135, %t136 br i1 %t137, label %grow34, label %put35 grow34: %t138 = mul i32 %t136, 2 %t139 = icmp eq i32 %t136, 0 %t140 = select i1 %t139, i32 8, i32 %t138 %t141 = getelementptr ptr, ptr null, i32 1 %t142 = ptrtoint ptr %t141 to i64 %t143 = zext i32 %t140 to i64 %t144 = mul i64 %t143, %t142 %t145 = load ptr, ptr %t134 %t146 = call ptr @realloc(ptr %t145, i64 %t144) store ptr %t146, ptr %t134 store i32 %t140, ptr %t133 br label %put35 put35: %t147 = load ptr, ptr %t134 %t148 = getelementptr inbounds ptr, ptr %t147, i32 %t135 store ptr %t131, ptr %t148 %t149 = add i32 %t135, 1 store i32 %t149, ptr %t132 %t150 = load i32, ptr %t54 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t54 br label %wcond14 wend16: %t152 = load ptr, ptr %t0 %t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 7 %t154 = load ptr, ptr %t53 store ptr %t154, ptr %t153 br label %ret ret: ret void } define ptr @fn_param_labels(ptr %arg_fn) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 store ptr %arg_fn, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 %t3 = call ptr @malloc(i64 %t2) %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 store ptr null, ptr %t4 %t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 store i32 0, ptr %t5 %t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 2 store i32 0, ptr %t6 store ptr %t3, ptr %t7 store i32 0, ptr %t8 br label %wcond0 wcond0: %t9 = load i32, ptr %t8 %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp slt i32 %t9, %t14 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %wbody1, label %wend2 wbody1: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t8 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t23, %t25 br i1 %t26, label %ixok3, label %ixbad4 ixbad4: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str7797, i32 %t23, i32 %t25) call void @exit(i32 1) unreachable ixok3: %t28 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 5 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: %t35 = load ptr, ptr %t7 %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = load i32, ptr %t8 %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ult i32 %t41, %t43 br i1 %t44, label %ixok8, label %ixbad9 ixbad9: %t45 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str7798, i32 %t41, i32 %t43) call void @exit(i32 1) unreachable ixok8: %t46 = getelementptr inbounds ptr, ptr %t40, i32 %t41 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 1 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t51 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 2 %t52 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t53 = load i32, ptr %t50 %t54 = load i32, ptr %t51 %t55 = icmp sge i32 %t53, %t54 br i1 %t55, label %grow10, label %put11 grow10: %t56 = mul i32 %t54, 2 %t57 = icmp eq i32 %t54, 0 %t58 = select i1 %t57, i32 8, i32 %t56 %t59 = getelementptr ptr, ptr null, i32 1 %t60 = ptrtoint ptr %t59 to i64 %t61 = zext i32 %t58 to i64 %t62 = mul i64 %t61, %t60 %t63 = load ptr, ptr %t52 %t64 = call ptr @realloc(ptr %t63, i64 %t62) store ptr %t64, ptr %t52 store i32 %t58, ptr %t51 br label %put11 put11: %t65 = load ptr, ptr %t52 %t66 = getelementptr inbounds ptr, ptr %t65, i32 %t53 store ptr %t49, ptr %t66 %t67 = add i32 %t53, 1 store i32 %t67, ptr %t50 br label %ifend7 ifend7: %t68 = load i32, ptr %t8 %t69 = add i32 %t68, 1 store i32 %t69, ptr %t8 br label %wcond0 wend2: %t70 = load ptr, ptr %t7 store ptr %t70, ptr %retval br label %ret ret: %t71 = load ptr, ptr %retval ret ptr %t71 } define ptr @fn_param_types(ptr %arg_fn) { entry: %retval = alloca ptr %t0 = alloca ptr %t7 = alloca ptr %t8 = alloca i32 store ptr %arg_fn, ptr %t0 %t1 = getelementptr %LSlice, ptr null, i32 1 %t2 = ptrtoint ptr %t1 to i64 %t3 = call ptr @malloc(i64 %t2) %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0 store ptr null, ptr %t4 %t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 store i32 0, ptr %t5 %t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 2 store i32 0, ptr %t6 store ptr %t3, ptr %t7 store i32 0, ptr %t8 br label %wcond0 wcond0: %t9 = load i32, ptr %t8 %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7 %t12 = load ptr, ptr %t11 %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp slt i32 %t9, %t14 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %wbody1, label %wend2 wbody1: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t8 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t23, %t25 br i1 %t26, label %ixok3, label %ixbad4 ixbad4: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str7799, i32 %t23, i32 %t25) call void @exit(i32 1) unreachable ixok3: %t28 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 5 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then5, label %ifend7 then5: %t35 = load ptr, ptr %t7 %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = load i32, ptr %t8 %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ult i32 %t41, %t43 br i1 %t44, label %ixok8, label %ixbad9 ixbad9: %t45 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str7800, i32 %t41, i32 %t43) call void @exit(i32 1) unreachable ixok8: %t46 = getelementptr inbounds ptr, ptr %t40, i32 %t41 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t51 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 2 %t52 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t53 = load i32, ptr %t50 %t54 = load i32, ptr %t51 %t55 = icmp sge i32 %t53, %t54 br i1 %t55, label %grow10, label %put11 grow10: %t56 = mul i32 %t54, 2 %t57 = icmp eq i32 %t54, 0 %t58 = select i1 %t57, i32 8, i32 %t56 %t59 = getelementptr ptr, ptr null, i32 1 %t60 = ptrtoint ptr %t59 to i64 %t61 = zext i32 %t58 to i64 %t62 = mul i64 %t61, %t60 %t63 = load ptr, ptr %t52 %t64 = call ptr @realloc(ptr %t63, i64 %t62) store ptr %t64, ptr %t52 store i32 %t58, ptr %t51 br label %put11 put11: %t65 = load ptr, ptr %t52 %t66 = getelementptr inbounds ptr, ptr %t65, i32 %t53 store ptr %t49, ptr %t66 %t67 = add i32 %t53, 1 store i32 %t67, ptr %t50 br label %ifend7 ifend7: %t68 = load i32, ptr %t8 %t69 = add i32 %t68, 1 store i32 %t69, ptr %t8 br label %wcond0 wend2: %t70 = load ptr, ptr %t7 store ptr %t70, ptr %retval br label %ret ret: %t71 = load ptr, ptr %retval ret ptr %t71 } define void @fn_emit_expect_fail(ptr %arg_cond1, ptr %arg_msgsym, ptr %arg_got, ptr %arg_want) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t5 = alloca ptr %t7 = alloca ptr store ptr %arg_cond1, ptr %t0 store ptr %arg_msgsym, ptr %t1 store ptr %arg_got, ptr %t2 store ptr %arg_want, ptr %t3 %t4 = call ptr @fn_lbl(ptr @.str7801) store ptr %t4, ptr %t5 %t6 = call ptr @fn_lbl(ptr @.str7802) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str7803, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str7804) %t11 = load ptr, ptr %t5 %t12 = call ptr @lp_str_concat(ptr %t10, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str7805) %t14 = load ptr, ptr %t7 %t15 = call ptr @lp_str_concat(ptr %t13, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str7806) call void @fn_emit(ptr %t16) %t17 = load ptr, ptr %t7 %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str7807) call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str7808) %t19 = load ptr, ptr %t2 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str7809) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then0, label %else1 then0: %t22 = load ptr, ptr %t1 %t23 = call ptr @lp_str_concat(ptr @.str7810, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str7811) call void @fn_emit(ptr %t24) br label %ifend2 else1: %t25 = load ptr, ptr %t1 %t26 = call ptr @lp_str_concat(ptr @.str7812, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str7813) %t28 = load ptr, ptr %t2 %t29 = call ptr @lp_str_concat(ptr %t27, ptr %t28) %t30 = call ptr @lp_str_concat(ptr %t29, ptr @.str7814) %t31 = load ptr, ptr %t3 %t32 = call ptr @lp_str_concat(ptr %t30, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str7815) call void @fn_emit(ptr %t33) br label %ifend2 ifend2: %t34 = load ptr, ptr %t5 %t35 = call ptr @lp_str_concat(ptr @.str7816, ptr %t34) %t36 = call ptr @lp_str_concat(ptr %t35, ptr @.str7817) call void @fn_emit(ptr %t36) %t37 = load ptr, ptr %t5 %t38 = call ptr @lp_str_concat(ptr %t37, ptr @.str7818) call void @fn_emit(ptr %t38) br label %ret ret: ret void } define ptr @fn_ns_lower(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t3 = alloca i32 %t8 = alloca ptr %t9 = alloca i32 %t20 = alloca i32 %t21 = alloca i32 store ptr %arg_s, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_cstr_len(ptr %t1) store i32 %t2, ptr %t3 %t4 = load i32, ptr %t3 %t5 = add i32 %t4, 1 %t6 = zext i32 %t5 to i64 %t7 = call ptr @malloc(i64 %t6) store ptr %t7, ptr %t8 store i32 0, ptr %t9 br label %wcond0 wcond0: %t10 = load i32, ptr %t9 %t11 = load i32, ptr %t3 %t12 = icmp slt i32 %t10, %t11 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %wbody1, label %wend2 wbody1: %t15 = load ptr, ptr %t0 %t16 = load i32, ptr %t9 %t17 = getelementptr inbounds i8, ptr %t15, i32 %t16 %t18 = load i8, ptr %t17 %t19 = zext i8 %t18 to i32 store i32 %t19, ptr %t20 %t22 = load i32, ptr %t20 %t23 = icmp sge i32 %t22, 65 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t21 br i1 %t25, label %sc3, label %scend4 sc3: %t27 = load i32, ptr %t20 %t28 = icmp sle i32 %t27, 90 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t21 br label %scend4 scend4: %t32 = load i32, ptr %t21 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then5, label %ifend7 then5: %t34 = load i32, ptr %t20 %t35 = add i32 %t34, 32 store i32 %t35, ptr %t20 br label %ifend7 ifend7: %t36 = load ptr, ptr %t8 %t37 = load i32, ptr %t9 %t38 = getelementptr inbounds i8, ptr %t36, i32 %t37 %t39 = load i32, ptr %t20 %t40 = trunc i32 %t39 to i8 store i8 %t40, ptr %t38 %t41 = load i32, ptr %t9 %t42 = add i32 %t41, 1 store i32 %t42, ptr %t9 br label %wcond0 wend2: %t43 = load ptr, ptr %t8 %t44 = load i32, ptr %t3 %t45 = getelementptr inbounds i8, ptr %t43, i32 %t44 %t46 = trunc i32 0 to i8 store i8 %t46, ptr %t45 %t47 = load ptr, ptr %t8 store ptr %t47, ptr %retval br label %ret ret: %t48 = load ptr, ptr %retval ret ptr %t48 } define ptr @fn_emit_component_access(ptr %arg_prop, ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr %t19 = alloca ptr %t32 = alloca ptr %t61 = alloca ptr %t90 = alloca ptr %t92 = alloca ptr %t94 = alloca ptr %t143 = alloca ptr %t146 = alloca ptr %t149 = alloca ptr %t151 = alloca ptr %t153 = alloca ptr %t155 = alloca ptr %t161 = alloca ptr %t163 = alloca ptr %t170 = alloca ptr %t181 = alloca ptr %t185 = alloca ptr %t195 = alloca ptr %t199 = alloca ptr %t204 = alloca ptr %t211 = alloca ptr %t215 = alloca ptr %t222 = alloca ptr %t231 = alloca ptr %t265 = alloca ptr %t283 = alloca ptr %t295 = alloca ptr %t305 = alloca ptr %t312 = alloca ptr %t316 = alloca ptr %t321 = alloca ptr %t331 = alloca ptr %t335 = alloca ptr %t340 = alloca ptr %t347 = alloca ptr %t354 = alloca ptr store ptr %arg_prop, ptr %t0 store ptr %arg_meth, ptr %t1 store ptr %arg_e, ptr %t2 %t3 = call ptr @fn_itoa(i32 1024) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t1 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str7819) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t2 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 7 %t10 = load ptr, ptr %t9 %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t12 = load i32, ptr %t11 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then3, label %ifend5 then3: %t16 = load ptr, ptr %t0 %t17 = call ptr @lp_str_concat(ptr %t16, ptr @.str7820) call void @fn_perr(ptr %t17) br label %ifend5 ifend5: %t18 = call ptr @fn_node(i32 21) store ptr %t18, ptr %t19 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 7 %t22 = getelementptr %LSlice, ptr null, i32 1 %t23 = ptrtoint ptr %t22 to i64 %t24 = call ptr @malloc(i64 %t23) %t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0 store ptr null, ptr %t25 %t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1 store i32 0, ptr %t26 %t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 2 store i32 0, ptr %t27 store ptr %t24, ptr %t21 %t28 = load ptr, ptr %t19 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 6 %t30 = call ptr @fn_node(i32 7) store ptr %t30, ptr %t29 %t31 = call ptr @fn_node(i32 33) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 %t35 = load ptr, ptr %t0 store ptr %t35, ptr %t34 %t36 = load ptr, ptr %t19 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 6 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7 %t40 = load ptr, ptr %t39 %t41 = load ptr, ptr %t32 %t42 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t43 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 2 %t44 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t45 = load i32, ptr %t42 %t46 = load i32, ptr %t43 %t47 = icmp sge i32 %t45, %t46 br i1 %t47, label %grow6, label %put7 grow6: %t48 = mul i32 %t46, 2 %t49 = icmp eq i32 %t46, 0 %t50 = select i1 %t49, i32 8, i32 %t48 %t51 = getelementptr ptr, ptr null, i32 1 %t52 = ptrtoint ptr %t51 to i64 %t53 = zext i32 %t50 to i64 %t54 = mul i64 %t53, %t52 %t55 = load ptr, ptr %t44 %t56 = call ptr @realloc(ptr %t55, i64 %t54) store ptr %t56, ptr %t44 store i32 %t50, ptr %t43 br label %put7 put7: %t57 = load ptr, ptr %t44 %t58 = getelementptr inbounds ptr, ptr %t57, i32 %t45 store ptr %t41, ptr %t58 %t59 = add i32 %t45, 1 store i32 %t59, ptr %t42 %t60 = call ptr @fn_node(i32 33) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 store ptr @.str7821, ptr %t63 %t64 = load ptr, ptr %t19 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 %t66 = load ptr, ptr %t65 %t67 = load ptr, ptr %t61 %t68 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t69 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 2 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t71 = load i32, ptr %t68 %t72 = load i32, ptr %t69 %t73 = icmp sge i32 %t71, %t72 br i1 %t73, label %grow8, label %put9 grow8: %t74 = mul i32 %t72, 2 %t75 = icmp eq i32 %t72, 0 %t76 = select i1 %t75, i32 8, i32 %t74 %t77 = getelementptr ptr, ptr null, i32 1 %t78 = ptrtoint ptr %t77 to i64 %t79 = zext i32 %t76 to i64 %t80 = mul i64 %t79, %t78 %t81 = load ptr, ptr %t70 %t82 = call ptr @realloc(ptr %t81, i64 %t80) store ptr %t82, ptr %t70 store i32 %t76, ptr %t69 br label %put9 put9: %t83 = load ptr, ptr %t70 %t84 = getelementptr inbounds ptr, ptr %t83, i32 %t71 store ptr %t67, ptr %t84 %t85 = add i32 %t71, 1 store i32 %t85, ptr %t68 %t86 = load ptr, ptr %t19 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 4 %t88 = call ptr @fn_node(i32 7) store ptr %t88, ptr %t87 %t89 = call ptr @fn_node(i32 23) store ptr %t89, ptr %t90 %t91 = call ptr @fn_node(i32 34) store ptr %t91, ptr %t92 %t93 = call ptr @fn_node(i32 33) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t94 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 store ptr @.str7822, ptr %t96 %t97 = load ptr, ptr %t92 %t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 4 %t99 = load ptr, ptr %t94 store ptr %t99, ptr %t98 %t100 = load ptr, ptr %t90 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 4 %t102 = load ptr, ptr %t92 store ptr %t102, ptr %t101 %t103 = load ptr, ptr %t19 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 4 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 7 %t107 = load ptr, ptr %t106 %t108 = load ptr, ptr %t90 %t109 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 1 %t110 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 2 %t111 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0 %t112 = load i32, ptr %t109 %t113 = load i32, ptr %t110 %t114 = icmp sge i32 %t112, %t113 br i1 %t114, label %grow10, label %put11 grow10: %t115 = mul i32 %t113, 2 %t116 = icmp eq i32 %t113, 0 %t117 = select i1 %t116, i32 8, i32 %t115 %t118 = getelementptr ptr, ptr null, i32 1 %t119 = ptrtoint ptr %t118 to i64 %t120 = zext i32 %t117 to i64 %t121 = mul i64 %t120, %t119 %t122 = load ptr, ptr %t111 %t123 = call ptr @realloc(ptr %t122, i64 %t121) store ptr %t123, ptr %t111 store i32 %t117, ptr %t110 br label %put11 put11: %t124 = load ptr, ptr %t111 %t125 = getelementptr inbounds ptr, ptr %t124, i32 %t112 store ptr %t108, ptr %t125 %t126 = add i32 %t112, 1 store i32 %t126, ptr %t109 %t127 = load ptr, ptr %t19 call void @fn_emit_query(ptr %t127) %t128 = call ptr @fn_val(ptr @.str7823, ptr @.str7824) store ptr %t128, ptr %retval br label %ret ifend2: %t129 = load ptr, ptr %t1 %t130 = call i32 @lp_str_eq(ptr %t129, ptr @.str7825) %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then12, label %ifend14 then12: %t132 = load ptr, ptr %t2 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 1 %t136 = load i32, ptr %t135 %t137 = icmp ne i32 %t136, 0 %t138 = zext i1 %t137 to i32 %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then15, label %ifend17 then15: %t140 = load ptr, ptr %t0 %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str7826) call void @fn_perr(ptr %t141) br label %ifend17 ifend17: %t142 = call ptr @fn_emit_alloca(ptr @.str7827) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t143 call void @fn_store_at(ptr @.str7828, ptr @.str7829, ptr %t144) %t145 = call ptr @fn_emit_alloca(ptr @.str7830) store ptr %t145, ptr %t146 %t147 = load ptr, ptr %t146 call void @fn_store_at(ptr @.str7831, ptr @.str7832, ptr %t147) %t148 = call ptr @fn_lbl(ptr @.str7833) store ptr %t148, ptr %t149 %t150 = call ptr @fn_lbl(ptr @.str7834) store ptr %t150, ptr %t151 %t152 = call ptr @fn_lbl(ptr @.str7835) store ptr %t152, ptr %t153 %t154 = call ptr @fn_lbl(ptr @.str7836) store ptr %t154, ptr %t155 call void @fn_emit(ptr @.str7837) %t156 = load ptr, ptr %t149 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str7838) %t157 = load ptr, ptr %t149 call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str7839) %t158 = load ptr, ptr %t143 %t159 = call ptr @lp_str_concat(ptr @.str7840, ptr %t158) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 %t162 = call ptr @fn_emit_bind(ptr @.str7841) store ptr %t162, ptr %t163 %t164 = load ptr, ptr %t161 %t165 = call ptr @lp_str_concat(ptr @.str7842, ptr %t164) %t166 = call ptr @lp_str_concat(ptr %t165, ptr @.str7843) %t167 = load ptr, ptr %t163 %t168 = call ptr @lp_str_concat(ptr %t166, ptr %t167) %t169 = call ptr @fn_emit_bind(ptr %t168) store ptr %t169, ptr %t170 call void @fn_emit(ptr @.str7844) %t171 = load ptr, ptr %t170 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str7845) %t172 = load ptr, ptr %t151 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str7846) %t173 = load ptr, ptr %t155 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str7847) %t174 = load ptr, ptr %t151 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str7848) %t175 = load ptr, ptr %t4 %t176 = call ptr @lp_str_concat(ptr @.str7849, ptr %t175) %t177 = call ptr @lp_str_concat(ptr %t176, ptr @.str7850) %t178 = load ptr, ptr %t161 %t179 = call ptr @lp_str_concat(ptr %t177, ptr %t178) %t180 = call ptr @fn_emit_bind(ptr %t179) store ptr %t180, ptr %t181 %t182 = load ptr, ptr %t181 %t183 = call ptr @lp_str_concat(ptr @.str7851, ptr %t182) %t184 = call ptr @fn_emit_bind(ptr %t183) store ptr %t184, ptr %t185 %t186 = load ptr, ptr %t4 %t187 = call ptr @lp_str_concat(ptr @.str7852, ptr %t186) %t188 = call ptr @lp_str_concat(ptr %t187, ptr @.str7853) %t189 = load ptr, ptr %t0 %t190 = call ptr @lp_str_concat(ptr %t188, ptr %t189) %t191 = call ptr @lp_str_concat(ptr %t190, ptr @.str7854) %t192 = load ptr, ptr %t161 %t193 = call ptr @lp_str_concat(ptr %t191, ptr %t192) %t194 = call ptr @fn_emit_bind(ptr %t193) store ptr %t194, ptr %t195 %t196 = load ptr, ptr %t195 %t197 = call ptr @lp_str_concat(ptr @.str7855, ptr %t196) %t198 = call ptr @fn_emit_bind(ptr %t197) store ptr %t198, ptr %t199 %t200 = load ptr, ptr %t199 %t201 = call ptr @lp_str_concat(ptr @.str7856, ptr %t200) %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str7857) %t203 = call ptr @fn_emit_bind(ptr %t202) store ptr %t203, ptr %t204 %t205 = load ptr, ptr %t185 %t206 = call ptr @lp_str_concat(ptr @.str7858, ptr %t205) %t207 = call ptr @lp_str_concat(ptr %t206, ptr @.str7859) %t208 = load ptr, ptr %t204 %t209 = call ptr @lp_str_concat(ptr %t207, ptr %t208) %t210 = call ptr @fn_emit_bind(ptr %t209) store ptr %t210, ptr %t211 %t212 = load ptr, ptr %t146 %t213 = call ptr @lp_str_concat(ptr @.str7860, ptr %t212) %t214 = call ptr @fn_emit_bind(ptr %t213) store ptr %t214, ptr %t215 %t216 = load ptr, ptr %t215 %t217 = call ptr @lp_str_concat(ptr @.str7861, ptr %t216) %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str7862) %t219 = load ptr, ptr %t211 %t220 = call ptr @lp_str_concat(ptr %t218, ptr %t219) %t221 = call ptr @fn_emit_bind(ptr %t220) store ptr %t221, ptr %t222 %t223 = load ptr, ptr %t222 %t224 = load ptr, ptr %t146 call void @fn_store_at(ptr @.str7863, ptr %t223, ptr %t224) call void @fn_emit(ptr @.str7864) %t225 = load ptr, ptr %t153 call void @fn_emit(ptr %t225) call void @fn_emit(ptr @.str7865) %t226 = load ptr, ptr %t153 call void @fn_emit(ptr %t226) call void @fn_emit(ptr @.str7866) %t227 = load ptr, ptr %t161 %t228 = call ptr @lp_str_concat(ptr @.str7867, ptr %t227) %t229 = call ptr @lp_str_concat(ptr %t228, ptr @.str7868) %t230 = call ptr @fn_emit_bind(ptr %t229) store ptr %t230, ptr %t231 %t232 = load ptr, ptr %t231 %t233 = load ptr, ptr %t143 call void @fn_store_at(ptr @.str7869, ptr %t232, ptr %t233) call void @fn_emit(ptr @.str7870) %t234 = load ptr, ptr %t149 call void @fn_emit(ptr %t234) call void @fn_emit(ptr @.str7871) %t235 = load ptr, ptr %t155 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str7872) %t236 = load ptr, ptr %t146 %t237 = call ptr @lp_str_concat(ptr @.str7873, ptr %t236) %t238 = call ptr @fn_emit_bind(ptr %t237) %t239 = call ptr @fn_val(ptr %t238, ptr @.str7874) store ptr %t239, ptr %retval br label %ret ifend14: %t240 = load ptr, ptr %t2 %t241 = getelementptr inbounds %Cmp_Node, ptr %t240, i32 0, i32 7 %t242 = load ptr, ptr %t241 %t243 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 1 %t244 = load i32, ptr %t243 %t245 = icmp ne i32 %t244, 1 %t246 = zext i1 %t245 to i32 %t247 = icmp ne i32 %t246, 0 br i1 %t247, label %then18, label %ifend20 then18: %t248 = load ptr, ptr %t0 %t249 = call ptr @lp_str_concat(ptr %t248, ptr @.str7875) %t250 = load ptr, ptr %t1 %t251 = call ptr @lp_str_concat(ptr %t249, ptr %t250) %t252 = call ptr @lp_str_concat(ptr %t251, ptr @.str7876) call void @fn_perr(ptr %t252) br label %ifend20 ifend20: %t253 = load ptr, ptr %t2 %t254 = getelementptr inbounds %Cmp_Node, ptr %t253, i32 0, i32 7 %t255 = load ptr, ptr %t254 %t256 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 0 %t257 = load ptr, ptr %t256 %t258 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 1 %t259 = load i32, ptr %t258 %t260 = icmp ult i32 0, %t259 br i1 %t260, label %ixok21, label %ixbad22 ixbad22: %t261 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t261, ptr @.fmt_bounds, ptr @.str7877, i32 0, i32 %t259) call void @exit(i32 1) unreachable ixok21: %t262 = getelementptr inbounds ptr, ptr %t257, i32 0 %t263 = load ptr, ptr %t262 %t264 = call ptr @fn_emit_expr(ptr %t263) store ptr %t264, ptr %t265 %t266 = load ptr, ptr %t1 %t267 = call i32 @lp_str_eq(ptr %t266, ptr @.str7878) %t268 = icmp ne i32 %t267, 0 br i1 %t268, label %then23, label %ifend25 then23: %t269 = load ptr, ptr %t4 %t270 = call ptr @lp_str_concat(ptr @.str7879, ptr %t269) %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str7880) %t272 = load ptr, ptr %t0 %t273 = call ptr @lp_str_concat(ptr %t271, ptr %t272) %t274 = call ptr @lp_str_concat(ptr %t273, ptr @.str7881) %t275 = load ptr, ptr %t0 %t276 = call ptr @lp_str_concat(ptr %t274, ptr %t275) %t277 = call ptr @lp_str_concat(ptr %t276, ptr @.str7882) %t278 = load ptr, ptr %t265 %t279 = getelementptr inbounds %Cmp_Val, ptr %t278, i32 0, i32 0 %t280 = load ptr, ptr %t279 %t281 = call ptr @lp_str_concat(ptr %t277, ptr %t280) %t282 = call ptr @fn_emit_bind(ptr %t281) store ptr %t282, ptr %t283 %t284 = load ptr, ptr %t283 %t285 = load ptr, ptr %t0 %t286 = call ptr @fn_val(ptr %t284, ptr %t285) store ptr %t286, ptr %retval br label %ret ifend25: %t287 = load ptr, ptr %t265 %t288 = getelementptr inbounds %Cmp_Val, ptr %t287, i32 0, i32 0 %t289 = load ptr, ptr %t288 %t290 = call ptr @lp_str_concat(ptr @.str7883, ptr %t289) %t291 = call ptr @lp_str_concat(ptr %t290, ptr @.str7884) %t292 = load ptr, ptr %t4 %t293 = call ptr @lp_str_concat(ptr %t291, ptr %t292) %t294 = call ptr @fn_emit_bind(ptr %t293) store ptr %t294, ptr %t295 %t296 = load ptr, ptr %t295 %t297 = call ptr @lp_str_concat(ptr @.str7885, ptr %t296) %t298 = call ptr @lp_str_concat(ptr %t297, ptr @.str7886) %t299 = load ptr, ptr %t265 %t300 = getelementptr inbounds %Cmp_Val, ptr %t299, i32 0, i32 0 %t301 = load ptr, ptr %t300 %t302 = call ptr @lp_str_concat(ptr %t298, ptr %t301) %t303 = call ptr @lp_str_concat(ptr %t302, ptr @.str7887) %t304 = call ptr @fn_emit_bind(ptr %t303) store ptr %t304, ptr %t305 %t306 = load ptr, ptr %t4 %t307 = call ptr @lp_str_concat(ptr @.str7888, ptr %t306) %t308 = call ptr @lp_str_concat(ptr %t307, ptr @.str7889) %t309 = load ptr, ptr %t305 %t310 = call ptr @lp_str_concat(ptr %t308, ptr %t309) %t311 = call ptr @fn_emit_bind(ptr %t310) store ptr %t311, ptr %t312 %t313 = load ptr, ptr %t312 %t314 = call ptr @lp_str_concat(ptr @.str7890, ptr %t313) %t315 = call ptr @fn_emit_bind(ptr %t314) store ptr %t315, ptr %t316 %t317 = load ptr, ptr %t316 %t318 = call ptr @lp_str_concat(ptr @.str7891, ptr %t317) %t319 = call ptr @lp_str_concat(ptr %t318, ptr @.str7892) %t320 = call ptr @fn_emit_bind(ptr %t319) store ptr %t320, ptr %t321 %t322 = load ptr, ptr %t4 %t323 = call ptr @lp_str_concat(ptr @.str7893, ptr %t322) %t324 = call ptr @lp_str_concat(ptr %t323, ptr @.str7894) %t325 = load ptr, ptr %t0 %t326 = call ptr @lp_str_concat(ptr %t324, ptr %t325) %t327 = call ptr @lp_str_concat(ptr %t326, ptr @.str7895) %t328 = load ptr, ptr %t305 %t329 = call ptr @lp_str_concat(ptr %t327, ptr %t328) %t330 = call ptr @fn_emit_bind(ptr %t329) store ptr %t330, ptr %t331 %t332 = load ptr, ptr %t331 %t333 = call ptr @lp_str_concat(ptr @.str7896, ptr %t332) %t334 = call ptr @fn_emit_bind(ptr %t333) store ptr %t334, ptr %t335 %t336 = load ptr, ptr %t335 %t337 = call ptr @lp_str_concat(ptr @.str7897, ptr %t336) %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str7898) %t339 = call ptr @fn_emit_bind(ptr %t338) store ptr %t339, ptr %t340 %t341 = load ptr, ptr %t295 %t342 = call ptr @lp_str_concat(ptr @.str7899, ptr %t341) %t343 = call ptr @lp_str_concat(ptr %t342, ptr @.str7900) %t344 = load ptr, ptr %t321 %t345 = call ptr @lp_str_concat(ptr %t343, ptr %t344) %t346 = call ptr @fn_emit_bind(ptr %t345) store ptr %t346, ptr %t347 %t348 = load ptr, ptr %t347 %t349 = call ptr @lp_str_concat(ptr @.str7901, ptr %t348) %t350 = call ptr @lp_str_concat(ptr %t349, ptr @.str7902) %t351 = load ptr, ptr %t340 %t352 = call ptr @lp_str_concat(ptr %t350, ptr %t351) %t353 = call ptr @fn_emit_bind(ptr %t352) store ptr %t353, ptr %t354 %t355 = load ptr, ptr %t354 %t356 = call ptr @lp_str_concat(ptr @.str7903, ptr %t355) %t357 = call ptr @lp_str_concat(ptr %t356, ptr @.str7904) %t358 = call ptr @fn_emit_bind(ptr %t357) %t359 = call ptr @fn_val(ptr %t358, ptr @.str7905) store ptr %t359, ptr %retval br label %ret ret: %t360 = load ptr, ptr %retval ret ptr %t360 } define i32 @fn_first_arg_is_text(ptr %arg_e) { entry: %retval = alloca i32 %t0 = alloca ptr %t20 = alloca ptr %t43 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp eq i32 %t5, 0 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: store i32 0, ptr %retval br label %ret ifend2: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 0, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str7906, i32 0, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t13, i32 0 %t19 = load ptr, ptr %t18 store ptr %t19, ptr %t20 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 42 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then5, label %ifend7 then5: %t27 = load ptr, ptr %t20 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 %t30 = call i32 @lp_str_eq(ptr %t29, ptr @.str7907) %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: %t32 = load ptr, ptr %t20 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 4 %t34 = load ptr, ptr %t33 store ptr %t34, ptr %t20 br label %ifend7 ifend7: %t35 = load ptr, ptr %t20 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 0 %t37 = load i32, ptr %t36 %t38 = icmp eq i32 %t37, 31 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then11, label %ifend13 then11: store i32 1, ptr %retval br label %ret ifend13: %t41 = load ptr, ptr %t20 %t42 = call ptr @fn_static_type(ptr %t41) store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = icmp eq ptr %t44, null %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then14, label %ifend16 then14: store i32 0, ptr %retval br label %ret ifend16: %t48 = load ptr, ptr %t43 %t49 = call i32 @lp_str_eq(ptr %t48, ptr @.str7908) store i32 %t49, ptr %retval br label %ret ret: %t50 = load i32, ptr %retval ret i32 %t50 } define ptr @fn_emit_ns_call(ptr %arg_ns, ptr %arg_meth, ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t10 = alloca i32 %t11 = alloca i32 %t12 = alloca i32 %t360 = alloca ptr %t380 = alloca ptr %t392 = alloca ptr %t399 = alloca i32 %t440 = alloca ptr %t442 = alloca ptr %t452 = alloca ptr %t459 = alloca ptr %t3460 = alloca ptr %t3471 = alloca ptr %t3524 = alloca ptr %t3537 = alloca ptr %t3544 = alloca ptr %t3546 = alloca ptr %t3553 = alloca ptr %t3562 = alloca ptr %t3571 = alloca ptr %t3576 = alloca ptr %t3581 = alloca ptr %t3601 = alloca ptr %t3643 = alloca ptr %t15781 = alloca i32 %t15797 = alloca ptr %t15810 = alloca ptr %t15811 = alloca i32 %t15850 = alloca i32 %t15866 = alloca ptr %t15879 = alloca ptr %t15880 = alloca i32 %t15919 = alloca i32 %t15936 = alloca i32 %t15958 = alloca ptr %t15965 = alloca ptr %t15966 = alloca i32 %t16017 = alloca ptr store ptr %arg_ns, ptr %t0 store ptr %arg_meth, ptr %t1 store ptr %arg_e, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = call ptr @fn_find_comp(ptr %t4) %t6 = icmp ne ptr %t5, null %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t3 br i1 %t8, label %sc0, label %scend1 sc0: %t13 = load ptr, ptr %t1 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str7909) %t15 = icmp ne i32 %t14, 0 %t16 = zext i1 %t15 to i32 store i32 %t16, ptr %t12 br i1 %t15, label %scend3, label %sc2 sc2: %t17 = load ptr, ptr %t1 %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str7910) %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t12 br label %scend3 scend3: %t21 = load i32, ptr %t12 %t22 = icmp ne i32 %t21, 0 %t23 = zext i1 %t22 to i32 store i32 %t23, ptr %t11 br i1 %t22, label %scend5, label %sc4 sc4: %t24 = load ptr, ptr %t1 %t25 = call i32 @lp_str_eq(ptr %t24, ptr @.str7911) %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t11 br label %scend5 scend5: %t28 = load i32, ptr %t11 %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t10 br i1 %t29, label %scend7, label %sc6 sc6: %t31 = load ptr, ptr %t1 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str7912) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t10 br label %scend7 scend7: %t35 = load i32, ptr %t10 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t3 br label %scend1 scend1: %t38 = load i32, ptr %t3 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then8, label %ifend10 then8: %t40 = load ptr, ptr %t0 %t41 = call ptr @fn_ns_lower(ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str7913) %t43 = load ptr, ptr %t1 %t44 = call ptr @lp_str_concat(ptr %t42, ptr %t43) %t45 = call ptr @fn_find_fn(ptr %t44) %t46 = icmp eq ptr %t45, null %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then11, label %ifend13 then11: %t49 = load ptr, ptr %t0 %t50 = load ptr, ptr %t1 %t51 = load ptr, ptr %t2 %t52 = call ptr @fn_emit_component_access(ptr %t49, ptr %t50, ptr %t51) store ptr %t52, ptr %retval br label %ret ifend13: br label %ifend10 ifend10: %t53 = load ptr, ptr %t0 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str7914) %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then14, label %ifend16 then14: %t56 = load ptr, ptr %t1 %t57 = call i32 @fn_is_math_ns(ptr %t56) %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then17, label %ifend19 then17: %t59 = load ptr, ptr %t1 %t60 = load ptr, ptr %t2 %t61 = call ptr @fn_emit_math_ns(ptr %t59, ptr %t60) store ptr %t61, ptr %retval br label %ret ifend19: %t62 = load ptr, ptr %t1 %t63 = call ptr @lp_str_concat(ptr @.str7915, ptr %t62) call void @fn_perr(ptr %t63) br label %ifend16 ifend16: %t64 = load ptr, ptr %t0 %t65 = call i32 @lp_str_eq(ptr %t64, ptr @.str7916) %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then20, label %ifend22 then20: %t67 = load ptr, ptr %t1 %t68 = call i32 @fn_is_text_ns(ptr %t67) %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then23, label %ifend25 then23: %t70 = load ptr, ptr %t1 %t71 = load ptr, ptr %t2 %t72 = call ptr @fn_emit_text_ns(ptr %t70, ptr %t71) store ptr %t72, ptr %retval br label %ret ifend25: %t73 = load ptr, ptr %t1 %t74 = call ptr @lp_str_concat(ptr @.str7917, ptr %t73) call void @fn_perr(ptr %t74) br label %ifend22 ifend22: %t75 = load ptr, ptr %t0 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str7918) %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then26, label %ifend28 then26: %t78 = load ptr, ptr %t1 %t79 = call i32 @fn_is_list_ns(ptr %t78) %t80 = icmp ne i32 %t79, 0 br i1 %t80, label %then29, label %ifend31 then29: %t81 = load ptr, ptr %t1 %t82 = load ptr, ptr %t2 %t83 = call ptr @fn_emit_list_ns(ptr %t81, ptr %t82) store ptr %t83, ptr %retval br label %ret ifend31: %t84 = load ptr, ptr %t1 %t85 = call ptr @lp_str_concat(ptr @.str7919, ptr %t84) call void @fn_perr(ptr %t85) br label %ifend28 ifend28: %t86 = load ptr, ptr %t0 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str7920) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then32, label %ifend34 then32: %t89 = load ptr, ptr %t1 %t90 = call i32 @fn_is_ease_ns(ptr %t89) %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then35, label %ifend37 then35: %t92 = load ptr, ptr %t1 %t93 = load ptr, ptr %t2 %t94 = call ptr @fn_emit_ease_ns(ptr %t92, ptr %t93) store ptr %t94, ptr %retval br label %ret ifend37: %t95 = load ptr, ptr %t1 %t96 = call ptr @lp_str_concat(ptr @.str7921, ptr %t95) call void @fn_perr(ptr %t96) br label %ifend34 ifend34: %t97 = load ptr, ptr %t0 %t98 = call i32 @lp_str_eq(ptr %t97, ptr @.str7922) %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then38, label %ifend40 then38: %t100 = load ptr, ptr %t1 %t101 = call i32 @fn_is_anim_ns(ptr %t100) %t102 = icmp ne i32 %t101, 0 br i1 %t102, label %then41, label %ifend43 then41: %t103 = load ptr, ptr %t1 %t104 = load ptr, ptr %t2 %t105 = call ptr @fn_emit_anim_ns(ptr %t103, ptr %t104) store ptr %t105, ptr %retval br label %ret ifend43: br label %ifend40 ifend40: %t106 = load ptr, ptr %t0 %t107 = call i32 @lp_str_eq(ptr %t106, ptr @.str7923) %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then44, label %ifend46 then44: %t109 = load ptr, ptr %t1 %t110 = call i32 @fn_is_tween_ns(ptr %t109) %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then47, label %ifend49 then47: %t112 = load ptr, ptr %t1 %t113 = load ptr, ptr %t2 %t114 = call ptr @fn_emit_tween_ns(ptr %t112, ptr %t113) store ptr %t114, ptr %retval br label %ret ifend49: br label %ifend46 ifend46: %t115 = load ptr, ptr %t0 %t116 = call i32 @lp_str_eq(ptr %t115, ptr @.str7924) %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then50, label %ifend52 then50: %t118 = load ptr, ptr %t1 %t119 = call i32 @fn_is_collide_ns(ptr %t118) %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then53, label %ifend55 then53: %t121 = load ptr, ptr %t1 %t122 = load ptr, ptr %t2 %t123 = call ptr @fn_emit_collide_ns(ptr %t121, ptr %t122) store ptr %t123, ptr %retval br label %ret ifend55: %t124 = load ptr, ptr %t1 %t125 = call ptr @lp_str_concat(ptr @.str7925, ptr %t124) call void @fn_perr(ptr %t125) br label %ifend52 ifend52: %t126 = load ptr, ptr %t0 %t127 = call i32 @lp_str_eq(ptr %t126, ptr @.str7926) %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then56, label %ifend58 then56: %t129 = load ptr, ptr %t1 %t130 = call i32 @fn_is_mem_ns(ptr %t129) %t131 = icmp ne i32 %t130, 0 br i1 %t131, label %then59, label %ifend61 then59: %t132 = load ptr, ptr %t1 %t133 = load ptr, ptr %t2 %t134 = call ptr @fn_emit_mem_ns(ptr %t132, ptr %t133) store ptr %t134, ptr %retval br label %ret ifend61: %t135 = load ptr, ptr %t1 %t136 = call ptr @lp_str_concat(ptr @.str7927, ptr %t135) call void @fn_perr(ptr %t136) br label %ifend58 ifend58: %t137 = load ptr, ptr %t0 %t138 = call i32 @lp_str_eq(ptr %t137, ptr @.str7928) %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then62, label %ifend64 then62: %t140 = load ptr, ptr %t1 %t141 = call i32 @fn_is_colorfn_ns(ptr %t140) %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then65, label %ifend67 then65: %t143 = load ptr, ptr %t1 %t144 = load ptr, ptr %t2 %t145 = call ptr @fn_emit_colorfn_ns(ptr %t143, ptr %t144) store ptr %t145, ptr %retval br label %ret ifend67: %t146 = load ptr, ptr %t1 %t147 = call ptr @lp_str_concat(ptr @.str7929, ptr %t146) call void @fn_perr(ptr %t147) br label %ifend64 ifend64: %t148 = load ptr, ptr %t0 %t149 = call i32 @lp_str_eq(ptr %t148, ptr @.str7930) %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %then68, label %ifend70 then68: %t151 = load ptr, ptr %t1 %t152 = call i32 @fn_is_time_ns(ptr %t151) %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %then71, label %ifend73 then71: %t154 = load ptr, ptr %t1 %t155 = load ptr, ptr %t2 %t156 = call ptr @fn_emit_time_ns(ptr %t154, ptr %t155) store ptr %t156, ptr %retval br label %ret ifend73: %t157 = load ptr, ptr %t1 %t158 = call ptr @lp_str_concat(ptr @.str7931, ptr %t157) call void @fn_perr(ptr %t158) br label %ifend70 ifend70: %t159 = load ptr, ptr %t0 %t160 = call i32 @lp_str_eq(ptr %t159, ptr @.str7932) %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then74, label %ifend76 then74: %t162 = load ptr, ptr %t1 %t163 = call i32 @fn_is_hash_ns(ptr %t162) %t164 = icmp ne i32 %t163, 0 br i1 %t164, label %then77, label %ifend79 then77: %t165 = load ptr, ptr %t1 %t166 = load ptr, ptr %t2 %t167 = call ptr @fn_emit_hash_ns(ptr %t165, ptr %t166) store ptr %t167, ptr %retval br label %ret ifend79: %t168 = load ptr, ptr %t1 %t169 = call ptr @lp_str_concat(ptr @.str7933, ptr %t168) call void @fn_perr(ptr %t169) br label %ifend76 ifend76: %t170 = load ptr, ptr %t0 %t171 = call i32 @lp_str_eq(ptr %t170, ptr @.str7934) %t172 = icmp ne i32 %t171, 0 br i1 %t172, label %then80, label %ifend82 then80: %t173 = load ptr, ptr %t1 %t174 = call i32 @fn_is_crypto_ns(ptr %t173) %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then83, label %ifend85 then83: %t176 = load ptr, ptr %t1 %t177 = load ptr, ptr %t2 %t178 = call ptr @fn_emit_crypto_ns(ptr %t176, ptr %t177) store ptr %t178, ptr %retval br label %ret ifend85: %t179 = load ptr, ptr %t1 %t180 = call ptr @lp_str_concat(ptr @.str7935, ptr %t179) call void @fn_perr(ptr %t180) br label %ifend82 ifend82: %t181 = load ptr, ptr %t0 %t182 = call i32 @lp_str_eq(ptr %t181, ptr @.str7936) %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then86, label %ifend88 then86: %t184 = load ptr, ptr %t1 %t185 = call i32 @fn_is_uuid_ns(ptr %t184) %t186 = icmp ne i32 %t185, 0 br i1 %t186, label %then89, label %ifend91 then89: %t187 = load ptr, ptr %t1 %t188 = load ptr, ptr %t2 %t189 = call ptr @fn_emit_uuid_ns(ptr %t187, ptr %t188) store ptr %t189, ptr %retval br label %ret ifend91: %t190 = load ptr, ptr %t1 %t191 = call ptr @lp_str_concat(ptr @.str7937, ptr %t190) call void @fn_perr(ptr %t191) br label %ifend88 ifend88: %t192 = load ptr, ptr %t0 %t193 = call i32 @lp_str_eq(ptr %t192, ptr @.str7938) %t194 = icmp ne i32 %t193, 0 br i1 %t194, label %then92, label %ifend94 then92: %t195 = load ptr, ptr %t1 %t196 = call i32 @fn_is_noise_ns(ptr %t195) %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then95, label %ifend97 then95: %t198 = load ptr, ptr %t1 %t199 = load ptr, ptr %t2 %t200 = call ptr @fn_emit_noise_ns(ptr %t198, ptr %t199) store ptr %t200, ptr %retval br label %ret ifend97: %t201 = load ptr, ptr %t1 %t202 = call ptr @lp_str_concat(ptr @.str7939, ptr %t201) call void @fn_perr(ptr %t202) br label %ifend94 ifend94: %t203 = load ptr, ptr %t0 %t204 = call i32 @lp_str_eq(ptr %t203, ptr @.str7940) %t205 = icmp ne i32 %t204, 0 br i1 %t205, label %then98, label %ifend100 then98: %t206 = load ptr, ptr %t1 %t207 = call i32 @fn_is_log_ns(ptr %t206) %t208 = icmp ne i32 %t207, 0 br i1 %t208, label %then101, label %ifend103 then101: %t209 = load ptr, ptr %t1 %t210 = load ptr, ptr %t2 %t211 = call ptr @fn_emit_log_ns(ptr %t209, ptr %t210) store ptr %t211, ptr %retval br label %ret ifend103: %t212 = load ptr, ptr %t1 %t213 = call ptr @lp_str_concat(ptr @.str7941, ptr %t212) call void @fn_perr(ptr %t213) br label %ifend100 ifend100: %t214 = load ptr, ptr %t0 %t215 = call i32 @lp_str_eq(ptr %t214, ptr @.str7942) %t216 = icmp ne i32 %t215, 0 br i1 %t216, label %then104, label %ifend106 then104: %t217 = load ptr, ptr %t1 %t218 = call i32 @fn_is_os_ns(ptr %t217) %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %then107, label %ifend109 then107: %t220 = load ptr, ptr %t1 %t221 = load ptr, ptr %t2 %t222 = call ptr @fn_emit_os_ns(ptr %t220, ptr %t221) store ptr %t222, ptr %retval br label %ret ifend109: %t223 = load ptr, ptr %t1 %t224 = call ptr @lp_str_concat(ptr @.str7943, ptr %t223) call void @fn_perr(ptr %t224) br label %ifend106 ifend106: %t225 = load ptr, ptr %t0 %t226 = call i32 @lp_str_eq(ptr %t225, ptr @.str7944) %t227 = icmp ne i32 %t226, 0 br i1 %t227, label %then110, label %ifend112 then110: %t228 = load ptr, ptr %t1 %t229 = call i32 @fn_is_unicode_ns(ptr %t228) %t230 = icmp ne i32 %t229, 0 br i1 %t230, label %then113, label %ifend115 then113: %t231 = load ptr, ptr %t1 %t232 = load ptr, ptr %t2 %t233 = call ptr @fn_emit_unicode_ns(ptr %t231, ptr %t232) store ptr %t233, ptr %retval br label %ret ifend115: %t234 = load ptr, ptr %t1 %t235 = call ptr @lp_str_concat(ptr @.str7945, ptr %t234) call void @fn_perr(ptr %t235) br label %ifend112 ifend112: %t236 = load ptr, ptr %t0 %t237 = call i32 @lp_str_eq(ptr %t236, ptr @.str7946) %t238 = icmp ne i32 %t237, 0 br i1 %t238, label %then116, label %ifend118 then116: %t239 = load ptr, ptr %t1 %t240 = call i32 @fn_is_fs_ns(ptr %t239) %t241 = icmp ne i32 %t240, 0 br i1 %t241, label %then119, label %ifend121 then119: %t242 = load ptr, ptr %t1 %t243 = load ptr, ptr %t2 %t244 = call ptr @fn_emit_fs_ns(ptr %t242, ptr %t243) store ptr %t244, ptr %retval br label %ret ifend121: %t245 = load ptr, ptr %t1 %t246 = call ptr @lp_str_concat(ptr @.str7947, ptr %t245) call void @fn_perr(ptr %t246) br label %ifend118 ifend118: %t247 = load ptr, ptr %t0 %t248 = call i32 @lp_str_eq(ptr %t247, ptr @.str7948) %t249 = icmp ne i32 %t248, 0 br i1 %t249, label %then122, label %ifend124 then122: %t250 = load ptr, ptr %t1 %t251 = call i32 @fn_is_path_ns(ptr %t250) %t252 = icmp ne i32 %t251, 0 br i1 %t252, label %then125, label %ifend127 then125: %t253 = load ptr, ptr %t1 %t254 = load ptr, ptr %t2 %t255 = call ptr @fn_emit_path_ns(ptr %t253, ptr %t254) store ptr %t255, ptr %retval br label %ret ifend127: %t256 = load ptr, ptr %t1 %t257 = call ptr @lp_str_concat(ptr @.str7949, ptr %t256) call void @fn_perr(ptr %t257) br label %ifend124 ifend124: %t258 = load ptr, ptr %t0 %t259 = call i32 @lp_str_eq(ptr %t258, ptr @.str7950) %t260 = icmp ne i32 %t259, 0 br i1 %t260, label %then128, label %ifend130 then128: %t261 = load ptr, ptr %t1 %t262 = call i32 @fn_is_mime_ns(ptr %t261) %t263 = icmp ne i32 %t262, 0 br i1 %t263, label %then131, label %ifend133 then131: %t264 = load ptr, ptr %t1 %t265 = load ptr, ptr %t2 %t266 = call ptr @fn_emit_mime_ns(ptr %t264, ptr %t265) store ptr %t266, ptr %retval br label %ret ifend133: %t267 = load ptr, ptr %t1 %t268 = call ptr @lp_str_concat(ptr @.str7951, ptr %t267) call void @fn_perr(ptr %t268) br label %ifend130 ifend130: %t269 = load ptr, ptr %t0 %t270 = call i32 @lp_str_eq(ptr %t269, ptr @.str7952) %t271 = icmp ne i32 %t270, 0 br i1 %t271, label %then134, label %ifend136 then134: %t272 = load ptr, ptr %t1 %t273 = call i32 @fn_is_vector_ns(ptr %t272) %t274 = icmp ne i32 %t273, 0 br i1 %t274, label %then137, label %ifend139 then137: %t275 = load ptr, ptr %t1 %t276 = load ptr, ptr %t2 %t277 = call ptr @fn_emit_vector_ns(ptr %t275, ptr %t276) store ptr %t277, ptr %retval br label %ret ifend139: %t278 = load ptr, ptr %t1 %t279 = call ptr @lp_str_concat(ptr @.str7953, ptr %t278) call void @fn_perr(ptr %t279) br label %ifend136 ifend136: %t280 = load ptr, ptr %t0 %t281 = call i32 @lp_str_eq(ptr %t280, ptr @.str7954) %t282 = icmp ne i32 %t281, 0 br i1 %t282, label %then140, label %ifend142 then140: %t283 = load ptr, ptr %t1 %t284 = call i32 @fn_is_ivec_ns(ptr %t283) %t285 = icmp ne i32 %t284, 0 br i1 %t285, label %then143, label %ifend145 then143: %t286 = load ptr, ptr %t1 %t287 = load ptr, ptr %t2 %t288 = call ptr @fn_emit_ivec_ns(ptr %t286, ptr %t287) store ptr %t288, ptr %retval br label %ret ifend145: %t289 = load ptr, ptr %t1 %t290 = call ptr @lp_str_concat(ptr @.str7955, ptr %t289) call void @fn_perr(ptr %t290) br label %ifend142 ifend142: %t291 = load ptr, ptr %t0 %t292 = call i32 @lp_str_eq(ptr %t291, ptr @.str7956) %t293 = icmp ne i32 %t292, 0 br i1 %t293, label %then146, label %ifend148 then146: %t294 = load ptr, ptr %t1 %t295 = call i32 @fn_is_rect_ns(ptr %t294) %t296 = icmp ne i32 %t295, 0 br i1 %t296, label %then149, label %ifend151 then149: %t297 = load ptr, ptr %t1 %t298 = load ptr, ptr %t2 %t299 = call ptr @fn_emit_rect_ns(ptr %t297, ptr %t298) store ptr %t299, ptr %retval br label %ret ifend151: %t300 = load ptr, ptr %t1 %t301 = call ptr @lp_str_concat(ptr @.str7957, ptr %t300) call void @fn_perr(ptr %t301) br label %ifend148 ifend148: %t302 = load ptr, ptr %t0 %t303 = call i32 @lp_str_eq(ptr %t302, ptr @.str7958) %t304 = icmp ne i32 %t303, 0 br i1 %t304, label %then152, label %ifend154 then152: %t305 = load ptr, ptr %t1 %t306 = call i32 @fn_is_duration_ns(ptr %t305) %t307 = icmp ne i32 %t306, 0 br i1 %t307, label %then155, label %ifend157 then155: %t308 = load ptr, ptr %t1 %t309 = load ptr, ptr %t2 %t310 = call ptr @fn_emit_duration_ns(ptr %t308, ptr %t309) store ptr %t310, ptr %retval br label %ret ifend157: %t311 = load ptr, ptr %t1 %t312 = call ptr @lp_str_concat(ptr @.str7959, ptr %t311) call void @fn_perr(ptr %t312) br label %ifend154 ifend154: %t313 = load ptr, ptr %t0 %t314 = call i32 @lp_str_eq(ptr %t313, ptr @.str7960) %t315 = icmp ne i32 %t314, 0 br i1 %t315, label %then158, label %ifend160 then158: %t316 = load ptr, ptr %t1 %t317 = call i32 @fn_is_date_ns(ptr %t316) %t318 = icmp ne i32 %t317, 0 br i1 %t318, label %then161, label %ifend163 then161: %t319 = load ptr, ptr %t1 %t320 = load ptr, ptr %t2 %t321 = call ptr @fn_emit_date_ns(ptr %t319, ptr %t320) store ptr %t321, ptr %retval br label %ret ifend163: %t322 = load ptr, ptr %t1 %t323 = call ptr @lp_str_concat(ptr @.str7961, ptr %t322) call void @fn_perr(ptr %t323) br label %ifend160 ifend160: %t324 = load ptr, ptr %t0 %t325 = call i32 @lp_str_eq(ptr %t324, ptr @.str7962) %t326 = icmp ne i32 %t325, 0 br i1 %t326, label %then164, label %ifend166 then164: %t327 = load ptr, ptr %t1 %t328 = call i32 @fn_is_datetime_ns(ptr %t327) %t329 = icmp ne i32 %t328, 0 br i1 %t329, label %then167, label %ifend169 then167: %t330 = load ptr, ptr %t1 %t331 = load ptr, ptr %t2 %t332 = call ptr @fn_emit_datetime_ns(ptr %t330, ptr %t331) store ptr %t332, ptr %retval br label %ret ifend169: %t333 = load ptr, ptr %t1 %t334 = call ptr @lp_str_concat(ptr @.str7963, ptr %t333) call void @fn_perr(ptr %t334) br label %ifend166 ifend166: %t335 = load ptr, ptr %t0 %t336 = call i32 @lp_str_eq(ptr %t335, ptr @.str7964) %t337 = icmp ne i32 %t336, 0 br i1 %t337, label %then170, label %ifend172 then170: %t338 = load ptr, ptr %t1 %t339 = call i32 @fn_is_clock_ns(ptr %t338) %t340 = icmp ne i32 %t339, 0 br i1 %t340, label %then173, label %ifend175 then173: %t341 = load ptr, ptr %t1 %t342 = load ptr, ptr %t2 %t343 = call ptr @fn_emit_clock_ns(ptr %t341, ptr %t342) store ptr %t343, ptr %retval br label %ret ifend175: %t344 = load ptr, ptr %t1 %t345 = call ptr @lp_str_concat(ptr @.str7965, ptr %t344) call void @fn_perr(ptr %t345) br label %ifend172 ifend172: %t346 = load ptr, ptr %t0 %t347 = call i32 @lp_str_eq(ptr %t346, ptr @.str7966) %t348 = icmp ne i32 %t347, 0 br i1 %t348, label %then176, label %ifend178 then176: %t349 = load ptr, ptr %t1 %t350 = call i32 @lp_str_eq(ptr %t349, ptr @.str7967) %t351 = icmp ne i32 %t350, 0 br i1 %t351, label %then179, label %ifend181 then179: call void @fn_use_pak() %t352 = load i32, ptr @g_g_windowed %t353 = icmp ne i32 %t352, 0 br i1 %t353, label %then182, label %ifend184 then182: call void @fn_emit(ptr @.str7968) br label %ifend184 ifend184: %t354 = call ptr @fn_val(ptr @.str7969, ptr @.str7970) store ptr %t354, ptr %retval br label %ret ifend181: %t355 = load ptr, ptr %t1 %t356 = call i32 @lp_str_eq(ptr %t355, ptr @.str7971) %t357 = icmp ne i32 %t356, 0 br i1 %t357, label %then185, label %ifend187 then185: call void @fn_use_pak() %t358 = load ptr, ptr %t2 %t359 = call ptr @fn_arg_code(ptr %t358, i32 0) store ptr %t359, ptr %t360 %t361 = load i32, ptr @g_g_windowed %t362 = icmp ne i32 %t361, 0 br i1 %t362, label %then188, label %ifend190 then188: %t363 = load ptr, ptr %t360 %t364 = call ptr @lp_str_concat(ptr @.str7972, ptr %t363) %t365 = call ptr @lp_str_concat(ptr %t364, ptr @.str7973) call void @fn_emit(ptr %t365) br label %ifend190 ifend190: %t366 = call ptr @fn_val(ptr @.str7974, ptr @.str7975) store ptr %t366, ptr %retval br label %ret ifend187: %t367 = load ptr, ptr %t1 %t368 = call i32 @lp_str_eq(ptr %t367, ptr @.str7976) %t369 = icmp ne i32 %t368, 0 br i1 %t369, label %then191, label %ifend193 then191: call void @fn_use_pak() %t370 = load i32, ptr @g_g_windowed %t371 = icmp ne i32 %t370, 0 br i1 %t371, label %then194, label %ifend196 then194: %t372 = call ptr @fn_emit_bind(ptr @.str7977) %t373 = call ptr @fn_val(ptr %t372, ptr @.str7978) store ptr %t373, ptr %retval br label %ret ifend196: %t374 = call ptr @fn_val(ptr @.str7979, ptr @.str7980) store ptr %t374, ptr %retval br label %ret ifend193: %t375 = load ptr, ptr %t1 %t376 = call i32 @lp_str_eq(ptr %t375, ptr @.str7981) %t377 = icmp ne i32 %t376, 0 br i1 %t377, label %then197, label %ifend199 then197: call void @fn_use_pak() %t378 = load ptr, ptr %t2 %t379 = call ptr @fn_arg_code(ptr %t378, i32 0) store ptr %t379, ptr %t380 %t381 = load i32, ptr @g_g_windowed %t382 = icmp ne i32 %t381, 0 br i1 %t382, label %then200, label %ifend202 then200: %t383 = load ptr, ptr %t380 %t384 = call ptr @lp_str_concat(ptr @.str7982, ptr %t383) %t385 = call ptr @lp_str_concat(ptr %t384, ptr @.str7983) call void @fn_emit(ptr %t385) br label %ifend202 ifend202: %t386 = call ptr @fn_val(ptr @.str7984, ptr @.str7985) store ptr %t386, ptr %retval br label %ret ifend199: %t387 = load ptr, ptr %t1 %t388 = call i32 @lp_str_eq(ptr %t387, ptr @.str7986) %t389 = icmp ne i32 %t388, 0 br i1 %t389, label %then203, label %ifend205 then203: call void @fn_use_pak() %t390 = load ptr, ptr %t2 %t391 = call ptr @fn_arg_code(ptr %t390, i32 0) store ptr %t391, ptr %t392 %t393 = load i32, ptr @g_g_windowed %t394 = icmp ne i32 %t393, 0 br i1 %t394, label %then206, label %ifend208 then206: %t395 = load ptr, ptr %t392 %t396 = call ptr @lp_str_concat(ptr @.str7987, ptr %t395) %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str7988) call void @fn_emit(ptr %t397) br label %ifend208 ifend208: %t398 = call ptr @fn_val(ptr @.str7989, ptr @.str7990) store ptr %t398, ptr %retval br label %ret ifend205: %t400 = load ptr, ptr %t1 %t401 = call i32 @lp_str_eq(ptr %t400, ptr @.str7991) %t402 = icmp ne i32 %t401, 0 %t403 = zext i1 %t402 to i32 store i32 %t403, ptr %t399 br i1 %t402, label %scend210, label %sc209 sc209: %t404 = load ptr, ptr %t1 %t405 = call i32 @lp_str_eq(ptr %t404, ptr @.str7992) %t406 = icmp ne i32 %t405, 0 %t407 = zext i1 %t406 to i32 store i32 %t407, ptr %t399 br label %scend210 scend210: %t408 = load i32, ptr %t399 %t409 = icmp ne i32 %t408, 0 br i1 %t409, label %then211, label %ifend213 then211: call void @fn_use_pak() %t410 = load i32, ptr @g_g_windowed %t411 = icmp ne i32 %t410, 0 br i1 %t411, label %then214, label %ifend216 then214: %t412 = load ptr, ptr %t1 %t413 = call ptr @lp_str_concat(ptr @.str7993, ptr %t412) %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str7994) call void @fn_emit(ptr %t414) br label %ifend216 ifend216: %t415 = call ptr @fn_val(ptr @.str7995, ptr @.str7996) store ptr %t415, ptr %retval br label %ret ifend213: %t416 = load ptr, ptr %t1 %t417 = call ptr @lp_str_concat(ptr @.str7997, ptr %t416) call void @fn_perr(ptr %t417) br label %ifend178 ifend178: %t418 = load ptr, ptr %t0 %t419 = call i32 @lp_str_eq(ptr %t418, ptr @.str7998) %t420 = icmp ne i32 %t419, 0 br i1 %t420, label %then217, label %ifend219 then217: %t421 = load ptr, ptr %t1 %t422 = call i32 @lp_str_eq(ptr %t421, ptr @.str7999) %t423 = icmp ne i32 %t422, 0 br i1 %t423, label %then220, label %ifend222 then220: %t424 = call ptr @fn_itoa(i32 1024) %t425 = call ptr @fn_val(ptr %t424, ptr @.str8000) store ptr %t425, ptr %retval br label %ret ifend222: %t426 = load ptr, ptr %t1 %t427 = call i32 @lp_str_eq(ptr %t426, ptr @.str8001) %t428 = icmp ne i32 %t427, 0 br i1 %t428, label %then223, label %ifend225 then223: %t429 = call ptr @fn_emit_bind(ptr @.str8002) %t430 = call ptr @fn_val(ptr %t429, ptr @.str8003) store ptr %t430, ptr %retval br label %ret ifend225: %t431 = load ptr, ptr %t1 %t432 = call i32 @lp_str_eq(ptr %t431, ptr @.str8004) %t433 = icmp ne i32 %t432, 0 br i1 %t433, label %then226, label %ifend228 then226: %t434 = call ptr @fn_emit_bind(ptr @.str8005) %t435 = call ptr @fn_val(ptr %t434, ptr @.str8006) store ptr %t435, ptr %retval br label %ret ifend228: %t436 = load ptr, ptr %t1 %t437 = call i32 @lp_str_eq(ptr %t436, ptr @.str8007) %t438 = icmp ne i32 %t437, 0 br i1 %t438, label %then229, label %ifend231 then229: %t439 = call ptr @fn_emit_bind(ptr @.str8008) store ptr %t439, ptr %t440 %t441 = call ptr @fn_emit_bind(ptr @.str8009) store ptr %t441, ptr %t442 %t443 = load ptr, ptr %t440 %t444 = call ptr @lp_str_concat(ptr @.str8010, ptr %t443) %t445 = call ptr @lp_str_concat(ptr %t444, ptr @.str8011) %t446 = load ptr, ptr %t442 %t447 = call ptr @lp_str_concat(ptr %t445, ptr %t446) %t448 = call ptr @fn_emit_bind(ptr %t447) %t449 = call ptr @fn_val(ptr %t448, ptr @.str8012) store ptr %t449, ptr %retval br label %ret ifend231: %t450 = load ptr, ptr %t1 %t451 = call ptr @lp_str_concat(ptr @.str8013, ptr %t450) call void @fn_perr(ptr %t451) br label %ifend219 ifend219: store ptr null, ptr %t452 %t453 = getelementptr %LSlice, ptr null, i32 1 %t454 = ptrtoint ptr %t453 to i64 %t455 = call ptr @malloc(i64 %t454) %t456 = getelementptr inbounds %LSlice, ptr %t455, i32 0, i32 0 store ptr null, ptr %t456 %t457 = getelementptr inbounds %LSlice, ptr %t455, i32 0, i32 1 store i32 0, ptr %t457 %t458 = getelementptr inbounds %LSlice, ptr %t455, i32 0, i32 2 store i32 0, ptr %t458 store ptr %t455, ptr %t459 %t460 = load ptr, ptr %t0 %t461 = call i32 @lp_str_eq(ptr %t460, ptr @.str8014) %t462 = icmp ne i32 %t461, 0 br i1 %t462, label %then232, label %ifend234 then232: %t463 = load ptr, ptr %t1 %t464 = call i32 @lp_str_eq(ptr %t463, ptr @.str8015) %t465 = icmp ne i32 %t464, 0 br i1 %t465, label %then235, label %ifend237 then235: store ptr @.str8016, ptr %t452 %t466 = load ptr, ptr %t459 %t467 = getelementptr inbounds %LSlice, ptr %t466, i32 0, i32 1 %t468 = getelementptr inbounds %LSlice, ptr %t466, i32 0, i32 2 %t469 = getelementptr inbounds %LSlice, ptr %t466, i32 0, i32 0 %t470 = load i32, ptr %t467 %t471 = load i32, ptr %t468 %t472 = icmp sge i32 %t470, %t471 br i1 %t472, label %grow238, label %put239 grow238: %t473 = mul i32 %t471, 2 %t474 = icmp eq i32 %t471, 0 %t475 = select i1 %t474, i32 8, i32 %t473 %t476 = getelementptr ptr, ptr null, i32 1 %t477 = ptrtoint ptr %t476 to i64 %t478 = zext i32 %t475 to i64 %t479 = mul i64 %t478, %t477 %t480 = load ptr, ptr %t469 %t481 = call ptr @realloc(ptr %t480, i64 %t479) store ptr %t481, ptr %t469 store i32 %t475, ptr %t468 br label %put239 put239: %t482 = load ptr, ptr %t469 %t483 = getelementptr inbounds ptr, ptr %t482, i32 %t470 store ptr @.str8017, ptr %t483 %t484 = add i32 %t470, 1 store i32 %t484, ptr %t467 br label %ifend237 ifend237: %t485 = load ptr, ptr %t1 %t486 = call i32 @lp_str_eq(ptr %t485, ptr @.str8018) %t487 = icmp ne i32 %t486, 0 br i1 %t487, label %then240, label %ifend242 then240: store ptr @.str8019, ptr %t452 %t488 = load ptr, ptr %t459 %t489 = getelementptr inbounds %LSlice, ptr %t488, i32 0, i32 1 %t490 = getelementptr inbounds %LSlice, ptr %t488, i32 0, i32 2 %t491 = getelementptr inbounds %LSlice, ptr %t488, i32 0, i32 0 %t492 = load i32, ptr %t489 %t493 = load i32, ptr %t490 %t494 = icmp sge i32 %t492, %t493 br i1 %t494, label %grow243, label %put244 grow243: %t495 = mul i32 %t493, 2 %t496 = icmp eq i32 %t493, 0 %t497 = select i1 %t496, i32 8, i32 %t495 %t498 = getelementptr ptr, ptr null, i32 1 %t499 = ptrtoint ptr %t498 to i64 %t500 = zext i32 %t497 to i64 %t501 = mul i64 %t500, %t499 %t502 = load ptr, ptr %t491 %t503 = call ptr @realloc(ptr %t502, i64 %t501) store ptr %t503, ptr %t491 store i32 %t497, ptr %t490 br label %put244 put244: %t504 = load ptr, ptr %t491 %t505 = getelementptr inbounds ptr, ptr %t504, i32 %t492 store ptr @.str8020, ptr %t505 %t506 = add i32 %t492, 1 store i32 %t506, ptr %t489 %t507 = load ptr, ptr %t459 %t508 = getelementptr inbounds %LSlice, ptr %t507, i32 0, i32 1 %t509 = getelementptr inbounds %LSlice, ptr %t507, i32 0, i32 2 %t510 = getelementptr inbounds %LSlice, ptr %t507, i32 0, i32 0 %t511 = load i32, ptr %t508 %t512 = load i32, ptr %t509 %t513 = icmp sge i32 %t511, %t512 br i1 %t513, label %grow245, label %put246 grow245: %t514 = mul i32 %t512, 2 %t515 = icmp eq i32 %t512, 0 %t516 = select i1 %t515, i32 8, i32 %t514 %t517 = getelementptr ptr, ptr null, i32 1 %t518 = ptrtoint ptr %t517 to i64 %t519 = zext i32 %t516 to i64 %t520 = mul i64 %t519, %t518 %t521 = load ptr, ptr %t510 %t522 = call ptr @realloc(ptr %t521, i64 %t520) store ptr %t522, ptr %t510 store i32 %t516, ptr %t509 br label %put246 put246: %t523 = load ptr, ptr %t510 %t524 = getelementptr inbounds ptr, ptr %t523, i32 %t511 store ptr @.str8021, ptr %t524 %t525 = add i32 %t511, 1 store i32 %t525, ptr %t508 %t526 = load ptr, ptr %t459 %t527 = getelementptr inbounds %LSlice, ptr %t526, i32 0, i32 1 %t528 = getelementptr inbounds %LSlice, ptr %t526, i32 0, i32 2 %t529 = getelementptr inbounds %LSlice, ptr %t526, i32 0, i32 0 %t530 = load i32, ptr %t527 %t531 = load i32, ptr %t528 %t532 = icmp sge i32 %t530, %t531 br i1 %t532, label %grow247, label %put248 grow247: %t533 = mul i32 %t531, 2 %t534 = icmp eq i32 %t531, 0 %t535 = select i1 %t534, i32 8, i32 %t533 %t536 = getelementptr ptr, ptr null, i32 1 %t537 = ptrtoint ptr %t536 to i64 %t538 = zext i32 %t535 to i64 %t539 = mul i64 %t538, %t537 %t540 = load ptr, ptr %t529 %t541 = call ptr @realloc(ptr %t540, i64 %t539) store ptr %t541, ptr %t529 store i32 %t535, ptr %t528 br label %put248 put248: %t542 = load ptr, ptr %t529 %t543 = getelementptr inbounds ptr, ptr %t542, i32 %t530 store ptr @.str8022, ptr %t543 %t544 = add i32 %t530, 1 store i32 %t544, ptr %t527 %t545 = load ptr, ptr %t459 %t546 = getelementptr inbounds %LSlice, ptr %t545, i32 0, i32 1 %t547 = getelementptr inbounds %LSlice, ptr %t545, i32 0, i32 2 %t548 = getelementptr inbounds %LSlice, ptr %t545, i32 0, i32 0 %t549 = load i32, ptr %t546 %t550 = load i32, ptr %t547 %t551 = icmp sge i32 %t549, %t550 br i1 %t551, label %grow249, label %put250 grow249: %t552 = mul i32 %t550, 2 %t553 = icmp eq i32 %t550, 0 %t554 = select i1 %t553, i32 8, i32 %t552 %t555 = getelementptr ptr, ptr null, i32 1 %t556 = ptrtoint ptr %t555 to i64 %t557 = zext i32 %t554 to i64 %t558 = mul i64 %t557, %t556 %t559 = load ptr, ptr %t548 %t560 = call ptr @realloc(ptr %t559, i64 %t558) store ptr %t560, ptr %t548 store i32 %t554, ptr %t547 br label %put250 put250: %t561 = load ptr, ptr %t548 %t562 = getelementptr inbounds ptr, ptr %t561, i32 %t549 store ptr @.str8023, ptr %t562 %t563 = add i32 %t549, 1 store i32 %t563, ptr %t546 %t564 = load ptr, ptr %t459 %t565 = getelementptr inbounds %LSlice, ptr %t564, i32 0, i32 1 %t566 = getelementptr inbounds %LSlice, ptr %t564, i32 0, i32 2 %t567 = getelementptr inbounds %LSlice, ptr %t564, i32 0, i32 0 %t568 = load i32, ptr %t565 %t569 = load i32, ptr %t566 %t570 = icmp sge i32 %t568, %t569 br i1 %t570, label %grow251, label %put252 grow251: %t571 = mul i32 %t569, 2 %t572 = icmp eq i32 %t569, 0 %t573 = select i1 %t572, i32 8, i32 %t571 %t574 = getelementptr ptr, ptr null, i32 1 %t575 = ptrtoint ptr %t574 to i64 %t576 = zext i32 %t573 to i64 %t577 = mul i64 %t576, %t575 %t578 = load ptr, ptr %t567 %t579 = call ptr @realloc(ptr %t578, i64 %t577) store ptr %t579, ptr %t567 store i32 %t573, ptr %t566 br label %put252 put252: %t580 = load ptr, ptr %t567 %t581 = getelementptr inbounds ptr, ptr %t580, i32 %t568 store ptr @.str8024, ptr %t581 %t582 = add i32 %t568, 1 store i32 %t582, ptr %t565 br label %ifend242 ifend242: %t583 = load ptr, ptr %t1 %t584 = call i32 @lp_str_eq(ptr %t583, ptr @.str8025) %t585 = icmp ne i32 %t584, 0 br i1 %t585, label %then253, label %ifend255 then253: store ptr @.str8026, ptr %t452 %t586 = load ptr, ptr %t459 %t587 = getelementptr inbounds %LSlice, ptr %t586, i32 0, i32 1 %t588 = getelementptr inbounds %LSlice, ptr %t586, i32 0, i32 2 %t589 = getelementptr inbounds %LSlice, ptr %t586, i32 0, i32 0 %t590 = load i32, ptr %t587 %t591 = load i32, ptr %t588 %t592 = icmp sge i32 %t590, %t591 br i1 %t592, label %grow256, label %put257 grow256: %t593 = mul i32 %t591, 2 %t594 = icmp eq i32 %t591, 0 %t595 = select i1 %t594, i32 8, i32 %t593 %t596 = getelementptr ptr, ptr null, i32 1 %t597 = ptrtoint ptr %t596 to i64 %t598 = zext i32 %t595 to i64 %t599 = mul i64 %t598, %t597 %t600 = load ptr, ptr %t589 %t601 = call ptr @realloc(ptr %t600, i64 %t599) store ptr %t601, ptr %t589 store i32 %t595, ptr %t588 br label %put257 put257: %t602 = load ptr, ptr %t589 %t603 = getelementptr inbounds ptr, ptr %t602, i32 %t590 store ptr @.str8027, ptr %t603 %t604 = add i32 %t590, 1 store i32 %t604, ptr %t587 %t605 = load ptr, ptr %t459 %t606 = getelementptr inbounds %LSlice, ptr %t605, i32 0, i32 1 %t607 = getelementptr inbounds %LSlice, ptr %t605, i32 0, i32 2 %t608 = getelementptr inbounds %LSlice, ptr %t605, i32 0, i32 0 %t609 = load i32, ptr %t606 %t610 = load i32, ptr %t607 %t611 = icmp sge i32 %t609, %t610 br i1 %t611, label %grow258, label %put259 grow258: %t612 = mul i32 %t610, 2 %t613 = icmp eq i32 %t610, 0 %t614 = select i1 %t613, i32 8, i32 %t612 %t615 = getelementptr ptr, ptr null, i32 1 %t616 = ptrtoint ptr %t615 to i64 %t617 = zext i32 %t614 to i64 %t618 = mul i64 %t617, %t616 %t619 = load ptr, ptr %t608 %t620 = call ptr @realloc(ptr %t619, i64 %t618) store ptr %t620, ptr %t608 store i32 %t614, ptr %t607 br label %put259 put259: %t621 = load ptr, ptr %t608 %t622 = getelementptr inbounds ptr, ptr %t621, i32 %t609 store ptr @.str8028, ptr %t622 %t623 = add i32 %t609, 1 store i32 %t623, ptr %t606 %t624 = load ptr, ptr %t459 %t625 = getelementptr inbounds %LSlice, ptr %t624, i32 0, i32 1 %t626 = getelementptr inbounds %LSlice, ptr %t624, i32 0, i32 2 %t627 = getelementptr inbounds %LSlice, ptr %t624, i32 0, i32 0 %t628 = load i32, ptr %t625 %t629 = load i32, ptr %t626 %t630 = icmp sge i32 %t628, %t629 br i1 %t630, label %grow260, label %put261 grow260: %t631 = mul i32 %t629, 2 %t632 = icmp eq i32 %t629, 0 %t633 = select i1 %t632, i32 8, i32 %t631 %t634 = getelementptr ptr, ptr null, i32 1 %t635 = ptrtoint ptr %t634 to i64 %t636 = zext i32 %t633 to i64 %t637 = mul i64 %t636, %t635 %t638 = load ptr, ptr %t627 %t639 = call ptr @realloc(ptr %t638, i64 %t637) store ptr %t639, ptr %t627 store i32 %t633, ptr %t626 br label %put261 put261: %t640 = load ptr, ptr %t627 %t641 = getelementptr inbounds ptr, ptr %t640, i32 %t628 store ptr @.str8029, ptr %t641 %t642 = add i32 %t628, 1 store i32 %t642, ptr %t625 %t643 = load ptr, ptr %t459 %t644 = getelementptr inbounds %LSlice, ptr %t643, i32 0, i32 1 %t645 = getelementptr inbounds %LSlice, ptr %t643, i32 0, i32 2 %t646 = getelementptr inbounds %LSlice, ptr %t643, i32 0, i32 0 %t647 = load i32, ptr %t644 %t648 = load i32, ptr %t645 %t649 = icmp sge i32 %t647, %t648 br i1 %t649, label %grow262, label %put263 grow262: %t650 = mul i32 %t648, 2 %t651 = icmp eq i32 %t648, 0 %t652 = select i1 %t651, i32 8, i32 %t650 %t653 = getelementptr ptr, ptr null, i32 1 %t654 = ptrtoint ptr %t653 to i64 %t655 = zext i32 %t652 to i64 %t656 = mul i64 %t655, %t654 %t657 = load ptr, ptr %t646 %t658 = call ptr @realloc(ptr %t657, i64 %t656) store ptr %t658, ptr %t646 store i32 %t652, ptr %t645 br label %put263 put263: %t659 = load ptr, ptr %t646 %t660 = getelementptr inbounds ptr, ptr %t659, i32 %t647 store ptr @.str8030, ptr %t660 %t661 = add i32 %t647, 1 store i32 %t661, ptr %t644 %t662 = load ptr, ptr %t459 %t663 = getelementptr inbounds %LSlice, ptr %t662, i32 0, i32 1 %t664 = getelementptr inbounds %LSlice, ptr %t662, i32 0, i32 2 %t665 = getelementptr inbounds %LSlice, ptr %t662, i32 0, i32 0 %t666 = load i32, ptr %t663 %t667 = load i32, ptr %t664 %t668 = icmp sge i32 %t666, %t667 br i1 %t668, label %grow264, label %put265 grow264: %t669 = mul i32 %t667, 2 %t670 = icmp eq i32 %t667, 0 %t671 = select i1 %t670, i32 8, i32 %t669 %t672 = getelementptr ptr, ptr null, i32 1 %t673 = ptrtoint ptr %t672 to i64 %t674 = zext i32 %t671 to i64 %t675 = mul i64 %t674, %t673 %t676 = load ptr, ptr %t665 %t677 = call ptr @realloc(ptr %t676, i64 %t675) store ptr %t677, ptr %t665 store i32 %t671, ptr %t664 br label %put265 put265: %t678 = load ptr, ptr %t665 %t679 = getelementptr inbounds ptr, ptr %t678, i32 %t666 store ptr @.str8031, ptr %t679 %t680 = add i32 %t666, 1 store i32 %t680, ptr %t663 %t681 = load ptr, ptr %t459 %t682 = getelementptr inbounds %LSlice, ptr %t681, i32 0, i32 1 %t683 = getelementptr inbounds %LSlice, ptr %t681, i32 0, i32 2 %t684 = getelementptr inbounds %LSlice, ptr %t681, i32 0, i32 0 %t685 = load i32, ptr %t682 %t686 = load i32, ptr %t683 %t687 = icmp sge i32 %t685, %t686 br i1 %t687, label %grow266, label %put267 grow266: %t688 = mul i32 %t686, 2 %t689 = icmp eq i32 %t686, 0 %t690 = select i1 %t689, i32 8, i32 %t688 %t691 = getelementptr ptr, ptr null, i32 1 %t692 = ptrtoint ptr %t691 to i64 %t693 = zext i32 %t690 to i64 %t694 = mul i64 %t693, %t692 %t695 = load ptr, ptr %t684 %t696 = call ptr @realloc(ptr %t695, i64 %t694) store ptr %t696, ptr %t684 store i32 %t690, ptr %t683 br label %put267 put267: %t697 = load ptr, ptr %t684 %t698 = getelementptr inbounds ptr, ptr %t697, i32 %t685 store ptr @.str8032, ptr %t698 %t699 = add i32 %t685, 1 store i32 %t699, ptr %t682 %t700 = load ptr, ptr %t459 %t701 = getelementptr inbounds %LSlice, ptr %t700, i32 0, i32 1 %t702 = getelementptr inbounds %LSlice, ptr %t700, i32 0, i32 2 %t703 = getelementptr inbounds %LSlice, ptr %t700, i32 0, i32 0 %t704 = load i32, ptr %t701 %t705 = load i32, ptr %t702 %t706 = icmp sge i32 %t704, %t705 br i1 %t706, label %grow268, label %put269 grow268: %t707 = mul i32 %t705, 2 %t708 = icmp eq i32 %t705, 0 %t709 = select i1 %t708, i32 8, i32 %t707 %t710 = getelementptr ptr, ptr null, i32 1 %t711 = ptrtoint ptr %t710 to i64 %t712 = zext i32 %t709 to i64 %t713 = mul i64 %t712, %t711 %t714 = load ptr, ptr %t703 %t715 = call ptr @realloc(ptr %t714, i64 %t713) store ptr %t715, ptr %t703 store i32 %t709, ptr %t702 br label %put269 put269: %t716 = load ptr, ptr %t703 %t717 = getelementptr inbounds ptr, ptr %t716, i32 %t704 store ptr @.str8033, ptr %t717 %t718 = add i32 %t704, 1 store i32 %t718, ptr %t701 %t719 = load ptr, ptr %t459 %t720 = getelementptr inbounds %LSlice, ptr %t719, i32 0, i32 1 %t721 = getelementptr inbounds %LSlice, ptr %t719, i32 0, i32 2 %t722 = getelementptr inbounds %LSlice, ptr %t719, i32 0, i32 0 %t723 = load i32, ptr %t720 %t724 = load i32, ptr %t721 %t725 = icmp sge i32 %t723, %t724 br i1 %t725, label %grow270, label %put271 grow270: %t726 = mul i32 %t724, 2 %t727 = icmp eq i32 %t724, 0 %t728 = select i1 %t727, i32 8, i32 %t726 %t729 = getelementptr ptr, ptr null, i32 1 %t730 = ptrtoint ptr %t729 to i64 %t731 = zext i32 %t728 to i64 %t732 = mul i64 %t731, %t730 %t733 = load ptr, ptr %t722 %t734 = call ptr @realloc(ptr %t733, i64 %t732) store ptr %t734, ptr %t722 store i32 %t728, ptr %t721 br label %put271 put271: %t735 = load ptr, ptr %t722 %t736 = getelementptr inbounds ptr, ptr %t735, i32 %t723 store ptr @.str8034, ptr %t736 %t737 = add i32 %t723, 1 store i32 %t737, ptr %t720 br label %ifend255 ifend255: %t738 = load ptr, ptr %t1 %t739 = call i32 @lp_str_eq(ptr %t738, ptr @.str8035) %t740 = icmp ne i32 %t739, 0 br i1 %t740, label %then272, label %ifend274 then272: store ptr @.str8036, ptr %t452 %t741 = load ptr, ptr %t459 %t742 = getelementptr inbounds %LSlice, ptr %t741, i32 0, i32 1 %t743 = getelementptr inbounds %LSlice, ptr %t741, i32 0, i32 2 %t744 = getelementptr inbounds %LSlice, ptr %t741, i32 0, i32 0 %t745 = load i32, ptr %t742 %t746 = load i32, ptr %t743 %t747 = icmp sge i32 %t745, %t746 br i1 %t747, label %grow275, label %put276 grow275: %t748 = mul i32 %t746, 2 %t749 = icmp eq i32 %t746, 0 %t750 = select i1 %t749, i32 8, i32 %t748 %t751 = getelementptr ptr, ptr null, i32 1 %t752 = ptrtoint ptr %t751 to i64 %t753 = zext i32 %t750 to i64 %t754 = mul i64 %t753, %t752 %t755 = load ptr, ptr %t744 %t756 = call ptr @realloc(ptr %t755, i64 %t754) store ptr %t756, ptr %t744 store i32 %t750, ptr %t743 br label %put276 put276: %t757 = load ptr, ptr %t744 %t758 = getelementptr inbounds ptr, ptr %t757, i32 %t745 store ptr @.str8037, ptr %t758 %t759 = add i32 %t745, 1 store i32 %t759, ptr %t742 %t760 = load ptr, ptr %t459 %t761 = getelementptr inbounds %LSlice, ptr %t760, i32 0, i32 1 %t762 = getelementptr inbounds %LSlice, ptr %t760, i32 0, i32 2 %t763 = getelementptr inbounds %LSlice, ptr %t760, i32 0, i32 0 %t764 = load i32, ptr %t761 %t765 = load i32, ptr %t762 %t766 = icmp sge i32 %t764, %t765 br i1 %t766, label %grow277, label %put278 grow277: %t767 = mul i32 %t765, 2 %t768 = icmp eq i32 %t765, 0 %t769 = select i1 %t768, i32 8, i32 %t767 %t770 = getelementptr ptr, ptr null, i32 1 %t771 = ptrtoint ptr %t770 to i64 %t772 = zext i32 %t769 to i64 %t773 = mul i64 %t772, %t771 %t774 = load ptr, ptr %t763 %t775 = call ptr @realloc(ptr %t774, i64 %t773) store ptr %t775, ptr %t763 store i32 %t769, ptr %t762 br label %put278 put278: %t776 = load ptr, ptr %t763 %t777 = getelementptr inbounds ptr, ptr %t776, i32 %t764 store ptr @.str8038, ptr %t777 %t778 = add i32 %t764, 1 store i32 %t778, ptr %t761 %t779 = load ptr, ptr %t459 %t780 = getelementptr inbounds %LSlice, ptr %t779, i32 0, i32 1 %t781 = getelementptr inbounds %LSlice, ptr %t779, i32 0, i32 2 %t782 = getelementptr inbounds %LSlice, ptr %t779, i32 0, i32 0 %t783 = load i32, ptr %t780 %t784 = load i32, ptr %t781 %t785 = icmp sge i32 %t783, %t784 br i1 %t785, label %grow279, label %put280 grow279: %t786 = mul i32 %t784, 2 %t787 = icmp eq i32 %t784, 0 %t788 = select i1 %t787, i32 8, i32 %t786 %t789 = getelementptr ptr, ptr null, i32 1 %t790 = ptrtoint ptr %t789 to i64 %t791 = zext i32 %t788 to i64 %t792 = mul i64 %t791, %t790 %t793 = load ptr, ptr %t782 %t794 = call ptr @realloc(ptr %t793, i64 %t792) store ptr %t794, ptr %t782 store i32 %t788, ptr %t781 br label %put280 put280: %t795 = load ptr, ptr %t782 %t796 = getelementptr inbounds ptr, ptr %t795, i32 %t783 store ptr @.str8039, ptr %t796 %t797 = add i32 %t783, 1 store i32 %t797, ptr %t780 %t798 = load ptr, ptr %t459 %t799 = getelementptr inbounds %LSlice, ptr %t798, i32 0, i32 1 %t800 = getelementptr inbounds %LSlice, ptr %t798, i32 0, i32 2 %t801 = getelementptr inbounds %LSlice, ptr %t798, i32 0, i32 0 %t802 = load i32, ptr %t799 %t803 = load i32, ptr %t800 %t804 = icmp sge i32 %t802, %t803 br i1 %t804, label %grow281, label %put282 grow281: %t805 = mul i32 %t803, 2 %t806 = icmp eq i32 %t803, 0 %t807 = select i1 %t806, i32 8, i32 %t805 %t808 = getelementptr ptr, ptr null, i32 1 %t809 = ptrtoint ptr %t808 to i64 %t810 = zext i32 %t807 to i64 %t811 = mul i64 %t810, %t809 %t812 = load ptr, ptr %t801 %t813 = call ptr @realloc(ptr %t812, i64 %t811) store ptr %t813, ptr %t801 store i32 %t807, ptr %t800 br label %put282 put282: %t814 = load ptr, ptr %t801 %t815 = getelementptr inbounds ptr, ptr %t814, i32 %t802 store ptr @.str8040, ptr %t815 %t816 = add i32 %t802, 1 store i32 %t816, ptr %t799 %t817 = load ptr, ptr %t459 %t818 = getelementptr inbounds %LSlice, ptr %t817, i32 0, i32 1 %t819 = getelementptr inbounds %LSlice, ptr %t817, i32 0, i32 2 %t820 = getelementptr inbounds %LSlice, ptr %t817, i32 0, i32 0 %t821 = load i32, ptr %t818 %t822 = load i32, ptr %t819 %t823 = icmp sge i32 %t821, %t822 br i1 %t823, label %grow283, label %put284 grow283: %t824 = mul i32 %t822, 2 %t825 = icmp eq i32 %t822, 0 %t826 = select i1 %t825, i32 8, i32 %t824 %t827 = getelementptr ptr, ptr null, i32 1 %t828 = ptrtoint ptr %t827 to i64 %t829 = zext i32 %t826 to i64 %t830 = mul i64 %t829, %t828 %t831 = load ptr, ptr %t820 %t832 = call ptr @realloc(ptr %t831, i64 %t830) store ptr %t832, ptr %t820 store i32 %t826, ptr %t819 br label %put284 put284: %t833 = load ptr, ptr %t820 %t834 = getelementptr inbounds ptr, ptr %t833, i32 %t821 store ptr @.str8041, ptr %t834 %t835 = add i32 %t821, 1 store i32 %t835, ptr %t818 br label %ifend274 ifend274: %t836 = load ptr, ptr %t1 %t837 = call i32 @lp_str_eq(ptr %t836, ptr @.str8042) %t838 = icmp ne i32 %t837, 0 br i1 %t838, label %then285, label %ifend287 then285: store ptr @.str8043, ptr %t452 %t839 = load ptr, ptr %t459 %t840 = getelementptr inbounds %LSlice, ptr %t839, i32 0, i32 1 %t841 = getelementptr inbounds %LSlice, ptr %t839, i32 0, i32 2 %t842 = getelementptr inbounds %LSlice, ptr %t839, i32 0, i32 0 %t843 = load i32, ptr %t840 %t844 = load i32, ptr %t841 %t845 = icmp sge i32 %t843, %t844 br i1 %t845, label %grow288, label %put289 grow288: %t846 = mul i32 %t844, 2 %t847 = icmp eq i32 %t844, 0 %t848 = select i1 %t847, i32 8, i32 %t846 %t849 = getelementptr ptr, ptr null, i32 1 %t850 = ptrtoint ptr %t849 to i64 %t851 = zext i32 %t848 to i64 %t852 = mul i64 %t851, %t850 %t853 = load ptr, ptr %t842 %t854 = call ptr @realloc(ptr %t853, i64 %t852) store ptr %t854, ptr %t842 store i32 %t848, ptr %t841 br label %put289 put289: %t855 = load ptr, ptr %t842 %t856 = getelementptr inbounds ptr, ptr %t855, i32 %t843 store ptr @.str8044, ptr %t856 %t857 = add i32 %t843, 1 store i32 %t857, ptr %t840 %t858 = load ptr, ptr %t459 %t859 = getelementptr inbounds %LSlice, ptr %t858, i32 0, i32 1 %t860 = getelementptr inbounds %LSlice, ptr %t858, i32 0, i32 2 %t861 = getelementptr inbounds %LSlice, ptr %t858, i32 0, i32 0 %t862 = load i32, ptr %t859 %t863 = load i32, ptr %t860 %t864 = icmp sge i32 %t862, %t863 br i1 %t864, label %grow290, label %put291 grow290: %t865 = mul i32 %t863, 2 %t866 = icmp eq i32 %t863, 0 %t867 = select i1 %t866, i32 8, i32 %t865 %t868 = getelementptr ptr, ptr null, i32 1 %t869 = ptrtoint ptr %t868 to i64 %t870 = zext i32 %t867 to i64 %t871 = mul i64 %t870, %t869 %t872 = load ptr, ptr %t861 %t873 = call ptr @realloc(ptr %t872, i64 %t871) store ptr %t873, ptr %t861 store i32 %t867, ptr %t860 br label %put291 put291: %t874 = load ptr, ptr %t861 %t875 = getelementptr inbounds ptr, ptr %t874, i32 %t862 store ptr @.str8045, ptr %t875 %t876 = add i32 %t862, 1 store i32 %t876, ptr %t859 %t877 = load ptr, ptr %t459 %t878 = getelementptr inbounds %LSlice, ptr %t877, i32 0, i32 1 %t879 = getelementptr inbounds %LSlice, ptr %t877, i32 0, i32 2 %t880 = getelementptr inbounds %LSlice, ptr %t877, i32 0, i32 0 %t881 = load i32, ptr %t878 %t882 = load i32, ptr %t879 %t883 = icmp sge i32 %t881, %t882 br i1 %t883, label %grow292, label %put293 grow292: %t884 = mul i32 %t882, 2 %t885 = icmp eq i32 %t882, 0 %t886 = select i1 %t885, i32 8, i32 %t884 %t887 = getelementptr ptr, ptr null, i32 1 %t888 = ptrtoint ptr %t887 to i64 %t889 = zext i32 %t886 to i64 %t890 = mul i64 %t889, %t888 %t891 = load ptr, ptr %t880 %t892 = call ptr @realloc(ptr %t891, i64 %t890) store ptr %t892, ptr %t880 store i32 %t886, ptr %t879 br label %put293 put293: %t893 = load ptr, ptr %t880 %t894 = getelementptr inbounds ptr, ptr %t893, i32 %t881 store ptr @.str8046, ptr %t894 %t895 = add i32 %t881, 1 store i32 %t895, ptr %t878 br label %ifend287 ifend287: %t896 = load ptr, ptr %t1 %t897 = call i32 @lp_str_eq(ptr %t896, ptr @.str8047) %t898 = icmp ne i32 %t897, 0 br i1 %t898, label %then294, label %ifend296 then294: store ptr @.str8048, ptr %t452 %t899 = load ptr, ptr %t459 %t900 = getelementptr inbounds %LSlice, ptr %t899, i32 0, i32 1 %t901 = getelementptr inbounds %LSlice, ptr %t899, i32 0, i32 2 %t902 = getelementptr inbounds %LSlice, ptr %t899, i32 0, i32 0 %t903 = load i32, ptr %t900 %t904 = load i32, ptr %t901 %t905 = icmp sge i32 %t903, %t904 br i1 %t905, label %grow297, label %put298 grow297: %t906 = mul i32 %t904, 2 %t907 = icmp eq i32 %t904, 0 %t908 = select i1 %t907, i32 8, i32 %t906 %t909 = getelementptr ptr, ptr null, i32 1 %t910 = ptrtoint ptr %t909 to i64 %t911 = zext i32 %t908 to i64 %t912 = mul i64 %t911, %t910 %t913 = load ptr, ptr %t902 %t914 = call ptr @realloc(ptr %t913, i64 %t912) store ptr %t914, ptr %t902 store i32 %t908, ptr %t901 br label %put298 put298: %t915 = load ptr, ptr %t902 %t916 = getelementptr inbounds ptr, ptr %t915, i32 %t903 store ptr @.str8049, ptr %t916 %t917 = add i32 %t903, 1 store i32 %t917, ptr %t900 %t918 = load ptr, ptr %t459 %t919 = getelementptr inbounds %LSlice, ptr %t918, i32 0, i32 1 %t920 = getelementptr inbounds %LSlice, ptr %t918, i32 0, i32 2 %t921 = getelementptr inbounds %LSlice, ptr %t918, i32 0, i32 0 %t922 = load i32, ptr %t919 %t923 = load i32, ptr %t920 %t924 = icmp sge i32 %t922, %t923 br i1 %t924, label %grow299, label %put300 grow299: %t925 = mul i32 %t923, 2 %t926 = icmp eq i32 %t923, 0 %t927 = select i1 %t926, i32 8, i32 %t925 %t928 = getelementptr ptr, ptr null, i32 1 %t929 = ptrtoint ptr %t928 to i64 %t930 = zext i32 %t927 to i64 %t931 = mul i64 %t930, %t929 %t932 = load ptr, ptr %t921 %t933 = call ptr @realloc(ptr %t932, i64 %t931) store ptr %t933, ptr %t921 store i32 %t927, ptr %t920 br label %put300 put300: %t934 = load ptr, ptr %t921 %t935 = getelementptr inbounds ptr, ptr %t934, i32 %t922 store ptr @.str8050, ptr %t935 %t936 = add i32 %t922, 1 store i32 %t936, ptr %t919 %t937 = load ptr, ptr %t459 %t938 = getelementptr inbounds %LSlice, ptr %t937, i32 0, i32 1 %t939 = getelementptr inbounds %LSlice, ptr %t937, i32 0, i32 2 %t940 = getelementptr inbounds %LSlice, ptr %t937, i32 0, i32 0 %t941 = load i32, ptr %t938 %t942 = load i32, ptr %t939 %t943 = icmp sge i32 %t941, %t942 br i1 %t943, label %grow301, label %put302 grow301: %t944 = mul i32 %t942, 2 %t945 = icmp eq i32 %t942, 0 %t946 = select i1 %t945, i32 8, i32 %t944 %t947 = getelementptr ptr, ptr null, i32 1 %t948 = ptrtoint ptr %t947 to i64 %t949 = zext i32 %t946 to i64 %t950 = mul i64 %t949, %t948 %t951 = load ptr, ptr %t940 %t952 = call ptr @realloc(ptr %t951, i64 %t950) store ptr %t952, ptr %t940 store i32 %t946, ptr %t939 br label %put302 put302: %t953 = load ptr, ptr %t940 %t954 = getelementptr inbounds ptr, ptr %t953, i32 %t941 store ptr @.str8051, ptr %t954 %t955 = add i32 %t941, 1 store i32 %t955, ptr %t938 %t956 = load ptr, ptr %t459 %t957 = getelementptr inbounds %LSlice, ptr %t956, i32 0, i32 1 %t958 = getelementptr inbounds %LSlice, ptr %t956, i32 0, i32 2 %t959 = getelementptr inbounds %LSlice, ptr %t956, i32 0, i32 0 %t960 = load i32, ptr %t957 %t961 = load i32, ptr %t958 %t962 = icmp sge i32 %t960, %t961 br i1 %t962, label %grow303, label %put304 grow303: %t963 = mul i32 %t961, 2 %t964 = icmp eq i32 %t961, 0 %t965 = select i1 %t964, i32 8, i32 %t963 %t966 = getelementptr ptr, ptr null, i32 1 %t967 = ptrtoint ptr %t966 to i64 %t968 = zext i32 %t965 to i64 %t969 = mul i64 %t968, %t967 %t970 = load ptr, ptr %t959 %t971 = call ptr @realloc(ptr %t970, i64 %t969) store ptr %t971, ptr %t959 store i32 %t965, ptr %t958 br label %put304 put304: %t972 = load ptr, ptr %t959 %t973 = getelementptr inbounds ptr, ptr %t972, i32 %t960 store ptr @.str8052, ptr %t973 %t974 = add i32 %t960, 1 store i32 %t974, ptr %t957 %t975 = load ptr, ptr %t459 %t976 = getelementptr inbounds %LSlice, ptr %t975, i32 0, i32 1 %t977 = getelementptr inbounds %LSlice, ptr %t975, i32 0, i32 2 %t978 = getelementptr inbounds %LSlice, ptr %t975, i32 0, i32 0 %t979 = load i32, ptr %t976 %t980 = load i32, ptr %t977 %t981 = icmp sge i32 %t979, %t980 br i1 %t981, label %grow305, label %put306 grow305: %t982 = mul i32 %t980, 2 %t983 = icmp eq i32 %t980, 0 %t984 = select i1 %t983, i32 8, i32 %t982 %t985 = getelementptr ptr, ptr null, i32 1 %t986 = ptrtoint ptr %t985 to i64 %t987 = zext i32 %t984 to i64 %t988 = mul i64 %t987, %t986 %t989 = load ptr, ptr %t978 %t990 = call ptr @realloc(ptr %t989, i64 %t988) store ptr %t990, ptr %t978 store i32 %t984, ptr %t977 br label %put306 put306: %t991 = load ptr, ptr %t978 %t992 = getelementptr inbounds ptr, ptr %t991, i32 %t979 store ptr @.str8053, ptr %t992 %t993 = add i32 %t979, 1 store i32 %t993, ptr %t976 br label %ifend296 ifend296: %t994 = load ptr, ptr %t1 %t995 = call i32 @lp_str_eq(ptr %t994, ptr @.str8054) %t996 = icmp ne i32 %t995, 0 br i1 %t996, label %then307, label %ifend309 then307: store ptr @.str8055, ptr %t452 %t997 = load ptr, ptr %t459 %t998 = getelementptr inbounds %LSlice, ptr %t997, i32 0, i32 1 %t999 = getelementptr inbounds %LSlice, ptr %t997, i32 0, i32 2 %t1000 = getelementptr inbounds %LSlice, ptr %t997, i32 0, i32 0 %t1001 = load i32, ptr %t998 %t1002 = load i32, ptr %t999 %t1003 = icmp sge i32 %t1001, %t1002 br i1 %t1003, label %grow310, label %put311 grow310: %t1004 = mul i32 %t1002, 2 %t1005 = icmp eq i32 %t1002, 0 %t1006 = select i1 %t1005, i32 8, i32 %t1004 %t1007 = getelementptr ptr, ptr null, i32 1 %t1008 = ptrtoint ptr %t1007 to i64 %t1009 = zext i32 %t1006 to i64 %t1010 = mul i64 %t1009, %t1008 %t1011 = load ptr, ptr %t1000 %t1012 = call ptr @realloc(ptr %t1011, i64 %t1010) store ptr %t1012, ptr %t1000 store i32 %t1006, ptr %t999 br label %put311 put311: %t1013 = load ptr, ptr %t1000 %t1014 = getelementptr inbounds ptr, ptr %t1013, i32 %t1001 store ptr @.str8056, ptr %t1014 %t1015 = add i32 %t1001, 1 store i32 %t1015, ptr %t998 %t1016 = load ptr, ptr %t459 %t1017 = getelementptr inbounds %LSlice, ptr %t1016, i32 0, i32 1 %t1018 = getelementptr inbounds %LSlice, ptr %t1016, i32 0, i32 2 %t1019 = getelementptr inbounds %LSlice, ptr %t1016, i32 0, i32 0 %t1020 = load i32, ptr %t1017 %t1021 = load i32, ptr %t1018 %t1022 = icmp sge i32 %t1020, %t1021 br i1 %t1022, label %grow312, label %put313 grow312: %t1023 = mul i32 %t1021, 2 %t1024 = icmp eq i32 %t1021, 0 %t1025 = select i1 %t1024, i32 8, i32 %t1023 %t1026 = getelementptr ptr, ptr null, i32 1 %t1027 = ptrtoint ptr %t1026 to i64 %t1028 = zext i32 %t1025 to i64 %t1029 = mul i64 %t1028, %t1027 %t1030 = load ptr, ptr %t1019 %t1031 = call ptr @realloc(ptr %t1030, i64 %t1029) store ptr %t1031, ptr %t1019 store i32 %t1025, ptr %t1018 br label %put313 put313: %t1032 = load ptr, ptr %t1019 %t1033 = getelementptr inbounds ptr, ptr %t1032, i32 %t1020 store ptr @.str8057, ptr %t1033 %t1034 = add i32 %t1020, 1 store i32 %t1034, ptr %t1017 %t1035 = load ptr, ptr %t459 %t1036 = getelementptr inbounds %LSlice, ptr %t1035, i32 0, i32 1 %t1037 = getelementptr inbounds %LSlice, ptr %t1035, i32 0, i32 2 %t1038 = getelementptr inbounds %LSlice, ptr %t1035, i32 0, i32 0 %t1039 = load i32, ptr %t1036 %t1040 = load i32, ptr %t1037 %t1041 = icmp sge i32 %t1039, %t1040 br i1 %t1041, label %grow314, label %put315 grow314: %t1042 = mul i32 %t1040, 2 %t1043 = icmp eq i32 %t1040, 0 %t1044 = select i1 %t1043, i32 8, i32 %t1042 %t1045 = getelementptr ptr, ptr null, i32 1 %t1046 = ptrtoint ptr %t1045 to i64 %t1047 = zext i32 %t1044 to i64 %t1048 = mul i64 %t1047, %t1046 %t1049 = load ptr, ptr %t1038 %t1050 = call ptr @realloc(ptr %t1049, i64 %t1048) store ptr %t1050, ptr %t1038 store i32 %t1044, ptr %t1037 br label %put315 put315: %t1051 = load ptr, ptr %t1038 %t1052 = getelementptr inbounds ptr, ptr %t1051, i32 %t1039 store ptr @.str8058, ptr %t1052 %t1053 = add i32 %t1039, 1 store i32 %t1053, ptr %t1036 %t1054 = load ptr, ptr %t459 %t1055 = getelementptr inbounds %LSlice, ptr %t1054, i32 0, i32 1 %t1056 = getelementptr inbounds %LSlice, ptr %t1054, i32 0, i32 2 %t1057 = getelementptr inbounds %LSlice, ptr %t1054, i32 0, i32 0 %t1058 = load i32, ptr %t1055 %t1059 = load i32, ptr %t1056 %t1060 = icmp sge i32 %t1058, %t1059 br i1 %t1060, label %grow316, label %put317 grow316: %t1061 = mul i32 %t1059, 2 %t1062 = icmp eq i32 %t1059, 0 %t1063 = select i1 %t1062, i32 8, i32 %t1061 %t1064 = getelementptr ptr, ptr null, i32 1 %t1065 = ptrtoint ptr %t1064 to i64 %t1066 = zext i32 %t1063 to i64 %t1067 = mul i64 %t1066, %t1065 %t1068 = load ptr, ptr %t1057 %t1069 = call ptr @realloc(ptr %t1068, i64 %t1067) store ptr %t1069, ptr %t1057 store i32 %t1063, ptr %t1056 br label %put317 put317: %t1070 = load ptr, ptr %t1057 %t1071 = getelementptr inbounds ptr, ptr %t1070, i32 %t1058 store ptr @.str8059, ptr %t1071 %t1072 = add i32 %t1058, 1 store i32 %t1072, ptr %t1055 %t1073 = load ptr, ptr %t459 %t1074 = getelementptr inbounds %LSlice, ptr %t1073, i32 0, i32 1 %t1075 = getelementptr inbounds %LSlice, ptr %t1073, i32 0, i32 2 %t1076 = getelementptr inbounds %LSlice, ptr %t1073, i32 0, i32 0 %t1077 = load i32, ptr %t1074 %t1078 = load i32, ptr %t1075 %t1079 = icmp sge i32 %t1077, %t1078 br i1 %t1079, label %grow318, label %put319 grow318: %t1080 = mul i32 %t1078, 2 %t1081 = icmp eq i32 %t1078, 0 %t1082 = select i1 %t1081, i32 8, i32 %t1080 %t1083 = getelementptr ptr, ptr null, i32 1 %t1084 = ptrtoint ptr %t1083 to i64 %t1085 = zext i32 %t1082 to i64 %t1086 = mul i64 %t1085, %t1084 %t1087 = load ptr, ptr %t1076 %t1088 = call ptr @realloc(ptr %t1087, i64 %t1086) store ptr %t1088, ptr %t1076 store i32 %t1082, ptr %t1075 br label %put319 put319: %t1089 = load ptr, ptr %t1076 %t1090 = getelementptr inbounds ptr, ptr %t1089, i32 %t1077 store ptr @.str8060, ptr %t1090 %t1091 = add i32 %t1077, 1 store i32 %t1091, ptr %t1074 br label %ifend309 ifend309: %t1092 = load ptr, ptr %t1 %t1093 = call i32 @lp_str_eq(ptr %t1092, ptr @.str8061) %t1094 = icmp ne i32 %t1093, 0 br i1 %t1094, label %then320, label %ifend322 then320: store ptr @.str8062, ptr %t452 br label %ifend322 ifend322: %t1095 = load ptr, ptr %t1 %t1096 = call i32 @lp_str_eq(ptr %t1095, ptr @.str8063) %t1097 = icmp ne i32 %t1096, 0 br i1 %t1097, label %then323, label %ifend325 then323: store ptr @.str8064, ptr %t452 br label %ifend325 ifend325: %t1098 = load ptr, ptr %t1 %t1099 = call i32 @lp_str_eq(ptr %t1098, ptr @.str8065) %t1100 = icmp ne i32 %t1099, 0 br i1 %t1100, label %then326, label %ifend328 then326: store ptr @.str8066, ptr %t452 br label %ifend328 ifend328: %t1101 = load ptr, ptr %t1 %t1102 = call i32 @lp_str_eq(ptr %t1101, ptr @.str8067) %t1103 = icmp ne i32 %t1102, 0 br i1 %t1103, label %then329, label %ifend331 then329: store ptr @.str8068, ptr %t452 %t1104 = load ptr, ptr %t459 %t1105 = getelementptr inbounds %LSlice, ptr %t1104, i32 0, i32 1 %t1106 = getelementptr inbounds %LSlice, ptr %t1104, i32 0, i32 2 %t1107 = getelementptr inbounds %LSlice, ptr %t1104, i32 0, i32 0 %t1108 = load i32, ptr %t1105 %t1109 = load i32, ptr %t1106 %t1110 = icmp sge i32 %t1108, %t1109 br i1 %t1110, label %grow332, label %put333 grow332: %t1111 = mul i32 %t1109, 2 %t1112 = icmp eq i32 %t1109, 0 %t1113 = select i1 %t1112, i32 8, i32 %t1111 %t1114 = getelementptr ptr, ptr null, i32 1 %t1115 = ptrtoint ptr %t1114 to i64 %t1116 = zext i32 %t1113 to i64 %t1117 = mul i64 %t1116, %t1115 %t1118 = load ptr, ptr %t1107 %t1119 = call ptr @realloc(ptr %t1118, i64 %t1117) store ptr %t1119, ptr %t1107 store i32 %t1113, ptr %t1106 br label %put333 put333: %t1120 = load ptr, ptr %t1107 %t1121 = getelementptr inbounds ptr, ptr %t1120, i32 %t1108 store ptr @.str8069, ptr %t1121 %t1122 = add i32 %t1108, 1 store i32 %t1122, ptr %t1105 br label %ifend331 ifend331: %t1123 = load ptr, ptr %t1 %t1124 = call i32 @lp_str_eq(ptr %t1123, ptr @.str8070) %t1125 = icmp ne i32 %t1124, 0 br i1 %t1125, label %then334, label %ifend336 then334: store ptr @.str8071, ptr %t452 %t1126 = load ptr, ptr %t459 %t1127 = getelementptr inbounds %LSlice, ptr %t1126, i32 0, i32 1 %t1128 = getelementptr inbounds %LSlice, ptr %t1126, i32 0, i32 2 %t1129 = getelementptr inbounds %LSlice, ptr %t1126, i32 0, i32 0 %t1130 = load i32, ptr %t1127 %t1131 = load i32, ptr %t1128 %t1132 = icmp sge i32 %t1130, %t1131 br i1 %t1132, label %grow337, label %put338 grow337: %t1133 = mul i32 %t1131, 2 %t1134 = icmp eq i32 %t1131, 0 %t1135 = select i1 %t1134, i32 8, i32 %t1133 %t1136 = getelementptr ptr, ptr null, i32 1 %t1137 = ptrtoint ptr %t1136 to i64 %t1138 = zext i32 %t1135 to i64 %t1139 = mul i64 %t1138, %t1137 %t1140 = load ptr, ptr %t1129 %t1141 = call ptr @realloc(ptr %t1140, i64 %t1139) store ptr %t1141, ptr %t1129 store i32 %t1135, ptr %t1128 br label %put338 put338: %t1142 = load ptr, ptr %t1129 %t1143 = getelementptr inbounds ptr, ptr %t1142, i32 %t1130 store ptr @.str8072, ptr %t1143 %t1144 = add i32 %t1130, 1 store i32 %t1144, ptr %t1127 %t1145 = load ptr, ptr %t459 %t1146 = getelementptr inbounds %LSlice, ptr %t1145, i32 0, i32 1 %t1147 = getelementptr inbounds %LSlice, ptr %t1145, i32 0, i32 2 %t1148 = getelementptr inbounds %LSlice, ptr %t1145, i32 0, i32 0 %t1149 = load i32, ptr %t1146 %t1150 = load i32, ptr %t1147 %t1151 = icmp sge i32 %t1149, %t1150 br i1 %t1151, label %grow339, label %put340 grow339: %t1152 = mul i32 %t1150, 2 %t1153 = icmp eq i32 %t1150, 0 %t1154 = select i1 %t1153, i32 8, i32 %t1152 %t1155 = getelementptr ptr, ptr null, i32 1 %t1156 = ptrtoint ptr %t1155 to i64 %t1157 = zext i32 %t1154 to i64 %t1158 = mul i64 %t1157, %t1156 %t1159 = load ptr, ptr %t1148 %t1160 = call ptr @realloc(ptr %t1159, i64 %t1158) store ptr %t1160, ptr %t1148 store i32 %t1154, ptr %t1147 br label %put340 put340: %t1161 = load ptr, ptr %t1148 %t1162 = getelementptr inbounds ptr, ptr %t1161, i32 %t1149 store ptr @.str8073, ptr %t1162 %t1163 = add i32 %t1149, 1 store i32 %t1163, ptr %t1146 %t1164 = load ptr, ptr %t459 %t1165 = getelementptr inbounds %LSlice, ptr %t1164, i32 0, i32 1 %t1166 = getelementptr inbounds %LSlice, ptr %t1164, i32 0, i32 2 %t1167 = getelementptr inbounds %LSlice, ptr %t1164, i32 0, i32 0 %t1168 = load i32, ptr %t1165 %t1169 = load i32, ptr %t1166 %t1170 = icmp sge i32 %t1168, %t1169 br i1 %t1170, label %grow341, label %put342 grow341: %t1171 = mul i32 %t1169, 2 %t1172 = icmp eq i32 %t1169, 0 %t1173 = select i1 %t1172, i32 8, i32 %t1171 %t1174 = getelementptr ptr, ptr null, i32 1 %t1175 = ptrtoint ptr %t1174 to i64 %t1176 = zext i32 %t1173 to i64 %t1177 = mul i64 %t1176, %t1175 %t1178 = load ptr, ptr %t1167 %t1179 = call ptr @realloc(ptr %t1178, i64 %t1177) store ptr %t1179, ptr %t1167 store i32 %t1173, ptr %t1166 br label %put342 put342: %t1180 = load ptr, ptr %t1167 %t1181 = getelementptr inbounds ptr, ptr %t1180, i32 %t1168 store ptr @.str8074, ptr %t1181 %t1182 = add i32 %t1168, 1 store i32 %t1182, ptr %t1165 %t1183 = load ptr, ptr %t459 %t1184 = getelementptr inbounds %LSlice, ptr %t1183, i32 0, i32 1 %t1185 = getelementptr inbounds %LSlice, ptr %t1183, i32 0, i32 2 %t1186 = getelementptr inbounds %LSlice, ptr %t1183, i32 0, i32 0 %t1187 = load i32, ptr %t1184 %t1188 = load i32, ptr %t1185 %t1189 = icmp sge i32 %t1187, %t1188 br i1 %t1189, label %grow343, label %put344 grow343: %t1190 = mul i32 %t1188, 2 %t1191 = icmp eq i32 %t1188, 0 %t1192 = select i1 %t1191, i32 8, i32 %t1190 %t1193 = getelementptr ptr, ptr null, i32 1 %t1194 = ptrtoint ptr %t1193 to i64 %t1195 = zext i32 %t1192 to i64 %t1196 = mul i64 %t1195, %t1194 %t1197 = load ptr, ptr %t1186 %t1198 = call ptr @realloc(ptr %t1197, i64 %t1196) store ptr %t1198, ptr %t1186 store i32 %t1192, ptr %t1185 br label %put344 put344: %t1199 = load ptr, ptr %t1186 %t1200 = getelementptr inbounds ptr, ptr %t1199, i32 %t1187 store ptr @.str8075, ptr %t1200 %t1201 = add i32 %t1187, 1 store i32 %t1201, ptr %t1184 %t1202 = load ptr, ptr %t459 %t1203 = getelementptr inbounds %LSlice, ptr %t1202, i32 0, i32 1 %t1204 = getelementptr inbounds %LSlice, ptr %t1202, i32 0, i32 2 %t1205 = getelementptr inbounds %LSlice, ptr %t1202, i32 0, i32 0 %t1206 = load i32, ptr %t1203 %t1207 = load i32, ptr %t1204 %t1208 = icmp sge i32 %t1206, %t1207 br i1 %t1208, label %grow345, label %put346 grow345: %t1209 = mul i32 %t1207, 2 %t1210 = icmp eq i32 %t1207, 0 %t1211 = select i1 %t1210, i32 8, i32 %t1209 %t1212 = getelementptr ptr, ptr null, i32 1 %t1213 = ptrtoint ptr %t1212 to i64 %t1214 = zext i32 %t1211 to i64 %t1215 = mul i64 %t1214, %t1213 %t1216 = load ptr, ptr %t1205 %t1217 = call ptr @realloc(ptr %t1216, i64 %t1215) store ptr %t1217, ptr %t1205 store i32 %t1211, ptr %t1204 br label %put346 put346: %t1218 = load ptr, ptr %t1205 %t1219 = getelementptr inbounds ptr, ptr %t1218, i32 %t1206 store ptr @.str8076, ptr %t1219 %t1220 = add i32 %t1206, 1 store i32 %t1220, ptr %t1203 br label %ifend336 ifend336: %t1221 = load ptr, ptr %t1 %t1222 = call i32 @lp_str_eq(ptr %t1221, ptr @.str8077) %t1223 = icmp ne i32 %t1222, 0 br i1 %t1223, label %then347, label %ifend349 then347: store ptr @.str8078, ptr %t452 %t1224 = load ptr, ptr %t459 %t1225 = getelementptr inbounds %LSlice, ptr %t1224, i32 0, i32 1 %t1226 = getelementptr inbounds %LSlice, ptr %t1224, i32 0, i32 2 %t1227 = getelementptr inbounds %LSlice, ptr %t1224, i32 0, i32 0 %t1228 = load i32, ptr %t1225 %t1229 = load i32, ptr %t1226 %t1230 = icmp sge i32 %t1228, %t1229 br i1 %t1230, label %grow350, label %put351 grow350: %t1231 = mul i32 %t1229, 2 %t1232 = icmp eq i32 %t1229, 0 %t1233 = select i1 %t1232, i32 8, i32 %t1231 %t1234 = getelementptr ptr, ptr null, i32 1 %t1235 = ptrtoint ptr %t1234 to i64 %t1236 = zext i32 %t1233 to i64 %t1237 = mul i64 %t1236, %t1235 %t1238 = load ptr, ptr %t1227 %t1239 = call ptr @realloc(ptr %t1238, i64 %t1237) store ptr %t1239, ptr %t1227 store i32 %t1233, ptr %t1226 br label %put351 put351: %t1240 = load ptr, ptr %t1227 %t1241 = getelementptr inbounds ptr, ptr %t1240, i32 %t1228 store ptr @.str8079, ptr %t1241 %t1242 = add i32 %t1228, 1 store i32 %t1242, ptr %t1225 %t1243 = load ptr, ptr %t459 %t1244 = getelementptr inbounds %LSlice, ptr %t1243, i32 0, i32 1 %t1245 = getelementptr inbounds %LSlice, ptr %t1243, i32 0, i32 2 %t1246 = getelementptr inbounds %LSlice, ptr %t1243, i32 0, i32 0 %t1247 = load i32, ptr %t1244 %t1248 = load i32, ptr %t1245 %t1249 = icmp sge i32 %t1247, %t1248 br i1 %t1249, label %grow352, label %put353 grow352: %t1250 = mul i32 %t1248, 2 %t1251 = icmp eq i32 %t1248, 0 %t1252 = select i1 %t1251, i32 8, i32 %t1250 %t1253 = getelementptr ptr, ptr null, i32 1 %t1254 = ptrtoint ptr %t1253 to i64 %t1255 = zext i32 %t1252 to i64 %t1256 = mul i64 %t1255, %t1254 %t1257 = load ptr, ptr %t1246 %t1258 = call ptr @realloc(ptr %t1257, i64 %t1256) store ptr %t1258, ptr %t1246 store i32 %t1252, ptr %t1245 br label %put353 put353: %t1259 = load ptr, ptr %t1246 %t1260 = getelementptr inbounds ptr, ptr %t1259, i32 %t1247 store ptr @.str8080, ptr %t1260 %t1261 = add i32 %t1247, 1 store i32 %t1261, ptr %t1244 %t1262 = load ptr, ptr %t459 %t1263 = getelementptr inbounds %LSlice, ptr %t1262, i32 0, i32 1 %t1264 = getelementptr inbounds %LSlice, ptr %t1262, i32 0, i32 2 %t1265 = getelementptr inbounds %LSlice, ptr %t1262, i32 0, i32 0 %t1266 = load i32, ptr %t1263 %t1267 = load i32, ptr %t1264 %t1268 = icmp sge i32 %t1266, %t1267 br i1 %t1268, label %grow354, label %put355 grow354: %t1269 = mul i32 %t1267, 2 %t1270 = icmp eq i32 %t1267, 0 %t1271 = select i1 %t1270, i32 8, i32 %t1269 %t1272 = getelementptr ptr, ptr null, i32 1 %t1273 = ptrtoint ptr %t1272 to i64 %t1274 = zext i32 %t1271 to i64 %t1275 = mul i64 %t1274, %t1273 %t1276 = load ptr, ptr %t1265 %t1277 = call ptr @realloc(ptr %t1276, i64 %t1275) store ptr %t1277, ptr %t1265 store i32 %t1271, ptr %t1264 br label %put355 put355: %t1278 = load ptr, ptr %t1265 %t1279 = getelementptr inbounds ptr, ptr %t1278, i32 %t1266 store ptr @.str8081, ptr %t1279 %t1280 = add i32 %t1266, 1 store i32 %t1280, ptr %t1263 %t1281 = load ptr, ptr %t459 %t1282 = getelementptr inbounds %LSlice, ptr %t1281, i32 0, i32 1 %t1283 = getelementptr inbounds %LSlice, ptr %t1281, i32 0, i32 2 %t1284 = getelementptr inbounds %LSlice, ptr %t1281, i32 0, i32 0 %t1285 = load i32, ptr %t1282 %t1286 = load i32, ptr %t1283 %t1287 = icmp sge i32 %t1285, %t1286 br i1 %t1287, label %grow356, label %put357 grow356: %t1288 = mul i32 %t1286, 2 %t1289 = icmp eq i32 %t1286, 0 %t1290 = select i1 %t1289, i32 8, i32 %t1288 %t1291 = getelementptr ptr, ptr null, i32 1 %t1292 = ptrtoint ptr %t1291 to i64 %t1293 = zext i32 %t1290 to i64 %t1294 = mul i64 %t1293, %t1292 %t1295 = load ptr, ptr %t1284 %t1296 = call ptr @realloc(ptr %t1295, i64 %t1294) store ptr %t1296, ptr %t1284 store i32 %t1290, ptr %t1283 br label %put357 put357: %t1297 = load ptr, ptr %t1284 %t1298 = getelementptr inbounds ptr, ptr %t1297, i32 %t1285 store ptr @.str8082, ptr %t1298 %t1299 = add i32 %t1285, 1 store i32 %t1299, ptr %t1282 br label %ifend349 ifend349: %t1300 = load ptr, ptr %t1 %t1301 = call i32 @lp_str_eq(ptr %t1300, ptr @.str8083) %t1302 = icmp ne i32 %t1301, 0 br i1 %t1302, label %then358, label %ifend360 then358: store ptr @.str8084, ptr %t452 %t1303 = load ptr, ptr %t459 %t1304 = getelementptr inbounds %LSlice, ptr %t1303, i32 0, i32 1 %t1305 = getelementptr inbounds %LSlice, ptr %t1303, i32 0, i32 2 %t1306 = getelementptr inbounds %LSlice, ptr %t1303, i32 0, i32 0 %t1307 = load i32, ptr %t1304 %t1308 = load i32, ptr %t1305 %t1309 = icmp sge i32 %t1307, %t1308 br i1 %t1309, label %grow361, label %put362 grow361: %t1310 = mul i32 %t1308, 2 %t1311 = icmp eq i32 %t1308, 0 %t1312 = select i1 %t1311, i32 8, i32 %t1310 %t1313 = getelementptr ptr, ptr null, i32 1 %t1314 = ptrtoint ptr %t1313 to i64 %t1315 = zext i32 %t1312 to i64 %t1316 = mul i64 %t1315, %t1314 %t1317 = load ptr, ptr %t1306 %t1318 = call ptr @realloc(ptr %t1317, i64 %t1316) store ptr %t1318, ptr %t1306 store i32 %t1312, ptr %t1305 br label %put362 put362: %t1319 = load ptr, ptr %t1306 %t1320 = getelementptr inbounds ptr, ptr %t1319, i32 %t1307 store ptr @.str8085, ptr %t1320 %t1321 = add i32 %t1307, 1 store i32 %t1321, ptr %t1304 %t1322 = load ptr, ptr %t459 %t1323 = getelementptr inbounds %LSlice, ptr %t1322, i32 0, i32 1 %t1324 = getelementptr inbounds %LSlice, ptr %t1322, i32 0, i32 2 %t1325 = getelementptr inbounds %LSlice, ptr %t1322, i32 0, i32 0 %t1326 = load i32, ptr %t1323 %t1327 = load i32, ptr %t1324 %t1328 = icmp sge i32 %t1326, %t1327 br i1 %t1328, label %grow363, label %put364 grow363: %t1329 = mul i32 %t1327, 2 %t1330 = icmp eq i32 %t1327, 0 %t1331 = select i1 %t1330, i32 8, i32 %t1329 %t1332 = getelementptr ptr, ptr null, i32 1 %t1333 = ptrtoint ptr %t1332 to i64 %t1334 = zext i32 %t1331 to i64 %t1335 = mul i64 %t1334, %t1333 %t1336 = load ptr, ptr %t1325 %t1337 = call ptr @realloc(ptr %t1336, i64 %t1335) store ptr %t1337, ptr %t1325 store i32 %t1331, ptr %t1324 br label %put364 put364: %t1338 = load ptr, ptr %t1325 %t1339 = getelementptr inbounds ptr, ptr %t1338, i32 %t1326 store ptr @.str8086, ptr %t1339 %t1340 = add i32 %t1326, 1 store i32 %t1340, ptr %t1323 %t1341 = load ptr, ptr %t459 %t1342 = getelementptr inbounds %LSlice, ptr %t1341, i32 0, i32 1 %t1343 = getelementptr inbounds %LSlice, ptr %t1341, i32 0, i32 2 %t1344 = getelementptr inbounds %LSlice, ptr %t1341, i32 0, i32 0 %t1345 = load i32, ptr %t1342 %t1346 = load i32, ptr %t1343 %t1347 = icmp sge i32 %t1345, %t1346 br i1 %t1347, label %grow365, label %put366 grow365: %t1348 = mul i32 %t1346, 2 %t1349 = icmp eq i32 %t1346, 0 %t1350 = select i1 %t1349, i32 8, i32 %t1348 %t1351 = getelementptr ptr, ptr null, i32 1 %t1352 = ptrtoint ptr %t1351 to i64 %t1353 = zext i32 %t1350 to i64 %t1354 = mul i64 %t1353, %t1352 %t1355 = load ptr, ptr %t1344 %t1356 = call ptr @realloc(ptr %t1355, i64 %t1354) store ptr %t1356, ptr %t1344 store i32 %t1350, ptr %t1343 br label %put366 put366: %t1357 = load ptr, ptr %t1344 %t1358 = getelementptr inbounds ptr, ptr %t1357, i32 %t1345 store ptr @.str8087, ptr %t1358 %t1359 = add i32 %t1345, 1 store i32 %t1359, ptr %t1342 %t1360 = load ptr, ptr %t459 %t1361 = getelementptr inbounds %LSlice, ptr %t1360, i32 0, i32 1 %t1362 = getelementptr inbounds %LSlice, ptr %t1360, i32 0, i32 2 %t1363 = getelementptr inbounds %LSlice, ptr %t1360, i32 0, i32 0 %t1364 = load i32, ptr %t1361 %t1365 = load i32, ptr %t1362 %t1366 = icmp sge i32 %t1364, %t1365 br i1 %t1366, label %grow367, label %put368 grow367: %t1367 = mul i32 %t1365, 2 %t1368 = icmp eq i32 %t1365, 0 %t1369 = select i1 %t1368, i32 8, i32 %t1367 %t1370 = getelementptr ptr, ptr null, i32 1 %t1371 = ptrtoint ptr %t1370 to i64 %t1372 = zext i32 %t1369 to i64 %t1373 = mul i64 %t1372, %t1371 %t1374 = load ptr, ptr %t1363 %t1375 = call ptr @realloc(ptr %t1374, i64 %t1373) store ptr %t1375, ptr %t1363 store i32 %t1369, ptr %t1362 br label %put368 put368: %t1376 = load ptr, ptr %t1363 %t1377 = getelementptr inbounds ptr, ptr %t1376, i32 %t1364 store ptr @.str8088, ptr %t1377 %t1378 = add i32 %t1364, 1 store i32 %t1378, ptr %t1361 br label %ifend360 ifend360: %t1379 = load ptr, ptr %t1 %t1380 = call i32 @lp_str_eq(ptr %t1379, ptr @.str8089) %t1381 = icmp ne i32 %t1380, 0 br i1 %t1381, label %then369, label %ifend371 then369: store ptr @.str8090, ptr %t452 %t1382 = load ptr, ptr %t459 %t1383 = getelementptr inbounds %LSlice, ptr %t1382, i32 0, i32 1 %t1384 = getelementptr inbounds %LSlice, ptr %t1382, i32 0, i32 2 %t1385 = getelementptr inbounds %LSlice, ptr %t1382, i32 0, i32 0 %t1386 = load i32, ptr %t1383 %t1387 = load i32, ptr %t1384 %t1388 = icmp sge i32 %t1386, %t1387 br i1 %t1388, label %grow372, label %put373 grow372: %t1389 = mul i32 %t1387, 2 %t1390 = icmp eq i32 %t1387, 0 %t1391 = select i1 %t1390, i32 8, i32 %t1389 %t1392 = getelementptr ptr, ptr null, i32 1 %t1393 = ptrtoint ptr %t1392 to i64 %t1394 = zext i32 %t1391 to i64 %t1395 = mul i64 %t1394, %t1393 %t1396 = load ptr, ptr %t1385 %t1397 = call ptr @realloc(ptr %t1396, i64 %t1395) store ptr %t1397, ptr %t1385 store i32 %t1391, ptr %t1384 br label %put373 put373: %t1398 = load ptr, ptr %t1385 %t1399 = getelementptr inbounds ptr, ptr %t1398, i32 %t1386 store ptr @.str8091, ptr %t1399 %t1400 = add i32 %t1386, 1 store i32 %t1400, ptr %t1383 %t1401 = load ptr, ptr %t459 %t1402 = getelementptr inbounds %LSlice, ptr %t1401, i32 0, i32 1 %t1403 = getelementptr inbounds %LSlice, ptr %t1401, i32 0, i32 2 %t1404 = getelementptr inbounds %LSlice, ptr %t1401, i32 0, i32 0 %t1405 = load i32, ptr %t1402 %t1406 = load i32, ptr %t1403 %t1407 = icmp sge i32 %t1405, %t1406 br i1 %t1407, label %grow374, label %put375 grow374: %t1408 = mul i32 %t1406, 2 %t1409 = icmp eq i32 %t1406, 0 %t1410 = select i1 %t1409, i32 8, i32 %t1408 %t1411 = getelementptr ptr, ptr null, i32 1 %t1412 = ptrtoint ptr %t1411 to i64 %t1413 = zext i32 %t1410 to i64 %t1414 = mul i64 %t1413, %t1412 %t1415 = load ptr, ptr %t1404 %t1416 = call ptr @realloc(ptr %t1415, i64 %t1414) store ptr %t1416, ptr %t1404 store i32 %t1410, ptr %t1403 br label %put375 put375: %t1417 = load ptr, ptr %t1404 %t1418 = getelementptr inbounds ptr, ptr %t1417, i32 %t1405 store ptr @.str8092, ptr %t1418 %t1419 = add i32 %t1405, 1 store i32 %t1419, ptr %t1402 %t1420 = load ptr, ptr %t459 %t1421 = getelementptr inbounds %LSlice, ptr %t1420, i32 0, i32 1 %t1422 = getelementptr inbounds %LSlice, ptr %t1420, i32 0, i32 2 %t1423 = getelementptr inbounds %LSlice, ptr %t1420, i32 0, i32 0 %t1424 = load i32, ptr %t1421 %t1425 = load i32, ptr %t1422 %t1426 = icmp sge i32 %t1424, %t1425 br i1 %t1426, label %grow376, label %put377 grow376: %t1427 = mul i32 %t1425, 2 %t1428 = icmp eq i32 %t1425, 0 %t1429 = select i1 %t1428, i32 8, i32 %t1427 %t1430 = getelementptr ptr, ptr null, i32 1 %t1431 = ptrtoint ptr %t1430 to i64 %t1432 = zext i32 %t1429 to i64 %t1433 = mul i64 %t1432, %t1431 %t1434 = load ptr, ptr %t1423 %t1435 = call ptr @realloc(ptr %t1434, i64 %t1433) store ptr %t1435, ptr %t1423 store i32 %t1429, ptr %t1422 br label %put377 put377: %t1436 = load ptr, ptr %t1423 %t1437 = getelementptr inbounds ptr, ptr %t1436, i32 %t1424 store ptr @.str8093, ptr %t1437 %t1438 = add i32 %t1424, 1 store i32 %t1438, ptr %t1421 %t1439 = load ptr, ptr %t459 %t1440 = getelementptr inbounds %LSlice, ptr %t1439, i32 0, i32 1 %t1441 = getelementptr inbounds %LSlice, ptr %t1439, i32 0, i32 2 %t1442 = getelementptr inbounds %LSlice, ptr %t1439, i32 0, i32 0 %t1443 = load i32, ptr %t1440 %t1444 = load i32, ptr %t1441 %t1445 = icmp sge i32 %t1443, %t1444 br i1 %t1445, label %grow378, label %put379 grow378: %t1446 = mul i32 %t1444, 2 %t1447 = icmp eq i32 %t1444, 0 %t1448 = select i1 %t1447, i32 8, i32 %t1446 %t1449 = getelementptr ptr, ptr null, i32 1 %t1450 = ptrtoint ptr %t1449 to i64 %t1451 = zext i32 %t1448 to i64 %t1452 = mul i64 %t1451, %t1450 %t1453 = load ptr, ptr %t1442 %t1454 = call ptr @realloc(ptr %t1453, i64 %t1452) store ptr %t1454, ptr %t1442 store i32 %t1448, ptr %t1441 br label %put379 put379: %t1455 = load ptr, ptr %t1442 %t1456 = getelementptr inbounds ptr, ptr %t1455, i32 %t1443 store ptr @.str8094, ptr %t1456 %t1457 = add i32 %t1443, 1 store i32 %t1457, ptr %t1440 %t1458 = load ptr, ptr %t459 %t1459 = getelementptr inbounds %LSlice, ptr %t1458, i32 0, i32 1 %t1460 = getelementptr inbounds %LSlice, ptr %t1458, i32 0, i32 2 %t1461 = getelementptr inbounds %LSlice, ptr %t1458, i32 0, i32 0 %t1462 = load i32, ptr %t1459 %t1463 = load i32, ptr %t1460 %t1464 = icmp sge i32 %t1462, %t1463 br i1 %t1464, label %grow380, label %put381 grow380: %t1465 = mul i32 %t1463, 2 %t1466 = icmp eq i32 %t1463, 0 %t1467 = select i1 %t1466, i32 8, i32 %t1465 %t1468 = getelementptr ptr, ptr null, i32 1 %t1469 = ptrtoint ptr %t1468 to i64 %t1470 = zext i32 %t1467 to i64 %t1471 = mul i64 %t1470, %t1469 %t1472 = load ptr, ptr %t1461 %t1473 = call ptr @realloc(ptr %t1472, i64 %t1471) store ptr %t1473, ptr %t1461 store i32 %t1467, ptr %t1460 br label %put381 put381: %t1474 = load ptr, ptr %t1461 %t1475 = getelementptr inbounds ptr, ptr %t1474, i32 %t1462 store ptr @.str8095, ptr %t1475 %t1476 = add i32 %t1462, 1 store i32 %t1476, ptr %t1459 %t1477 = load ptr, ptr %t459 %t1478 = getelementptr inbounds %LSlice, ptr %t1477, i32 0, i32 1 %t1479 = getelementptr inbounds %LSlice, ptr %t1477, i32 0, i32 2 %t1480 = getelementptr inbounds %LSlice, ptr %t1477, i32 0, i32 0 %t1481 = load i32, ptr %t1478 %t1482 = load i32, ptr %t1479 %t1483 = icmp sge i32 %t1481, %t1482 br i1 %t1483, label %grow382, label %put383 grow382: %t1484 = mul i32 %t1482, 2 %t1485 = icmp eq i32 %t1482, 0 %t1486 = select i1 %t1485, i32 8, i32 %t1484 %t1487 = getelementptr ptr, ptr null, i32 1 %t1488 = ptrtoint ptr %t1487 to i64 %t1489 = zext i32 %t1486 to i64 %t1490 = mul i64 %t1489, %t1488 %t1491 = load ptr, ptr %t1480 %t1492 = call ptr @realloc(ptr %t1491, i64 %t1490) store ptr %t1492, ptr %t1480 store i32 %t1486, ptr %t1479 br label %put383 put383: %t1493 = load ptr, ptr %t1480 %t1494 = getelementptr inbounds ptr, ptr %t1493, i32 %t1481 store ptr @.str8096, ptr %t1494 %t1495 = add i32 %t1481, 1 store i32 %t1495, ptr %t1478 %t1496 = load ptr, ptr %t459 %t1497 = getelementptr inbounds %LSlice, ptr %t1496, i32 0, i32 1 %t1498 = getelementptr inbounds %LSlice, ptr %t1496, i32 0, i32 2 %t1499 = getelementptr inbounds %LSlice, ptr %t1496, i32 0, i32 0 %t1500 = load i32, ptr %t1497 %t1501 = load i32, ptr %t1498 %t1502 = icmp sge i32 %t1500, %t1501 br i1 %t1502, label %grow384, label %put385 grow384: %t1503 = mul i32 %t1501, 2 %t1504 = icmp eq i32 %t1501, 0 %t1505 = select i1 %t1504, i32 8, i32 %t1503 %t1506 = getelementptr ptr, ptr null, i32 1 %t1507 = ptrtoint ptr %t1506 to i64 %t1508 = zext i32 %t1505 to i64 %t1509 = mul i64 %t1508, %t1507 %t1510 = load ptr, ptr %t1499 %t1511 = call ptr @realloc(ptr %t1510, i64 %t1509) store ptr %t1511, ptr %t1499 store i32 %t1505, ptr %t1498 br label %put385 put385: %t1512 = load ptr, ptr %t1499 %t1513 = getelementptr inbounds ptr, ptr %t1512, i32 %t1500 store ptr @.str8097, ptr %t1513 %t1514 = add i32 %t1500, 1 store i32 %t1514, ptr %t1497 br label %ifend371 ifend371: %t1515 = load ptr, ptr %t1 %t1516 = call i32 @lp_str_eq(ptr %t1515, ptr @.str8098) %t1517 = icmp ne i32 %t1516, 0 br i1 %t1517, label %then386, label %ifend388 then386: store ptr @.str8099, ptr %t452 %t1518 = load ptr, ptr %t459 %t1519 = getelementptr inbounds %LSlice, ptr %t1518, i32 0, i32 1 %t1520 = getelementptr inbounds %LSlice, ptr %t1518, i32 0, i32 2 %t1521 = getelementptr inbounds %LSlice, ptr %t1518, i32 0, i32 0 %t1522 = load i32, ptr %t1519 %t1523 = load i32, ptr %t1520 %t1524 = icmp sge i32 %t1522, %t1523 br i1 %t1524, label %grow389, label %put390 grow389: %t1525 = mul i32 %t1523, 2 %t1526 = icmp eq i32 %t1523, 0 %t1527 = select i1 %t1526, i32 8, i32 %t1525 %t1528 = getelementptr ptr, ptr null, i32 1 %t1529 = ptrtoint ptr %t1528 to i64 %t1530 = zext i32 %t1527 to i64 %t1531 = mul i64 %t1530, %t1529 %t1532 = load ptr, ptr %t1521 %t1533 = call ptr @realloc(ptr %t1532, i64 %t1531) store ptr %t1533, ptr %t1521 store i32 %t1527, ptr %t1520 br label %put390 put390: %t1534 = load ptr, ptr %t1521 %t1535 = getelementptr inbounds ptr, ptr %t1534, i32 %t1522 store ptr @.str8100, ptr %t1535 %t1536 = add i32 %t1522, 1 store i32 %t1536, ptr %t1519 %t1537 = load ptr, ptr %t459 %t1538 = getelementptr inbounds %LSlice, ptr %t1537, i32 0, i32 1 %t1539 = getelementptr inbounds %LSlice, ptr %t1537, i32 0, i32 2 %t1540 = getelementptr inbounds %LSlice, ptr %t1537, i32 0, i32 0 %t1541 = load i32, ptr %t1538 %t1542 = load i32, ptr %t1539 %t1543 = icmp sge i32 %t1541, %t1542 br i1 %t1543, label %grow391, label %put392 grow391: %t1544 = mul i32 %t1542, 2 %t1545 = icmp eq i32 %t1542, 0 %t1546 = select i1 %t1545, i32 8, i32 %t1544 %t1547 = getelementptr ptr, ptr null, i32 1 %t1548 = ptrtoint ptr %t1547 to i64 %t1549 = zext i32 %t1546 to i64 %t1550 = mul i64 %t1549, %t1548 %t1551 = load ptr, ptr %t1540 %t1552 = call ptr @realloc(ptr %t1551, i64 %t1550) store ptr %t1552, ptr %t1540 store i32 %t1546, ptr %t1539 br label %put392 put392: %t1553 = load ptr, ptr %t1540 %t1554 = getelementptr inbounds ptr, ptr %t1553, i32 %t1541 store ptr @.str8101, ptr %t1554 %t1555 = add i32 %t1541, 1 store i32 %t1555, ptr %t1538 %t1556 = load ptr, ptr %t459 %t1557 = getelementptr inbounds %LSlice, ptr %t1556, i32 0, i32 1 %t1558 = getelementptr inbounds %LSlice, ptr %t1556, i32 0, i32 2 %t1559 = getelementptr inbounds %LSlice, ptr %t1556, i32 0, i32 0 %t1560 = load i32, ptr %t1557 %t1561 = load i32, ptr %t1558 %t1562 = icmp sge i32 %t1560, %t1561 br i1 %t1562, label %grow393, label %put394 grow393: %t1563 = mul i32 %t1561, 2 %t1564 = icmp eq i32 %t1561, 0 %t1565 = select i1 %t1564, i32 8, i32 %t1563 %t1566 = getelementptr ptr, ptr null, i32 1 %t1567 = ptrtoint ptr %t1566 to i64 %t1568 = zext i32 %t1565 to i64 %t1569 = mul i64 %t1568, %t1567 %t1570 = load ptr, ptr %t1559 %t1571 = call ptr @realloc(ptr %t1570, i64 %t1569) store ptr %t1571, ptr %t1559 store i32 %t1565, ptr %t1558 br label %put394 put394: %t1572 = load ptr, ptr %t1559 %t1573 = getelementptr inbounds ptr, ptr %t1572, i32 %t1560 store ptr @.str8102, ptr %t1573 %t1574 = add i32 %t1560, 1 store i32 %t1574, ptr %t1557 %t1575 = load ptr, ptr %t459 %t1576 = getelementptr inbounds %LSlice, ptr %t1575, i32 0, i32 1 %t1577 = getelementptr inbounds %LSlice, ptr %t1575, i32 0, i32 2 %t1578 = getelementptr inbounds %LSlice, ptr %t1575, i32 0, i32 0 %t1579 = load i32, ptr %t1576 %t1580 = load i32, ptr %t1577 %t1581 = icmp sge i32 %t1579, %t1580 br i1 %t1581, label %grow395, label %put396 grow395: %t1582 = mul i32 %t1580, 2 %t1583 = icmp eq i32 %t1580, 0 %t1584 = select i1 %t1583, i32 8, i32 %t1582 %t1585 = getelementptr ptr, ptr null, i32 1 %t1586 = ptrtoint ptr %t1585 to i64 %t1587 = zext i32 %t1584 to i64 %t1588 = mul i64 %t1587, %t1586 %t1589 = load ptr, ptr %t1578 %t1590 = call ptr @realloc(ptr %t1589, i64 %t1588) store ptr %t1590, ptr %t1578 store i32 %t1584, ptr %t1577 br label %put396 put396: %t1591 = load ptr, ptr %t1578 %t1592 = getelementptr inbounds ptr, ptr %t1591, i32 %t1579 store ptr @.str8103, ptr %t1592 %t1593 = add i32 %t1579, 1 store i32 %t1593, ptr %t1576 %t1594 = load ptr, ptr %t459 %t1595 = getelementptr inbounds %LSlice, ptr %t1594, i32 0, i32 1 %t1596 = getelementptr inbounds %LSlice, ptr %t1594, i32 0, i32 2 %t1597 = getelementptr inbounds %LSlice, ptr %t1594, i32 0, i32 0 %t1598 = load i32, ptr %t1595 %t1599 = load i32, ptr %t1596 %t1600 = icmp sge i32 %t1598, %t1599 br i1 %t1600, label %grow397, label %put398 grow397: %t1601 = mul i32 %t1599, 2 %t1602 = icmp eq i32 %t1599, 0 %t1603 = select i1 %t1602, i32 8, i32 %t1601 %t1604 = getelementptr ptr, ptr null, i32 1 %t1605 = ptrtoint ptr %t1604 to i64 %t1606 = zext i32 %t1603 to i64 %t1607 = mul i64 %t1606, %t1605 %t1608 = load ptr, ptr %t1597 %t1609 = call ptr @realloc(ptr %t1608, i64 %t1607) store ptr %t1609, ptr %t1597 store i32 %t1603, ptr %t1596 br label %put398 put398: %t1610 = load ptr, ptr %t1597 %t1611 = getelementptr inbounds ptr, ptr %t1610, i32 %t1598 store ptr @.str8104, ptr %t1611 %t1612 = add i32 %t1598, 1 store i32 %t1612, ptr %t1595 %t1613 = load ptr, ptr %t459 %t1614 = getelementptr inbounds %LSlice, ptr %t1613, i32 0, i32 1 %t1615 = getelementptr inbounds %LSlice, ptr %t1613, i32 0, i32 2 %t1616 = getelementptr inbounds %LSlice, ptr %t1613, i32 0, i32 0 %t1617 = load i32, ptr %t1614 %t1618 = load i32, ptr %t1615 %t1619 = icmp sge i32 %t1617, %t1618 br i1 %t1619, label %grow399, label %put400 grow399: %t1620 = mul i32 %t1618, 2 %t1621 = icmp eq i32 %t1618, 0 %t1622 = select i1 %t1621, i32 8, i32 %t1620 %t1623 = getelementptr ptr, ptr null, i32 1 %t1624 = ptrtoint ptr %t1623 to i64 %t1625 = zext i32 %t1622 to i64 %t1626 = mul i64 %t1625, %t1624 %t1627 = load ptr, ptr %t1616 %t1628 = call ptr @realloc(ptr %t1627, i64 %t1626) store ptr %t1628, ptr %t1616 store i32 %t1622, ptr %t1615 br label %put400 put400: %t1629 = load ptr, ptr %t1616 %t1630 = getelementptr inbounds ptr, ptr %t1629, i32 %t1617 store ptr @.str8105, ptr %t1630 %t1631 = add i32 %t1617, 1 store i32 %t1631, ptr %t1614 %t1632 = load ptr, ptr %t459 %t1633 = getelementptr inbounds %LSlice, ptr %t1632, i32 0, i32 1 %t1634 = getelementptr inbounds %LSlice, ptr %t1632, i32 0, i32 2 %t1635 = getelementptr inbounds %LSlice, ptr %t1632, i32 0, i32 0 %t1636 = load i32, ptr %t1633 %t1637 = load i32, ptr %t1634 %t1638 = icmp sge i32 %t1636, %t1637 br i1 %t1638, label %grow401, label %put402 grow401: %t1639 = mul i32 %t1637, 2 %t1640 = icmp eq i32 %t1637, 0 %t1641 = select i1 %t1640, i32 8, i32 %t1639 %t1642 = getelementptr ptr, ptr null, i32 1 %t1643 = ptrtoint ptr %t1642 to i64 %t1644 = zext i32 %t1641 to i64 %t1645 = mul i64 %t1644, %t1643 %t1646 = load ptr, ptr %t1635 %t1647 = call ptr @realloc(ptr %t1646, i64 %t1645) store ptr %t1647, ptr %t1635 store i32 %t1641, ptr %t1634 br label %put402 put402: %t1648 = load ptr, ptr %t1635 %t1649 = getelementptr inbounds ptr, ptr %t1648, i32 %t1636 store ptr @.str8106, ptr %t1649 %t1650 = add i32 %t1636, 1 store i32 %t1650, ptr %t1633 br label %ifend388 ifend388: %t1651 = load ptr, ptr %t1 %t1652 = call i32 @lp_str_eq(ptr %t1651, ptr @.str8107) %t1653 = icmp ne i32 %t1652, 0 br i1 %t1653, label %then403, label %ifend405 then403: store ptr @.str8108, ptr %t452 %t1654 = load ptr, ptr %t459 %t1655 = getelementptr inbounds %LSlice, ptr %t1654, i32 0, i32 1 %t1656 = getelementptr inbounds %LSlice, ptr %t1654, i32 0, i32 2 %t1657 = getelementptr inbounds %LSlice, ptr %t1654, i32 0, i32 0 %t1658 = load i32, ptr %t1655 %t1659 = load i32, ptr %t1656 %t1660 = icmp sge i32 %t1658, %t1659 br i1 %t1660, label %grow406, label %put407 grow406: %t1661 = mul i32 %t1659, 2 %t1662 = icmp eq i32 %t1659, 0 %t1663 = select i1 %t1662, i32 8, i32 %t1661 %t1664 = getelementptr ptr, ptr null, i32 1 %t1665 = ptrtoint ptr %t1664 to i64 %t1666 = zext i32 %t1663 to i64 %t1667 = mul i64 %t1666, %t1665 %t1668 = load ptr, ptr %t1657 %t1669 = call ptr @realloc(ptr %t1668, i64 %t1667) store ptr %t1669, ptr %t1657 store i32 %t1663, ptr %t1656 br label %put407 put407: %t1670 = load ptr, ptr %t1657 %t1671 = getelementptr inbounds ptr, ptr %t1670, i32 %t1658 store ptr @.str8109, ptr %t1671 %t1672 = add i32 %t1658, 1 store i32 %t1672, ptr %t1655 %t1673 = load ptr, ptr %t459 %t1674 = getelementptr inbounds %LSlice, ptr %t1673, i32 0, i32 1 %t1675 = getelementptr inbounds %LSlice, ptr %t1673, i32 0, i32 2 %t1676 = getelementptr inbounds %LSlice, ptr %t1673, i32 0, i32 0 %t1677 = load i32, ptr %t1674 %t1678 = load i32, ptr %t1675 %t1679 = icmp sge i32 %t1677, %t1678 br i1 %t1679, label %grow408, label %put409 grow408: %t1680 = mul i32 %t1678, 2 %t1681 = icmp eq i32 %t1678, 0 %t1682 = select i1 %t1681, i32 8, i32 %t1680 %t1683 = getelementptr ptr, ptr null, i32 1 %t1684 = ptrtoint ptr %t1683 to i64 %t1685 = zext i32 %t1682 to i64 %t1686 = mul i64 %t1685, %t1684 %t1687 = load ptr, ptr %t1676 %t1688 = call ptr @realloc(ptr %t1687, i64 %t1686) store ptr %t1688, ptr %t1676 store i32 %t1682, ptr %t1675 br label %put409 put409: %t1689 = load ptr, ptr %t1676 %t1690 = getelementptr inbounds ptr, ptr %t1689, i32 %t1677 store ptr @.str8110, ptr %t1690 %t1691 = add i32 %t1677, 1 store i32 %t1691, ptr %t1674 %t1692 = load ptr, ptr %t459 %t1693 = getelementptr inbounds %LSlice, ptr %t1692, i32 0, i32 1 %t1694 = getelementptr inbounds %LSlice, ptr %t1692, i32 0, i32 2 %t1695 = getelementptr inbounds %LSlice, ptr %t1692, i32 0, i32 0 %t1696 = load i32, ptr %t1693 %t1697 = load i32, ptr %t1694 %t1698 = icmp sge i32 %t1696, %t1697 br i1 %t1698, label %grow410, label %put411 grow410: %t1699 = mul i32 %t1697, 2 %t1700 = icmp eq i32 %t1697, 0 %t1701 = select i1 %t1700, i32 8, i32 %t1699 %t1702 = getelementptr ptr, ptr null, i32 1 %t1703 = ptrtoint ptr %t1702 to i64 %t1704 = zext i32 %t1701 to i64 %t1705 = mul i64 %t1704, %t1703 %t1706 = load ptr, ptr %t1695 %t1707 = call ptr @realloc(ptr %t1706, i64 %t1705) store ptr %t1707, ptr %t1695 store i32 %t1701, ptr %t1694 br label %put411 put411: %t1708 = load ptr, ptr %t1695 %t1709 = getelementptr inbounds ptr, ptr %t1708, i32 %t1696 store ptr @.str8111, ptr %t1709 %t1710 = add i32 %t1696, 1 store i32 %t1710, ptr %t1693 br label %ifend405 ifend405: %t1711 = load ptr, ptr %t1 %t1712 = call i32 @lp_str_eq(ptr %t1711, ptr @.str8112) %t1713 = icmp ne i32 %t1712, 0 br i1 %t1713, label %then412, label %ifend414 then412: store ptr @.str8113, ptr %t452 %t1714 = load ptr, ptr %t459 %t1715 = getelementptr inbounds %LSlice, ptr %t1714, i32 0, i32 1 %t1716 = getelementptr inbounds %LSlice, ptr %t1714, i32 0, i32 2 %t1717 = getelementptr inbounds %LSlice, ptr %t1714, i32 0, i32 0 %t1718 = load i32, ptr %t1715 %t1719 = load i32, ptr %t1716 %t1720 = icmp sge i32 %t1718, %t1719 br i1 %t1720, label %grow415, label %put416 grow415: %t1721 = mul i32 %t1719, 2 %t1722 = icmp eq i32 %t1719, 0 %t1723 = select i1 %t1722, i32 8, i32 %t1721 %t1724 = getelementptr ptr, ptr null, i32 1 %t1725 = ptrtoint ptr %t1724 to i64 %t1726 = zext i32 %t1723 to i64 %t1727 = mul i64 %t1726, %t1725 %t1728 = load ptr, ptr %t1717 %t1729 = call ptr @realloc(ptr %t1728, i64 %t1727) store ptr %t1729, ptr %t1717 store i32 %t1723, ptr %t1716 br label %put416 put416: %t1730 = load ptr, ptr %t1717 %t1731 = getelementptr inbounds ptr, ptr %t1730, i32 %t1718 store ptr @.str8114, ptr %t1731 %t1732 = add i32 %t1718, 1 store i32 %t1732, ptr %t1715 %t1733 = load ptr, ptr %t459 %t1734 = getelementptr inbounds %LSlice, ptr %t1733, i32 0, i32 1 %t1735 = getelementptr inbounds %LSlice, ptr %t1733, i32 0, i32 2 %t1736 = getelementptr inbounds %LSlice, ptr %t1733, i32 0, i32 0 %t1737 = load i32, ptr %t1734 %t1738 = load i32, ptr %t1735 %t1739 = icmp sge i32 %t1737, %t1738 br i1 %t1739, label %grow417, label %put418 grow417: %t1740 = mul i32 %t1738, 2 %t1741 = icmp eq i32 %t1738, 0 %t1742 = select i1 %t1741, i32 8, i32 %t1740 %t1743 = getelementptr ptr, ptr null, i32 1 %t1744 = ptrtoint ptr %t1743 to i64 %t1745 = zext i32 %t1742 to i64 %t1746 = mul i64 %t1745, %t1744 %t1747 = load ptr, ptr %t1736 %t1748 = call ptr @realloc(ptr %t1747, i64 %t1746) store ptr %t1748, ptr %t1736 store i32 %t1742, ptr %t1735 br label %put418 put418: %t1749 = load ptr, ptr %t1736 %t1750 = getelementptr inbounds ptr, ptr %t1749, i32 %t1737 store ptr @.str8115, ptr %t1750 %t1751 = add i32 %t1737, 1 store i32 %t1751, ptr %t1734 %t1752 = load ptr, ptr %t459 %t1753 = getelementptr inbounds %LSlice, ptr %t1752, i32 0, i32 1 %t1754 = getelementptr inbounds %LSlice, ptr %t1752, i32 0, i32 2 %t1755 = getelementptr inbounds %LSlice, ptr %t1752, i32 0, i32 0 %t1756 = load i32, ptr %t1753 %t1757 = load i32, ptr %t1754 %t1758 = icmp sge i32 %t1756, %t1757 br i1 %t1758, label %grow419, label %put420 grow419: %t1759 = mul i32 %t1757, 2 %t1760 = icmp eq i32 %t1757, 0 %t1761 = select i1 %t1760, i32 8, i32 %t1759 %t1762 = getelementptr ptr, ptr null, i32 1 %t1763 = ptrtoint ptr %t1762 to i64 %t1764 = zext i32 %t1761 to i64 %t1765 = mul i64 %t1764, %t1763 %t1766 = load ptr, ptr %t1755 %t1767 = call ptr @realloc(ptr %t1766, i64 %t1765) store ptr %t1767, ptr %t1755 store i32 %t1761, ptr %t1754 br label %put420 put420: %t1768 = load ptr, ptr %t1755 %t1769 = getelementptr inbounds ptr, ptr %t1768, i32 %t1756 store ptr @.str8116, ptr %t1769 %t1770 = add i32 %t1756, 1 store i32 %t1770, ptr %t1753 %t1771 = load ptr, ptr %t459 %t1772 = getelementptr inbounds %LSlice, ptr %t1771, i32 0, i32 1 %t1773 = getelementptr inbounds %LSlice, ptr %t1771, i32 0, i32 2 %t1774 = getelementptr inbounds %LSlice, ptr %t1771, i32 0, i32 0 %t1775 = load i32, ptr %t1772 %t1776 = load i32, ptr %t1773 %t1777 = icmp sge i32 %t1775, %t1776 br i1 %t1777, label %grow421, label %put422 grow421: %t1778 = mul i32 %t1776, 2 %t1779 = icmp eq i32 %t1776, 0 %t1780 = select i1 %t1779, i32 8, i32 %t1778 %t1781 = getelementptr ptr, ptr null, i32 1 %t1782 = ptrtoint ptr %t1781 to i64 %t1783 = zext i32 %t1780 to i64 %t1784 = mul i64 %t1783, %t1782 %t1785 = load ptr, ptr %t1774 %t1786 = call ptr @realloc(ptr %t1785, i64 %t1784) store ptr %t1786, ptr %t1774 store i32 %t1780, ptr %t1773 br label %put422 put422: %t1787 = load ptr, ptr %t1774 %t1788 = getelementptr inbounds ptr, ptr %t1787, i32 %t1775 store ptr @.str8117, ptr %t1788 %t1789 = add i32 %t1775, 1 store i32 %t1789, ptr %t1772 br label %ifend414 ifend414: %t1790 = load ptr, ptr %t1 %t1791 = call i32 @lp_str_eq(ptr %t1790, ptr @.str8118) %t1792 = icmp ne i32 %t1791, 0 br i1 %t1792, label %then423, label %ifend425 then423: store ptr @.str8119, ptr %t452 %t1793 = load ptr, ptr %t459 %t1794 = getelementptr inbounds %LSlice, ptr %t1793, i32 0, i32 1 %t1795 = getelementptr inbounds %LSlice, ptr %t1793, i32 0, i32 2 %t1796 = getelementptr inbounds %LSlice, ptr %t1793, i32 0, i32 0 %t1797 = load i32, ptr %t1794 %t1798 = load i32, ptr %t1795 %t1799 = icmp sge i32 %t1797, %t1798 br i1 %t1799, label %grow426, label %put427 grow426: %t1800 = mul i32 %t1798, 2 %t1801 = icmp eq i32 %t1798, 0 %t1802 = select i1 %t1801, i32 8, i32 %t1800 %t1803 = getelementptr ptr, ptr null, i32 1 %t1804 = ptrtoint ptr %t1803 to i64 %t1805 = zext i32 %t1802 to i64 %t1806 = mul i64 %t1805, %t1804 %t1807 = load ptr, ptr %t1796 %t1808 = call ptr @realloc(ptr %t1807, i64 %t1806) store ptr %t1808, ptr %t1796 store i32 %t1802, ptr %t1795 br label %put427 put427: %t1809 = load ptr, ptr %t1796 %t1810 = getelementptr inbounds ptr, ptr %t1809, i32 %t1797 store ptr @.str8120, ptr %t1810 %t1811 = add i32 %t1797, 1 store i32 %t1811, ptr %t1794 %t1812 = load ptr, ptr %t459 %t1813 = getelementptr inbounds %LSlice, ptr %t1812, i32 0, i32 1 %t1814 = getelementptr inbounds %LSlice, ptr %t1812, i32 0, i32 2 %t1815 = getelementptr inbounds %LSlice, ptr %t1812, i32 0, i32 0 %t1816 = load i32, ptr %t1813 %t1817 = load i32, ptr %t1814 %t1818 = icmp sge i32 %t1816, %t1817 br i1 %t1818, label %grow428, label %put429 grow428: %t1819 = mul i32 %t1817, 2 %t1820 = icmp eq i32 %t1817, 0 %t1821 = select i1 %t1820, i32 8, i32 %t1819 %t1822 = getelementptr ptr, ptr null, i32 1 %t1823 = ptrtoint ptr %t1822 to i64 %t1824 = zext i32 %t1821 to i64 %t1825 = mul i64 %t1824, %t1823 %t1826 = load ptr, ptr %t1815 %t1827 = call ptr @realloc(ptr %t1826, i64 %t1825) store ptr %t1827, ptr %t1815 store i32 %t1821, ptr %t1814 br label %put429 put429: %t1828 = load ptr, ptr %t1815 %t1829 = getelementptr inbounds ptr, ptr %t1828, i32 %t1816 store ptr @.str8121, ptr %t1829 %t1830 = add i32 %t1816, 1 store i32 %t1830, ptr %t1813 %t1831 = load ptr, ptr %t459 %t1832 = getelementptr inbounds %LSlice, ptr %t1831, i32 0, i32 1 %t1833 = getelementptr inbounds %LSlice, ptr %t1831, i32 0, i32 2 %t1834 = getelementptr inbounds %LSlice, ptr %t1831, i32 0, i32 0 %t1835 = load i32, ptr %t1832 %t1836 = load i32, ptr %t1833 %t1837 = icmp sge i32 %t1835, %t1836 br i1 %t1837, label %grow430, label %put431 grow430: %t1838 = mul i32 %t1836, 2 %t1839 = icmp eq i32 %t1836, 0 %t1840 = select i1 %t1839, i32 8, i32 %t1838 %t1841 = getelementptr ptr, ptr null, i32 1 %t1842 = ptrtoint ptr %t1841 to i64 %t1843 = zext i32 %t1840 to i64 %t1844 = mul i64 %t1843, %t1842 %t1845 = load ptr, ptr %t1834 %t1846 = call ptr @realloc(ptr %t1845, i64 %t1844) store ptr %t1846, ptr %t1834 store i32 %t1840, ptr %t1833 br label %put431 put431: %t1847 = load ptr, ptr %t1834 %t1848 = getelementptr inbounds ptr, ptr %t1847, i32 %t1835 store ptr @.str8122, ptr %t1848 %t1849 = add i32 %t1835, 1 store i32 %t1849, ptr %t1832 %t1850 = load ptr, ptr %t459 %t1851 = getelementptr inbounds %LSlice, ptr %t1850, i32 0, i32 1 %t1852 = getelementptr inbounds %LSlice, ptr %t1850, i32 0, i32 2 %t1853 = getelementptr inbounds %LSlice, ptr %t1850, i32 0, i32 0 %t1854 = load i32, ptr %t1851 %t1855 = load i32, ptr %t1852 %t1856 = icmp sge i32 %t1854, %t1855 br i1 %t1856, label %grow432, label %put433 grow432: %t1857 = mul i32 %t1855, 2 %t1858 = icmp eq i32 %t1855, 0 %t1859 = select i1 %t1858, i32 8, i32 %t1857 %t1860 = getelementptr ptr, ptr null, i32 1 %t1861 = ptrtoint ptr %t1860 to i64 %t1862 = zext i32 %t1859 to i64 %t1863 = mul i64 %t1862, %t1861 %t1864 = load ptr, ptr %t1853 %t1865 = call ptr @realloc(ptr %t1864, i64 %t1863) store ptr %t1865, ptr %t1853 store i32 %t1859, ptr %t1852 br label %put433 put433: %t1866 = load ptr, ptr %t1853 %t1867 = getelementptr inbounds ptr, ptr %t1866, i32 %t1854 store ptr @.str8123, ptr %t1867 %t1868 = add i32 %t1854, 1 store i32 %t1868, ptr %t1851 %t1869 = load ptr, ptr %t459 %t1870 = getelementptr inbounds %LSlice, ptr %t1869, i32 0, i32 1 %t1871 = getelementptr inbounds %LSlice, ptr %t1869, i32 0, i32 2 %t1872 = getelementptr inbounds %LSlice, ptr %t1869, i32 0, i32 0 %t1873 = load i32, ptr %t1870 %t1874 = load i32, ptr %t1871 %t1875 = icmp sge i32 %t1873, %t1874 br i1 %t1875, label %grow434, label %put435 grow434: %t1876 = mul i32 %t1874, 2 %t1877 = icmp eq i32 %t1874, 0 %t1878 = select i1 %t1877, i32 8, i32 %t1876 %t1879 = getelementptr ptr, ptr null, i32 1 %t1880 = ptrtoint ptr %t1879 to i64 %t1881 = zext i32 %t1878 to i64 %t1882 = mul i64 %t1881, %t1880 %t1883 = load ptr, ptr %t1872 %t1884 = call ptr @realloc(ptr %t1883, i64 %t1882) store ptr %t1884, ptr %t1872 store i32 %t1878, ptr %t1871 br label %put435 put435: %t1885 = load ptr, ptr %t1872 %t1886 = getelementptr inbounds ptr, ptr %t1885, i32 %t1873 store ptr @.str8124, ptr %t1886 %t1887 = add i32 %t1873, 1 store i32 %t1887, ptr %t1870 br label %ifend425 ifend425: %t1888 = load ptr, ptr %t1 %t1889 = call i32 @lp_str_eq(ptr %t1888, ptr @.str8125) %t1890 = icmp ne i32 %t1889, 0 br i1 %t1890, label %then436, label %ifend438 then436: store ptr @.str8126, ptr %t452 %t1891 = load ptr, ptr %t459 %t1892 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 1 %t1893 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 2 %t1894 = getelementptr inbounds %LSlice, ptr %t1891, i32 0, i32 0 %t1895 = load i32, ptr %t1892 %t1896 = load i32, ptr %t1893 %t1897 = icmp sge i32 %t1895, %t1896 br i1 %t1897, label %grow439, label %put440 grow439: %t1898 = mul i32 %t1896, 2 %t1899 = icmp eq i32 %t1896, 0 %t1900 = select i1 %t1899, i32 8, i32 %t1898 %t1901 = getelementptr ptr, ptr null, i32 1 %t1902 = ptrtoint ptr %t1901 to i64 %t1903 = zext i32 %t1900 to i64 %t1904 = mul i64 %t1903, %t1902 %t1905 = load ptr, ptr %t1894 %t1906 = call ptr @realloc(ptr %t1905, i64 %t1904) store ptr %t1906, ptr %t1894 store i32 %t1900, ptr %t1893 br label %put440 put440: %t1907 = load ptr, ptr %t1894 %t1908 = getelementptr inbounds ptr, ptr %t1907, i32 %t1895 store ptr @.str8127, ptr %t1908 %t1909 = add i32 %t1895, 1 store i32 %t1909, ptr %t1892 %t1910 = load ptr, ptr %t459 %t1911 = getelementptr inbounds %LSlice, ptr %t1910, i32 0, i32 1 %t1912 = getelementptr inbounds %LSlice, ptr %t1910, i32 0, i32 2 %t1913 = getelementptr inbounds %LSlice, ptr %t1910, i32 0, i32 0 %t1914 = load i32, ptr %t1911 %t1915 = load i32, ptr %t1912 %t1916 = icmp sge i32 %t1914, %t1915 br i1 %t1916, label %grow441, label %put442 grow441: %t1917 = mul i32 %t1915, 2 %t1918 = icmp eq i32 %t1915, 0 %t1919 = select i1 %t1918, i32 8, i32 %t1917 %t1920 = getelementptr ptr, ptr null, i32 1 %t1921 = ptrtoint ptr %t1920 to i64 %t1922 = zext i32 %t1919 to i64 %t1923 = mul i64 %t1922, %t1921 %t1924 = load ptr, ptr %t1913 %t1925 = call ptr @realloc(ptr %t1924, i64 %t1923) store ptr %t1925, ptr %t1913 store i32 %t1919, ptr %t1912 br label %put442 put442: %t1926 = load ptr, ptr %t1913 %t1927 = getelementptr inbounds ptr, ptr %t1926, i32 %t1914 store ptr @.str8128, ptr %t1927 %t1928 = add i32 %t1914, 1 store i32 %t1928, ptr %t1911 br label %ifend438 ifend438: %t1929 = load ptr, ptr %t1 %t1930 = call i32 @lp_str_eq(ptr %t1929, ptr @.str8129) %t1931 = icmp ne i32 %t1930, 0 br i1 %t1931, label %then443, label %ifend445 then443: store ptr @.str8130, ptr %t452 %t1932 = load ptr, ptr %t459 %t1933 = getelementptr inbounds %LSlice, ptr %t1932, i32 0, i32 1 %t1934 = getelementptr inbounds %LSlice, ptr %t1932, i32 0, i32 2 %t1935 = getelementptr inbounds %LSlice, ptr %t1932, i32 0, i32 0 %t1936 = load i32, ptr %t1933 %t1937 = load i32, ptr %t1934 %t1938 = icmp sge i32 %t1936, %t1937 br i1 %t1938, label %grow446, label %put447 grow446: %t1939 = mul i32 %t1937, 2 %t1940 = icmp eq i32 %t1937, 0 %t1941 = select i1 %t1940, i32 8, i32 %t1939 %t1942 = getelementptr ptr, ptr null, i32 1 %t1943 = ptrtoint ptr %t1942 to i64 %t1944 = zext i32 %t1941 to i64 %t1945 = mul i64 %t1944, %t1943 %t1946 = load ptr, ptr %t1935 %t1947 = call ptr @realloc(ptr %t1946, i64 %t1945) store ptr %t1947, ptr %t1935 store i32 %t1941, ptr %t1934 br label %put447 put447: %t1948 = load ptr, ptr %t1935 %t1949 = getelementptr inbounds ptr, ptr %t1948, i32 %t1936 store ptr @.str8131, ptr %t1949 %t1950 = add i32 %t1936, 1 store i32 %t1950, ptr %t1933 %t1951 = load ptr, ptr %t459 %t1952 = getelementptr inbounds %LSlice, ptr %t1951, i32 0, i32 1 %t1953 = getelementptr inbounds %LSlice, ptr %t1951, i32 0, i32 2 %t1954 = getelementptr inbounds %LSlice, ptr %t1951, i32 0, i32 0 %t1955 = load i32, ptr %t1952 %t1956 = load i32, ptr %t1953 %t1957 = icmp sge i32 %t1955, %t1956 br i1 %t1957, label %grow448, label %put449 grow448: %t1958 = mul i32 %t1956, 2 %t1959 = icmp eq i32 %t1956, 0 %t1960 = select i1 %t1959, i32 8, i32 %t1958 %t1961 = getelementptr ptr, ptr null, i32 1 %t1962 = ptrtoint ptr %t1961 to i64 %t1963 = zext i32 %t1960 to i64 %t1964 = mul i64 %t1963, %t1962 %t1965 = load ptr, ptr %t1954 %t1966 = call ptr @realloc(ptr %t1965, i64 %t1964) store ptr %t1966, ptr %t1954 store i32 %t1960, ptr %t1953 br label %put449 put449: %t1967 = load ptr, ptr %t1954 %t1968 = getelementptr inbounds ptr, ptr %t1967, i32 %t1955 store ptr @.str8132, ptr %t1968 %t1969 = add i32 %t1955, 1 store i32 %t1969, ptr %t1952 %t1970 = load ptr, ptr %t459 %t1971 = getelementptr inbounds %LSlice, ptr %t1970, i32 0, i32 1 %t1972 = getelementptr inbounds %LSlice, ptr %t1970, i32 0, i32 2 %t1973 = getelementptr inbounds %LSlice, ptr %t1970, i32 0, i32 0 %t1974 = load i32, ptr %t1971 %t1975 = load i32, ptr %t1972 %t1976 = icmp sge i32 %t1974, %t1975 br i1 %t1976, label %grow450, label %put451 grow450: %t1977 = mul i32 %t1975, 2 %t1978 = icmp eq i32 %t1975, 0 %t1979 = select i1 %t1978, i32 8, i32 %t1977 %t1980 = getelementptr ptr, ptr null, i32 1 %t1981 = ptrtoint ptr %t1980 to i64 %t1982 = zext i32 %t1979 to i64 %t1983 = mul i64 %t1982, %t1981 %t1984 = load ptr, ptr %t1973 %t1985 = call ptr @realloc(ptr %t1984, i64 %t1983) store ptr %t1985, ptr %t1973 store i32 %t1979, ptr %t1972 br label %put451 put451: %t1986 = load ptr, ptr %t1973 %t1987 = getelementptr inbounds ptr, ptr %t1986, i32 %t1974 store ptr @.str8133, ptr %t1987 %t1988 = add i32 %t1974, 1 store i32 %t1988, ptr %t1971 %t1989 = load ptr, ptr %t459 %t1990 = getelementptr inbounds %LSlice, ptr %t1989, i32 0, i32 1 %t1991 = getelementptr inbounds %LSlice, ptr %t1989, i32 0, i32 2 %t1992 = getelementptr inbounds %LSlice, ptr %t1989, i32 0, i32 0 %t1993 = load i32, ptr %t1990 %t1994 = load i32, ptr %t1991 %t1995 = icmp sge i32 %t1993, %t1994 br i1 %t1995, label %grow452, label %put453 grow452: %t1996 = mul i32 %t1994, 2 %t1997 = icmp eq i32 %t1994, 0 %t1998 = select i1 %t1997, i32 8, i32 %t1996 %t1999 = getelementptr ptr, ptr null, i32 1 %t2000 = ptrtoint ptr %t1999 to i64 %t2001 = zext i32 %t1998 to i64 %t2002 = mul i64 %t2001, %t2000 %t2003 = load ptr, ptr %t1992 %t2004 = call ptr @realloc(ptr %t2003, i64 %t2002) store ptr %t2004, ptr %t1992 store i32 %t1998, ptr %t1991 br label %put453 put453: %t2005 = load ptr, ptr %t1992 %t2006 = getelementptr inbounds ptr, ptr %t2005, i32 %t1993 store ptr @.str8134, ptr %t2006 %t2007 = add i32 %t1993, 1 store i32 %t2007, ptr %t1990 br label %ifend445 ifend445: %t2008 = load ptr, ptr %t1 %t2009 = call i32 @lp_str_eq(ptr %t2008, ptr @.str8135) %t2010 = icmp ne i32 %t2009, 0 br i1 %t2010, label %then454, label %ifend456 then454: store ptr @.str8136, ptr %t452 br label %ifend456 ifend456: %t2011 = load ptr, ptr %t1 %t2012 = call i32 @lp_str_eq(ptr %t2011, ptr @.str8137) %t2013 = icmp ne i32 %t2012, 0 br i1 %t2013, label %then457, label %ifend459 then457: store ptr @.str8138, ptr %t452 %t2014 = load ptr, ptr %t459 %t2015 = getelementptr inbounds %LSlice, ptr %t2014, i32 0, i32 1 %t2016 = getelementptr inbounds %LSlice, ptr %t2014, i32 0, i32 2 %t2017 = getelementptr inbounds %LSlice, ptr %t2014, i32 0, i32 0 %t2018 = load i32, ptr %t2015 %t2019 = load i32, ptr %t2016 %t2020 = icmp sge i32 %t2018, %t2019 br i1 %t2020, label %grow460, label %put461 grow460: %t2021 = mul i32 %t2019, 2 %t2022 = icmp eq i32 %t2019, 0 %t2023 = select i1 %t2022, i32 8, i32 %t2021 %t2024 = getelementptr ptr, ptr null, i32 1 %t2025 = ptrtoint ptr %t2024 to i64 %t2026 = zext i32 %t2023 to i64 %t2027 = mul i64 %t2026, %t2025 %t2028 = load ptr, ptr %t2017 %t2029 = call ptr @realloc(ptr %t2028, i64 %t2027) store ptr %t2029, ptr %t2017 store i32 %t2023, ptr %t2016 br label %put461 put461: %t2030 = load ptr, ptr %t2017 %t2031 = getelementptr inbounds ptr, ptr %t2030, i32 %t2018 store ptr @.str8139, ptr %t2031 %t2032 = add i32 %t2018, 1 store i32 %t2032, ptr %t2015 br label %ifend459 ifend459: %t2033 = load ptr, ptr %t1 %t2034 = call i32 @lp_str_eq(ptr %t2033, ptr @.str8140) %t2035 = icmp ne i32 %t2034, 0 br i1 %t2035, label %then462, label %ifend464 then462: store ptr @.str8141, ptr %t452 %t2036 = load ptr, ptr %t459 %t2037 = getelementptr inbounds %LSlice, ptr %t2036, i32 0, i32 1 %t2038 = getelementptr inbounds %LSlice, ptr %t2036, i32 0, i32 2 %t2039 = getelementptr inbounds %LSlice, ptr %t2036, i32 0, i32 0 %t2040 = load i32, ptr %t2037 %t2041 = load i32, ptr %t2038 %t2042 = icmp sge i32 %t2040, %t2041 br i1 %t2042, label %grow465, label %put466 grow465: %t2043 = mul i32 %t2041, 2 %t2044 = icmp eq i32 %t2041, 0 %t2045 = select i1 %t2044, i32 8, i32 %t2043 %t2046 = getelementptr ptr, ptr null, i32 1 %t2047 = ptrtoint ptr %t2046 to i64 %t2048 = zext i32 %t2045 to i64 %t2049 = mul i64 %t2048, %t2047 %t2050 = load ptr, ptr %t2039 %t2051 = call ptr @realloc(ptr %t2050, i64 %t2049) store ptr %t2051, ptr %t2039 store i32 %t2045, ptr %t2038 br label %put466 put466: %t2052 = load ptr, ptr %t2039 %t2053 = getelementptr inbounds ptr, ptr %t2052, i32 %t2040 store ptr @.str8142, ptr %t2053 %t2054 = add i32 %t2040, 1 store i32 %t2054, ptr %t2037 br label %ifend464 ifend464: %t2055 = load ptr, ptr %t1 %t2056 = call i32 @lp_str_eq(ptr %t2055, ptr @.str8143) %t2057 = icmp ne i32 %t2056, 0 br i1 %t2057, label %then467, label %ifend469 then467: store ptr @.str8144, ptr %t452 %t2058 = load ptr, ptr %t459 %t2059 = getelementptr inbounds %LSlice, ptr %t2058, i32 0, i32 1 %t2060 = getelementptr inbounds %LSlice, ptr %t2058, i32 0, i32 2 %t2061 = getelementptr inbounds %LSlice, ptr %t2058, i32 0, i32 0 %t2062 = load i32, ptr %t2059 %t2063 = load i32, ptr %t2060 %t2064 = icmp sge i32 %t2062, %t2063 br i1 %t2064, label %grow470, label %put471 grow470: %t2065 = mul i32 %t2063, 2 %t2066 = icmp eq i32 %t2063, 0 %t2067 = select i1 %t2066, i32 8, i32 %t2065 %t2068 = getelementptr ptr, ptr null, i32 1 %t2069 = ptrtoint ptr %t2068 to i64 %t2070 = zext i32 %t2067 to i64 %t2071 = mul i64 %t2070, %t2069 %t2072 = load ptr, ptr %t2061 %t2073 = call ptr @realloc(ptr %t2072, i64 %t2071) store ptr %t2073, ptr %t2061 store i32 %t2067, ptr %t2060 br label %put471 put471: %t2074 = load ptr, ptr %t2061 %t2075 = getelementptr inbounds ptr, ptr %t2074, i32 %t2062 store ptr @.str8145, ptr %t2075 %t2076 = add i32 %t2062, 1 store i32 %t2076, ptr %t2059 %t2077 = load ptr, ptr %t459 %t2078 = getelementptr inbounds %LSlice, ptr %t2077, i32 0, i32 1 %t2079 = getelementptr inbounds %LSlice, ptr %t2077, i32 0, i32 2 %t2080 = getelementptr inbounds %LSlice, ptr %t2077, i32 0, i32 0 %t2081 = load i32, ptr %t2078 %t2082 = load i32, ptr %t2079 %t2083 = icmp sge i32 %t2081, %t2082 br i1 %t2083, label %grow472, label %put473 grow472: %t2084 = mul i32 %t2082, 2 %t2085 = icmp eq i32 %t2082, 0 %t2086 = select i1 %t2085, i32 8, i32 %t2084 %t2087 = getelementptr ptr, ptr null, i32 1 %t2088 = ptrtoint ptr %t2087 to i64 %t2089 = zext i32 %t2086 to i64 %t2090 = mul i64 %t2089, %t2088 %t2091 = load ptr, ptr %t2080 %t2092 = call ptr @realloc(ptr %t2091, i64 %t2090) store ptr %t2092, ptr %t2080 store i32 %t2086, ptr %t2079 br label %put473 put473: %t2093 = load ptr, ptr %t2080 %t2094 = getelementptr inbounds ptr, ptr %t2093, i32 %t2081 store ptr @.str8146, ptr %t2094 %t2095 = add i32 %t2081, 1 store i32 %t2095, ptr %t2078 br label %ifend469 ifend469: br label %ifend234 ifend234: %t2096 = load ptr, ptr %t0 %t2097 = call i32 @lp_str_eq(ptr %t2096, ptr @.str8147) %t2098 = icmp ne i32 %t2097, 0 br i1 %t2098, label %then474, label %ifend476 then474: %t2099 = load ptr, ptr %t1 %t2100 = call i32 @lp_str_eq(ptr %t2099, ptr @.str8148) %t2101 = icmp ne i32 %t2100, 0 br i1 %t2101, label %then477, label %ifend479 then477: store ptr @.str8149, ptr %t452 %t2102 = load ptr, ptr %t459 %t2103 = getelementptr inbounds %LSlice, ptr %t2102, i32 0, i32 1 %t2104 = getelementptr inbounds %LSlice, ptr %t2102, i32 0, i32 2 %t2105 = getelementptr inbounds %LSlice, ptr %t2102, i32 0, i32 0 %t2106 = load i32, ptr %t2103 %t2107 = load i32, ptr %t2104 %t2108 = icmp sge i32 %t2106, %t2107 br i1 %t2108, label %grow480, label %put481 grow480: %t2109 = mul i32 %t2107, 2 %t2110 = icmp eq i32 %t2107, 0 %t2111 = select i1 %t2110, i32 8, i32 %t2109 %t2112 = getelementptr ptr, ptr null, i32 1 %t2113 = ptrtoint ptr %t2112 to i64 %t2114 = zext i32 %t2111 to i64 %t2115 = mul i64 %t2114, %t2113 %t2116 = load ptr, ptr %t2105 %t2117 = call ptr @realloc(ptr %t2116, i64 %t2115) store ptr %t2117, ptr %t2105 store i32 %t2111, ptr %t2104 br label %put481 put481: %t2118 = load ptr, ptr %t2105 %t2119 = getelementptr inbounds ptr, ptr %t2118, i32 %t2106 store ptr @.str8150, ptr %t2119 %t2120 = add i32 %t2106, 1 store i32 %t2120, ptr %t2103 %t2121 = load ptr, ptr %t459 %t2122 = getelementptr inbounds %LSlice, ptr %t2121, i32 0, i32 1 %t2123 = getelementptr inbounds %LSlice, ptr %t2121, i32 0, i32 2 %t2124 = getelementptr inbounds %LSlice, ptr %t2121, i32 0, i32 0 %t2125 = load i32, ptr %t2122 %t2126 = load i32, ptr %t2123 %t2127 = icmp sge i32 %t2125, %t2126 br i1 %t2127, label %grow482, label %put483 grow482: %t2128 = mul i32 %t2126, 2 %t2129 = icmp eq i32 %t2126, 0 %t2130 = select i1 %t2129, i32 8, i32 %t2128 %t2131 = getelementptr ptr, ptr null, i32 1 %t2132 = ptrtoint ptr %t2131 to i64 %t2133 = zext i32 %t2130 to i64 %t2134 = mul i64 %t2133, %t2132 %t2135 = load ptr, ptr %t2124 %t2136 = call ptr @realloc(ptr %t2135, i64 %t2134) store ptr %t2136, ptr %t2124 store i32 %t2130, ptr %t2123 br label %put483 put483: %t2137 = load ptr, ptr %t2124 %t2138 = getelementptr inbounds ptr, ptr %t2137, i32 %t2125 store ptr @.str8151, ptr %t2138 %t2139 = add i32 %t2125, 1 store i32 %t2139, ptr %t2122 %t2140 = load ptr, ptr %t459 %t2141 = getelementptr inbounds %LSlice, ptr %t2140, i32 0, i32 1 %t2142 = getelementptr inbounds %LSlice, ptr %t2140, i32 0, i32 2 %t2143 = getelementptr inbounds %LSlice, ptr %t2140, i32 0, i32 0 %t2144 = load i32, ptr %t2141 %t2145 = load i32, ptr %t2142 %t2146 = icmp sge i32 %t2144, %t2145 br i1 %t2146, label %grow484, label %put485 grow484: %t2147 = mul i32 %t2145, 2 %t2148 = icmp eq i32 %t2145, 0 %t2149 = select i1 %t2148, i32 8, i32 %t2147 %t2150 = getelementptr ptr, ptr null, i32 1 %t2151 = ptrtoint ptr %t2150 to i64 %t2152 = zext i32 %t2149 to i64 %t2153 = mul i64 %t2152, %t2151 %t2154 = load ptr, ptr %t2143 %t2155 = call ptr @realloc(ptr %t2154, i64 %t2153) store ptr %t2155, ptr %t2143 store i32 %t2149, ptr %t2142 br label %put485 put485: %t2156 = load ptr, ptr %t2143 %t2157 = getelementptr inbounds ptr, ptr %t2156, i32 %t2144 store ptr @.str8152, ptr %t2157 %t2158 = add i32 %t2144, 1 store i32 %t2158, ptr %t2141 br label %ifend479 ifend479: %t2159 = load ptr, ptr %t1 %t2160 = call i32 @lp_str_eq(ptr %t2159, ptr @.str8153) %t2161 = icmp ne i32 %t2160, 0 br i1 %t2161, label %then486, label %ifend488 then486: store ptr @.str8154, ptr %t452 %t2162 = load ptr, ptr %t459 %t2163 = getelementptr inbounds %LSlice, ptr %t2162, i32 0, i32 1 %t2164 = getelementptr inbounds %LSlice, ptr %t2162, i32 0, i32 2 %t2165 = getelementptr inbounds %LSlice, ptr %t2162, i32 0, i32 0 %t2166 = load i32, ptr %t2163 %t2167 = load i32, ptr %t2164 %t2168 = icmp sge i32 %t2166, %t2167 br i1 %t2168, label %grow489, label %put490 grow489: %t2169 = mul i32 %t2167, 2 %t2170 = icmp eq i32 %t2167, 0 %t2171 = select i1 %t2170, i32 8, i32 %t2169 %t2172 = getelementptr ptr, ptr null, i32 1 %t2173 = ptrtoint ptr %t2172 to i64 %t2174 = zext i32 %t2171 to i64 %t2175 = mul i64 %t2174, %t2173 %t2176 = load ptr, ptr %t2165 %t2177 = call ptr @realloc(ptr %t2176, i64 %t2175) store ptr %t2177, ptr %t2165 store i32 %t2171, ptr %t2164 br label %put490 put490: %t2178 = load ptr, ptr %t2165 %t2179 = getelementptr inbounds ptr, ptr %t2178, i32 %t2166 store ptr @.str8155, ptr %t2179 %t2180 = add i32 %t2166, 1 store i32 %t2180, ptr %t2163 %t2181 = load ptr, ptr %t459 %t2182 = getelementptr inbounds %LSlice, ptr %t2181, i32 0, i32 1 %t2183 = getelementptr inbounds %LSlice, ptr %t2181, i32 0, i32 2 %t2184 = getelementptr inbounds %LSlice, ptr %t2181, i32 0, i32 0 %t2185 = load i32, ptr %t2182 %t2186 = load i32, ptr %t2183 %t2187 = icmp sge i32 %t2185, %t2186 br i1 %t2187, label %grow491, label %put492 grow491: %t2188 = mul i32 %t2186, 2 %t2189 = icmp eq i32 %t2186, 0 %t2190 = select i1 %t2189, i32 8, i32 %t2188 %t2191 = getelementptr ptr, ptr null, i32 1 %t2192 = ptrtoint ptr %t2191 to i64 %t2193 = zext i32 %t2190 to i64 %t2194 = mul i64 %t2193, %t2192 %t2195 = load ptr, ptr %t2184 %t2196 = call ptr @realloc(ptr %t2195, i64 %t2194) store ptr %t2196, ptr %t2184 store i32 %t2190, ptr %t2183 br label %put492 put492: %t2197 = load ptr, ptr %t2184 %t2198 = getelementptr inbounds ptr, ptr %t2197, i32 %t2185 store ptr @.str8156, ptr %t2198 %t2199 = add i32 %t2185, 1 store i32 %t2199, ptr %t2182 %t2200 = load ptr, ptr %t459 %t2201 = getelementptr inbounds %LSlice, ptr %t2200, i32 0, i32 1 %t2202 = getelementptr inbounds %LSlice, ptr %t2200, i32 0, i32 2 %t2203 = getelementptr inbounds %LSlice, ptr %t2200, i32 0, i32 0 %t2204 = load i32, ptr %t2201 %t2205 = load i32, ptr %t2202 %t2206 = icmp sge i32 %t2204, %t2205 br i1 %t2206, label %grow493, label %put494 grow493: %t2207 = mul i32 %t2205, 2 %t2208 = icmp eq i32 %t2205, 0 %t2209 = select i1 %t2208, i32 8, i32 %t2207 %t2210 = getelementptr ptr, ptr null, i32 1 %t2211 = ptrtoint ptr %t2210 to i64 %t2212 = zext i32 %t2209 to i64 %t2213 = mul i64 %t2212, %t2211 %t2214 = load ptr, ptr %t2203 %t2215 = call ptr @realloc(ptr %t2214, i64 %t2213) store ptr %t2215, ptr %t2203 store i32 %t2209, ptr %t2202 br label %put494 put494: %t2216 = load ptr, ptr %t2203 %t2217 = getelementptr inbounds ptr, ptr %t2216, i32 %t2204 store ptr @.str8157, ptr %t2217 %t2218 = add i32 %t2204, 1 store i32 %t2218, ptr %t2201 br label %ifend488 ifend488: %t2219 = load ptr, ptr %t1 %t2220 = call i32 @lp_str_eq(ptr %t2219, ptr @.str8158) %t2221 = icmp ne i32 %t2220, 0 br i1 %t2221, label %then495, label %ifend497 then495: store ptr @.str8159, ptr %t452 %t2222 = load ptr, ptr %t459 %t2223 = getelementptr inbounds %LSlice, ptr %t2222, i32 0, i32 1 %t2224 = getelementptr inbounds %LSlice, ptr %t2222, i32 0, i32 2 %t2225 = getelementptr inbounds %LSlice, ptr %t2222, i32 0, i32 0 %t2226 = load i32, ptr %t2223 %t2227 = load i32, ptr %t2224 %t2228 = icmp sge i32 %t2226, %t2227 br i1 %t2228, label %grow498, label %put499 grow498: %t2229 = mul i32 %t2227, 2 %t2230 = icmp eq i32 %t2227, 0 %t2231 = select i1 %t2230, i32 8, i32 %t2229 %t2232 = getelementptr ptr, ptr null, i32 1 %t2233 = ptrtoint ptr %t2232 to i64 %t2234 = zext i32 %t2231 to i64 %t2235 = mul i64 %t2234, %t2233 %t2236 = load ptr, ptr %t2225 %t2237 = call ptr @realloc(ptr %t2236, i64 %t2235) store ptr %t2237, ptr %t2225 store i32 %t2231, ptr %t2224 br label %put499 put499: %t2238 = load ptr, ptr %t2225 %t2239 = getelementptr inbounds ptr, ptr %t2238, i32 %t2226 store ptr @.str8160, ptr %t2239 %t2240 = add i32 %t2226, 1 store i32 %t2240, ptr %t2223 %t2241 = load ptr, ptr %t459 %t2242 = getelementptr inbounds %LSlice, ptr %t2241, i32 0, i32 1 %t2243 = getelementptr inbounds %LSlice, ptr %t2241, i32 0, i32 2 %t2244 = getelementptr inbounds %LSlice, ptr %t2241, i32 0, i32 0 %t2245 = load i32, ptr %t2242 %t2246 = load i32, ptr %t2243 %t2247 = icmp sge i32 %t2245, %t2246 br i1 %t2247, label %grow500, label %put501 grow500: %t2248 = mul i32 %t2246, 2 %t2249 = icmp eq i32 %t2246, 0 %t2250 = select i1 %t2249, i32 8, i32 %t2248 %t2251 = getelementptr ptr, ptr null, i32 1 %t2252 = ptrtoint ptr %t2251 to i64 %t2253 = zext i32 %t2250 to i64 %t2254 = mul i64 %t2253, %t2252 %t2255 = load ptr, ptr %t2244 %t2256 = call ptr @realloc(ptr %t2255, i64 %t2254) store ptr %t2256, ptr %t2244 store i32 %t2250, ptr %t2243 br label %put501 put501: %t2257 = load ptr, ptr %t2244 %t2258 = getelementptr inbounds ptr, ptr %t2257, i32 %t2245 store ptr @.str8161, ptr %t2258 %t2259 = add i32 %t2245, 1 store i32 %t2259, ptr %t2242 %t2260 = load ptr, ptr %t459 %t2261 = getelementptr inbounds %LSlice, ptr %t2260, i32 0, i32 1 %t2262 = getelementptr inbounds %LSlice, ptr %t2260, i32 0, i32 2 %t2263 = getelementptr inbounds %LSlice, ptr %t2260, i32 0, i32 0 %t2264 = load i32, ptr %t2261 %t2265 = load i32, ptr %t2262 %t2266 = icmp sge i32 %t2264, %t2265 br i1 %t2266, label %grow502, label %put503 grow502: %t2267 = mul i32 %t2265, 2 %t2268 = icmp eq i32 %t2265, 0 %t2269 = select i1 %t2268, i32 8, i32 %t2267 %t2270 = getelementptr ptr, ptr null, i32 1 %t2271 = ptrtoint ptr %t2270 to i64 %t2272 = zext i32 %t2269 to i64 %t2273 = mul i64 %t2272, %t2271 %t2274 = load ptr, ptr %t2263 %t2275 = call ptr @realloc(ptr %t2274, i64 %t2273) store ptr %t2275, ptr %t2263 store i32 %t2269, ptr %t2262 br label %put503 put503: %t2276 = load ptr, ptr %t2263 %t2277 = getelementptr inbounds ptr, ptr %t2276, i32 %t2264 store ptr @.str8162, ptr %t2277 %t2278 = add i32 %t2264, 1 store i32 %t2278, ptr %t2261 %t2279 = load ptr, ptr %t459 %t2280 = getelementptr inbounds %LSlice, ptr %t2279, i32 0, i32 1 %t2281 = getelementptr inbounds %LSlice, ptr %t2279, i32 0, i32 2 %t2282 = getelementptr inbounds %LSlice, ptr %t2279, i32 0, i32 0 %t2283 = load i32, ptr %t2280 %t2284 = load i32, ptr %t2281 %t2285 = icmp sge i32 %t2283, %t2284 br i1 %t2285, label %grow504, label %put505 grow504: %t2286 = mul i32 %t2284, 2 %t2287 = icmp eq i32 %t2284, 0 %t2288 = select i1 %t2287, i32 8, i32 %t2286 %t2289 = getelementptr ptr, ptr null, i32 1 %t2290 = ptrtoint ptr %t2289 to i64 %t2291 = zext i32 %t2288 to i64 %t2292 = mul i64 %t2291, %t2290 %t2293 = load ptr, ptr %t2282 %t2294 = call ptr @realloc(ptr %t2293, i64 %t2292) store ptr %t2294, ptr %t2282 store i32 %t2288, ptr %t2281 br label %put505 put505: %t2295 = load ptr, ptr %t2282 %t2296 = getelementptr inbounds ptr, ptr %t2295, i32 %t2283 store ptr @.str8163, ptr %t2296 %t2297 = add i32 %t2283, 1 store i32 %t2297, ptr %t2280 %t2298 = load ptr, ptr %t459 %t2299 = getelementptr inbounds %LSlice, ptr %t2298, i32 0, i32 1 %t2300 = getelementptr inbounds %LSlice, ptr %t2298, i32 0, i32 2 %t2301 = getelementptr inbounds %LSlice, ptr %t2298, i32 0, i32 0 %t2302 = load i32, ptr %t2299 %t2303 = load i32, ptr %t2300 %t2304 = icmp sge i32 %t2302, %t2303 br i1 %t2304, label %grow506, label %put507 grow506: %t2305 = mul i32 %t2303, 2 %t2306 = icmp eq i32 %t2303, 0 %t2307 = select i1 %t2306, i32 8, i32 %t2305 %t2308 = getelementptr ptr, ptr null, i32 1 %t2309 = ptrtoint ptr %t2308 to i64 %t2310 = zext i32 %t2307 to i64 %t2311 = mul i64 %t2310, %t2309 %t2312 = load ptr, ptr %t2301 %t2313 = call ptr @realloc(ptr %t2312, i64 %t2311) store ptr %t2313, ptr %t2301 store i32 %t2307, ptr %t2300 br label %put507 put507: %t2314 = load ptr, ptr %t2301 %t2315 = getelementptr inbounds ptr, ptr %t2314, i32 %t2302 store ptr @.str8164, ptr %t2315 %t2316 = add i32 %t2302, 1 store i32 %t2316, ptr %t2299 br label %ifend497 ifend497: %t2317 = load ptr, ptr %t1 %t2318 = call i32 @lp_str_eq(ptr %t2317, ptr @.str8165) %t2319 = icmp ne i32 %t2318, 0 br i1 %t2319, label %then508, label %ifend510 then508: store ptr @.str8166, ptr %t452 %t2320 = load ptr, ptr %t459 %t2321 = getelementptr inbounds %LSlice, ptr %t2320, i32 0, i32 1 %t2322 = getelementptr inbounds %LSlice, ptr %t2320, i32 0, i32 2 %t2323 = getelementptr inbounds %LSlice, ptr %t2320, i32 0, i32 0 %t2324 = load i32, ptr %t2321 %t2325 = load i32, ptr %t2322 %t2326 = icmp sge i32 %t2324, %t2325 br i1 %t2326, label %grow511, label %put512 grow511: %t2327 = mul i32 %t2325, 2 %t2328 = icmp eq i32 %t2325, 0 %t2329 = select i1 %t2328, i32 8, i32 %t2327 %t2330 = getelementptr ptr, ptr null, i32 1 %t2331 = ptrtoint ptr %t2330 to i64 %t2332 = zext i32 %t2329 to i64 %t2333 = mul i64 %t2332, %t2331 %t2334 = load ptr, ptr %t2323 %t2335 = call ptr @realloc(ptr %t2334, i64 %t2333) store ptr %t2335, ptr %t2323 store i32 %t2329, ptr %t2322 br label %put512 put512: %t2336 = load ptr, ptr %t2323 %t2337 = getelementptr inbounds ptr, ptr %t2336, i32 %t2324 store ptr @.str8167, ptr %t2337 %t2338 = add i32 %t2324, 1 store i32 %t2338, ptr %t2321 %t2339 = load ptr, ptr %t459 %t2340 = getelementptr inbounds %LSlice, ptr %t2339, i32 0, i32 1 %t2341 = getelementptr inbounds %LSlice, ptr %t2339, i32 0, i32 2 %t2342 = getelementptr inbounds %LSlice, ptr %t2339, i32 0, i32 0 %t2343 = load i32, ptr %t2340 %t2344 = load i32, ptr %t2341 %t2345 = icmp sge i32 %t2343, %t2344 br i1 %t2345, label %grow513, label %put514 grow513: %t2346 = mul i32 %t2344, 2 %t2347 = icmp eq i32 %t2344, 0 %t2348 = select i1 %t2347, i32 8, i32 %t2346 %t2349 = getelementptr ptr, ptr null, i32 1 %t2350 = ptrtoint ptr %t2349 to i64 %t2351 = zext i32 %t2348 to i64 %t2352 = mul i64 %t2351, %t2350 %t2353 = load ptr, ptr %t2342 %t2354 = call ptr @realloc(ptr %t2353, i64 %t2352) store ptr %t2354, ptr %t2342 store i32 %t2348, ptr %t2341 br label %put514 put514: %t2355 = load ptr, ptr %t2342 %t2356 = getelementptr inbounds ptr, ptr %t2355, i32 %t2343 store ptr @.str8168, ptr %t2356 %t2357 = add i32 %t2343, 1 store i32 %t2357, ptr %t2340 %t2358 = load ptr, ptr %t459 %t2359 = getelementptr inbounds %LSlice, ptr %t2358, i32 0, i32 1 %t2360 = getelementptr inbounds %LSlice, ptr %t2358, i32 0, i32 2 %t2361 = getelementptr inbounds %LSlice, ptr %t2358, i32 0, i32 0 %t2362 = load i32, ptr %t2359 %t2363 = load i32, ptr %t2360 %t2364 = icmp sge i32 %t2362, %t2363 br i1 %t2364, label %grow515, label %put516 grow515: %t2365 = mul i32 %t2363, 2 %t2366 = icmp eq i32 %t2363, 0 %t2367 = select i1 %t2366, i32 8, i32 %t2365 %t2368 = getelementptr ptr, ptr null, i32 1 %t2369 = ptrtoint ptr %t2368 to i64 %t2370 = zext i32 %t2367 to i64 %t2371 = mul i64 %t2370, %t2369 %t2372 = load ptr, ptr %t2361 %t2373 = call ptr @realloc(ptr %t2372, i64 %t2371) store ptr %t2373, ptr %t2361 store i32 %t2367, ptr %t2360 br label %put516 put516: %t2374 = load ptr, ptr %t2361 %t2375 = getelementptr inbounds ptr, ptr %t2374, i32 %t2362 store ptr @.str8169, ptr %t2375 %t2376 = add i32 %t2362, 1 store i32 %t2376, ptr %t2359 %t2377 = load ptr, ptr %t459 %t2378 = getelementptr inbounds %LSlice, ptr %t2377, i32 0, i32 1 %t2379 = getelementptr inbounds %LSlice, ptr %t2377, i32 0, i32 2 %t2380 = getelementptr inbounds %LSlice, ptr %t2377, i32 0, i32 0 %t2381 = load i32, ptr %t2378 %t2382 = load i32, ptr %t2379 %t2383 = icmp sge i32 %t2381, %t2382 br i1 %t2383, label %grow517, label %put518 grow517: %t2384 = mul i32 %t2382, 2 %t2385 = icmp eq i32 %t2382, 0 %t2386 = select i1 %t2385, i32 8, i32 %t2384 %t2387 = getelementptr ptr, ptr null, i32 1 %t2388 = ptrtoint ptr %t2387 to i64 %t2389 = zext i32 %t2386 to i64 %t2390 = mul i64 %t2389, %t2388 %t2391 = load ptr, ptr %t2380 %t2392 = call ptr @realloc(ptr %t2391, i64 %t2390) store ptr %t2392, ptr %t2380 store i32 %t2386, ptr %t2379 br label %put518 put518: %t2393 = load ptr, ptr %t2380 %t2394 = getelementptr inbounds ptr, ptr %t2393, i32 %t2381 store ptr @.str8170, ptr %t2394 %t2395 = add i32 %t2381, 1 store i32 %t2395, ptr %t2378 %t2396 = load ptr, ptr %t459 %t2397 = getelementptr inbounds %LSlice, ptr %t2396, i32 0, i32 1 %t2398 = getelementptr inbounds %LSlice, ptr %t2396, i32 0, i32 2 %t2399 = getelementptr inbounds %LSlice, ptr %t2396, i32 0, i32 0 %t2400 = load i32, ptr %t2397 %t2401 = load i32, ptr %t2398 %t2402 = icmp sge i32 %t2400, %t2401 br i1 %t2402, label %grow519, label %put520 grow519: %t2403 = mul i32 %t2401, 2 %t2404 = icmp eq i32 %t2401, 0 %t2405 = select i1 %t2404, i32 8, i32 %t2403 %t2406 = getelementptr ptr, ptr null, i32 1 %t2407 = ptrtoint ptr %t2406 to i64 %t2408 = zext i32 %t2405 to i64 %t2409 = mul i64 %t2408, %t2407 %t2410 = load ptr, ptr %t2399 %t2411 = call ptr @realloc(ptr %t2410, i64 %t2409) store ptr %t2411, ptr %t2399 store i32 %t2405, ptr %t2398 br label %put520 put520: %t2412 = load ptr, ptr %t2399 %t2413 = getelementptr inbounds ptr, ptr %t2412, i32 %t2400 store ptr @.str8171, ptr %t2413 %t2414 = add i32 %t2400, 1 store i32 %t2414, ptr %t2397 br label %ifend510 ifend510: %t2415 = load ptr, ptr %t1 %t2416 = call i32 @lp_str_eq(ptr %t2415, ptr @.str8172) %t2417 = icmp ne i32 %t2416, 0 br i1 %t2417, label %then521, label %ifend523 then521: store ptr @.str8173, ptr %t452 %t2418 = load ptr, ptr %t459 %t2419 = getelementptr inbounds %LSlice, ptr %t2418, i32 0, i32 1 %t2420 = getelementptr inbounds %LSlice, ptr %t2418, i32 0, i32 2 %t2421 = getelementptr inbounds %LSlice, ptr %t2418, i32 0, i32 0 %t2422 = load i32, ptr %t2419 %t2423 = load i32, ptr %t2420 %t2424 = icmp sge i32 %t2422, %t2423 br i1 %t2424, label %grow524, label %put525 grow524: %t2425 = mul i32 %t2423, 2 %t2426 = icmp eq i32 %t2423, 0 %t2427 = select i1 %t2426, i32 8, i32 %t2425 %t2428 = getelementptr ptr, ptr null, i32 1 %t2429 = ptrtoint ptr %t2428 to i64 %t2430 = zext i32 %t2427 to i64 %t2431 = mul i64 %t2430, %t2429 %t2432 = load ptr, ptr %t2421 %t2433 = call ptr @realloc(ptr %t2432, i64 %t2431) store ptr %t2433, ptr %t2421 store i32 %t2427, ptr %t2420 br label %put525 put525: %t2434 = load ptr, ptr %t2421 %t2435 = getelementptr inbounds ptr, ptr %t2434, i32 %t2422 store ptr @.str8174, ptr %t2435 %t2436 = add i32 %t2422, 1 store i32 %t2436, ptr %t2419 %t2437 = load ptr, ptr %t459 %t2438 = getelementptr inbounds %LSlice, ptr %t2437, i32 0, i32 1 %t2439 = getelementptr inbounds %LSlice, ptr %t2437, i32 0, i32 2 %t2440 = getelementptr inbounds %LSlice, ptr %t2437, i32 0, i32 0 %t2441 = load i32, ptr %t2438 %t2442 = load i32, ptr %t2439 %t2443 = icmp sge i32 %t2441, %t2442 br i1 %t2443, label %grow526, label %put527 grow526: %t2444 = mul i32 %t2442, 2 %t2445 = icmp eq i32 %t2442, 0 %t2446 = select i1 %t2445, i32 8, i32 %t2444 %t2447 = getelementptr ptr, ptr null, i32 1 %t2448 = ptrtoint ptr %t2447 to i64 %t2449 = zext i32 %t2446 to i64 %t2450 = mul i64 %t2449, %t2448 %t2451 = load ptr, ptr %t2440 %t2452 = call ptr @realloc(ptr %t2451, i64 %t2450) store ptr %t2452, ptr %t2440 store i32 %t2446, ptr %t2439 br label %put527 put527: %t2453 = load ptr, ptr %t2440 %t2454 = getelementptr inbounds ptr, ptr %t2453, i32 %t2441 store ptr @.str8175, ptr %t2454 %t2455 = add i32 %t2441, 1 store i32 %t2455, ptr %t2438 %t2456 = load ptr, ptr %t459 %t2457 = getelementptr inbounds %LSlice, ptr %t2456, i32 0, i32 1 %t2458 = getelementptr inbounds %LSlice, ptr %t2456, i32 0, i32 2 %t2459 = getelementptr inbounds %LSlice, ptr %t2456, i32 0, i32 0 %t2460 = load i32, ptr %t2457 %t2461 = load i32, ptr %t2458 %t2462 = icmp sge i32 %t2460, %t2461 br i1 %t2462, label %grow528, label %put529 grow528: %t2463 = mul i32 %t2461, 2 %t2464 = icmp eq i32 %t2461, 0 %t2465 = select i1 %t2464, i32 8, i32 %t2463 %t2466 = getelementptr ptr, ptr null, i32 1 %t2467 = ptrtoint ptr %t2466 to i64 %t2468 = zext i32 %t2465 to i64 %t2469 = mul i64 %t2468, %t2467 %t2470 = load ptr, ptr %t2459 %t2471 = call ptr @realloc(ptr %t2470, i64 %t2469) store ptr %t2471, ptr %t2459 store i32 %t2465, ptr %t2458 br label %put529 put529: %t2472 = load ptr, ptr %t2459 %t2473 = getelementptr inbounds ptr, ptr %t2472, i32 %t2460 store ptr @.str8176, ptr %t2473 %t2474 = add i32 %t2460, 1 store i32 %t2474, ptr %t2457 %t2475 = load ptr, ptr %t459 %t2476 = getelementptr inbounds %LSlice, ptr %t2475, i32 0, i32 1 %t2477 = getelementptr inbounds %LSlice, ptr %t2475, i32 0, i32 2 %t2478 = getelementptr inbounds %LSlice, ptr %t2475, i32 0, i32 0 %t2479 = load i32, ptr %t2476 %t2480 = load i32, ptr %t2477 %t2481 = icmp sge i32 %t2479, %t2480 br i1 %t2481, label %grow530, label %put531 grow530: %t2482 = mul i32 %t2480, 2 %t2483 = icmp eq i32 %t2480, 0 %t2484 = select i1 %t2483, i32 8, i32 %t2482 %t2485 = getelementptr ptr, ptr null, i32 1 %t2486 = ptrtoint ptr %t2485 to i64 %t2487 = zext i32 %t2484 to i64 %t2488 = mul i64 %t2487, %t2486 %t2489 = load ptr, ptr %t2478 %t2490 = call ptr @realloc(ptr %t2489, i64 %t2488) store ptr %t2490, ptr %t2478 store i32 %t2484, ptr %t2477 br label %put531 put531: %t2491 = load ptr, ptr %t2478 %t2492 = getelementptr inbounds ptr, ptr %t2491, i32 %t2479 store ptr @.str8177, ptr %t2492 %t2493 = add i32 %t2479, 1 store i32 %t2493, ptr %t2476 br label %ifend523 ifend523: %t2494 = load ptr, ptr %t1 %t2495 = call i32 @lp_str_eq(ptr %t2494, ptr @.str8178) %t2496 = icmp ne i32 %t2495, 0 br i1 %t2496, label %then532, label %ifend534 then532: store ptr @.str8179, ptr %t452 %t2497 = load ptr, ptr %t459 %t2498 = getelementptr inbounds %LSlice, ptr %t2497, i32 0, i32 1 %t2499 = getelementptr inbounds %LSlice, ptr %t2497, i32 0, i32 2 %t2500 = getelementptr inbounds %LSlice, ptr %t2497, i32 0, i32 0 %t2501 = load i32, ptr %t2498 %t2502 = load i32, ptr %t2499 %t2503 = icmp sge i32 %t2501, %t2502 br i1 %t2503, label %grow535, label %put536 grow535: %t2504 = mul i32 %t2502, 2 %t2505 = icmp eq i32 %t2502, 0 %t2506 = select i1 %t2505, i32 8, i32 %t2504 %t2507 = getelementptr ptr, ptr null, i32 1 %t2508 = ptrtoint ptr %t2507 to i64 %t2509 = zext i32 %t2506 to i64 %t2510 = mul i64 %t2509, %t2508 %t2511 = load ptr, ptr %t2500 %t2512 = call ptr @realloc(ptr %t2511, i64 %t2510) store ptr %t2512, ptr %t2500 store i32 %t2506, ptr %t2499 br label %put536 put536: %t2513 = load ptr, ptr %t2500 %t2514 = getelementptr inbounds ptr, ptr %t2513, i32 %t2501 store ptr @.str8180, ptr %t2514 %t2515 = add i32 %t2501, 1 store i32 %t2515, ptr %t2498 br label %ifend534 ifend534: %t2516 = load ptr, ptr %t1 %t2517 = call i32 @lp_str_eq(ptr %t2516, ptr @.str8181) %t2518 = icmp ne i32 %t2517, 0 br i1 %t2518, label %then537, label %ifend539 then537: store ptr @.str8182, ptr %t452 %t2519 = load ptr, ptr %t459 %t2520 = getelementptr inbounds %LSlice, ptr %t2519, i32 0, i32 1 %t2521 = getelementptr inbounds %LSlice, ptr %t2519, i32 0, i32 2 %t2522 = getelementptr inbounds %LSlice, ptr %t2519, i32 0, i32 0 %t2523 = load i32, ptr %t2520 %t2524 = load i32, ptr %t2521 %t2525 = icmp sge i32 %t2523, %t2524 br i1 %t2525, label %grow540, label %put541 grow540: %t2526 = mul i32 %t2524, 2 %t2527 = icmp eq i32 %t2524, 0 %t2528 = select i1 %t2527, i32 8, i32 %t2526 %t2529 = getelementptr ptr, ptr null, i32 1 %t2530 = ptrtoint ptr %t2529 to i64 %t2531 = zext i32 %t2528 to i64 %t2532 = mul i64 %t2531, %t2530 %t2533 = load ptr, ptr %t2522 %t2534 = call ptr @realloc(ptr %t2533, i64 %t2532) store ptr %t2534, ptr %t2522 store i32 %t2528, ptr %t2521 br label %put541 put541: %t2535 = load ptr, ptr %t2522 %t2536 = getelementptr inbounds ptr, ptr %t2535, i32 %t2523 store ptr @.str8183, ptr %t2536 %t2537 = add i32 %t2523, 1 store i32 %t2537, ptr %t2520 %t2538 = load ptr, ptr %t459 %t2539 = getelementptr inbounds %LSlice, ptr %t2538, i32 0, i32 1 %t2540 = getelementptr inbounds %LSlice, ptr %t2538, i32 0, i32 2 %t2541 = getelementptr inbounds %LSlice, ptr %t2538, i32 0, i32 0 %t2542 = load i32, ptr %t2539 %t2543 = load i32, ptr %t2540 %t2544 = icmp sge i32 %t2542, %t2543 br i1 %t2544, label %grow542, label %put543 grow542: %t2545 = mul i32 %t2543, 2 %t2546 = icmp eq i32 %t2543, 0 %t2547 = select i1 %t2546, i32 8, i32 %t2545 %t2548 = getelementptr ptr, ptr null, i32 1 %t2549 = ptrtoint ptr %t2548 to i64 %t2550 = zext i32 %t2547 to i64 %t2551 = mul i64 %t2550, %t2549 %t2552 = load ptr, ptr %t2541 %t2553 = call ptr @realloc(ptr %t2552, i64 %t2551) store ptr %t2553, ptr %t2541 store i32 %t2547, ptr %t2540 br label %put543 put543: %t2554 = load ptr, ptr %t2541 %t2555 = getelementptr inbounds ptr, ptr %t2554, i32 %t2542 store ptr @.str8184, ptr %t2555 %t2556 = add i32 %t2542, 1 store i32 %t2556, ptr %t2539 %t2557 = load ptr, ptr %t459 %t2558 = getelementptr inbounds %LSlice, ptr %t2557, i32 0, i32 1 %t2559 = getelementptr inbounds %LSlice, ptr %t2557, i32 0, i32 2 %t2560 = getelementptr inbounds %LSlice, ptr %t2557, i32 0, i32 0 %t2561 = load i32, ptr %t2558 %t2562 = load i32, ptr %t2559 %t2563 = icmp sge i32 %t2561, %t2562 br i1 %t2563, label %grow544, label %put545 grow544: %t2564 = mul i32 %t2562, 2 %t2565 = icmp eq i32 %t2562, 0 %t2566 = select i1 %t2565, i32 8, i32 %t2564 %t2567 = getelementptr ptr, ptr null, i32 1 %t2568 = ptrtoint ptr %t2567 to i64 %t2569 = zext i32 %t2566 to i64 %t2570 = mul i64 %t2569, %t2568 %t2571 = load ptr, ptr %t2560 %t2572 = call ptr @realloc(ptr %t2571, i64 %t2570) store ptr %t2572, ptr %t2560 store i32 %t2566, ptr %t2559 br label %put545 put545: %t2573 = load ptr, ptr %t2560 %t2574 = getelementptr inbounds ptr, ptr %t2573, i32 %t2561 store ptr @.str8185, ptr %t2574 %t2575 = add i32 %t2561, 1 store i32 %t2575, ptr %t2558 br label %ifend539 ifend539: %t2576 = load ptr, ptr %t1 %t2577 = call i32 @lp_str_eq(ptr %t2576, ptr @.str8186) %t2578 = icmp ne i32 %t2577, 0 br i1 %t2578, label %then546, label %ifend548 then546: store ptr @.str8187, ptr %t452 %t2579 = load ptr, ptr %t459 %t2580 = getelementptr inbounds %LSlice, ptr %t2579, i32 0, i32 1 %t2581 = getelementptr inbounds %LSlice, ptr %t2579, i32 0, i32 2 %t2582 = getelementptr inbounds %LSlice, ptr %t2579, i32 0, i32 0 %t2583 = load i32, ptr %t2580 %t2584 = load i32, ptr %t2581 %t2585 = icmp sge i32 %t2583, %t2584 br i1 %t2585, label %grow549, label %put550 grow549: %t2586 = mul i32 %t2584, 2 %t2587 = icmp eq i32 %t2584, 0 %t2588 = select i1 %t2587, i32 8, i32 %t2586 %t2589 = getelementptr ptr, ptr null, i32 1 %t2590 = ptrtoint ptr %t2589 to i64 %t2591 = zext i32 %t2588 to i64 %t2592 = mul i64 %t2591, %t2590 %t2593 = load ptr, ptr %t2582 %t2594 = call ptr @realloc(ptr %t2593, i64 %t2592) store ptr %t2594, ptr %t2582 store i32 %t2588, ptr %t2581 br label %put550 put550: %t2595 = load ptr, ptr %t2582 %t2596 = getelementptr inbounds ptr, ptr %t2595, i32 %t2583 store ptr @.str8188, ptr %t2596 %t2597 = add i32 %t2583, 1 store i32 %t2597, ptr %t2580 %t2598 = load ptr, ptr %t459 %t2599 = getelementptr inbounds %LSlice, ptr %t2598, i32 0, i32 1 %t2600 = getelementptr inbounds %LSlice, ptr %t2598, i32 0, i32 2 %t2601 = getelementptr inbounds %LSlice, ptr %t2598, i32 0, i32 0 %t2602 = load i32, ptr %t2599 %t2603 = load i32, ptr %t2600 %t2604 = icmp sge i32 %t2602, %t2603 br i1 %t2604, label %grow551, label %put552 grow551: %t2605 = mul i32 %t2603, 2 %t2606 = icmp eq i32 %t2603, 0 %t2607 = select i1 %t2606, i32 8, i32 %t2605 %t2608 = getelementptr ptr, ptr null, i32 1 %t2609 = ptrtoint ptr %t2608 to i64 %t2610 = zext i32 %t2607 to i64 %t2611 = mul i64 %t2610, %t2609 %t2612 = load ptr, ptr %t2601 %t2613 = call ptr @realloc(ptr %t2612, i64 %t2611) store ptr %t2613, ptr %t2601 store i32 %t2607, ptr %t2600 br label %put552 put552: %t2614 = load ptr, ptr %t2601 %t2615 = getelementptr inbounds ptr, ptr %t2614, i32 %t2602 store ptr @.str8189, ptr %t2615 %t2616 = add i32 %t2602, 1 store i32 %t2616, ptr %t2599 %t2617 = load ptr, ptr %t459 %t2618 = getelementptr inbounds %LSlice, ptr %t2617, i32 0, i32 1 %t2619 = getelementptr inbounds %LSlice, ptr %t2617, i32 0, i32 2 %t2620 = getelementptr inbounds %LSlice, ptr %t2617, i32 0, i32 0 %t2621 = load i32, ptr %t2618 %t2622 = load i32, ptr %t2619 %t2623 = icmp sge i32 %t2621, %t2622 br i1 %t2623, label %grow553, label %put554 grow553: %t2624 = mul i32 %t2622, 2 %t2625 = icmp eq i32 %t2622, 0 %t2626 = select i1 %t2625, i32 8, i32 %t2624 %t2627 = getelementptr ptr, ptr null, i32 1 %t2628 = ptrtoint ptr %t2627 to i64 %t2629 = zext i32 %t2626 to i64 %t2630 = mul i64 %t2629, %t2628 %t2631 = load ptr, ptr %t2620 %t2632 = call ptr @realloc(ptr %t2631, i64 %t2630) store ptr %t2632, ptr %t2620 store i32 %t2626, ptr %t2619 br label %put554 put554: %t2633 = load ptr, ptr %t2620 %t2634 = getelementptr inbounds ptr, ptr %t2633, i32 %t2621 store ptr @.str8190, ptr %t2634 %t2635 = add i32 %t2621, 1 store i32 %t2635, ptr %t2618 %t2636 = load ptr, ptr %t459 %t2637 = getelementptr inbounds %LSlice, ptr %t2636, i32 0, i32 1 %t2638 = getelementptr inbounds %LSlice, ptr %t2636, i32 0, i32 2 %t2639 = getelementptr inbounds %LSlice, ptr %t2636, i32 0, i32 0 %t2640 = load i32, ptr %t2637 %t2641 = load i32, ptr %t2638 %t2642 = icmp sge i32 %t2640, %t2641 br i1 %t2642, label %grow555, label %put556 grow555: %t2643 = mul i32 %t2641, 2 %t2644 = icmp eq i32 %t2641, 0 %t2645 = select i1 %t2644, i32 8, i32 %t2643 %t2646 = getelementptr ptr, ptr null, i32 1 %t2647 = ptrtoint ptr %t2646 to i64 %t2648 = zext i32 %t2645 to i64 %t2649 = mul i64 %t2648, %t2647 %t2650 = load ptr, ptr %t2639 %t2651 = call ptr @realloc(ptr %t2650, i64 %t2649) store ptr %t2651, ptr %t2639 store i32 %t2645, ptr %t2638 br label %put556 put556: %t2652 = load ptr, ptr %t2639 %t2653 = getelementptr inbounds ptr, ptr %t2652, i32 %t2640 store ptr @.str8191, ptr %t2653 %t2654 = add i32 %t2640, 1 store i32 %t2654, ptr %t2637 br label %ifend548 ifend548: %t2655 = load ptr, ptr %t1 %t2656 = call i32 @lp_str_eq(ptr %t2655, ptr @.str8192) %t2657 = icmp ne i32 %t2656, 0 br i1 %t2657, label %then557, label %ifend559 then557: store ptr @.str8193, ptr %t452 %t2658 = load ptr, ptr %t459 %t2659 = getelementptr inbounds %LSlice, ptr %t2658, i32 0, i32 1 %t2660 = getelementptr inbounds %LSlice, ptr %t2658, i32 0, i32 2 %t2661 = getelementptr inbounds %LSlice, ptr %t2658, i32 0, i32 0 %t2662 = load i32, ptr %t2659 %t2663 = load i32, ptr %t2660 %t2664 = icmp sge i32 %t2662, %t2663 br i1 %t2664, label %grow560, label %put561 grow560: %t2665 = mul i32 %t2663, 2 %t2666 = icmp eq i32 %t2663, 0 %t2667 = select i1 %t2666, i32 8, i32 %t2665 %t2668 = getelementptr ptr, ptr null, i32 1 %t2669 = ptrtoint ptr %t2668 to i64 %t2670 = zext i32 %t2667 to i64 %t2671 = mul i64 %t2670, %t2669 %t2672 = load ptr, ptr %t2661 %t2673 = call ptr @realloc(ptr %t2672, i64 %t2671) store ptr %t2673, ptr %t2661 store i32 %t2667, ptr %t2660 br label %put561 put561: %t2674 = load ptr, ptr %t2661 %t2675 = getelementptr inbounds ptr, ptr %t2674, i32 %t2662 store ptr @.str8194, ptr %t2675 %t2676 = add i32 %t2662, 1 store i32 %t2676, ptr %t2659 %t2677 = load ptr, ptr %t459 %t2678 = getelementptr inbounds %LSlice, ptr %t2677, i32 0, i32 1 %t2679 = getelementptr inbounds %LSlice, ptr %t2677, i32 0, i32 2 %t2680 = getelementptr inbounds %LSlice, ptr %t2677, i32 0, i32 0 %t2681 = load i32, ptr %t2678 %t2682 = load i32, ptr %t2679 %t2683 = icmp sge i32 %t2681, %t2682 br i1 %t2683, label %grow562, label %put563 grow562: %t2684 = mul i32 %t2682, 2 %t2685 = icmp eq i32 %t2682, 0 %t2686 = select i1 %t2685, i32 8, i32 %t2684 %t2687 = getelementptr ptr, ptr null, i32 1 %t2688 = ptrtoint ptr %t2687 to i64 %t2689 = zext i32 %t2686 to i64 %t2690 = mul i64 %t2689, %t2688 %t2691 = load ptr, ptr %t2680 %t2692 = call ptr @realloc(ptr %t2691, i64 %t2690) store ptr %t2692, ptr %t2680 store i32 %t2686, ptr %t2679 br label %put563 put563: %t2693 = load ptr, ptr %t2680 %t2694 = getelementptr inbounds ptr, ptr %t2693, i32 %t2681 store ptr @.str8195, ptr %t2694 %t2695 = add i32 %t2681, 1 store i32 %t2695, ptr %t2678 %t2696 = load ptr, ptr %t459 %t2697 = getelementptr inbounds %LSlice, ptr %t2696, i32 0, i32 1 %t2698 = getelementptr inbounds %LSlice, ptr %t2696, i32 0, i32 2 %t2699 = getelementptr inbounds %LSlice, ptr %t2696, i32 0, i32 0 %t2700 = load i32, ptr %t2697 %t2701 = load i32, ptr %t2698 %t2702 = icmp sge i32 %t2700, %t2701 br i1 %t2702, label %grow564, label %put565 grow564: %t2703 = mul i32 %t2701, 2 %t2704 = icmp eq i32 %t2701, 0 %t2705 = select i1 %t2704, i32 8, i32 %t2703 %t2706 = getelementptr ptr, ptr null, i32 1 %t2707 = ptrtoint ptr %t2706 to i64 %t2708 = zext i32 %t2705 to i64 %t2709 = mul i64 %t2708, %t2707 %t2710 = load ptr, ptr %t2699 %t2711 = call ptr @realloc(ptr %t2710, i64 %t2709) store ptr %t2711, ptr %t2699 store i32 %t2705, ptr %t2698 br label %put565 put565: %t2712 = load ptr, ptr %t2699 %t2713 = getelementptr inbounds ptr, ptr %t2712, i32 %t2700 store ptr @.str8196, ptr %t2713 %t2714 = add i32 %t2700, 1 store i32 %t2714, ptr %t2697 %t2715 = load ptr, ptr %t459 %t2716 = getelementptr inbounds %LSlice, ptr %t2715, i32 0, i32 1 %t2717 = getelementptr inbounds %LSlice, ptr %t2715, i32 0, i32 2 %t2718 = getelementptr inbounds %LSlice, ptr %t2715, i32 0, i32 0 %t2719 = load i32, ptr %t2716 %t2720 = load i32, ptr %t2717 %t2721 = icmp sge i32 %t2719, %t2720 br i1 %t2721, label %grow566, label %put567 grow566: %t2722 = mul i32 %t2720, 2 %t2723 = icmp eq i32 %t2720, 0 %t2724 = select i1 %t2723, i32 8, i32 %t2722 %t2725 = getelementptr ptr, ptr null, i32 1 %t2726 = ptrtoint ptr %t2725 to i64 %t2727 = zext i32 %t2724 to i64 %t2728 = mul i64 %t2727, %t2726 %t2729 = load ptr, ptr %t2718 %t2730 = call ptr @realloc(ptr %t2729, i64 %t2728) store ptr %t2730, ptr %t2718 store i32 %t2724, ptr %t2717 br label %put567 put567: %t2731 = load ptr, ptr %t2718 %t2732 = getelementptr inbounds ptr, ptr %t2731, i32 %t2719 store ptr @.str8197, ptr %t2732 %t2733 = add i32 %t2719, 1 store i32 %t2733, ptr %t2716 %t2734 = load ptr, ptr %t459 %t2735 = getelementptr inbounds %LSlice, ptr %t2734, i32 0, i32 1 %t2736 = getelementptr inbounds %LSlice, ptr %t2734, i32 0, i32 2 %t2737 = getelementptr inbounds %LSlice, ptr %t2734, i32 0, i32 0 %t2738 = load i32, ptr %t2735 %t2739 = load i32, ptr %t2736 %t2740 = icmp sge i32 %t2738, %t2739 br i1 %t2740, label %grow568, label %put569 grow568: %t2741 = mul i32 %t2739, 2 %t2742 = icmp eq i32 %t2739, 0 %t2743 = select i1 %t2742, i32 8, i32 %t2741 %t2744 = getelementptr ptr, ptr null, i32 1 %t2745 = ptrtoint ptr %t2744 to i64 %t2746 = zext i32 %t2743 to i64 %t2747 = mul i64 %t2746, %t2745 %t2748 = load ptr, ptr %t2737 %t2749 = call ptr @realloc(ptr %t2748, i64 %t2747) store ptr %t2749, ptr %t2737 store i32 %t2743, ptr %t2736 br label %put569 put569: %t2750 = load ptr, ptr %t2737 %t2751 = getelementptr inbounds ptr, ptr %t2750, i32 %t2738 store ptr @.str8198, ptr %t2751 %t2752 = add i32 %t2738, 1 store i32 %t2752, ptr %t2735 %t2753 = load ptr, ptr %t459 %t2754 = getelementptr inbounds %LSlice, ptr %t2753, i32 0, i32 1 %t2755 = getelementptr inbounds %LSlice, ptr %t2753, i32 0, i32 2 %t2756 = getelementptr inbounds %LSlice, ptr %t2753, i32 0, i32 0 %t2757 = load i32, ptr %t2754 %t2758 = load i32, ptr %t2755 %t2759 = icmp sge i32 %t2757, %t2758 br i1 %t2759, label %grow570, label %put571 grow570: %t2760 = mul i32 %t2758, 2 %t2761 = icmp eq i32 %t2758, 0 %t2762 = select i1 %t2761, i32 8, i32 %t2760 %t2763 = getelementptr ptr, ptr null, i32 1 %t2764 = ptrtoint ptr %t2763 to i64 %t2765 = zext i32 %t2762 to i64 %t2766 = mul i64 %t2765, %t2764 %t2767 = load ptr, ptr %t2756 %t2768 = call ptr @realloc(ptr %t2767, i64 %t2766) store ptr %t2768, ptr %t2756 store i32 %t2762, ptr %t2755 br label %put571 put571: %t2769 = load ptr, ptr %t2756 %t2770 = getelementptr inbounds ptr, ptr %t2769, i32 %t2757 store ptr @.str8199, ptr %t2770 %t2771 = add i32 %t2757, 1 store i32 %t2771, ptr %t2754 %t2772 = load ptr, ptr %t459 %t2773 = getelementptr inbounds %LSlice, ptr %t2772, i32 0, i32 1 %t2774 = getelementptr inbounds %LSlice, ptr %t2772, i32 0, i32 2 %t2775 = getelementptr inbounds %LSlice, ptr %t2772, i32 0, i32 0 %t2776 = load i32, ptr %t2773 %t2777 = load i32, ptr %t2774 %t2778 = icmp sge i32 %t2776, %t2777 br i1 %t2778, label %grow572, label %put573 grow572: %t2779 = mul i32 %t2777, 2 %t2780 = icmp eq i32 %t2777, 0 %t2781 = select i1 %t2780, i32 8, i32 %t2779 %t2782 = getelementptr ptr, ptr null, i32 1 %t2783 = ptrtoint ptr %t2782 to i64 %t2784 = zext i32 %t2781 to i64 %t2785 = mul i64 %t2784, %t2783 %t2786 = load ptr, ptr %t2775 %t2787 = call ptr @realloc(ptr %t2786, i64 %t2785) store ptr %t2787, ptr %t2775 store i32 %t2781, ptr %t2774 br label %put573 put573: %t2788 = load ptr, ptr %t2775 %t2789 = getelementptr inbounds ptr, ptr %t2788, i32 %t2776 store ptr @.str8200, ptr %t2789 %t2790 = add i32 %t2776, 1 store i32 %t2790, ptr %t2773 %t2791 = load ptr, ptr %t459 %t2792 = getelementptr inbounds %LSlice, ptr %t2791, i32 0, i32 1 %t2793 = getelementptr inbounds %LSlice, ptr %t2791, i32 0, i32 2 %t2794 = getelementptr inbounds %LSlice, ptr %t2791, i32 0, i32 0 %t2795 = load i32, ptr %t2792 %t2796 = load i32, ptr %t2793 %t2797 = icmp sge i32 %t2795, %t2796 br i1 %t2797, label %grow574, label %put575 grow574: %t2798 = mul i32 %t2796, 2 %t2799 = icmp eq i32 %t2796, 0 %t2800 = select i1 %t2799, i32 8, i32 %t2798 %t2801 = getelementptr ptr, ptr null, i32 1 %t2802 = ptrtoint ptr %t2801 to i64 %t2803 = zext i32 %t2800 to i64 %t2804 = mul i64 %t2803, %t2802 %t2805 = load ptr, ptr %t2794 %t2806 = call ptr @realloc(ptr %t2805, i64 %t2804) store ptr %t2806, ptr %t2794 store i32 %t2800, ptr %t2793 br label %put575 put575: %t2807 = load ptr, ptr %t2794 %t2808 = getelementptr inbounds ptr, ptr %t2807, i32 %t2795 store ptr @.str8201, ptr %t2808 %t2809 = add i32 %t2795, 1 store i32 %t2809, ptr %t2792 %t2810 = load ptr, ptr %t459 %t2811 = getelementptr inbounds %LSlice, ptr %t2810, i32 0, i32 1 %t2812 = getelementptr inbounds %LSlice, ptr %t2810, i32 0, i32 2 %t2813 = getelementptr inbounds %LSlice, ptr %t2810, i32 0, i32 0 %t2814 = load i32, ptr %t2811 %t2815 = load i32, ptr %t2812 %t2816 = icmp sge i32 %t2814, %t2815 br i1 %t2816, label %grow576, label %put577 grow576: %t2817 = mul i32 %t2815, 2 %t2818 = icmp eq i32 %t2815, 0 %t2819 = select i1 %t2818, i32 8, i32 %t2817 %t2820 = getelementptr ptr, ptr null, i32 1 %t2821 = ptrtoint ptr %t2820 to i64 %t2822 = zext i32 %t2819 to i64 %t2823 = mul i64 %t2822, %t2821 %t2824 = load ptr, ptr %t2813 %t2825 = call ptr @realloc(ptr %t2824, i64 %t2823) store ptr %t2825, ptr %t2813 store i32 %t2819, ptr %t2812 br label %put577 put577: %t2826 = load ptr, ptr %t2813 %t2827 = getelementptr inbounds ptr, ptr %t2826, i32 %t2814 store ptr @.str8202, ptr %t2827 %t2828 = add i32 %t2814, 1 store i32 %t2828, ptr %t2811 br label %ifend559 ifend559: %t2829 = load ptr, ptr %t1 %t2830 = call i32 @lp_str_eq(ptr %t2829, ptr @.str8203) %t2831 = icmp ne i32 %t2830, 0 br i1 %t2831, label %then578, label %ifend580 then578: store ptr @.str8204, ptr %t452 %t2832 = load ptr, ptr %t459 %t2833 = getelementptr inbounds %LSlice, ptr %t2832, i32 0, i32 1 %t2834 = getelementptr inbounds %LSlice, ptr %t2832, i32 0, i32 2 %t2835 = getelementptr inbounds %LSlice, ptr %t2832, i32 0, i32 0 %t2836 = load i32, ptr %t2833 %t2837 = load i32, ptr %t2834 %t2838 = icmp sge i32 %t2836, %t2837 br i1 %t2838, label %grow581, label %put582 grow581: %t2839 = mul i32 %t2837, 2 %t2840 = icmp eq i32 %t2837, 0 %t2841 = select i1 %t2840, i32 8, i32 %t2839 %t2842 = getelementptr ptr, ptr null, i32 1 %t2843 = ptrtoint ptr %t2842 to i64 %t2844 = zext i32 %t2841 to i64 %t2845 = mul i64 %t2844, %t2843 %t2846 = load ptr, ptr %t2835 %t2847 = call ptr @realloc(ptr %t2846, i64 %t2845) store ptr %t2847, ptr %t2835 store i32 %t2841, ptr %t2834 br label %put582 put582: %t2848 = load ptr, ptr %t2835 %t2849 = getelementptr inbounds ptr, ptr %t2848, i32 %t2836 store ptr @.str8205, ptr %t2849 %t2850 = add i32 %t2836, 1 store i32 %t2850, ptr %t2833 br label %ifend580 ifend580: %t2851 = load ptr, ptr %t1 %t2852 = call i32 @lp_str_eq(ptr %t2851, ptr @.str8206) %t2853 = icmp ne i32 %t2852, 0 br i1 %t2853, label %then583, label %ifend585 then583: store ptr @.str8207, ptr %t452 %t2854 = load ptr, ptr %t459 %t2855 = getelementptr inbounds %LSlice, ptr %t2854, i32 0, i32 1 %t2856 = getelementptr inbounds %LSlice, ptr %t2854, i32 0, i32 2 %t2857 = getelementptr inbounds %LSlice, ptr %t2854, i32 0, i32 0 %t2858 = load i32, ptr %t2855 %t2859 = load i32, ptr %t2856 %t2860 = icmp sge i32 %t2858, %t2859 br i1 %t2860, label %grow586, label %put587 grow586: %t2861 = mul i32 %t2859, 2 %t2862 = icmp eq i32 %t2859, 0 %t2863 = select i1 %t2862, i32 8, i32 %t2861 %t2864 = getelementptr ptr, ptr null, i32 1 %t2865 = ptrtoint ptr %t2864 to i64 %t2866 = zext i32 %t2863 to i64 %t2867 = mul i64 %t2866, %t2865 %t2868 = load ptr, ptr %t2857 %t2869 = call ptr @realloc(ptr %t2868, i64 %t2867) store ptr %t2869, ptr %t2857 store i32 %t2863, ptr %t2856 br label %put587 put587: %t2870 = load ptr, ptr %t2857 %t2871 = getelementptr inbounds ptr, ptr %t2870, i32 %t2858 store ptr @.str8208, ptr %t2871 %t2872 = add i32 %t2858, 1 store i32 %t2872, ptr %t2855 br label %ifend585 ifend585: br label %ifend476 ifend476: %t2873 = load ptr, ptr %t0 %t2874 = call i32 @lp_str_eq(ptr %t2873, ptr @.str8209) %t2875 = icmp ne i32 %t2874, 0 br i1 %t2875, label %then588, label %ifend590 then588: %t2876 = load ptr, ptr %t1 %t2877 = call i32 @lp_str_eq(ptr %t2876, ptr @.str8210) %t2878 = icmp ne i32 %t2877, 0 br i1 %t2878, label %then591, label %ifend593 then591: store ptr @.str8211, ptr %t452 %t2879 = load ptr, ptr %t459 %t2880 = getelementptr inbounds %LSlice, ptr %t2879, i32 0, i32 1 %t2881 = getelementptr inbounds %LSlice, ptr %t2879, i32 0, i32 2 %t2882 = getelementptr inbounds %LSlice, ptr %t2879, i32 0, i32 0 %t2883 = load i32, ptr %t2880 %t2884 = load i32, ptr %t2881 %t2885 = icmp sge i32 %t2883, %t2884 br i1 %t2885, label %grow594, label %put595 grow594: %t2886 = mul i32 %t2884, 2 %t2887 = icmp eq i32 %t2884, 0 %t2888 = select i1 %t2887, i32 8, i32 %t2886 %t2889 = getelementptr ptr, ptr null, i32 1 %t2890 = ptrtoint ptr %t2889 to i64 %t2891 = zext i32 %t2888 to i64 %t2892 = mul i64 %t2891, %t2890 %t2893 = load ptr, ptr %t2882 %t2894 = call ptr @realloc(ptr %t2893, i64 %t2892) store ptr %t2894, ptr %t2882 store i32 %t2888, ptr %t2881 br label %put595 put595: %t2895 = load ptr, ptr %t2882 %t2896 = getelementptr inbounds ptr, ptr %t2895, i32 %t2883 store ptr @.str8212, ptr %t2896 %t2897 = add i32 %t2883, 1 store i32 %t2897, ptr %t2880 br label %ifend593 ifend593: br label %ifend590 ifend590: %t2898 = load ptr, ptr %t0 %t2899 = call i32 @lp_str_eq(ptr %t2898, ptr @.str8213) %t2900 = icmp ne i32 %t2899, 0 br i1 %t2900, label %then596, label %ifend598 then596: %t2901 = load ptr, ptr %t1 %t2902 = call i32 @lp_str_eq(ptr %t2901, ptr @.str8214) %t2903 = icmp ne i32 %t2902, 0 br i1 %t2903, label %then599, label %ifend601 then599: store ptr @.str8215, ptr %t452 br label %ifend601 ifend601: %t2904 = load ptr, ptr %t1 %t2905 = call i32 @lp_str_eq(ptr %t2904, ptr @.str8216) %t2906 = icmp ne i32 %t2905, 0 br i1 %t2906, label %then602, label %ifend604 then602: store ptr @.str8217, ptr %t452 %t2907 = load ptr, ptr %t459 %t2908 = getelementptr inbounds %LSlice, ptr %t2907, i32 0, i32 1 %t2909 = getelementptr inbounds %LSlice, ptr %t2907, i32 0, i32 2 %t2910 = getelementptr inbounds %LSlice, ptr %t2907, i32 0, i32 0 %t2911 = load i32, ptr %t2908 %t2912 = load i32, ptr %t2909 %t2913 = icmp sge i32 %t2911, %t2912 br i1 %t2913, label %grow605, label %put606 grow605: %t2914 = mul i32 %t2912, 2 %t2915 = icmp eq i32 %t2912, 0 %t2916 = select i1 %t2915, i32 8, i32 %t2914 %t2917 = getelementptr ptr, ptr null, i32 1 %t2918 = ptrtoint ptr %t2917 to i64 %t2919 = zext i32 %t2916 to i64 %t2920 = mul i64 %t2919, %t2918 %t2921 = load ptr, ptr %t2910 %t2922 = call ptr @realloc(ptr %t2921, i64 %t2920) store ptr %t2922, ptr %t2910 store i32 %t2916, ptr %t2909 br label %put606 put606: %t2923 = load ptr, ptr %t2910 %t2924 = getelementptr inbounds ptr, ptr %t2923, i32 %t2911 store ptr @.str8218, ptr %t2924 %t2925 = add i32 %t2911, 1 store i32 %t2925, ptr %t2908 br label %ifend604 ifend604: %t2926 = load ptr, ptr %t1 %t2927 = call i32 @lp_str_eq(ptr %t2926, ptr @.str8219) %t2928 = icmp ne i32 %t2927, 0 br i1 %t2928, label %then607, label %ifend609 then607: store ptr @.str8220, ptr %t452 br label %ifend609 ifend609: %t2929 = load ptr, ptr %t1 %t2930 = call i32 @lp_str_eq(ptr %t2929, ptr @.str8221) %t2931 = icmp ne i32 %t2930, 0 br i1 %t2931, label %then610, label %ifend612 then610: store ptr @.str8222, ptr %t452 %t2932 = load ptr, ptr %t459 %t2933 = getelementptr inbounds %LSlice, ptr %t2932, i32 0, i32 1 %t2934 = getelementptr inbounds %LSlice, ptr %t2932, i32 0, i32 2 %t2935 = getelementptr inbounds %LSlice, ptr %t2932, i32 0, i32 0 %t2936 = load i32, ptr %t2933 %t2937 = load i32, ptr %t2934 %t2938 = icmp sge i32 %t2936, %t2937 br i1 %t2938, label %grow613, label %put614 grow613: %t2939 = mul i32 %t2937, 2 %t2940 = icmp eq i32 %t2937, 0 %t2941 = select i1 %t2940, i32 8, i32 %t2939 %t2942 = getelementptr ptr, ptr null, i32 1 %t2943 = ptrtoint ptr %t2942 to i64 %t2944 = zext i32 %t2941 to i64 %t2945 = mul i64 %t2944, %t2943 %t2946 = load ptr, ptr %t2935 %t2947 = call ptr @realloc(ptr %t2946, i64 %t2945) store ptr %t2947, ptr %t2935 store i32 %t2941, ptr %t2934 br label %put614 put614: %t2948 = load ptr, ptr %t2935 %t2949 = getelementptr inbounds ptr, ptr %t2948, i32 %t2936 store ptr @.str8223, ptr %t2949 %t2950 = add i32 %t2936, 1 store i32 %t2950, ptr %t2933 br label %ifend612 ifend612: %t2951 = load ptr, ptr %t1 %t2952 = call i32 @lp_str_eq(ptr %t2951, ptr @.str8224) %t2953 = icmp ne i32 %t2952, 0 br i1 %t2953, label %then615, label %ifend617 then615: store ptr @.str8225, ptr %t452 %t2954 = load ptr, ptr %t459 %t2955 = getelementptr inbounds %LSlice, ptr %t2954, i32 0, i32 1 %t2956 = getelementptr inbounds %LSlice, ptr %t2954, i32 0, i32 2 %t2957 = getelementptr inbounds %LSlice, ptr %t2954, i32 0, i32 0 %t2958 = load i32, ptr %t2955 %t2959 = load i32, ptr %t2956 %t2960 = icmp sge i32 %t2958, %t2959 br i1 %t2960, label %grow618, label %put619 grow618: %t2961 = mul i32 %t2959, 2 %t2962 = icmp eq i32 %t2959, 0 %t2963 = select i1 %t2962, i32 8, i32 %t2961 %t2964 = getelementptr ptr, ptr null, i32 1 %t2965 = ptrtoint ptr %t2964 to i64 %t2966 = zext i32 %t2963 to i64 %t2967 = mul i64 %t2966, %t2965 %t2968 = load ptr, ptr %t2957 %t2969 = call ptr @realloc(ptr %t2968, i64 %t2967) store ptr %t2969, ptr %t2957 store i32 %t2963, ptr %t2956 br label %put619 put619: %t2970 = load ptr, ptr %t2957 %t2971 = getelementptr inbounds ptr, ptr %t2970, i32 %t2958 store ptr @.str8226, ptr %t2971 %t2972 = add i32 %t2958, 1 store i32 %t2972, ptr %t2955 br label %ifend617 ifend617: %t2973 = load ptr, ptr %t1 %t2974 = call i32 @lp_str_eq(ptr %t2973, ptr @.str8227) %t2975 = icmp ne i32 %t2974, 0 br i1 %t2975, label %then620, label %ifend622 then620: store ptr @.str8228, ptr %t452 %t2976 = load ptr, ptr %t459 %t2977 = getelementptr inbounds %LSlice, ptr %t2976, i32 0, i32 1 %t2978 = getelementptr inbounds %LSlice, ptr %t2976, i32 0, i32 2 %t2979 = getelementptr inbounds %LSlice, ptr %t2976, i32 0, i32 0 %t2980 = load i32, ptr %t2977 %t2981 = load i32, ptr %t2978 %t2982 = icmp sge i32 %t2980, %t2981 br i1 %t2982, label %grow623, label %put624 grow623: %t2983 = mul i32 %t2981, 2 %t2984 = icmp eq i32 %t2981, 0 %t2985 = select i1 %t2984, i32 8, i32 %t2983 %t2986 = getelementptr ptr, ptr null, i32 1 %t2987 = ptrtoint ptr %t2986 to i64 %t2988 = zext i32 %t2985 to i64 %t2989 = mul i64 %t2988, %t2987 %t2990 = load ptr, ptr %t2979 %t2991 = call ptr @realloc(ptr %t2990, i64 %t2989) store ptr %t2991, ptr %t2979 store i32 %t2985, ptr %t2978 br label %put624 put624: %t2992 = load ptr, ptr %t2979 %t2993 = getelementptr inbounds ptr, ptr %t2992, i32 %t2980 store ptr @.str8229, ptr %t2993 %t2994 = add i32 %t2980, 1 store i32 %t2994, ptr %t2977 %t2995 = load ptr, ptr %t459 %t2996 = getelementptr inbounds %LSlice, ptr %t2995, i32 0, i32 1 %t2997 = getelementptr inbounds %LSlice, ptr %t2995, i32 0, i32 2 %t2998 = getelementptr inbounds %LSlice, ptr %t2995, i32 0, i32 0 %t2999 = load i32, ptr %t2996 %t3000 = load i32, ptr %t2997 %t3001 = icmp sge i32 %t2999, %t3000 br i1 %t3001, label %grow625, label %put626 grow625: %t3002 = mul i32 %t3000, 2 %t3003 = icmp eq i32 %t3000, 0 %t3004 = select i1 %t3003, i32 8, i32 %t3002 %t3005 = getelementptr ptr, ptr null, i32 1 %t3006 = ptrtoint ptr %t3005 to i64 %t3007 = zext i32 %t3004 to i64 %t3008 = mul i64 %t3007, %t3006 %t3009 = load ptr, ptr %t2998 %t3010 = call ptr @realloc(ptr %t3009, i64 %t3008) store ptr %t3010, ptr %t2998 store i32 %t3004, ptr %t2997 br label %put626 put626: %t3011 = load ptr, ptr %t2998 %t3012 = getelementptr inbounds ptr, ptr %t3011, i32 %t2999 store ptr @.str8230, ptr %t3012 %t3013 = add i32 %t2999, 1 store i32 %t3013, ptr %t2996 br label %ifend622 ifend622: %t3014 = load ptr, ptr %t1 %t3015 = call i32 @lp_str_eq(ptr %t3014, ptr @.str8231) %t3016 = icmp ne i32 %t3015, 0 br i1 %t3016, label %then627, label %ifend629 then627: store ptr @.str8232, ptr %t452 br label %ifend629 ifend629: br label %ifend598 ifend598: %t3017 = load ptr, ptr %t0 %t3018 = call i32 @lp_str_eq(ptr %t3017, ptr @.str8233) %t3019 = icmp ne i32 %t3018, 0 br i1 %t3019, label %then630, label %ifend632 then630: %t3020 = load ptr, ptr %t1 %t3021 = call i32 @lp_str_eq(ptr %t3020, ptr @.str8234) %t3022 = icmp ne i32 %t3021, 0 br i1 %t3022, label %then633, label %ifend635 then633: store ptr @.str8235, ptr %t452 %t3023 = load ptr, ptr %t459 %t3024 = getelementptr inbounds %LSlice, ptr %t3023, i32 0, i32 1 %t3025 = getelementptr inbounds %LSlice, ptr %t3023, i32 0, i32 2 %t3026 = getelementptr inbounds %LSlice, ptr %t3023, i32 0, i32 0 %t3027 = load i32, ptr %t3024 %t3028 = load i32, ptr %t3025 %t3029 = icmp sge i32 %t3027, %t3028 br i1 %t3029, label %grow636, label %put637 grow636: %t3030 = mul i32 %t3028, 2 %t3031 = icmp eq i32 %t3028, 0 %t3032 = select i1 %t3031, i32 8, i32 %t3030 %t3033 = getelementptr ptr, ptr null, i32 1 %t3034 = ptrtoint ptr %t3033 to i64 %t3035 = zext i32 %t3032 to i64 %t3036 = mul i64 %t3035, %t3034 %t3037 = load ptr, ptr %t3026 %t3038 = call ptr @realloc(ptr %t3037, i64 %t3036) store ptr %t3038, ptr %t3026 store i32 %t3032, ptr %t3025 br label %put637 put637: %t3039 = load ptr, ptr %t3026 %t3040 = getelementptr inbounds ptr, ptr %t3039, i32 %t3027 store ptr @.str8236, ptr %t3040 %t3041 = add i32 %t3027, 1 store i32 %t3041, ptr %t3024 %t3042 = load ptr, ptr %t459 %t3043 = getelementptr inbounds %LSlice, ptr %t3042, i32 0, i32 1 %t3044 = getelementptr inbounds %LSlice, ptr %t3042, i32 0, i32 2 %t3045 = getelementptr inbounds %LSlice, ptr %t3042, i32 0, i32 0 %t3046 = load i32, ptr %t3043 %t3047 = load i32, ptr %t3044 %t3048 = icmp sge i32 %t3046, %t3047 br i1 %t3048, label %grow638, label %put639 grow638: %t3049 = mul i32 %t3047, 2 %t3050 = icmp eq i32 %t3047, 0 %t3051 = select i1 %t3050, i32 8, i32 %t3049 %t3052 = getelementptr ptr, ptr null, i32 1 %t3053 = ptrtoint ptr %t3052 to i64 %t3054 = zext i32 %t3051 to i64 %t3055 = mul i64 %t3054, %t3053 %t3056 = load ptr, ptr %t3045 %t3057 = call ptr @realloc(ptr %t3056, i64 %t3055) store ptr %t3057, ptr %t3045 store i32 %t3051, ptr %t3044 br label %put639 put639: %t3058 = load ptr, ptr %t3045 %t3059 = getelementptr inbounds ptr, ptr %t3058, i32 %t3046 store ptr @.str8237, ptr %t3059 %t3060 = add i32 %t3046, 1 store i32 %t3060, ptr %t3043 br label %ifend635 ifend635: %t3061 = load ptr, ptr %t1 %t3062 = call i32 @lp_str_eq(ptr %t3061, ptr @.str8238) %t3063 = icmp ne i32 %t3062, 0 br i1 %t3063, label %then640, label %ifend642 then640: store ptr @.str8239, ptr %t452 %t3064 = load ptr, ptr %t459 %t3065 = getelementptr inbounds %LSlice, ptr %t3064, i32 0, i32 1 %t3066 = getelementptr inbounds %LSlice, ptr %t3064, i32 0, i32 2 %t3067 = getelementptr inbounds %LSlice, ptr %t3064, i32 0, i32 0 %t3068 = load i32, ptr %t3065 %t3069 = load i32, ptr %t3066 %t3070 = icmp sge i32 %t3068, %t3069 br i1 %t3070, label %grow643, label %put644 grow643: %t3071 = mul i32 %t3069, 2 %t3072 = icmp eq i32 %t3069, 0 %t3073 = select i1 %t3072, i32 8, i32 %t3071 %t3074 = getelementptr ptr, ptr null, i32 1 %t3075 = ptrtoint ptr %t3074 to i64 %t3076 = zext i32 %t3073 to i64 %t3077 = mul i64 %t3076, %t3075 %t3078 = load ptr, ptr %t3067 %t3079 = call ptr @realloc(ptr %t3078, i64 %t3077) store ptr %t3079, ptr %t3067 store i32 %t3073, ptr %t3066 br label %put644 put644: %t3080 = load ptr, ptr %t3067 %t3081 = getelementptr inbounds ptr, ptr %t3080, i32 %t3068 store ptr @.str8240, ptr %t3081 %t3082 = add i32 %t3068, 1 store i32 %t3082, ptr %t3065 %t3083 = load ptr, ptr %t459 %t3084 = getelementptr inbounds %LSlice, ptr %t3083, i32 0, i32 1 %t3085 = getelementptr inbounds %LSlice, ptr %t3083, i32 0, i32 2 %t3086 = getelementptr inbounds %LSlice, ptr %t3083, i32 0, i32 0 %t3087 = load i32, ptr %t3084 %t3088 = load i32, ptr %t3085 %t3089 = icmp sge i32 %t3087, %t3088 br i1 %t3089, label %grow645, label %put646 grow645: %t3090 = mul i32 %t3088, 2 %t3091 = icmp eq i32 %t3088, 0 %t3092 = select i1 %t3091, i32 8, i32 %t3090 %t3093 = getelementptr ptr, ptr null, i32 1 %t3094 = ptrtoint ptr %t3093 to i64 %t3095 = zext i32 %t3092 to i64 %t3096 = mul i64 %t3095, %t3094 %t3097 = load ptr, ptr %t3086 %t3098 = call ptr @realloc(ptr %t3097, i64 %t3096) store ptr %t3098, ptr %t3086 store i32 %t3092, ptr %t3085 br label %put646 put646: %t3099 = load ptr, ptr %t3086 %t3100 = getelementptr inbounds ptr, ptr %t3099, i32 %t3087 store ptr @.str8241, ptr %t3100 %t3101 = add i32 %t3087, 1 store i32 %t3101, ptr %t3084 %t3102 = load ptr, ptr %t459 %t3103 = getelementptr inbounds %LSlice, ptr %t3102, i32 0, i32 1 %t3104 = getelementptr inbounds %LSlice, ptr %t3102, i32 0, i32 2 %t3105 = getelementptr inbounds %LSlice, ptr %t3102, i32 0, i32 0 %t3106 = load i32, ptr %t3103 %t3107 = load i32, ptr %t3104 %t3108 = icmp sge i32 %t3106, %t3107 br i1 %t3108, label %grow647, label %put648 grow647: %t3109 = mul i32 %t3107, 2 %t3110 = icmp eq i32 %t3107, 0 %t3111 = select i1 %t3110, i32 8, i32 %t3109 %t3112 = getelementptr ptr, ptr null, i32 1 %t3113 = ptrtoint ptr %t3112 to i64 %t3114 = zext i32 %t3111 to i64 %t3115 = mul i64 %t3114, %t3113 %t3116 = load ptr, ptr %t3105 %t3117 = call ptr @realloc(ptr %t3116, i64 %t3115) store ptr %t3117, ptr %t3105 store i32 %t3111, ptr %t3104 br label %put648 put648: %t3118 = load ptr, ptr %t3105 %t3119 = getelementptr inbounds ptr, ptr %t3118, i32 %t3106 store ptr @.str8242, ptr %t3119 %t3120 = add i32 %t3106, 1 store i32 %t3120, ptr %t3103 br label %ifend642 ifend642: %t3121 = load ptr, ptr %t1 %t3122 = call i32 @lp_str_eq(ptr %t3121, ptr @.str8243) %t3123 = icmp ne i32 %t3122, 0 br i1 %t3123, label %then649, label %ifend651 then649: store ptr @.str8244, ptr %t452 %t3124 = load ptr, ptr %t459 %t3125 = getelementptr inbounds %LSlice, ptr %t3124, i32 0, i32 1 %t3126 = getelementptr inbounds %LSlice, ptr %t3124, i32 0, i32 2 %t3127 = getelementptr inbounds %LSlice, ptr %t3124, i32 0, i32 0 %t3128 = load i32, ptr %t3125 %t3129 = load i32, ptr %t3126 %t3130 = icmp sge i32 %t3128, %t3129 br i1 %t3130, label %grow652, label %put653 grow652: %t3131 = mul i32 %t3129, 2 %t3132 = icmp eq i32 %t3129, 0 %t3133 = select i1 %t3132, i32 8, i32 %t3131 %t3134 = getelementptr ptr, ptr null, i32 1 %t3135 = ptrtoint ptr %t3134 to i64 %t3136 = zext i32 %t3133 to i64 %t3137 = mul i64 %t3136, %t3135 %t3138 = load ptr, ptr %t3127 %t3139 = call ptr @realloc(ptr %t3138, i64 %t3137) store ptr %t3139, ptr %t3127 store i32 %t3133, ptr %t3126 br label %put653 put653: %t3140 = load ptr, ptr %t3127 %t3141 = getelementptr inbounds ptr, ptr %t3140, i32 %t3128 store ptr @.str8245, ptr %t3141 %t3142 = add i32 %t3128, 1 store i32 %t3142, ptr %t3125 %t3143 = load ptr, ptr %t459 %t3144 = getelementptr inbounds %LSlice, ptr %t3143, i32 0, i32 1 %t3145 = getelementptr inbounds %LSlice, ptr %t3143, i32 0, i32 2 %t3146 = getelementptr inbounds %LSlice, ptr %t3143, i32 0, i32 0 %t3147 = load i32, ptr %t3144 %t3148 = load i32, ptr %t3145 %t3149 = icmp sge i32 %t3147, %t3148 br i1 %t3149, label %grow654, label %put655 grow654: %t3150 = mul i32 %t3148, 2 %t3151 = icmp eq i32 %t3148, 0 %t3152 = select i1 %t3151, i32 8, i32 %t3150 %t3153 = getelementptr ptr, ptr null, i32 1 %t3154 = ptrtoint ptr %t3153 to i64 %t3155 = zext i32 %t3152 to i64 %t3156 = mul i64 %t3155, %t3154 %t3157 = load ptr, ptr %t3146 %t3158 = call ptr @realloc(ptr %t3157, i64 %t3156) store ptr %t3158, ptr %t3146 store i32 %t3152, ptr %t3145 br label %put655 put655: %t3159 = load ptr, ptr %t3146 %t3160 = getelementptr inbounds ptr, ptr %t3159, i32 %t3147 store ptr @.str8246, ptr %t3160 %t3161 = add i32 %t3147, 1 store i32 %t3161, ptr %t3144 %t3162 = load ptr, ptr %t459 %t3163 = getelementptr inbounds %LSlice, ptr %t3162, i32 0, i32 1 %t3164 = getelementptr inbounds %LSlice, ptr %t3162, i32 0, i32 2 %t3165 = getelementptr inbounds %LSlice, ptr %t3162, i32 0, i32 0 %t3166 = load i32, ptr %t3163 %t3167 = load i32, ptr %t3164 %t3168 = icmp sge i32 %t3166, %t3167 br i1 %t3168, label %grow656, label %put657 grow656: %t3169 = mul i32 %t3167, 2 %t3170 = icmp eq i32 %t3167, 0 %t3171 = select i1 %t3170, i32 8, i32 %t3169 %t3172 = getelementptr ptr, ptr null, i32 1 %t3173 = ptrtoint ptr %t3172 to i64 %t3174 = zext i32 %t3171 to i64 %t3175 = mul i64 %t3174, %t3173 %t3176 = load ptr, ptr %t3165 %t3177 = call ptr @realloc(ptr %t3176, i64 %t3175) store ptr %t3177, ptr %t3165 store i32 %t3171, ptr %t3164 br label %put657 put657: %t3178 = load ptr, ptr %t3165 %t3179 = getelementptr inbounds ptr, ptr %t3178, i32 %t3166 store ptr @.str8247, ptr %t3179 %t3180 = add i32 %t3166, 1 store i32 %t3180, ptr %t3163 br label %ifend651 ifend651: %t3181 = load ptr, ptr %t1 %t3182 = call i32 @lp_str_eq(ptr %t3181, ptr @.str8248) %t3183 = icmp ne i32 %t3182, 0 br i1 %t3183, label %then658, label %ifend660 then658: store ptr @.str8249, ptr %t452 %t3184 = load ptr, ptr %t459 %t3185 = getelementptr inbounds %LSlice, ptr %t3184, i32 0, i32 1 %t3186 = getelementptr inbounds %LSlice, ptr %t3184, i32 0, i32 2 %t3187 = getelementptr inbounds %LSlice, ptr %t3184, i32 0, i32 0 %t3188 = load i32, ptr %t3185 %t3189 = load i32, ptr %t3186 %t3190 = icmp sge i32 %t3188, %t3189 br i1 %t3190, label %grow661, label %put662 grow661: %t3191 = mul i32 %t3189, 2 %t3192 = icmp eq i32 %t3189, 0 %t3193 = select i1 %t3192, i32 8, i32 %t3191 %t3194 = getelementptr ptr, ptr null, i32 1 %t3195 = ptrtoint ptr %t3194 to i64 %t3196 = zext i32 %t3193 to i64 %t3197 = mul i64 %t3196, %t3195 %t3198 = load ptr, ptr %t3187 %t3199 = call ptr @realloc(ptr %t3198, i64 %t3197) store ptr %t3199, ptr %t3187 store i32 %t3193, ptr %t3186 br label %put662 put662: %t3200 = load ptr, ptr %t3187 %t3201 = getelementptr inbounds ptr, ptr %t3200, i32 %t3188 store ptr @.str8250, ptr %t3201 %t3202 = add i32 %t3188, 1 store i32 %t3202, ptr %t3185 %t3203 = load ptr, ptr %t459 %t3204 = getelementptr inbounds %LSlice, ptr %t3203, i32 0, i32 1 %t3205 = getelementptr inbounds %LSlice, ptr %t3203, i32 0, i32 2 %t3206 = getelementptr inbounds %LSlice, ptr %t3203, i32 0, i32 0 %t3207 = load i32, ptr %t3204 %t3208 = load i32, ptr %t3205 %t3209 = icmp sge i32 %t3207, %t3208 br i1 %t3209, label %grow663, label %put664 grow663: %t3210 = mul i32 %t3208, 2 %t3211 = icmp eq i32 %t3208, 0 %t3212 = select i1 %t3211, i32 8, i32 %t3210 %t3213 = getelementptr ptr, ptr null, i32 1 %t3214 = ptrtoint ptr %t3213 to i64 %t3215 = zext i32 %t3212 to i64 %t3216 = mul i64 %t3215, %t3214 %t3217 = load ptr, ptr %t3206 %t3218 = call ptr @realloc(ptr %t3217, i64 %t3216) store ptr %t3218, ptr %t3206 store i32 %t3212, ptr %t3205 br label %put664 put664: %t3219 = load ptr, ptr %t3206 %t3220 = getelementptr inbounds ptr, ptr %t3219, i32 %t3207 store ptr @.str8251, ptr %t3220 %t3221 = add i32 %t3207, 1 store i32 %t3221, ptr %t3204 %t3222 = load ptr, ptr %t459 %t3223 = getelementptr inbounds %LSlice, ptr %t3222, i32 0, i32 1 %t3224 = getelementptr inbounds %LSlice, ptr %t3222, i32 0, i32 2 %t3225 = getelementptr inbounds %LSlice, ptr %t3222, i32 0, i32 0 %t3226 = load i32, ptr %t3223 %t3227 = load i32, ptr %t3224 %t3228 = icmp sge i32 %t3226, %t3227 br i1 %t3228, label %grow665, label %put666 grow665: %t3229 = mul i32 %t3227, 2 %t3230 = icmp eq i32 %t3227, 0 %t3231 = select i1 %t3230, i32 8, i32 %t3229 %t3232 = getelementptr ptr, ptr null, i32 1 %t3233 = ptrtoint ptr %t3232 to i64 %t3234 = zext i32 %t3231 to i64 %t3235 = mul i64 %t3234, %t3233 %t3236 = load ptr, ptr %t3225 %t3237 = call ptr @realloc(ptr %t3236, i64 %t3235) store ptr %t3237, ptr %t3225 store i32 %t3231, ptr %t3224 br label %put666 put666: %t3238 = load ptr, ptr %t3225 %t3239 = getelementptr inbounds ptr, ptr %t3238, i32 %t3226 store ptr @.str8252, ptr %t3239 %t3240 = add i32 %t3226, 1 store i32 %t3240, ptr %t3223 br label %ifend660 ifend660: %t3241 = load ptr, ptr %t1 %t3242 = call i32 @lp_str_eq(ptr %t3241, ptr @.str8253) %t3243 = icmp ne i32 %t3242, 0 br i1 %t3243, label %then667, label %ifend669 then667: store ptr @.str8254, ptr %t452 %t3244 = load ptr, ptr %t459 %t3245 = getelementptr inbounds %LSlice, ptr %t3244, i32 0, i32 1 %t3246 = getelementptr inbounds %LSlice, ptr %t3244, i32 0, i32 2 %t3247 = getelementptr inbounds %LSlice, ptr %t3244, i32 0, i32 0 %t3248 = load i32, ptr %t3245 %t3249 = load i32, ptr %t3246 %t3250 = icmp sge i32 %t3248, %t3249 br i1 %t3250, label %grow670, label %put671 grow670: %t3251 = mul i32 %t3249, 2 %t3252 = icmp eq i32 %t3249, 0 %t3253 = select i1 %t3252, i32 8, i32 %t3251 %t3254 = getelementptr ptr, ptr null, i32 1 %t3255 = ptrtoint ptr %t3254 to i64 %t3256 = zext i32 %t3253 to i64 %t3257 = mul i64 %t3256, %t3255 %t3258 = load ptr, ptr %t3247 %t3259 = call ptr @realloc(ptr %t3258, i64 %t3257) store ptr %t3259, ptr %t3247 store i32 %t3253, ptr %t3246 br label %put671 put671: %t3260 = load ptr, ptr %t3247 %t3261 = getelementptr inbounds ptr, ptr %t3260, i32 %t3248 store ptr @.str8255, ptr %t3261 %t3262 = add i32 %t3248, 1 store i32 %t3262, ptr %t3245 br label %ifend669 ifend669: %t3263 = load ptr, ptr %t1 %t3264 = call i32 @lp_str_eq(ptr %t3263, ptr @.str8256) %t3265 = icmp ne i32 %t3264, 0 br i1 %t3265, label %then672, label %ifend674 then672: store ptr @.str8257, ptr %t452 %t3266 = load ptr, ptr %t459 %t3267 = getelementptr inbounds %LSlice, ptr %t3266, i32 0, i32 1 %t3268 = getelementptr inbounds %LSlice, ptr %t3266, i32 0, i32 2 %t3269 = getelementptr inbounds %LSlice, ptr %t3266, i32 0, i32 0 %t3270 = load i32, ptr %t3267 %t3271 = load i32, ptr %t3268 %t3272 = icmp sge i32 %t3270, %t3271 br i1 %t3272, label %grow675, label %put676 grow675: %t3273 = mul i32 %t3271, 2 %t3274 = icmp eq i32 %t3271, 0 %t3275 = select i1 %t3274, i32 8, i32 %t3273 %t3276 = getelementptr ptr, ptr null, i32 1 %t3277 = ptrtoint ptr %t3276 to i64 %t3278 = zext i32 %t3275 to i64 %t3279 = mul i64 %t3278, %t3277 %t3280 = load ptr, ptr %t3269 %t3281 = call ptr @realloc(ptr %t3280, i64 %t3279) store ptr %t3281, ptr %t3269 store i32 %t3275, ptr %t3268 br label %put676 put676: %t3282 = load ptr, ptr %t3269 %t3283 = getelementptr inbounds ptr, ptr %t3282, i32 %t3270 store ptr @.str8258, ptr %t3283 %t3284 = add i32 %t3270, 1 store i32 %t3284, ptr %t3267 br label %ifend674 ifend674: br label %ifend632 ifend632: %t3285 = load ptr, ptr %t0 %t3286 = call i32 @lp_str_eq(ptr %t3285, ptr @.str8259) %t3287 = icmp ne i32 %t3286, 0 br i1 %t3287, label %then677, label %ifend679 then677: %t3288 = load ptr, ptr %t1 %t3289 = call i32 @lp_str_eq(ptr %t3288, ptr @.str8260) %t3290 = icmp ne i32 %t3289, 0 br i1 %t3290, label %then680, label %ifend682 then680: store ptr @.str8261, ptr %t452 %t3291 = load ptr, ptr %t459 %t3292 = getelementptr inbounds %LSlice, ptr %t3291, i32 0, i32 1 %t3293 = getelementptr inbounds %LSlice, ptr %t3291, i32 0, i32 2 %t3294 = getelementptr inbounds %LSlice, ptr %t3291, i32 0, i32 0 %t3295 = load i32, ptr %t3292 %t3296 = load i32, ptr %t3293 %t3297 = icmp sge i32 %t3295, %t3296 br i1 %t3297, label %grow683, label %put684 grow683: %t3298 = mul i32 %t3296, 2 %t3299 = icmp eq i32 %t3296, 0 %t3300 = select i1 %t3299, i32 8, i32 %t3298 %t3301 = getelementptr ptr, ptr null, i32 1 %t3302 = ptrtoint ptr %t3301 to i64 %t3303 = zext i32 %t3300 to i64 %t3304 = mul i64 %t3303, %t3302 %t3305 = load ptr, ptr %t3294 %t3306 = call ptr @realloc(ptr %t3305, i64 %t3304) store ptr %t3306, ptr %t3294 store i32 %t3300, ptr %t3293 br label %put684 put684: %t3307 = load ptr, ptr %t3294 %t3308 = getelementptr inbounds ptr, ptr %t3307, i32 %t3295 store ptr @.str8262, ptr %t3308 %t3309 = add i32 %t3295, 1 store i32 %t3309, ptr %t3292 %t3310 = load ptr, ptr %t459 %t3311 = getelementptr inbounds %LSlice, ptr %t3310, i32 0, i32 1 %t3312 = getelementptr inbounds %LSlice, ptr %t3310, i32 0, i32 2 %t3313 = getelementptr inbounds %LSlice, ptr %t3310, i32 0, i32 0 %t3314 = load i32, ptr %t3311 %t3315 = load i32, ptr %t3312 %t3316 = icmp sge i32 %t3314, %t3315 br i1 %t3316, label %grow685, label %put686 grow685: %t3317 = mul i32 %t3315, 2 %t3318 = icmp eq i32 %t3315, 0 %t3319 = select i1 %t3318, i32 8, i32 %t3317 %t3320 = getelementptr ptr, ptr null, i32 1 %t3321 = ptrtoint ptr %t3320 to i64 %t3322 = zext i32 %t3319 to i64 %t3323 = mul i64 %t3322, %t3321 %t3324 = load ptr, ptr %t3313 %t3325 = call ptr @realloc(ptr %t3324, i64 %t3323) store ptr %t3325, ptr %t3313 store i32 %t3319, ptr %t3312 br label %put686 put686: %t3326 = load ptr, ptr %t3313 %t3327 = getelementptr inbounds ptr, ptr %t3326, i32 %t3314 store ptr @.str8263, ptr %t3327 %t3328 = add i32 %t3314, 1 store i32 %t3328, ptr %t3311 %t3329 = load ptr, ptr %t459 %t3330 = getelementptr inbounds %LSlice, ptr %t3329, i32 0, i32 1 %t3331 = getelementptr inbounds %LSlice, ptr %t3329, i32 0, i32 2 %t3332 = getelementptr inbounds %LSlice, ptr %t3329, i32 0, i32 0 %t3333 = load i32, ptr %t3330 %t3334 = load i32, ptr %t3331 %t3335 = icmp sge i32 %t3333, %t3334 br i1 %t3335, label %grow687, label %put688 grow687: %t3336 = mul i32 %t3334, 2 %t3337 = icmp eq i32 %t3334, 0 %t3338 = select i1 %t3337, i32 8, i32 %t3336 %t3339 = getelementptr ptr, ptr null, i32 1 %t3340 = ptrtoint ptr %t3339 to i64 %t3341 = zext i32 %t3338 to i64 %t3342 = mul i64 %t3341, %t3340 %t3343 = load ptr, ptr %t3332 %t3344 = call ptr @realloc(ptr %t3343, i64 %t3342) store ptr %t3344, ptr %t3332 store i32 %t3338, ptr %t3331 br label %put688 put688: %t3345 = load ptr, ptr %t3332 %t3346 = getelementptr inbounds ptr, ptr %t3345, i32 %t3333 store ptr @.str8264, ptr %t3346 %t3347 = add i32 %t3333, 1 store i32 %t3347, ptr %t3330 %t3348 = load ptr, ptr %t459 %t3349 = getelementptr inbounds %LSlice, ptr %t3348, i32 0, i32 1 %t3350 = getelementptr inbounds %LSlice, ptr %t3348, i32 0, i32 2 %t3351 = getelementptr inbounds %LSlice, ptr %t3348, i32 0, i32 0 %t3352 = load i32, ptr %t3349 %t3353 = load i32, ptr %t3350 %t3354 = icmp sge i32 %t3352, %t3353 br i1 %t3354, label %grow689, label %put690 grow689: %t3355 = mul i32 %t3353, 2 %t3356 = icmp eq i32 %t3353, 0 %t3357 = select i1 %t3356, i32 8, i32 %t3355 %t3358 = getelementptr ptr, ptr null, i32 1 %t3359 = ptrtoint ptr %t3358 to i64 %t3360 = zext i32 %t3357 to i64 %t3361 = mul i64 %t3360, %t3359 %t3362 = load ptr, ptr %t3351 %t3363 = call ptr @realloc(ptr %t3362, i64 %t3361) store ptr %t3363, ptr %t3351 store i32 %t3357, ptr %t3350 br label %put690 put690: %t3364 = load ptr, ptr %t3351 %t3365 = getelementptr inbounds ptr, ptr %t3364, i32 %t3352 store ptr @.str8265, ptr %t3365 %t3366 = add i32 %t3352, 1 store i32 %t3366, ptr %t3349 br label %ifend682 ifend682: %t3367 = load ptr, ptr %t1 %t3368 = call i32 @lp_str_eq(ptr %t3367, ptr @.str8266) %t3369 = icmp ne i32 %t3368, 0 br i1 %t3369, label %then691, label %ifend693 then691: store ptr @.str8267, ptr %t452 %t3370 = load ptr, ptr %t459 %t3371 = getelementptr inbounds %LSlice, ptr %t3370, i32 0, i32 1 %t3372 = getelementptr inbounds %LSlice, ptr %t3370, i32 0, i32 2 %t3373 = getelementptr inbounds %LSlice, ptr %t3370, i32 0, i32 0 %t3374 = load i32, ptr %t3371 %t3375 = load i32, ptr %t3372 %t3376 = icmp sge i32 %t3374, %t3375 br i1 %t3376, label %grow694, label %put695 grow694: %t3377 = mul i32 %t3375, 2 %t3378 = icmp eq i32 %t3375, 0 %t3379 = select i1 %t3378, i32 8, i32 %t3377 %t3380 = getelementptr ptr, ptr null, i32 1 %t3381 = ptrtoint ptr %t3380 to i64 %t3382 = zext i32 %t3379 to i64 %t3383 = mul i64 %t3382, %t3381 %t3384 = load ptr, ptr %t3373 %t3385 = call ptr @realloc(ptr %t3384, i64 %t3383) store ptr %t3385, ptr %t3373 store i32 %t3379, ptr %t3372 br label %put695 put695: %t3386 = load ptr, ptr %t3373 %t3387 = getelementptr inbounds ptr, ptr %t3386, i32 %t3374 store ptr @.str8268, ptr %t3387 %t3388 = add i32 %t3374, 1 store i32 %t3388, ptr %t3371 %t3389 = load ptr, ptr %t459 %t3390 = getelementptr inbounds %LSlice, ptr %t3389, i32 0, i32 1 %t3391 = getelementptr inbounds %LSlice, ptr %t3389, i32 0, i32 2 %t3392 = getelementptr inbounds %LSlice, ptr %t3389, i32 0, i32 0 %t3393 = load i32, ptr %t3390 %t3394 = load i32, ptr %t3391 %t3395 = icmp sge i32 %t3393, %t3394 br i1 %t3395, label %grow696, label %put697 grow696: %t3396 = mul i32 %t3394, 2 %t3397 = icmp eq i32 %t3394, 0 %t3398 = select i1 %t3397, i32 8, i32 %t3396 %t3399 = getelementptr ptr, ptr null, i32 1 %t3400 = ptrtoint ptr %t3399 to i64 %t3401 = zext i32 %t3398 to i64 %t3402 = mul i64 %t3401, %t3400 %t3403 = load ptr, ptr %t3392 %t3404 = call ptr @realloc(ptr %t3403, i64 %t3402) store ptr %t3404, ptr %t3392 store i32 %t3398, ptr %t3391 br label %put697 put697: %t3405 = load ptr, ptr %t3392 %t3406 = getelementptr inbounds ptr, ptr %t3405, i32 %t3393 store ptr @.str8269, ptr %t3406 %t3407 = add i32 %t3393, 1 store i32 %t3407, ptr %t3390 %t3408 = load ptr, ptr %t459 %t3409 = getelementptr inbounds %LSlice, ptr %t3408, i32 0, i32 1 %t3410 = getelementptr inbounds %LSlice, ptr %t3408, i32 0, i32 2 %t3411 = getelementptr inbounds %LSlice, ptr %t3408, i32 0, i32 0 %t3412 = load i32, ptr %t3409 %t3413 = load i32, ptr %t3410 %t3414 = icmp sge i32 %t3412, %t3413 br i1 %t3414, label %grow698, label %put699 grow698: %t3415 = mul i32 %t3413, 2 %t3416 = icmp eq i32 %t3413, 0 %t3417 = select i1 %t3416, i32 8, i32 %t3415 %t3418 = getelementptr ptr, ptr null, i32 1 %t3419 = ptrtoint ptr %t3418 to i64 %t3420 = zext i32 %t3417 to i64 %t3421 = mul i64 %t3420, %t3419 %t3422 = load ptr, ptr %t3411 %t3423 = call ptr @realloc(ptr %t3422, i64 %t3421) store ptr %t3423, ptr %t3411 store i32 %t3417, ptr %t3410 br label %put699 put699: %t3424 = load ptr, ptr %t3411 %t3425 = getelementptr inbounds ptr, ptr %t3424, i32 %t3412 store ptr @.str8270, ptr %t3425 %t3426 = add i32 %t3412, 1 store i32 %t3426, ptr %t3409 %t3427 = load ptr, ptr %t459 %t3428 = getelementptr inbounds %LSlice, ptr %t3427, i32 0, i32 1 %t3429 = getelementptr inbounds %LSlice, ptr %t3427, i32 0, i32 2 %t3430 = getelementptr inbounds %LSlice, ptr %t3427, i32 0, i32 0 %t3431 = load i32, ptr %t3428 %t3432 = load i32, ptr %t3429 %t3433 = icmp sge i32 %t3431, %t3432 br i1 %t3433, label %grow700, label %put701 grow700: %t3434 = mul i32 %t3432, 2 %t3435 = icmp eq i32 %t3432, 0 %t3436 = select i1 %t3435, i32 8, i32 %t3434 %t3437 = getelementptr ptr, ptr null, i32 1 %t3438 = ptrtoint ptr %t3437 to i64 %t3439 = zext i32 %t3436 to i64 %t3440 = mul i64 %t3439, %t3438 %t3441 = load ptr, ptr %t3430 %t3442 = call ptr @realloc(ptr %t3441, i64 %t3440) store ptr %t3442, ptr %t3430 store i32 %t3436, ptr %t3429 br label %put701 put701: %t3443 = load ptr, ptr %t3430 %t3444 = getelementptr inbounds ptr, ptr %t3443, i32 %t3431 store ptr @.str8271, ptr %t3444 %t3445 = add i32 %t3431, 1 store i32 %t3445, ptr %t3428 br label %ifend693 ifend693: %t3446 = load ptr, ptr %t1 %t3447 = call i32 @lp_str_eq(ptr %t3446, ptr @.str8272) %t3448 = icmp ne i32 %t3447, 0 br i1 %t3448, label %then702, label %ifend704 then702: store ptr @.str8273, ptr %t452 br label %ifend704 ifend704: br label %ifend679 ifend679: %t3449 = load ptr, ptr %t0 %t3450 = call i32 @lp_str_eq(ptr %t3449, ptr @.str8274) %t3451 = icmp ne i32 %t3450, 0 br i1 %t3451, label %then705, label %ifend707 then705: %t3452 = load ptr, ptr %t1 %t3453 = call i32 @lp_str_eq(ptr %t3452, ptr @.str8275) %t3454 = icmp ne i32 %t3453, 0 br i1 %t3454, label %then708, label %ifend710 then708: %t3455 = call i32 @fn_has_prefabs() %t3456 = icmp eq i32 %t3455, 0 %t3457 = zext i1 %t3456 to i32 %t3458 = icmp ne i32 %t3457, 0 br i1 %t3458, label %then711, label %ifend713 then711: call void @fn_perr(ptr @.str8276) br label %ifend713 ifend713: %t3459 = call ptr @fn_find_comp(ptr @.str8277) store ptr %t3459, ptr %t3460 %t3461 = load ptr, ptr %t3460 %t3462 = icmp eq ptr %t3461, null %t3463 = zext i1 %t3462 to i32 %t3464 = icmp ne i32 %t3463, 0 br i1 %t3464, label %then714, label %ifend716 then714: call void @fn_perr(ptr @.str8278) br label %ifend716 ifend716: %t3465 = getelementptr %LSlice, ptr null, i32 1 %t3466 = ptrtoint ptr %t3465 to i64 %t3467 = call ptr @malloc(i64 %t3466) %t3468 = getelementptr inbounds %LSlice, ptr %t3467, i32 0, i32 0 store ptr null, ptr %t3468 %t3469 = getelementptr inbounds %LSlice, ptr %t3467, i32 0, i32 1 store i32 0, ptr %t3469 %t3470 = getelementptr inbounds %LSlice, ptr %t3467, i32 0, i32 2 store i32 0, ptr %t3470 store ptr %t3467, ptr %t3471 %t3472 = load ptr, ptr %t3471 %t3473 = getelementptr inbounds %LSlice, ptr %t3472, i32 0, i32 1 %t3474 = getelementptr inbounds %LSlice, ptr %t3472, i32 0, i32 2 %t3475 = getelementptr inbounds %LSlice, ptr %t3472, i32 0, i32 0 %t3476 = load i32, ptr %t3473 %t3477 = load i32, ptr %t3474 %t3478 = icmp sge i32 %t3476, %t3477 br i1 %t3478, label %grow717, label %put718 grow717: %t3479 = mul i32 %t3477, 2 %t3480 = icmp eq i32 %t3477, 0 %t3481 = select i1 %t3480, i32 8, i32 %t3479 %t3482 = getelementptr ptr, ptr null, i32 1 %t3483 = ptrtoint ptr %t3482 to i64 %t3484 = zext i32 %t3481 to i64 %t3485 = mul i64 %t3484, %t3483 %t3486 = load ptr, ptr %t3475 %t3487 = call ptr @realloc(ptr %t3486, i64 %t3485) store ptr %t3487, ptr %t3475 store i32 %t3481, ptr %t3474 br label %put718 put718: %t3488 = load ptr, ptr %t3475 %t3489 = getelementptr inbounds ptr, ptr %t3488, i32 %t3476 store ptr @.str8279, ptr %t3489 %t3490 = add i32 %t3476, 1 store i32 %t3490, ptr %t3473 %t3491 = load ptr, ptr %t3471 %t3492 = getelementptr inbounds %LSlice, ptr %t3491, i32 0, i32 1 %t3493 = getelementptr inbounds %LSlice, ptr %t3491, i32 0, i32 2 %t3494 = getelementptr inbounds %LSlice, ptr %t3491, i32 0, i32 0 %t3495 = load i32, ptr %t3492 %t3496 = load i32, ptr %t3493 %t3497 = icmp sge i32 %t3495, %t3496 br i1 %t3497, label %grow719, label %put720 grow719: %t3498 = mul i32 %t3496, 2 %t3499 = icmp eq i32 %t3496, 0 %t3500 = select i1 %t3499, i32 8, i32 %t3498 %t3501 = getelementptr ptr, ptr null, i32 1 %t3502 = ptrtoint ptr %t3501 to i64 %t3503 = zext i32 %t3500 to i64 %t3504 = mul i64 %t3503, %t3502 %t3505 = load ptr, ptr %t3494 %t3506 = call ptr @realloc(ptr %t3505, i64 %t3504) store ptr %t3506, ptr %t3494 store i32 %t3500, ptr %t3493 br label %put720 put720: %t3507 = load ptr, ptr %t3494 %t3508 = getelementptr inbounds ptr, ptr %t3507, i32 %t3495 store ptr @.str8280, ptr %t3508 %t3509 = add i32 %t3495, 1 store i32 %t3509, ptr %t3492 %t3510 = load ptr, ptr %t2 %t3511 = load ptr, ptr %t3471 call void @fn_reorder_named(ptr %t3510, ptr %t3511) %t3512 = load ptr, ptr %t2 %t3513 = getelementptr inbounds %Cmp_Node, ptr %t3512, i32 0, i32 7 %t3514 = load ptr, ptr %t3513 %t3515 = getelementptr inbounds %LSlice, ptr %t3514, i32 0, i32 0 %t3516 = load ptr, ptr %t3515 %t3517 = getelementptr inbounds %LSlice, ptr %t3514, i32 0, i32 1 %t3518 = load i32, ptr %t3517 %t3519 = icmp ult i32 0, %t3518 br i1 %t3519, label %ixok721, label %ixbad722 ixbad722: %t3520 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t3520, ptr @.fmt_bounds, ptr @.str8281, i32 0, i32 %t3518) call void @exit(i32 1) unreachable ixok721: %t3521 = getelementptr inbounds ptr, ptr %t3516, i32 0 %t3522 = load ptr, ptr %t3521 %t3523 = call ptr @fn_emit_expr(ptr %t3522) store ptr %t3523, ptr %t3524 %t3525 = load ptr, ptr %t2 %t3526 = getelementptr inbounds %Cmp_Node, ptr %t3525, i32 0, i32 7 %t3527 = load ptr, ptr %t3526 %t3528 = getelementptr inbounds %LSlice, ptr %t3527, i32 0, i32 0 %t3529 = load ptr, ptr %t3528 %t3530 = getelementptr inbounds %LSlice, ptr %t3527, i32 0, i32 1 %t3531 = load i32, ptr %t3530 %t3532 = icmp ult i32 1, %t3531 br i1 %t3532, label %ixok723, label %ixbad724 ixbad724: %t3533 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t3533, ptr @.fmt_bounds, ptr @.str8282, i32 1, i32 %t3531) call void @exit(i32 1) unreachable ixok723: %t3534 = getelementptr inbounds ptr, ptr %t3529, i32 1 %t3535 = load ptr, ptr %t3534 %t3536 = call ptr @fn_emit_expr(ptr %t3535) store ptr %t3536, ptr %t3537 %t3538 = load ptr, ptr %t3524 %t3539 = getelementptr inbounds %Cmp_Val, ptr %t3538, i32 0, i32 0 %t3540 = load ptr, ptr %t3539 %t3541 = call ptr @lp_str_concat(ptr @.str8283, ptr %t3540) %t3542 = call ptr @lp_str_concat(ptr %t3541, ptr @.str8284) %t3543 = call ptr @fn_emit_bind(ptr %t3542) store ptr %t3543, ptr %t3544 %t3545 = call ptr @fn_itoa(i32 1024) store ptr %t3545, ptr %t3546 %t3547 = load ptr, ptr %t3546 %t3548 = call ptr @lp_str_concat(ptr @.str8285, ptr %t3547) %t3549 = call ptr @lp_str_concat(ptr %t3548, ptr @.str8286) %t3550 = load ptr, ptr %t3544 %t3551 = call ptr @lp_str_concat(ptr %t3549, ptr %t3550) %t3552 = call ptr @fn_emit_bind(ptr %t3551) store ptr %t3552, ptr %t3553 %t3554 = load ptr, ptr %t3553 %t3555 = call ptr @lp_str_concat(ptr @.str8287, ptr %t3554) %t3556 = call ptr @lp_str_concat(ptr %t3555, ptr @.str8288) %t3557 = load ptr, ptr %t3460 %t3558 = call i32 @fn_field_index(ptr %t3557, ptr @.str8289) %t3559 = call ptr @fn_itoa(i32 %t3558) %t3560 = call ptr @lp_str_concat(ptr %t3556, ptr %t3559) %t3561 = call ptr @fn_emit_bind(ptr %t3560) store ptr %t3561, ptr %t3562 %t3563 = load ptr, ptr %t3553 %t3564 = call ptr @lp_str_concat(ptr @.str8290, ptr %t3563) %t3565 = call ptr @lp_str_concat(ptr %t3564, ptr @.str8291) %t3566 = load ptr, ptr %t3460 %t3567 = call i32 @fn_field_index(ptr %t3566, ptr @.str8292) %t3568 = call ptr @fn_itoa(i32 %t3567) %t3569 = call ptr @lp_str_concat(ptr %t3565, ptr %t3568) %t3570 = call ptr @fn_emit_bind(ptr %t3569) store ptr %t3570, ptr %t3571 %t3572 = load ptr, ptr %t3537 %t3573 = getelementptr inbounds %Cmp_Val, ptr %t3572, i32 0, i32 0 %t3574 = load ptr, ptr %t3573 %t3575 = call ptr @fn_vec_x(ptr %t3574) store ptr %t3575, ptr %t3576 %t3577 = load ptr, ptr %t3537 %t3578 = getelementptr inbounds %Cmp_Val, ptr %t3577, i32 0, i32 0 %t3579 = load ptr, ptr %t3578 %t3580 = call ptr @fn_vec_y(ptr %t3579) store ptr %t3580, ptr %t3581 call void @fn_emit(ptr @.str8293) %t3582 = load ptr, ptr %t3576 call void @fn_emit(ptr %t3582) call void @fn_emit(ptr @.str8294) %t3583 = load ptr, ptr %t3562 call void @fn_emit(ptr %t3583) call void @fn_emit(ptr @.str8295) call void @fn_emit(ptr @.str8296) %t3584 = load ptr, ptr %t3581 call void @fn_emit(ptr %t3584) call void @fn_emit(ptr @.str8297) %t3585 = load ptr, ptr %t3571 call void @fn_emit(ptr %t3585) call void @fn_emit(ptr @.str8298) %t3586 = load ptr, ptr %t3544 %t3587 = call ptr @fn_val(ptr %t3586, ptr @.str8299) store ptr %t3587, ptr %retval br label %ret ifend710: %t3588 = load ptr, ptr %t1 %t3589 = call i32 @lp_str_eq(ptr %t3588, ptr @.str8300) %t3590 = icmp ne i32 %t3589, 0 br i1 %t3590, label %then725, label %ifend727 then725: %t3591 = call i32 @fn_has_prefabs() %t3592 = icmp eq i32 %t3591, 0 %t3593 = zext i1 %t3592 to i32 %t3594 = icmp ne i32 %t3593, 0 br i1 %t3594, label %then728, label %ifend730 then728: call void @fn_perr(ptr @.str8301) br label %ifend730 ifend730: %t3595 = getelementptr %LSlice, ptr null, i32 1 %t3596 = ptrtoint ptr %t3595 to i64 %t3597 = call ptr @malloc(i64 %t3596) %t3598 = getelementptr inbounds %LSlice, ptr %t3597, i32 0, i32 0 store ptr null, ptr %t3598 %t3599 = getelementptr inbounds %LSlice, ptr %t3597, i32 0, i32 1 store i32 0, ptr %t3599 %t3600 = getelementptr inbounds %LSlice, ptr %t3597, i32 0, i32 2 store i32 0, ptr %t3600 store ptr %t3597, ptr %t3601 %t3602 = load ptr, ptr %t3601 %t3603 = getelementptr inbounds %LSlice, ptr %t3602, i32 0, i32 1 %t3604 = getelementptr inbounds %LSlice, ptr %t3602, i32 0, i32 2 %t3605 = getelementptr inbounds %LSlice, ptr %t3602, i32 0, i32 0 %t3606 = load i32, ptr %t3603 %t3607 = load i32, ptr %t3604 %t3608 = icmp sge i32 %t3606, %t3607 br i1 %t3608, label %grow731, label %put732 grow731: %t3609 = mul i32 %t3607, 2 %t3610 = icmp eq i32 %t3607, 0 %t3611 = select i1 %t3610, i32 8, i32 %t3609 %t3612 = getelementptr ptr, ptr null, i32 1 %t3613 = ptrtoint ptr %t3612 to i64 %t3614 = zext i32 %t3611 to i64 %t3615 = mul i64 %t3614, %t3613 %t3616 = load ptr, ptr %t3605 %t3617 = call ptr @realloc(ptr %t3616, i64 %t3615) store ptr %t3617, ptr %t3605 store i32 %t3611, ptr %t3604 br label %put732 put732: %t3618 = load ptr, ptr %t3605 %t3619 = getelementptr inbounds ptr, ptr %t3618, i32 %t3606 store ptr @.str8302, ptr %t3619 %t3620 = add i32 %t3606, 1 store i32 %t3620, ptr %t3603 %t3621 = load ptr, ptr %t2 %t3622 = load ptr, ptr %t3601 call void @fn_reorder_named(ptr %t3621, ptr %t3622) %t3623 = load ptr, ptr %t2 %t3624 = getelementptr inbounds %Cmp_Node, ptr %t3623, i32 0, i32 7 %t3625 = load ptr, ptr %t3624 %t3626 = getelementptr inbounds %LSlice, ptr %t3625, i32 0, i32 1 %t3627 = load i32, ptr %t3626 %t3628 = icmp ne i32 %t3627, 1 %t3629 = zext i1 %t3628 to i32 %t3630 = icmp ne i32 %t3629, 0 br i1 %t3630, label %then733, label %ifend735 then733: call void @fn_perr(ptr @.str8303) br label %ifend735 ifend735: %t3631 = load ptr, ptr %t2 %t3632 = getelementptr inbounds %Cmp_Node, ptr %t3631, i32 0, i32 7 %t3633 = load ptr, ptr %t3632 %t3634 = getelementptr inbounds %LSlice, ptr %t3633, i32 0, i32 0 %t3635 = load ptr, ptr %t3634 %t3636 = getelementptr inbounds %LSlice, ptr %t3633, i32 0, i32 1 %t3637 = load i32, ptr %t3636 %t3638 = icmp ult i32 0, %t3637 br i1 %t3638, label %ixok736, label %ixbad737 ixbad737: %t3639 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t3639, ptr @.fmt_bounds, ptr @.str8304, i32 0, i32 %t3637) call void @exit(i32 1) unreachable ixok736: %t3640 = getelementptr inbounds ptr, ptr %t3635, i32 0 %t3641 = load ptr, ptr %t3640 %t3642 = call ptr @fn_emit_expr(ptr %t3641) store ptr %t3642, ptr %t3643 %t3644 = load ptr, ptr %t3643 %t3645 = getelementptr inbounds %Cmp_Val, ptr %t3644, i32 0, i32 0 %t3646 = load ptr, ptr %t3645 %t3647 = call ptr @lp_str_concat(ptr @.str8305, ptr %t3646) %t3648 = call ptr @lp_str_concat(ptr %t3647, ptr @.str8306) %t3649 = call ptr @fn_emit_bind(ptr %t3648) %t3650 = call ptr @fn_val(ptr %t3649, ptr @.str8307) store ptr %t3650, ptr %retval br label %ret ifend727: %t3651 = load ptr, ptr %t1 %t3652 = call ptr @lp_str_concat(ptr @.str8308, ptr %t3651) call void @fn_perr(ptr %t3652) br label %ifend707 ifend707: %t3653 = load ptr, ptr %t0 %t3654 = call i32 @lp_str_eq(ptr %t3653, ptr @.str8309) %t3655 = icmp ne i32 %t3654, 0 br i1 %t3655, label %then738, label %ifend740 then738: %t3656 = load ptr, ptr %t1 %t3657 = call i32 @lp_str_eq(ptr %t3656, ptr @.str8310) %t3658 = icmp ne i32 %t3657, 0 br i1 %t3658, label %then741, label %ifend743 then741: store ptr @.str8311, ptr %t452 %t3659 = load ptr, ptr %t459 %t3660 = getelementptr inbounds %LSlice, ptr %t3659, i32 0, i32 1 %t3661 = getelementptr inbounds %LSlice, ptr %t3659, i32 0, i32 2 %t3662 = getelementptr inbounds %LSlice, ptr %t3659, i32 0, i32 0 %t3663 = load i32, ptr %t3660 %t3664 = load i32, ptr %t3661 %t3665 = icmp sge i32 %t3663, %t3664 br i1 %t3665, label %grow744, label %put745 grow744: %t3666 = mul i32 %t3664, 2 %t3667 = icmp eq i32 %t3664, 0 %t3668 = select i1 %t3667, i32 8, i32 %t3666 %t3669 = getelementptr ptr, ptr null, i32 1 %t3670 = ptrtoint ptr %t3669 to i64 %t3671 = zext i32 %t3668 to i64 %t3672 = mul i64 %t3671, %t3670 %t3673 = load ptr, ptr %t3662 %t3674 = call ptr @realloc(ptr %t3673, i64 %t3672) store ptr %t3674, ptr %t3662 store i32 %t3668, ptr %t3661 br label %put745 put745: %t3675 = load ptr, ptr %t3662 %t3676 = getelementptr inbounds ptr, ptr %t3675, i32 %t3663 store ptr @.str8312, ptr %t3676 %t3677 = add i32 %t3663, 1 store i32 %t3677, ptr %t3660 br label %ifend743 ifend743: %t3678 = load ptr, ptr %t1 %t3679 = call i32 @lp_str_eq(ptr %t3678, ptr @.str8313) %t3680 = icmp ne i32 %t3679, 0 br i1 %t3680, label %then746, label %ifend748 then746: store ptr @.str8314, ptr %t452 %t3681 = load ptr, ptr %t459 %t3682 = getelementptr inbounds %LSlice, ptr %t3681, i32 0, i32 1 %t3683 = getelementptr inbounds %LSlice, ptr %t3681, i32 0, i32 2 %t3684 = getelementptr inbounds %LSlice, ptr %t3681, i32 0, i32 0 %t3685 = load i32, ptr %t3682 %t3686 = load i32, ptr %t3683 %t3687 = icmp sge i32 %t3685, %t3686 br i1 %t3687, label %grow749, label %put750 grow749: %t3688 = mul i32 %t3686, 2 %t3689 = icmp eq i32 %t3686, 0 %t3690 = select i1 %t3689, i32 8, i32 %t3688 %t3691 = getelementptr ptr, ptr null, i32 1 %t3692 = ptrtoint ptr %t3691 to i64 %t3693 = zext i32 %t3690 to i64 %t3694 = mul i64 %t3693, %t3692 %t3695 = load ptr, ptr %t3684 %t3696 = call ptr @realloc(ptr %t3695, i64 %t3694) store ptr %t3696, ptr %t3684 store i32 %t3690, ptr %t3683 br label %put750 put750: %t3697 = load ptr, ptr %t3684 %t3698 = getelementptr inbounds ptr, ptr %t3697, i32 %t3685 store ptr @.str8315, ptr %t3698 %t3699 = add i32 %t3685, 1 store i32 %t3699, ptr %t3682 br label %ifend748 ifend748: %t3700 = load ptr, ptr %t1 %t3701 = call i32 @lp_str_eq(ptr %t3700, ptr @.str8316) %t3702 = icmp ne i32 %t3701, 0 br i1 %t3702, label %then751, label %ifend753 then751: store ptr @.str8317, ptr %t452 %t3703 = load ptr, ptr %t459 %t3704 = getelementptr inbounds %LSlice, ptr %t3703, i32 0, i32 1 %t3705 = getelementptr inbounds %LSlice, ptr %t3703, i32 0, i32 2 %t3706 = getelementptr inbounds %LSlice, ptr %t3703, i32 0, i32 0 %t3707 = load i32, ptr %t3704 %t3708 = load i32, ptr %t3705 %t3709 = icmp sge i32 %t3707, %t3708 br i1 %t3709, label %grow754, label %put755 grow754: %t3710 = mul i32 %t3708, 2 %t3711 = icmp eq i32 %t3708, 0 %t3712 = select i1 %t3711, i32 8, i32 %t3710 %t3713 = getelementptr ptr, ptr null, i32 1 %t3714 = ptrtoint ptr %t3713 to i64 %t3715 = zext i32 %t3712 to i64 %t3716 = mul i64 %t3715, %t3714 %t3717 = load ptr, ptr %t3706 %t3718 = call ptr @realloc(ptr %t3717, i64 %t3716) store ptr %t3718, ptr %t3706 store i32 %t3712, ptr %t3705 br label %put755 put755: %t3719 = load ptr, ptr %t3706 %t3720 = getelementptr inbounds ptr, ptr %t3719, i32 %t3707 store ptr @.str8318, ptr %t3720 %t3721 = add i32 %t3707, 1 store i32 %t3721, ptr %t3704 br label %ifend753 ifend753: %t3722 = load ptr, ptr %t1 %t3723 = call i32 @lp_str_eq(ptr %t3722, ptr @.str8319) %t3724 = icmp ne i32 %t3723, 0 br i1 %t3724, label %then756, label %ifend758 then756: store ptr @.str8320, ptr %t452 %t3725 = load ptr, ptr %t459 %t3726 = getelementptr inbounds %LSlice, ptr %t3725, i32 0, i32 1 %t3727 = getelementptr inbounds %LSlice, ptr %t3725, i32 0, i32 2 %t3728 = getelementptr inbounds %LSlice, ptr %t3725, i32 0, i32 0 %t3729 = load i32, ptr %t3726 %t3730 = load i32, ptr %t3727 %t3731 = icmp sge i32 %t3729, %t3730 br i1 %t3731, label %grow759, label %put760 grow759: %t3732 = mul i32 %t3730, 2 %t3733 = icmp eq i32 %t3730, 0 %t3734 = select i1 %t3733, i32 8, i32 %t3732 %t3735 = getelementptr ptr, ptr null, i32 1 %t3736 = ptrtoint ptr %t3735 to i64 %t3737 = zext i32 %t3734 to i64 %t3738 = mul i64 %t3737, %t3736 %t3739 = load ptr, ptr %t3728 %t3740 = call ptr @realloc(ptr %t3739, i64 %t3738) store ptr %t3740, ptr %t3728 store i32 %t3734, ptr %t3727 br label %put760 put760: %t3741 = load ptr, ptr %t3728 %t3742 = getelementptr inbounds ptr, ptr %t3741, i32 %t3729 store ptr @.str8321, ptr %t3742 %t3743 = add i32 %t3729, 1 store i32 %t3743, ptr %t3726 br label %ifend758 ifend758: %t3744 = load ptr, ptr %t1 %t3745 = call i32 @lp_str_eq(ptr %t3744, ptr @.str8322) %t3746 = icmp ne i32 %t3745, 0 br i1 %t3746, label %then761, label %ifend763 then761: store ptr @.str8323, ptr %t452 %t3747 = load ptr, ptr %t459 %t3748 = getelementptr inbounds %LSlice, ptr %t3747, i32 0, i32 1 %t3749 = getelementptr inbounds %LSlice, ptr %t3747, i32 0, i32 2 %t3750 = getelementptr inbounds %LSlice, ptr %t3747, i32 0, i32 0 %t3751 = load i32, ptr %t3748 %t3752 = load i32, ptr %t3749 %t3753 = icmp sge i32 %t3751, %t3752 br i1 %t3753, label %grow764, label %put765 grow764: %t3754 = mul i32 %t3752, 2 %t3755 = icmp eq i32 %t3752, 0 %t3756 = select i1 %t3755, i32 8, i32 %t3754 %t3757 = getelementptr ptr, ptr null, i32 1 %t3758 = ptrtoint ptr %t3757 to i64 %t3759 = zext i32 %t3756 to i64 %t3760 = mul i64 %t3759, %t3758 %t3761 = load ptr, ptr %t3750 %t3762 = call ptr @realloc(ptr %t3761, i64 %t3760) store ptr %t3762, ptr %t3750 store i32 %t3756, ptr %t3749 br label %put765 put765: %t3763 = load ptr, ptr %t3750 %t3764 = getelementptr inbounds ptr, ptr %t3763, i32 %t3751 store ptr @.str8324, ptr %t3764 %t3765 = add i32 %t3751, 1 store i32 %t3765, ptr %t3748 br label %ifend763 ifend763: %t3766 = load ptr, ptr %t1 %t3767 = call i32 @lp_str_eq(ptr %t3766, ptr @.str8325) %t3768 = icmp ne i32 %t3767, 0 br i1 %t3768, label %then766, label %ifend768 then766: store ptr @.str8326, ptr %t452 %t3769 = load ptr, ptr %t459 %t3770 = getelementptr inbounds %LSlice, ptr %t3769, i32 0, i32 1 %t3771 = getelementptr inbounds %LSlice, ptr %t3769, i32 0, i32 2 %t3772 = getelementptr inbounds %LSlice, ptr %t3769, i32 0, i32 0 %t3773 = load i32, ptr %t3770 %t3774 = load i32, ptr %t3771 %t3775 = icmp sge i32 %t3773, %t3774 br i1 %t3775, label %grow769, label %put770 grow769: %t3776 = mul i32 %t3774, 2 %t3777 = icmp eq i32 %t3774, 0 %t3778 = select i1 %t3777, i32 8, i32 %t3776 %t3779 = getelementptr ptr, ptr null, i32 1 %t3780 = ptrtoint ptr %t3779 to i64 %t3781 = zext i32 %t3778 to i64 %t3782 = mul i64 %t3781, %t3780 %t3783 = load ptr, ptr %t3772 %t3784 = call ptr @realloc(ptr %t3783, i64 %t3782) store ptr %t3784, ptr %t3772 store i32 %t3778, ptr %t3771 br label %put770 put770: %t3785 = load ptr, ptr %t3772 %t3786 = getelementptr inbounds ptr, ptr %t3785, i32 %t3773 store ptr @.str8327, ptr %t3786 %t3787 = add i32 %t3773, 1 store i32 %t3787, ptr %t3770 %t3788 = load ptr, ptr %t459 %t3789 = getelementptr inbounds %LSlice, ptr %t3788, i32 0, i32 1 %t3790 = getelementptr inbounds %LSlice, ptr %t3788, i32 0, i32 2 %t3791 = getelementptr inbounds %LSlice, ptr %t3788, i32 0, i32 0 %t3792 = load i32, ptr %t3789 %t3793 = load i32, ptr %t3790 %t3794 = icmp sge i32 %t3792, %t3793 br i1 %t3794, label %grow771, label %put772 grow771: %t3795 = mul i32 %t3793, 2 %t3796 = icmp eq i32 %t3793, 0 %t3797 = select i1 %t3796, i32 8, i32 %t3795 %t3798 = getelementptr ptr, ptr null, i32 1 %t3799 = ptrtoint ptr %t3798 to i64 %t3800 = zext i32 %t3797 to i64 %t3801 = mul i64 %t3800, %t3799 %t3802 = load ptr, ptr %t3791 %t3803 = call ptr @realloc(ptr %t3802, i64 %t3801) store ptr %t3803, ptr %t3791 store i32 %t3797, ptr %t3790 br label %put772 put772: %t3804 = load ptr, ptr %t3791 %t3805 = getelementptr inbounds ptr, ptr %t3804, i32 %t3792 store ptr @.str8328, ptr %t3805 %t3806 = add i32 %t3792, 1 store i32 %t3806, ptr %t3789 br label %ifend768 ifend768: %t3807 = load ptr, ptr %t1 %t3808 = call i32 @lp_str_eq(ptr %t3807, ptr @.str8329) %t3809 = icmp ne i32 %t3808, 0 br i1 %t3809, label %then773, label %ifend775 then773: store ptr @.str8330, ptr %t452 %t3810 = load ptr, ptr %t459 %t3811 = getelementptr inbounds %LSlice, ptr %t3810, i32 0, i32 1 %t3812 = getelementptr inbounds %LSlice, ptr %t3810, i32 0, i32 2 %t3813 = getelementptr inbounds %LSlice, ptr %t3810, i32 0, i32 0 %t3814 = load i32, ptr %t3811 %t3815 = load i32, ptr %t3812 %t3816 = icmp sge i32 %t3814, %t3815 br i1 %t3816, label %grow776, label %put777 grow776: %t3817 = mul i32 %t3815, 2 %t3818 = icmp eq i32 %t3815, 0 %t3819 = select i1 %t3818, i32 8, i32 %t3817 %t3820 = getelementptr ptr, ptr null, i32 1 %t3821 = ptrtoint ptr %t3820 to i64 %t3822 = zext i32 %t3819 to i64 %t3823 = mul i64 %t3822, %t3821 %t3824 = load ptr, ptr %t3813 %t3825 = call ptr @realloc(ptr %t3824, i64 %t3823) store ptr %t3825, ptr %t3813 store i32 %t3819, ptr %t3812 br label %put777 put777: %t3826 = load ptr, ptr %t3813 %t3827 = getelementptr inbounds ptr, ptr %t3826, i32 %t3814 store ptr @.str8331, ptr %t3827 %t3828 = add i32 %t3814, 1 store i32 %t3828, ptr %t3811 br label %ifend775 ifend775: %t3829 = load ptr, ptr %t1 %t3830 = call i32 @lp_str_eq(ptr %t3829, ptr @.str8332) %t3831 = icmp ne i32 %t3830, 0 br i1 %t3831, label %then778, label %ifend780 then778: store ptr @.str8333, ptr %t452 br label %ifend780 ifend780: %t3832 = load ptr, ptr %t1 %t3833 = call i32 @lp_str_eq(ptr %t3832, ptr @.str8334) %t3834 = icmp ne i32 %t3833, 0 br i1 %t3834, label %then781, label %ifend783 then781: store ptr @.str8335, ptr %t452 br label %ifend783 ifend783: %t3835 = load ptr, ptr %t1 %t3836 = call i32 @lp_str_eq(ptr %t3835, ptr @.str8336) %t3837 = icmp ne i32 %t3836, 0 br i1 %t3837, label %then784, label %ifend786 then784: store ptr @.str8337, ptr %t452 br label %ifend786 ifend786: %t3838 = load ptr, ptr %t1 %t3839 = call i32 @lp_str_eq(ptr %t3838, ptr @.str8338) %t3840 = icmp ne i32 %t3839, 0 br i1 %t3840, label %then787, label %ifend789 then787: store ptr @.str8339, ptr %t452 br label %ifend789 ifend789: br label %ifend740 ifend740: %t3841 = load ptr, ptr %t0 %t3842 = call i32 @lp_str_eq(ptr %t3841, ptr @.str8340) %t3843 = icmp ne i32 %t3842, 0 br i1 %t3843, label %then790, label %ifend792 then790: %t3844 = load ptr, ptr %t1 %t3845 = call i32 @lp_str_eq(ptr %t3844, ptr @.str8341) %t3846 = icmp ne i32 %t3845, 0 br i1 %t3846, label %then793, label %ifend795 then793: store ptr @.str8342, ptr %t452 %t3847 = load ptr, ptr %t459 %t3848 = getelementptr inbounds %LSlice, ptr %t3847, i32 0, i32 1 %t3849 = getelementptr inbounds %LSlice, ptr %t3847, i32 0, i32 2 %t3850 = getelementptr inbounds %LSlice, ptr %t3847, i32 0, i32 0 %t3851 = load i32, ptr %t3848 %t3852 = load i32, ptr %t3849 %t3853 = icmp sge i32 %t3851, %t3852 br i1 %t3853, label %grow796, label %put797 grow796: %t3854 = mul i32 %t3852, 2 %t3855 = icmp eq i32 %t3852, 0 %t3856 = select i1 %t3855, i32 8, i32 %t3854 %t3857 = getelementptr ptr, ptr null, i32 1 %t3858 = ptrtoint ptr %t3857 to i64 %t3859 = zext i32 %t3856 to i64 %t3860 = mul i64 %t3859, %t3858 %t3861 = load ptr, ptr %t3850 %t3862 = call ptr @realloc(ptr %t3861, i64 %t3860) store ptr %t3862, ptr %t3850 store i32 %t3856, ptr %t3849 br label %put797 put797: %t3863 = load ptr, ptr %t3850 %t3864 = getelementptr inbounds ptr, ptr %t3863, i32 %t3851 store ptr @.str8343, ptr %t3864 %t3865 = add i32 %t3851, 1 store i32 %t3865, ptr %t3848 %t3866 = load ptr, ptr %t459 %t3867 = getelementptr inbounds %LSlice, ptr %t3866, i32 0, i32 1 %t3868 = getelementptr inbounds %LSlice, ptr %t3866, i32 0, i32 2 %t3869 = getelementptr inbounds %LSlice, ptr %t3866, i32 0, i32 0 %t3870 = load i32, ptr %t3867 %t3871 = load i32, ptr %t3868 %t3872 = icmp sge i32 %t3870, %t3871 br i1 %t3872, label %grow798, label %put799 grow798: %t3873 = mul i32 %t3871, 2 %t3874 = icmp eq i32 %t3871, 0 %t3875 = select i1 %t3874, i32 8, i32 %t3873 %t3876 = getelementptr ptr, ptr null, i32 1 %t3877 = ptrtoint ptr %t3876 to i64 %t3878 = zext i32 %t3875 to i64 %t3879 = mul i64 %t3878, %t3877 %t3880 = load ptr, ptr %t3869 %t3881 = call ptr @realloc(ptr %t3880, i64 %t3879) store ptr %t3881, ptr %t3869 store i32 %t3875, ptr %t3868 br label %put799 put799: %t3882 = load ptr, ptr %t3869 %t3883 = getelementptr inbounds ptr, ptr %t3882, i32 %t3870 store ptr @.str8344, ptr %t3883 %t3884 = add i32 %t3870, 1 store i32 %t3884, ptr %t3867 br label %ifend795 ifend795: %t3885 = load ptr, ptr %t1 %t3886 = call i32 @lp_str_eq(ptr %t3885, ptr @.str8345) %t3887 = icmp ne i32 %t3886, 0 br i1 %t3887, label %then800, label %ifend802 then800: store ptr @.str8346, ptr %t452 %t3888 = load ptr, ptr %t459 %t3889 = getelementptr inbounds %LSlice, ptr %t3888, i32 0, i32 1 %t3890 = getelementptr inbounds %LSlice, ptr %t3888, i32 0, i32 2 %t3891 = getelementptr inbounds %LSlice, ptr %t3888, i32 0, i32 0 %t3892 = load i32, ptr %t3889 %t3893 = load i32, ptr %t3890 %t3894 = icmp sge i32 %t3892, %t3893 br i1 %t3894, label %grow803, label %put804 grow803: %t3895 = mul i32 %t3893, 2 %t3896 = icmp eq i32 %t3893, 0 %t3897 = select i1 %t3896, i32 8, i32 %t3895 %t3898 = getelementptr ptr, ptr null, i32 1 %t3899 = ptrtoint ptr %t3898 to i64 %t3900 = zext i32 %t3897 to i64 %t3901 = mul i64 %t3900, %t3899 %t3902 = load ptr, ptr %t3891 %t3903 = call ptr @realloc(ptr %t3902, i64 %t3901) store ptr %t3903, ptr %t3891 store i32 %t3897, ptr %t3890 br label %put804 put804: %t3904 = load ptr, ptr %t3891 %t3905 = getelementptr inbounds ptr, ptr %t3904, i32 %t3892 store ptr @.str8347, ptr %t3905 %t3906 = add i32 %t3892, 1 store i32 %t3906, ptr %t3889 %t3907 = load ptr, ptr %t459 %t3908 = getelementptr inbounds %LSlice, ptr %t3907, i32 0, i32 1 %t3909 = getelementptr inbounds %LSlice, ptr %t3907, i32 0, i32 2 %t3910 = getelementptr inbounds %LSlice, ptr %t3907, i32 0, i32 0 %t3911 = load i32, ptr %t3908 %t3912 = load i32, ptr %t3909 %t3913 = icmp sge i32 %t3911, %t3912 br i1 %t3913, label %grow805, label %put806 grow805: %t3914 = mul i32 %t3912, 2 %t3915 = icmp eq i32 %t3912, 0 %t3916 = select i1 %t3915, i32 8, i32 %t3914 %t3917 = getelementptr ptr, ptr null, i32 1 %t3918 = ptrtoint ptr %t3917 to i64 %t3919 = zext i32 %t3916 to i64 %t3920 = mul i64 %t3919, %t3918 %t3921 = load ptr, ptr %t3910 %t3922 = call ptr @realloc(ptr %t3921, i64 %t3920) store ptr %t3922, ptr %t3910 store i32 %t3916, ptr %t3909 br label %put806 put806: %t3923 = load ptr, ptr %t3910 %t3924 = getelementptr inbounds ptr, ptr %t3923, i32 %t3911 store ptr @.str8348, ptr %t3924 %t3925 = add i32 %t3911, 1 store i32 %t3925, ptr %t3908 %t3926 = load ptr, ptr %t459 %t3927 = getelementptr inbounds %LSlice, ptr %t3926, i32 0, i32 1 %t3928 = getelementptr inbounds %LSlice, ptr %t3926, i32 0, i32 2 %t3929 = getelementptr inbounds %LSlice, ptr %t3926, i32 0, i32 0 %t3930 = load i32, ptr %t3927 %t3931 = load i32, ptr %t3928 %t3932 = icmp sge i32 %t3930, %t3931 br i1 %t3932, label %grow807, label %put808 grow807: %t3933 = mul i32 %t3931, 2 %t3934 = icmp eq i32 %t3931, 0 %t3935 = select i1 %t3934, i32 8, i32 %t3933 %t3936 = getelementptr ptr, ptr null, i32 1 %t3937 = ptrtoint ptr %t3936 to i64 %t3938 = zext i32 %t3935 to i64 %t3939 = mul i64 %t3938, %t3937 %t3940 = load ptr, ptr %t3929 %t3941 = call ptr @realloc(ptr %t3940, i64 %t3939) store ptr %t3941, ptr %t3929 store i32 %t3935, ptr %t3928 br label %put808 put808: %t3942 = load ptr, ptr %t3929 %t3943 = getelementptr inbounds ptr, ptr %t3942, i32 %t3930 store ptr @.str8349, ptr %t3943 %t3944 = add i32 %t3930, 1 store i32 %t3944, ptr %t3927 br label %ifend802 ifend802: %t3945 = load ptr, ptr %t1 %t3946 = call i32 @lp_str_eq(ptr %t3945, ptr @.str8350) %t3947 = icmp ne i32 %t3946, 0 br i1 %t3947, label %then809, label %ifend811 then809: store ptr @.str8351, ptr %t452 %t3948 = load ptr, ptr %t459 %t3949 = getelementptr inbounds %LSlice, ptr %t3948, i32 0, i32 1 %t3950 = getelementptr inbounds %LSlice, ptr %t3948, i32 0, i32 2 %t3951 = getelementptr inbounds %LSlice, ptr %t3948, i32 0, i32 0 %t3952 = load i32, ptr %t3949 %t3953 = load i32, ptr %t3950 %t3954 = icmp sge i32 %t3952, %t3953 br i1 %t3954, label %grow812, label %put813 grow812: %t3955 = mul i32 %t3953, 2 %t3956 = icmp eq i32 %t3953, 0 %t3957 = select i1 %t3956, i32 8, i32 %t3955 %t3958 = getelementptr ptr, ptr null, i32 1 %t3959 = ptrtoint ptr %t3958 to i64 %t3960 = zext i32 %t3957 to i64 %t3961 = mul i64 %t3960, %t3959 %t3962 = load ptr, ptr %t3951 %t3963 = call ptr @realloc(ptr %t3962, i64 %t3961) store ptr %t3963, ptr %t3951 store i32 %t3957, ptr %t3950 br label %put813 put813: %t3964 = load ptr, ptr %t3951 %t3965 = getelementptr inbounds ptr, ptr %t3964, i32 %t3952 store ptr @.str8352, ptr %t3965 %t3966 = add i32 %t3952, 1 store i32 %t3966, ptr %t3949 br label %ifend811 ifend811: %t3967 = load ptr, ptr %t1 %t3968 = call i32 @lp_str_eq(ptr %t3967, ptr @.str8353) %t3969 = icmp ne i32 %t3968, 0 br i1 %t3969, label %then814, label %ifend816 then814: store ptr @.str8354, ptr %t452 %t3970 = load ptr, ptr %t459 %t3971 = getelementptr inbounds %LSlice, ptr %t3970, i32 0, i32 1 %t3972 = getelementptr inbounds %LSlice, ptr %t3970, i32 0, i32 2 %t3973 = getelementptr inbounds %LSlice, ptr %t3970, i32 0, i32 0 %t3974 = load i32, ptr %t3971 %t3975 = load i32, ptr %t3972 %t3976 = icmp sge i32 %t3974, %t3975 br i1 %t3976, label %grow817, label %put818 grow817: %t3977 = mul i32 %t3975, 2 %t3978 = icmp eq i32 %t3975, 0 %t3979 = select i1 %t3978, i32 8, i32 %t3977 %t3980 = getelementptr ptr, ptr null, i32 1 %t3981 = ptrtoint ptr %t3980 to i64 %t3982 = zext i32 %t3979 to i64 %t3983 = mul i64 %t3982, %t3981 %t3984 = load ptr, ptr %t3973 %t3985 = call ptr @realloc(ptr %t3984, i64 %t3983) store ptr %t3985, ptr %t3973 store i32 %t3979, ptr %t3972 br label %put818 put818: %t3986 = load ptr, ptr %t3973 %t3987 = getelementptr inbounds ptr, ptr %t3986, i32 %t3974 store ptr @.str8355, ptr %t3987 %t3988 = add i32 %t3974, 1 store i32 %t3988, ptr %t3971 %t3989 = load ptr, ptr %t459 %t3990 = getelementptr inbounds %LSlice, ptr %t3989, i32 0, i32 1 %t3991 = getelementptr inbounds %LSlice, ptr %t3989, i32 0, i32 2 %t3992 = getelementptr inbounds %LSlice, ptr %t3989, i32 0, i32 0 %t3993 = load i32, ptr %t3990 %t3994 = load i32, ptr %t3991 %t3995 = icmp sge i32 %t3993, %t3994 br i1 %t3995, label %grow819, label %put820 grow819: %t3996 = mul i32 %t3994, 2 %t3997 = icmp eq i32 %t3994, 0 %t3998 = select i1 %t3997, i32 8, i32 %t3996 %t3999 = getelementptr ptr, ptr null, i32 1 %t4000 = ptrtoint ptr %t3999 to i64 %t4001 = zext i32 %t3998 to i64 %t4002 = mul i64 %t4001, %t4000 %t4003 = load ptr, ptr %t3992 %t4004 = call ptr @realloc(ptr %t4003, i64 %t4002) store ptr %t4004, ptr %t3992 store i32 %t3998, ptr %t3991 br label %put820 put820: %t4005 = load ptr, ptr %t3992 %t4006 = getelementptr inbounds ptr, ptr %t4005, i32 %t3993 store ptr @.str8356, ptr %t4006 %t4007 = add i32 %t3993, 1 store i32 %t4007, ptr %t3990 br label %ifend816 ifend816: %t4008 = load ptr, ptr %t1 %t4009 = call i32 @lp_str_eq(ptr %t4008, ptr @.str8357) %t4010 = icmp ne i32 %t4009, 0 br i1 %t4010, label %then821, label %ifend823 then821: store ptr @.str8358, ptr %t452 %t4011 = load ptr, ptr %t459 %t4012 = getelementptr inbounds %LSlice, ptr %t4011, i32 0, i32 1 %t4013 = getelementptr inbounds %LSlice, ptr %t4011, i32 0, i32 2 %t4014 = getelementptr inbounds %LSlice, ptr %t4011, i32 0, i32 0 %t4015 = load i32, ptr %t4012 %t4016 = load i32, ptr %t4013 %t4017 = icmp sge i32 %t4015, %t4016 br i1 %t4017, label %grow824, label %put825 grow824: %t4018 = mul i32 %t4016, 2 %t4019 = icmp eq i32 %t4016, 0 %t4020 = select i1 %t4019, i32 8, i32 %t4018 %t4021 = getelementptr ptr, ptr null, i32 1 %t4022 = ptrtoint ptr %t4021 to i64 %t4023 = zext i32 %t4020 to i64 %t4024 = mul i64 %t4023, %t4022 %t4025 = load ptr, ptr %t4014 %t4026 = call ptr @realloc(ptr %t4025, i64 %t4024) store ptr %t4026, ptr %t4014 store i32 %t4020, ptr %t4013 br label %put825 put825: %t4027 = load ptr, ptr %t4014 %t4028 = getelementptr inbounds ptr, ptr %t4027, i32 %t4015 store ptr @.str8359, ptr %t4028 %t4029 = add i32 %t4015, 1 store i32 %t4029, ptr %t4012 br label %ifend823 ifend823: br label %ifend792 ifend792: %t4030 = load ptr, ptr %t0 %t4031 = call i32 @lp_str_eq(ptr %t4030, ptr @.str8360) %t4032 = icmp ne i32 %t4031, 0 br i1 %t4032, label %then826, label %ifend828 then826: %t4033 = load ptr, ptr %t1 %t4034 = call i32 @lp_str_eq(ptr %t4033, ptr @.str8361) %t4035 = icmp ne i32 %t4034, 0 br i1 %t4035, label %then829, label %ifend831 then829: store ptr @.str8362, ptr %t452 %t4036 = load ptr, ptr %t459 %t4037 = getelementptr inbounds %LSlice, ptr %t4036, i32 0, i32 1 %t4038 = getelementptr inbounds %LSlice, ptr %t4036, i32 0, i32 2 %t4039 = getelementptr inbounds %LSlice, ptr %t4036, i32 0, i32 0 %t4040 = load i32, ptr %t4037 %t4041 = load i32, ptr %t4038 %t4042 = icmp sge i32 %t4040, %t4041 br i1 %t4042, label %grow832, label %put833 grow832: %t4043 = mul i32 %t4041, 2 %t4044 = icmp eq i32 %t4041, 0 %t4045 = select i1 %t4044, i32 8, i32 %t4043 %t4046 = getelementptr ptr, ptr null, i32 1 %t4047 = ptrtoint ptr %t4046 to i64 %t4048 = zext i32 %t4045 to i64 %t4049 = mul i64 %t4048, %t4047 %t4050 = load ptr, ptr %t4039 %t4051 = call ptr @realloc(ptr %t4050, i64 %t4049) store ptr %t4051, ptr %t4039 store i32 %t4045, ptr %t4038 br label %put833 put833: %t4052 = load ptr, ptr %t4039 %t4053 = getelementptr inbounds ptr, ptr %t4052, i32 %t4040 store ptr @.str8363, ptr %t4053 %t4054 = add i32 %t4040, 1 store i32 %t4054, ptr %t4037 %t4055 = load ptr, ptr %t459 %t4056 = getelementptr inbounds %LSlice, ptr %t4055, i32 0, i32 1 %t4057 = getelementptr inbounds %LSlice, ptr %t4055, i32 0, i32 2 %t4058 = getelementptr inbounds %LSlice, ptr %t4055, i32 0, i32 0 %t4059 = load i32, ptr %t4056 %t4060 = load i32, ptr %t4057 %t4061 = icmp sge i32 %t4059, %t4060 br i1 %t4061, label %grow834, label %put835 grow834: %t4062 = mul i32 %t4060, 2 %t4063 = icmp eq i32 %t4060, 0 %t4064 = select i1 %t4063, i32 8, i32 %t4062 %t4065 = getelementptr ptr, ptr null, i32 1 %t4066 = ptrtoint ptr %t4065 to i64 %t4067 = zext i32 %t4064 to i64 %t4068 = mul i64 %t4067, %t4066 %t4069 = load ptr, ptr %t4058 %t4070 = call ptr @realloc(ptr %t4069, i64 %t4068) store ptr %t4070, ptr %t4058 store i32 %t4064, ptr %t4057 br label %put835 put835: %t4071 = load ptr, ptr %t4058 %t4072 = getelementptr inbounds ptr, ptr %t4071, i32 %t4059 store ptr @.str8364, ptr %t4072 %t4073 = add i32 %t4059, 1 store i32 %t4073, ptr %t4056 br label %ifend831 ifend831: %t4074 = load ptr, ptr %t1 %t4075 = call i32 @lp_str_eq(ptr %t4074, ptr @.str8365) %t4076 = icmp ne i32 %t4075, 0 br i1 %t4076, label %then836, label %ifend838 then836: store ptr @.str8366, ptr %t452 %t4077 = load ptr, ptr %t459 %t4078 = getelementptr inbounds %LSlice, ptr %t4077, i32 0, i32 1 %t4079 = getelementptr inbounds %LSlice, ptr %t4077, i32 0, i32 2 %t4080 = getelementptr inbounds %LSlice, ptr %t4077, i32 0, i32 0 %t4081 = load i32, ptr %t4078 %t4082 = load i32, ptr %t4079 %t4083 = icmp sge i32 %t4081, %t4082 br i1 %t4083, label %grow839, label %put840 grow839: %t4084 = mul i32 %t4082, 2 %t4085 = icmp eq i32 %t4082, 0 %t4086 = select i1 %t4085, i32 8, i32 %t4084 %t4087 = getelementptr ptr, ptr null, i32 1 %t4088 = ptrtoint ptr %t4087 to i64 %t4089 = zext i32 %t4086 to i64 %t4090 = mul i64 %t4089, %t4088 %t4091 = load ptr, ptr %t4080 %t4092 = call ptr @realloc(ptr %t4091, i64 %t4090) store ptr %t4092, ptr %t4080 store i32 %t4086, ptr %t4079 br label %put840 put840: %t4093 = load ptr, ptr %t4080 %t4094 = getelementptr inbounds ptr, ptr %t4093, i32 %t4081 store ptr @.str8367, ptr %t4094 %t4095 = add i32 %t4081, 1 store i32 %t4095, ptr %t4078 %t4096 = load ptr, ptr %t459 %t4097 = getelementptr inbounds %LSlice, ptr %t4096, i32 0, i32 1 %t4098 = getelementptr inbounds %LSlice, ptr %t4096, i32 0, i32 2 %t4099 = getelementptr inbounds %LSlice, ptr %t4096, i32 0, i32 0 %t4100 = load i32, ptr %t4097 %t4101 = load i32, ptr %t4098 %t4102 = icmp sge i32 %t4100, %t4101 br i1 %t4102, label %grow841, label %put842 grow841: %t4103 = mul i32 %t4101, 2 %t4104 = icmp eq i32 %t4101, 0 %t4105 = select i1 %t4104, i32 8, i32 %t4103 %t4106 = getelementptr ptr, ptr null, i32 1 %t4107 = ptrtoint ptr %t4106 to i64 %t4108 = zext i32 %t4105 to i64 %t4109 = mul i64 %t4108, %t4107 %t4110 = load ptr, ptr %t4099 %t4111 = call ptr @realloc(ptr %t4110, i64 %t4109) store ptr %t4111, ptr %t4099 store i32 %t4105, ptr %t4098 br label %put842 put842: %t4112 = load ptr, ptr %t4099 %t4113 = getelementptr inbounds ptr, ptr %t4112, i32 %t4100 store ptr @.str8368, ptr %t4113 %t4114 = add i32 %t4100, 1 store i32 %t4114, ptr %t4097 br label %ifend838 ifend838: %t4115 = load ptr, ptr %t1 %t4116 = call i32 @lp_str_eq(ptr %t4115, ptr @.str8369) %t4117 = icmp ne i32 %t4116, 0 br i1 %t4117, label %then843, label %ifend845 then843: store ptr @.str8370, ptr %t452 %t4118 = load ptr, ptr %t459 %t4119 = getelementptr inbounds %LSlice, ptr %t4118, i32 0, i32 1 %t4120 = getelementptr inbounds %LSlice, ptr %t4118, i32 0, i32 2 %t4121 = getelementptr inbounds %LSlice, ptr %t4118, i32 0, i32 0 %t4122 = load i32, ptr %t4119 %t4123 = load i32, ptr %t4120 %t4124 = icmp sge i32 %t4122, %t4123 br i1 %t4124, label %grow846, label %put847 grow846: %t4125 = mul i32 %t4123, 2 %t4126 = icmp eq i32 %t4123, 0 %t4127 = select i1 %t4126, i32 8, i32 %t4125 %t4128 = getelementptr ptr, ptr null, i32 1 %t4129 = ptrtoint ptr %t4128 to i64 %t4130 = zext i32 %t4127 to i64 %t4131 = mul i64 %t4130, %t4129 %t4132 = load ptr, ptr %t4121 %t4133 = call ptr @realloc(ptr %t4132, i64 %t4131) store ptr %t4133, ptr %t4121 store i32 %t4127, ptr %t4120 br label %put847 put847: %t4134 = load ptr, ptr %t4121 %t4135 = getelementptr inbounds ptr, ptr %t4134, i32 %t4122 store ptr @.str8371, ptr %t4135 %t4136 = add i32 %t4122, 1 store i32 %t4136, ptr %t4119 %t4137 = load ptr, ptr %t459 %t4138 = getelementptr inbounds %LSlice, ptr %t4137, i32 0, i32 1 %t4139 = getelementptr inbounds %LSlice, ptr %t4137, i32 0, i32 2 %t4140 = getelementptr inbounds %LSlice, ptr %t4137, i32 0, i32 0 %t4141 = load i32, ptr %t4138 %t4142 = load i32, ptr %t4139 %t4143 = icmp sge i32 %t4141, %t4142 br i1 %t4143, label %grow848, label %put849 grow848: %t4144 = mul i32 %t4142, 2 %t4145 = icmp eq i32 %t4142, 0 %t4146 = select i1 %t4145, i32 8, i32 %t4144 %t4147 = getelementptr ptr, ptr null, i32 1 %t4148 = ptrtoint ptr %t4147 to i64 %t4149 = zext i32 %t4146 to i64 %t4150 = mul i64 %t4149, %t4148 %t4151 = load ptr, ptr %t4140 %t4152 = call ptr @realloc(ptr %t4151, i64 %t4150) store ptr %t4152, ptr %t4140 store i32 %t4146, ptr %t4139 br label %put849 put849: %t4153 = load ptr, ptr %t4140 %t4154 = getelementptr inbounds ptr, ptr %t4153, i32 %t4141 store ptr @.str8372, ptr %t4154 %t4155 = add i32 %t4141, 1 store i32 %t4155, ptr %t4138 br label %ifend845 ifend845: %t4156 = load ptr, ptr %t1 %t4157 = call i32 @lp_str_eq(ptr %t4156, ptr @.str8373) %t4158 = icmp ne i32 %t4157, 0 br i1 %t4158, label %then850, label %ifend852 then850: store ptr @.str8374, ptr %t452 %t4159 = load ptr, ptr %t459 %t4160 = getelementptr inbounds %LSlice, ptr %t4159, i32 0, i32 1 %t4161 = getelementptr inbounds %LSlice, ptr %t4159, i32 0, i32 2 %t4162 = getelementptr inbounds %LSlice, ptr %t4159, i32 0, i32 0 %t4163 = load i32, ptr %t4160 %t4164 = load i32, ptr %t4161 %t4165 = icmp sge i32 %t4163, %t4164 br i1 %t4165, label %grow853, label %put854 grow853: %t4166 = mul i32 %t4164, 2 %t4167 = icmp eq i32 %t4164, 0 %t4168 = select i1 %t4167, i32 8, i32 %t4166 %t4169 = getelementptr ptr, ptr null, i32 1 %t4170 = ptrtoint ptr %t4169 to i64 %t4171 = zext i32 %t4168 to i64 %t4172 = mul i64 %t4171, %t4170 %t4173 = load ptr, ptr %t4162 %t4174 = call ptr @realloc(ptr %t4173, i64 %t4172) store ptr %t4174, ptr %t4162 store i32 %t4168, ptr %t4161 br label %put854 put854: %t4175 = load ptr, ptr %t4162 %t4176 = getelementptr inbounds ptr, ptr %t4175, i32 %t4163 store ptr @.str8375, ptr %t4176 %t4177 = add i32 %t4163, 1 store i32 %t4177, ptr %t4160 %t4178 = load ptr, ptr %t459 %t4179 = getelementptr inbounds %LSlice, ptr %t4178, i32 0, i32 1 %t4180 = getelementptr inbounds %LSlice, ptr %t4178, i32 0, i32 2 %t4181 = getelementptr inbounds %LSlice, ptr %t4178, i32 0, i32 0 %t4182 = load i32, ptr %t4179 %t4183 = load i32, ptr %t4180 %t4184 = icmp sge i32 %t4182, %t4183 br i1 %t4184, label %grow855, label %put856 grow855: %t4185 = mul i32 %t4183, 2 %t4186 = icmp eq i32 %t4183, 0 %t4187 = select i1 %t4186, i32 8, i32 %t4185 %t4188 = getelementptr ptr, ptr null, i32 1 %t4189 = ptrtoint ptr %t4188 to i64 %t4190 = zext i32 %t4187 to i64 %t4191 = mul i64 %t4190, %t4189 %t4192 = load ptr, ptr %t4181 %t4193 = call ptr @realloc(ptr %t4192, i64 %t4191) store ptr %t4193, ptr %t4181 store i32 %t4187, ptr %t4180 br label %put856 put856: %t4194 = load ptr, ptr %t4181 %t4195 = getelementptr inbounds ptr, ptr %t4194, i32 %t4182 store ptr @.str8376, ptr %t4195 %t4196 = add i32 %t4182, 1 store i32 %t4196, ptr %t4179 br label %ifend852 ifend852: %t4197 = load ptr, ptr %t1 %t4198 = call i32 @lp_str_eq(ptr %t4197, ptr @.str8377) %t4199 = icmp ne i32 %t4198, 0 br i1 %t4199, label %then857, label %ifend859 then857: store ptr @.str8378, ptr %t452 %t4200 = load ptr, ptr %t459 %t4201 = getelementptr inbounds %LSlice, ptr %t4200, i32 0, i32 1 %t4202 = getelementptr inbounds %LSlice, ptr %t4200, i32 0, i32 2 %t4203 = getelementptr inbounds %LSlice, ptr %t4200, i32 0, i32 0 %t4204 = load i32, ptr %t4201 %t4205 = load i32, ptr %t4202 %t4206 = icmp sge i32 %t4204, %t4205 br i1 %t4206, label %grow860, label %put861 grow860: %t4207 = mul i32 %t4205, 2 %t4208 = icmp eq i32 %t4205, 0 %t4209 = select i1 %t4208, i32 8, i32 %t4207 %t4210 = getelementptr ptr, ptr null, i32 1 %t4211 = ptrtoint ptr %t4210 to i64 %t4212 = zext i32 %t4209 to i64 %t4213 = mul i64 %t4212, %t4211 %t4214 = load ptr, ptr %t4203 %t4215 = call ptr @realloc(ptr %t4214, i64 %t4213) store ptr %t4215, ptr %t4203 store i32 %t4209, ptr %t4202 br label %put861 put861: %t4216 = load ptr, ptr %t4203 %t4217 = getelementptr inbounds ptr, ptr %t4216, i32 %t4204 store ptr @.str8379, ptr %t4217 %t4218 = add i32 %t4204, 1 store i32 %t4218, ptr %t4201 %t4219 = load ptr, ptr %t459 %t4220 = getelementptr inbounds %LSlice, ptr %t4219, i32 0, i32 1 %t4221 = getelementptr inbounds %LSlice, ptr %t4219, i32 0, i32 2 %t4222 = getelementptr inbounds %LSlice, ptr %t4219, i32 0, i32 0 %t4223 = load i32, ptr %t4220 %t4224 = load i32, ptr %t4221 %t4225 = icmp sge i32 %t4223, %t4224 br i1 %t4225, label %grow862, label %put863 grow862: %t4226 = mul i32 %t4224, 2 %t4227 = icmp eq i32 %t4224, 0 %t4228 = select i1 %t4227, i32 8, i32 %t4226 %t4229 = getelementptr ptr, ptr null, i32 1 %t4230 = ptrtoint ptr %t4229 to i64 %t4231 = zext i32 %t4228 to i64 %t4232 = mul i64 %t4231, %t4230 %t4233 = load ptr, ptr %t4222 %t4234 = call ptr @realloc(ptr %t4233, i64 %t4232) store ptr %t4234, ptr %t4222 store i32 %t4228, ptr %t4221 br label %put863 put863: %t4235 = load ptr, ptr %t4222 %t4236 = getelementptr inbounds ptr, ptr %t4235, i32 %t4223 store ptr @.str8380, ptr %t4236 %t4237 = add i32 %t4223, 1 store i32 %t4237, ptr %t4220 %t4238 = load ptr, ptr %t459 %t4239 = getelementptr inbounds %LSlice, ptr %t4238, i32 0, i32 1 %t4240 = getelementptr inbounds %LSlice, ptr %t4238, i32 0, i32 2 %t4241 = getelementptr inbounds %LSlice, ptr %t4238, i32 0, i32 0 %t4242 = load i32, ptr %t4239 %t4243 = load i32, ptr %t4240 %t4244 = icmp sge i32 %t4242, %t4243 br i1 %t4244, label %grow864, label %put865 grow864: %t4245 = mul i32 %t4243, 2 %t4246 = icmp eq i32 %t4243, 0 %t4247 = select i1 %t4246, i32 8, i32 %t4245 %t4248 = getelementptr ptr, ptr null, i32 1 %t4249 = ptrtoint ptr %t4248 to i64 %t4250 = zext i32 %t4247 to i64 %t4251 = mul i64 %t4250, %t4249 %t4252 = load ptr, ptr %t4241 %t4253 = call ptr @realloc(ptr %t4252, i64 %t4251) store ptr %t4253, ptr %t4241 store i32 %t4247, ptr %t4240 br label %put865 put865: %t4254 = load ptr, ptr %t4241 %t4255 = getelementptr inbounds ptr, ptr %t4254, i32 %t4242 store ptr @.str8381, ptr %t4255 %t4256 = add i32 %t4242, 1 store i32 %t4256, ptr %t4239 br label %ifend859 ifend859: %t4257 = load ptr, ptr %t1 %t4258 = call i32 @lp_str_eq(ptr %t4257, ptr @.str8382) %t4259 = icmp ne i32 %t4258, 0 br i1 %t4259, label %then866, label %ifend868 then866: store ptr @.str8383, ptr %t452 %t4260 = load ptr, ptr %t459 %t4261 = getelementptr inbounds %LSlice, ptr %t4260, i32 0, i32 1 %t4262 = getelementptr inbounds %LSlice, ptr %t4260, i32 0, i32 2 %t4263 = getelementptr inbounds %LSlice, ptr %t4260, i32 0, i32 0 %t4264 = load i32, ptr %t4261 %t4265 = load i32, ptr %t4262 %t4266 = icmp sge i32 %t4264, %t4265 br i1 %t4266, label %grow869, label %put870 grow869: %t4267 = mul i32 %t4265, 2 %t4268 = icmp eq i32 %t4265, 0 %t4269 = select i1 %t4268, i32 8, i32 %t4267 %t4270 = getelementptr ptr, ptr null, i32 1 %t4271 = ptrtoint ptr %t4270 to i64 %t4272 = zext i32 %t4269 to i64 %t4273 = mul i64 %t4272, %t4271 %t4274 = load ptr, ptr %t4263 %t4275 = call ptr @realloc(ptr %t4274, i64 %t4273) store ptr %t4275, ptr %t4263 store i32 %t4269, ptr %t4262 br label %put870 put870: %t4276 = load ptr, ptr %t4263 %t4277 = getelementptr inbounds ptr, ptr %t4276, i32 %t4264 store ptr @.str8384, ptr %t4277 %t4278 = add i32 %t4264, 1 store i32 %t4278, ptr %t4261 br label %ifend868 ifend868: %t4279 = load ptr, ptr %t1 %t4280 = call i32 @lp_str_eq(ptr %t4279, ptr @.str8385) %t4281 = icmp ne i32 %t4280, 0 br i1 %t4281, label %then871, label %ifend873 then871: store ptr @.str8386, ptr %t452 %t4282 = load ptr, ptr %t459 %t4283 = getelementptr inbounds %LSlice, ptr %t4282, i32 0, i32 1 %t4284 = getelementptr inbounds %LSlice, ptr %t4282, i32 0, i32 2 %t4285 = getelementptr inbounds %LSlice, ptr %t4282, i32 0, i32 0 %t4286 = load i32, ptr %t4283 %t4287 = load i32, ptr %t4284 %t4288 = icmp sge i32 %t4286, %t4287 br i1 %t4288, label %grow874, label %put875 grow874: %t4289 = mul i32 %t4287, 2 %t4290 = icmp eq i32 %t4287, 0 %t4291 = select i1 %t4290, i32 8, i32 %t4289 %t4292 = getelementptr ptr, ptr null, i32 1 %t4293 = ptrtoint ptr %t4292 to i64 %t4294 = zext i32 %t4291 to i64 %t4295 = mul i64 %t4294, %t4293 %t4296 = load ptr, ptr %t4285 %t4297 = call ptr @realloc(ptr %t4296, i64 %t4295) store ptr %t4297, ptr %t4285 store i32 %t4291, ptr %t4284 br label %put875 put875: %t4298 = load ptr, ptr %t4285 %t4299 = getelementptr inbounds ptr, ptr %t4298, i32 %t4286 store ptr @.str8387, ptr %t4299 %t4300 = add i32 %t4286, 1 store i32 %t4300, ptr %t4283 %t4301 = load ptr, ptr %t459 %t4302 = getelementptr inbounds %LSlice, ptr %t4301, i32 0, i32 1 %t4303 = getelementptr inbounds %LSlice, ptr %t4301, i32 0, i32 2 %t4304 = getelementptr inbounds %LSlice, ptr %t4301, i32 0, i32 0 %t4305 = load i32, ptr %t4302 %t4306 = load i32, ptr %t4303 %t4307 = icmp sge i32 %t4305, %t4306 br i1 %t4307, label %grow876, label %put877 grow876: %t4308 = mul i32 %t4306, 2 %t4309 = icmp eq i32 %t4306, 0 %t4310 = select i1 %t4309, i32 8, i32 %t4308 %t4311 = getelementptr ptr, ptr null, i32 1 %t4312 = ptrtoint ptr %t4311 to i64 %t4313 = zext i32 %t4310 to i64 %t4314 = mul i64 %t4313, %t4312 %t4315 = load ptr, ptr %t4304 %t4316 = call ptr @realloc(ptr %t4315, i64 %t4314) store ptr %t4316, ptr %t4304 store i32 %t4310, ptr %t4303 br label %put877 put877: %t4317 = load ptr, ptr %t4304 %t4318 = getelementptr inbounds ptr, ptr %t4317, i32 %t4305 store ptr @.str8388, ptr %t4318 %t4319 = add i32 %t4305, 1 store i32 %t4319, ptr %t4302 %t4320 = load ptr, ptr %t459 %t4321 = getelementptr inbounds %LSlice, ptr %t4320, i32 0, i32 1 %t4322 = getelementptr inbounds %LSlice, ptr %t4320, i32 0, i32 2 %t4323 = getelementptr inbounds %LSlice, ptr %t4320, i32 0, i32 0 %t4324 = load i32, ptr %t4321 %t4325 = load i32, ptr %t4322 %t4326 = icmp sge i32 %t4324, %t4325 br i1 %t4326, label %grow878, label %put879 grow878: %t4327 = mul i32 %t4325, 2 %t4328 = icmp eq i32 %t4325, 0 %t4329 = select i1 %t4328, i32 8, i32 %t4327 %t4330 = getelementptr ptr, ptr null, i32 1 %t4331 = ptrtoint ptr %t4330 to i64 %t4332 = zext i32 %t4329 to i64 %t4333 = mul i64 %t4332, %t4331 %t4334 = load ptr, ptr %t4323 %t4335 = call ptr @realloc(ptr %t4334, i64 %t4333) store ptr %t4335, ptr %t4323 store i32 %t4329, ptr %t4322 br label %put879 put879: %t4336 = load ptr, ptr %t4323 %t4337 = getelementptr inbounds ptr, ptr %t4336, i32 %t4324 store ptr @.str8389, ptr %t4337 %t4338 = add i32 %t4324, 1 store i32 %t4338, ptr %t4321 %t4339 = load ptr, ptr %t459 %t4340 = getelementptr inbounds %LSlice, ptr %t4339, i32 0, i32 1 %t4341 = getelementptr inbounds %LSlice, ptr %t4339, i32 0, i32 2 %t4342 = getelementptr inbounds %LSlice, ptr %t4339, i32 0, i32 0 %t4343 = load i32, ptr %t4340 %t4344 = load i32, ptr %t4341 %t4345 = icmp sge i32 %t4343, %t4344 br i1 %t4345, label %grow880, label %put881 grow880: %t4346 = mul i32 %t4344, 2 %t4347 = icmp eq i32 %t4344, 0 %t4348 = select i1 %t4347, i32 8, i32 %t4346 %t4349 = getelementptr ptr, ptr null, i32 1 %t4350 = ptrtoint ptr %t4349 to i64 %t4351 = zext i32 %t4348 to i64 %t4352 = mul i64 %t4351, %t4350 %t4353 = load ptr, ptr %t4342 %t4354 = call ptr @realloc(ptr %t4353, i64 %t4352) store ptr %t4354, ptr %t4342 store i32 %t4348, ptr %t4341 br label %put881 put881: %t4355 = load ptr, ptr %t4342 %t4356 = getelementptr inbounds ptr, ptr %t4355, i32 %t4343 store ptr @.str8390, ptr %t4356 %t4357 = add i32 %t4343, 1 store i32 %t4357, ptr %t4340 %t4358 = load ptr, ptr %t459 %t4359 = getelementptr inbounds %LSlice, ptr %t4358, i32 0, i32 1 %t4360 = getelementptr inbounds %LSlice, ptr %t4358, i32 0, i32 2 %t4361 = getelementptr inbounds %LSlice, ptr %t4358, i32 0, i32 0 %t4362 = load i32, ptr %t4359 %t4363 = load i32, ptr %t4360 %t4364 = icmp sge i32 %t4362, %t4363 br i1 %t4364, label %grow882, label %put883 grow882: %t4365 = mul i32 %t4363, 2 %t4366 = icmp eq i32 %t4363, 0 %t4367 = select i1 %t4366, i32 8, i32 %t4365 %t4368 = getelementptr ptr, ptr null, i32 1 %t4369 = ptrtoint ptr %t4368 to i64 %t4370 = zext i32 %t4367 to i64 %t4371 = mul i64 %t4370, %t4369 %t4372 = load ptr, ptr %t4361 %t4373 = call ptr @realloc(ptr %t4372, i64 %t4371) store ptr %t4373, ptr %t4361 store i32 %t4367, ptr %t4360 br label %put883 put883: %t4374 = load ptr, ptr %t4361 %t4375 = getelementptr inbounds ptr, ptr %t4374, i32 %t4362 store ptr @.str8391, ptr %t4375 %t4376 = add i32 %t4362, 1 store i32 %t4376, ptr %t4359 br label %ifend873 ifend873: %t4377 = load ptr, ptr %t1 %t4378 = call i32 @lp_str_eq(ptr %t4377, ptr @.str8392) %t4379 = icmp ne i32 %t4378, 0 br i1 %t4379, label %then884, label %ifend886 then884: store ptr @.str8393, ptr %t452 %t4380 = load ptr, ptr %t459 %t4381 = getelementptr inbounds %LSlice, ptr %t4380, i32 0, i32 1 %t4382 = getelementptr inbounds %LSlice, ptr %t4380, i32 0, i32 2 %t4383 = getelementptr inbounds %LSlice, ptr %t4380, i32 0, i32 0 %t4384 = load i32, ptr %t4381 %t4385 = load i32, ptr %t4382 %t4386 = icmp sge i32 %t4384, %t4385 br i1 %t4386, label %grow887, label %put888 grow887: %t4387 = mul i32 %t4385, 2 %t4388 = icmp eq i32 %t4385, 0 %t4389 = select i1 %t4388, i32 8, i32 %t4387 %t4390 = getelementptr ptr, ptr null, i32 1 %t4391 = ptrtoint ptr %t4390 to i64 %t4392 = zext i32 %t4389 to i64 %t4393 = mul i64 %t4392, %t4391 %t4394 = load ptr, ptr %t4383 %t4395 = call ptr @realloc(ptr %t4394, i64 %t4393) store ptr %t4395, ptr %t4383 store i32 %t4389, ptr %t4382 br label %put888 put888: %t4396 = load ptr, ptr %t4383 %t4397 = getelementptr inbounds ptr, ptr %t4396, i32 %t4384 store ptr @.str8394, ptr %t4397 %t4398 = add i32 %t4384, 1 store i32 %t4398, ptr %t4381 br label %ifend886 ifend886: %t4399 = load ptr, ptr %t1 %t4400 = call i32 @lp_str_eq(ptr %t4399, ptr @.str8395) %t4401 = icmp ne i32 %t4400, 0 br i1 %t4401, label %then889, label %ifend891 then889: store ptr @.str8396, ptr %t452 %t4402 = load ptr, ptr %t459 %t4403 = getelementptr inbounds %LSlice, ptr %t4402, i32 0, i32 1 %t4404 = getelementptr inbounds %LSlice, ptr %t4402, i32 0, i32 2 %t4405 = getelementptr inbounds %LSlice, ptr %t4402, i32 0, i32 0 %t4406 = load i32, ptr %t4403 %t4407 = load i32, ptr %t4404 %t4408 = icmp sge i32 %t4406, %t4407 br i1 %t4408, label %grow892, label %put893 grow892: %t4409 = mul i32 %t4407, 2 %t4410 = icmp eq i32 %t4407, 0 %t4411 = select i1 %t4410, i32 8, i32 %t4409 %t4412 = getelementptr ptr, ptr null, i32 1 %t4413 = ptrtoint ptr %t4412 to i64 %t4414 = zext i32 %t4411 to i64 %t4415 = mul i64 %t4414, %t4413 %t4416 = load ptr, ptr %t4405 %t4417 = call ptr @realloc(ptr %t4416, i64 %t4415) store ptr %t4417, ptr %t4405 store i32 %t4411, ptr %t4404 br label %put893 put893: %t4418 = load ptr, ptr %t4405 %t4419 = getelementptr inbounds ptr, ptr %t4418, i32 %t4406 store ptr @.str8397, ptr %t4419 %t4420 = add i32 %t4406, 1 store i32 %t4420, ptr %t4403 br label %ifend891 ifend891: %t4421 = load ptr, ptr %t1 %t4422 = call i32 @lp_str_eq(ptr %t4421, ptr @.str8398) %t4423 = icmp ne i32 %t4422, 0 br i1 %t4423, label %then894, label %ifend896 then894: store ptr @.str8399, ptr %t452 %t4424 = load ptr, ptr %t459 %t4425 = getelementptr inbounds %LSlice, ptr %t4424, i32 0, i32 1 %t4426 = getelementptr inbounds %LSlice, ptr %t4424, i32 0, i32 2 %t4427 = getelementptr inbounds %LSlice, ptr %t4424, i32 0, i32 0 %t4428 = load i32, ptr %t4425 %t4429 = load i32, ptr %t4426 %t4430 = icmp sge i32 %t4428, %t4429 br i1 %t4430, label %grow897, label %put898 grow897: %t4431 = mul i32 %t4429, 2 %t4432 = icmp eq i32 %t4429, 0 %t4433 = select i1 %t4432, i32 8, i32 %t4431 %t4434 = getelementptr ptr, ptr null, i32 1 %t4435 = ptrtoint ptr %t4434 to i64 %t4436 = zext i32 %t4433 to i64 %t4437 = mul i64 %t4436, %t4435 %t4438 = load ptr, ptr %t4427 %t4439 = call ptr @realloc(ptr %t4438, i64 %t4437) store ptr %t4439, ptr %t4427 store i32 %t4433, ptr %t4426 br label %put898 put898: %t4440 = load ptr, ptr %t4427 %t4441 = getelementptr inbounds ptr, ptr %t4440, i32 %t4428 store ptr @.str8400, ptr %t4441 %t4442 = add i32 %t4428, 1 store i32 %t4442, ptr %t4425 %t4443 = load ptr, ptr %t459 %t4444 = getelementptr inbounds %LSlice, ptr %t4443, i32 0, i32 1 %t4445 = getelementptr inbounds %LSlice, ptr %t4443, i32 0, i32 2 %t4446 = getelementptr inbounds %LSlice, ptr %t4443, i32 0, i32 0 %t4447 = load i32, ptr %t4444 %t4448 = load i32, ptr %t4445 %t4449 = icmp sge i32 %t4447, %t4448 br i1 %t4449, label %grow899, label %put900 grow899: %t4450 = mul i32 %t4448, 2 %t4451 = icmp eq i32 %t4448, 0 %t4452 = select i1 %t4451, i32 8, i32 %t4450 %t4453 = getelementptr ptr, ptr null, i32 1 %t4454 = ptrtoint ptr %t4453 to i64 %t4455 = zext i32 %t4452 to i64 %t4456 = mul i64 %t4455, %t4454 %t4457 = load ptr, ptr %t4446 %t4458 = call ptr @realloc(ptr %t4457, i64 %t4456) store ptr %t4458, ptr %t4446 store i32 %t4452, ptr %t4445 br label %put900 put900: %t4459 = load ptr, ptr %t4446 %t4460 = getelementptr inbounds ptr, ptr %t4459, i32 %t4447 store ptr @.str8401, ptr %t4460 %t4461 = add i32 %t4447, 1 store i32 %t4461, ptr %t4444 %t4462 = load ptr, ptr %t459 %t4463 = getelementptr inbounds %LSlice, ptr %t4462, i32 0, i32 1 %t4464 = getelementptr inbounds %LSlice, ptr %t4462, i32 0, i32 2 %t4465 = getelementptr inbounds %LSlice, ptr %t4462, i32 0, i32 0 %t4466 = load i32, ptr %t4463 %t4467 = load i32, ptr %t4464 %t4468 = icmp sge i32 %t4466, %t4467 br i1 %t4468, label %grow901, label %put902 grow901: %t4469 = mul i32 %t4467, 2 %t4470 = icmp eq i32 %t4467, 0 %t4471 = select i1 %t4470, i32 8, i32 %t4469 %t4472 = getelementptr ptr, ptr null, i32 1 %t4473 = ptrtoint ptr %t4472 to i64 %t4474 = zext i32 %t4471 to i64 %t4475 = mul i64 %t4474, %t4473 %t4476 = load ptr, ptr %t4465 %t4477 = call ptr @realloc(ptr %t4476, i64 %t4475) store ptr %t4477, ptr %t4465 store i32 %t4471, ptr %t4464 br label %put902 put902: %t4478 = load ptr, ptr %t4465 %t4479 = getelementptr inbounds ptr, ptr %t4478, i32 %t4466 store ptr @.str8402, ptr %t4479 %t4480 = add i32 %t4466, 1 store i32 %t4480, ptr %t4463 br label %ifend896 ifend896: %t4481 = load ptr, ptr %t1 %t4482 = call i32 @lp_str_eq(ptr %t4481, ptr @.str8403) %t4483 = icmp ne i32 %t4482, 0 br i1 %t4483, label %then903, label %ifend905 then903: store ptr @.str8404, ptr %t452 %t4484 = load ptr, ptr %t459 %t4485 = getelementptr inbounds %LSlice, ptr %t4484, i32 0, i32 1 %t4486 = getelementptr inbounds %LSlice, ptr %t4484, i32 0, i32 2 %t4487 = getelementptr inbounds %LSlice, ptr %t4484, i32 0, i32 0 %t4488 = load i32, ptr %t4485 %t4489 = load i32, ptr %t4486 %t4490 = icmp sge i32 %t4488, %t4489 br i1 %t4490, label %grow906, label %put907 grow906: %t4491 = mul i32 %t4489, 2 %t4492 = icmp eq i32 %t4489, 0 %t4493 = select i1 %t4492, i32 8, i32 %t4491 %t4494 = getelementptr ptr, ptr null, i32 1 %t4495 = ptrtoint ptr %t4494 to i64 %t4496 = zext i32 %t4493 to i64 %t4497 = mul i64 %t4496, %t4495 %t4498 = load ptr, ptr %t4487 %t4499 = call ptr @realloc(ptr %t4498, i64 %t4497) store ptr %t4499, ptr %t4487 store i32 %t4493, ptr %t4486 br label %put907 put907: %t4500 = load ptr, ptr %t4487 %t4501 = getelementptr inbounds ptr, ptr %t4500, i32 %t4488 store ptr @.str8405, ptr %t4501 %t4502 = add i32 %t4488, 1 store i32 %t4502, ptr %t4485 %t4503 = load ptr, ptr %t459 %t4504 = getelementptr inbounds %LSlice, ptr %t4503, i32 0, i32 1 %t4505 = getelementptr inbounds %LSlice, ptr %t4503, i32 0, i32 2 %t4506 = getelementptr inbounds %LSlice, ptr %t4503, i32 0, i32 0 %t4507 = load i32, ptr %t4504 %t4508 = load i32, ptr %t4505 %t4509 = icmp sge i32 %t4507, %t4508 br i1 %t4509, label %grow908, label %put909 grow908: %t4510 = mul i32 %t4508, 2 %t4511 = icmp eq i32 %t4508, 0 %t4512 = select i1 %t4511, i32 8, i32 %t4510 %t4513 = getelementptr ptr, ptr null, i32 1 %t4514 = ptrtoint ptr %t4513 to i64 %t4515 = zext i32 %t4512 to i64 %t4516 = mul i64 %t4515, %t4514 %t4517 = load ptr, ptr %t4506 %t4518 = call ptr @realloc(ptr %t4517, i64 %t4516) store ptr %t4518, ptr %t4506 store i32 %t4512, ptr %t4505 br label %put909 put909: %t4519 = load ptr, ptr %t4506 %t4520 = getelementptr inbounds ptr, ptr %t4519, i32 %t4507 store ptr @.str8406, ptr %t4520 %t4521 = add i32 %t4507, 1 store i32 %t4521, ptr %t4504 br label %ifend905 ifend905: %t4522 = load ptr, ptr %t1 %t4523 = call i32 @lp_str_eq(ptr %t4522, ptr @.str8407) %t4524 = icmp ne i32 %t4523, 0 br i1 %t4524, label %then910, label %ifend912 then910: store ptr @.str8408, ptr %t452 %t4525 = load ptr, ptr %t459 %t4526 = getelementptr inbounds %LSlice, ptr %t4525, i32 0, i32 1 %t4527 = getelementptr inbounds %LSlice, ptr %t4525, i32 0, i32 2 %t4528 = getelementptr inbounds %LSlice, ptr %t4525, i32 0, i32 0 %t4529 = load i32, ptr %t4526 %t4530 = load i32, ptr %t4527 %t4531 = icmp sge i32 %t4529, %t4530 br i1 %t4531, label %grow913, label %put914 grow913: %t4532 = mul i32 %t4530, 2 %t4533 = icmp eq i32 %t4530, 0 %t4534 = select i1 %t4533, i32 8, i32 %t4532 %t4535 = getelementptr ptr, ptr null, i32 1 %t4536 = ptrtoint ptr %t4535 to i64 %t4537 = zext i32 %t4534 to i64 %t4538 = mul i64 %t4537, %t4536 %t4539 = load ptr, ptr %t4528 %t4540 = call ptr @realloc(ptr %t4539, i64 %t4538) store ptr %t4540, ptr %t4528 store i32 %t4534, ptr %t4527 br label %put914 put914: %t4541 = load ptr, ptr %t4528 %t4542 = getelementptr inbounds ptr, ptr %t4541, i32 %t4529 store ptr @.str8409, ptr %t4542 %t4543 = add i32 %t4529, 1 store i32 %t4543, ptr %t4526 %t4544 = load ptr, ptr %t459 %t4545 = getelementptr inbounds %LSlice, ptr %t4544, i32 0, i32 1 %t4546 = getelementptr inbounds %LSlice, ptr %t4544, i32 0, i32 2 %t4547 = getelementptr inbounds %LSlice, ptr %t4544, i32 0, i32 0 %t4548 = load i32, ptr %t4545 %t4549 = load i32, ptr %t4546 %t4550 = icmp sge i32 %t4548, %t4549 br i1 %t4550, label %grow915, label %put916 grow915: %t4551 = mul i32 %t4549, 2 %t4552 = icmp eq i32 %t4549, 0 %t4553 = select i1 %t4552, i32 8, i32 %t4551 %t4554 = getelementptr ptr, ptr null, i32 1 %t4555 = ptrtoint ptr %t4554 to i64 %t4556 = zext i32 %t4553 to i64 %t4557 = mul i64 %t4556, %t4555 %t4558 = load ptr, ptr %t4547 %t4559 = call ptr @realloc(ptr %t4558, i64 %t4557) store ptr %t4559, ptr %t4547 store i32 %t4553, ptr %t4546 br label %put916 put916: %t4560 = load ptr, ptr %t4547 %t4561 = getelementptr inbounds ptr, ptr %t4560, i32 %t4548 store ptr @.str8410, ptr %t4561 %t4562 = add i32 %t4548, 1 store i32 %t4562, ptr %t4545 br label %ifend912 ifend912: %t4563 = load ptr, ptr %t1 %t4564 = call i32 @lp_str_eq(ptr %t4563, ptr @.str8411) %t4565 = icmp ne i32 %t4564, 0 br i1 %t4565, label %then917, label %ifend919 then917: store ptr @.str8412, ptr %t452 %t4566 = load ptr, ptr %t459 %t4567 = getelementptr inbounds %LSlice, ptr %t4566, i32 0, i32 1 %t4568 = getelementptr inbounds %LSlice, ptr %t4566, i32 0, i32 2 %t4569 = getelementptr inbounds %LSlice, ptr %t4566, i32 0, i32 0 %t4570 = load i32, ptr %t4567 %t4571 = load i32, ptr %t4568 %t4572 = icmp sge i32 %t4570, %t4571 br i1 %t4572, label %grow920, label %put921 grow920: %t4573 = mul i32 %t4571, 2 %t4574 = icmp eq i32 %t4571, 0 %t4575 = select i1 %t4574, i32 8, i32 %t4573 %t4576 = getelementptr ptr, ptr null, i32 1 %t4577 = ptrtoint ptr %t4576 to i64 %t4578 = zext i32 %t4575 to i64 %t4579 = mul i64 %t4578, %t4577 %t4580 = load ptr, ptr %t4569 %t4581 = call ptr @realloc(ptr %t4580, i64 %t4579) store ptr %t4581, ptr %t4569 store i32 %t4575, ptr %t4568 br label %put921 put921: %t4582 = load ptr, ptr %t4569 %t4583 = getelementptr inbounds ptr, ptr %t4582, i32 %t4570 store ptr @.str8413, ptr %t4583 %t4584 = add i32 %t4570, 1 store i32 %t4584, ptr %t4567 br label %ifend919 ifend919: %t4585 = load ptr, ptr %t1 %t4586 = call i32 @lp_str_eq(ptr %t4585, ptr @.str8414) %t4587 = icmp ne i32 %t4586, 0 br i1 %t4587, label %then922, label %ifend924 then922: store ptr @.str8415, ptr %t452 br label %ifend924 ifend924: %t4588 = load ptr, ptr %t1 %t4589 = call i32 @lp_str_eq(ptr %t4588, ptr @.str8416) %t4590 = icmp ne i32 %t4589, 0 br i1 %t4590, label %then925, label %ifend927 then925: store ptr @.str8417, ptr %t452 br label %ifend927 ifend927: br label %ifend828 ifend828: %t4591 = load ptr, ptr %t0 %t4592 = call i32 @lp_str_eq(ptr %t4591, ptr @.str8418) %t4593 = icmp ne i32 %t4592, 0 br i1 %t4593, label %then928, label %ifend930 then928: %t4594 = load ptr, ptr %t1 %t4595 = call i32 @lp_str_eq(ptr %t4594, ptr @.str8419) %t4596 = icmp ne i32 %t4595, 0 br i1 %t4596, label %then931, label %ifend933 then931: store ptr @.str8420, ptr %t452 %t4597 = load ptr, ptr %t459 %t4598 = getelementptr inbounds %LSlice, ptr %t4597, i32 0, i32 1 %t4599 = getelementptr inbounds %LSlice, ptr %t4597, i32 0, i32 2 %t4600 = getelementptr inbounds %LSlice, ptr %t4597, i32 0, i32 0 %t4601 = load i32, ptr %t4598 %t4602 = load i32, ptr %t4599 %t4603 = icmp sge i32 %t4601, %t4602 br i1 %t4603, label %grow934, label %put935 grow934: %t4604 = mul i32 %t4602, 2 %t4605 = icmp eq i32 %t4602, 0 %t4606 = select i1 %t4605, i32 8, i32 %t4604 %t4607 = getelementptr ptr, ptr null, i32 1 %t4608 = ptrtoint ptr %t4607 to i64 %t4609 = zext i32 %t4606 to i64 %t4610 = mul i64 %t4609, %t4608 %t4611 = load ptr, ptr %t4600 %t4612 = call ptr @realloc(ptr %t4611, i64 %t4610) store ptr %t4612, ptr %t4600 store i32 %t4606, ptr %t4599 br label %put935 put935: %t4613 = load ptr, ptr %t4600 %t4614 = getelementptr inbounds ptr, ptr %t4613, i32 %t4601 store ptr @.str8421, ptr %t4614 %t4615 = add i32 %t4601, 1 store i32 %t4615, ptr %t4598 %t4616 = load ptr, ptr %t459 %t4617 = getelementptr inbounds %LSlice, ptr %t4616, i32 0, i32 1 %t4618 = getelementptr inbounds %LSlice, ptr %t4616, i32 0, i32 2 %t4619 = getelementptr inbounds %LSlice, ptr %t4616, i32 0, i32 0 %t4620 = load i32, ptr %t4617 %t4621 = load i32, ptr %t4618 %t4622 = icmp sge i32 %t4620, %t4621 br i1 %t4622, label %grow936, label %put937 grow936: %t4623 = mul i32 %t4621, 2 %t4624 = icmp eq i32 %t4621, 0 %t4625 = select i1 %t4624, i32 8, i32 %t4623 %t4626 = getelementptr ptr, ptr null, i32 1 %t4627 = ptrtoint ptr %t4626 to i64 %t4628 = zext i32 %t4625 to i64 %t4629 = mul i64 %t4628, %t4627 %t4630 = load ptr, ptr %t4619 %t4631 = call ptr @realloc(ptr %t4630, i64 %t4629) store ptr %t4631, ptr %t4619 store i32 %t4625, ptr %t4618 br label %put937 put937: %t4632 = load ptr, ptr %t4619 %t4633 = getelementptr inbounds ptr, ptr %t4632, i32 %t4620 store ptr @.str8422, ptr %t4633 %t4634 = add i32 %t4620, 1 store i32 %t4634, ptr %t4617 br label %ifend933 ifend933: %t4635 = load ptr, ptr %t1 %t4636 = call i32 @lp_str_eq(ptr %t4635, ptr @.str8423) %t4637 = icmp ne i32 %t4636, 0 br i1 %t4637, label %then938, label %ifend940 then938: store ptr @.str8424, ptr %t452 %t4638 = load ptr, ptr %t459 %t4639 = getelementptr inbounds %LSlice, ptr %t4638, i32 0, i32 1 %t4640 = getelementptr inbounds %LSlice, ptr %t4638, i32 0, i32 2 %t4641 = getelementptr inbounds %LSlice, ptr %t4638, i32 0, i32 0 %t4642 = load i32, ptr %t4639 %t4643 = load i32, ptr %t4640 %t4644 = icmp sge i32 %t4642, %t4643 br i1 %t4644, label %grow941, label %put942 grow941: %t4645 = mul i32 %t4643, 2 %t4646 = icmp eq i32 %t4643, 0 %t4647 = select i1 %t4646, i32 8, i32 %t4645 %t4648 = getelementptr ptr, ptr null, i32 1 %t4649 = ptrtoint ptr %t4648 to i64 %t4650 = zext i32 %t4647 to i64 %t4651 = mul i64 %t4650, %t4649 %t4652 = load ptr, ptr %t4641 %t4653 = call ptr @realloc(ptr %t4652, i64 %t4651) store ptr %t4653, ptr %t4641 store i32 %t4647, ptr %t4640 br label %put942 put942: %t4654 = load ptr, ptr %t4641 %t4655 = getelementptr inbounds ptr, ptr %t4654, i32 %t4642 store ptr @.str8425, ptr %t4655 %t4656 = add i32 %t4642, 1 store i32 %t4656, ptr %t4639 br label %ifend940 ifend940: %t4657 = load ptr, ptr %t1 %t4658 = call i32 @lp_str_eq(ptr %t4657, ptr @.str8426) %t4659 = icmp ne i32 %t4658, 0 br i1 %t4659, label %then943, label %ifend945 then943: store ptr @.str8427, ptr %t452 %t4660 = load ptr, ptr %t459 %t4661 = getelementptr inbounds %LSlice, ptr %t4660, i32 0, i32 1 %t4662 = getelementptr inbounds %LSlice, ptr %t4660, i32 0, i32 2 %t4663 = getelementptr inbounds %LSlice, ptr %t4660, i32 0, i32 0 %t4664 = load i32, ptr %t4661 %t4665 = load i32, ptr %t4662 %t4666 = icmp sge i32 %t4664, %t4665 br i1 %t4666, label %grow946, label %put947 grow946: %t4667 = mul i32 %t4665, 2 %t4668 = icmp eq i32 %t4665, 0 %t4669 = select i1 %t4668, i32 8, i32 %t4667 %t4670 = getelementptr ptr, ptr null, i32 1 %t4671 = ptrtoint ptr %t4670 to i64 %t4672 = zext i32 %t4669 to i64 %t4673 = mul i64 %t4672, %t4671 %t4674 = load ptr, ptr %t4663 %t4675 = call ptr @realloc(ptr %t4674, i64 %t4673) store ptr %t4675, ptr %t4663 store i32 %t4669, ptr %t4662 br label %put947 put947: %t4676 = load ptr, ptr %t4663 %t4677 = getelementptr inbounds ptr, ptr %t4676, i32 %t4664 store ptr @.str8428, ptr %t4677 %t4678 = add i32 %t4664, 1 store i32 %t4678, ptr %t4661 br label %ifend945 ifend945: %t4679 = load ptr, ptr %t1 %t4680 = call i32 @lp_str_eq(ptr %t4679, ptr @.str8429) %t4681 = icmp ne i32 %t4680, 0 br i1 %t4681, label %then948, label %ifend950 then948: store ptr @.str8430, ptr %t452 %t4682 = load ptr, ptr %t459 %t4683 = getelementptr inbounds %LSlice, ptr %t4682, i32 0, i32 1 %t4684 = getelementptr inbounds %LSlice, ptr %t4682, i32 0, i32 2 %t4685 = getelementptr inbounds %LSlice, ptr %t4682, i32 0, i32 0 %t4686 = load i32, ptr %t4683 %t4687 = load i32, ptr %t4684 %t4688 = icmp sge i32 %t4686, %t4687 br i1 %t4688, label %grow951, label %put952 grow951: %t4689 = mul i32 %t4687, 2 %t4690 = icmp eq i32 %t4687, 0 %t4691 = select i1 %t4690, i32 8, i32 %t4689 %t4692 = getelementptr ptr, ptr null, i32 1 %t4693 = ptrtoint ptr %t4692 to i64 %t4694 = zext i32 %t4691 to i64 %t4695 = mul i64 %t4694, %t4693 %t4696 = load ptr, ptr %t4685 %t4697 = call ptr @realloc(ptr %t4696, i64 %t4695) store ptr %t4697, ptr %t4685 store i32 %t4691, ptr %t4684 br label %put952 put952: %t4698 = load ptr, ptr %t4685 %t4699 = getelementptr inbounds ptr, ptr %t4698, i32 %t4686 store ptr @.str8431, ptr %t4699 %t4700 = add i32 %t4686, 1 store i32 %t4700, ptr %t4683 br label %ifend950 ifend950: %t4701 = load ptr, ptr %t1 %t4702 = call i32 @lp_str_eq(ptr %t4701, ptr @.str8432) %t4703 = icmp ne i32 %t4702, 0 br i1 %t4703, label %then953, label %ifend955 then953: store ptr @.str8433, ptr %t452 br label %ifend955 ifend955: %t4704 = load ptr, ptr %t1 %t4705 = call i32 @lp_str_eq(ptr %t4704, ptr @.str8434) %t4706 = icmp ne i32 %t4705, 0 br i1 %t4706, label %then956, label %ifend958 then956: store ptr @.str8435, ptr %t452 %t4707 = load ptr, ptr %t459 %t4708 = getelementptr inbounds %LSlice, ptr %t4707, i32 0, i32 1 %t4709 = getelementptr inbounds %LSlice, ptr %t4707, i32 0, i32 2 %t4710 = getelementptr inbounds %LSlice, ptr %t4707, i32 0, i32 0 %t4711 = load i32, ptr %t4708 %t4712 = load i32, ptr %t4709 %t4713 = icmp sge i32 %t4711, %t4712 br i1 %t4713, label %grow959, label %put960 grow959: %t4714 = mul i32 %t4712, 2 %t4715 = icmp eq i32 %t4712, 0 %t4716 = select i1 %t4715, i32 8, i32 %t4714 %t4717 = getelementptr ptr, ptr null, i32 1 %t4718 = ptrtoint ptr %t4717 to i64 %t4719 = zext i32 %t4716 to i64 %t4720 = mul i64 %t4719, %t4718 %t4721 = load ptr, ptr %t4710 %t4722 = call ptr @realloc(ptr %t4721, i64 %t4720) store ptr %t4722, ptr %t4710 store i32 %t4716, ptr %t4709 br label %put960 put960: %t4723 = load ptr, ptr %t4710 %t4724 = getelementptr inbounds ptr, ptr %t4723, i32 %t4711 store ptr @.str8436, ptr %t4724 %t4725 = add i32 %t4711, 1 store i32 %t4725, ptr %t4708 br label %ifend958 ifend958: %t4726 = load ptr, ptr %t1 %t4727 = call i32 @lp_str_eq(ptr %t4726, ptr @.str8437) %t4728 = icmp ne i32 %t4727, 0 br i1 %t4728, label %then961, label %ifend963 then961: store ptr @.str8438, ptr %t452 br label %ifend963 ifend963: br label %ifend930 ifend930: %t4729 = load ptr, ptr %t0 %t4730 = call i32 @lp_str_eq(ptr %t4729, ptr @.str8439) %t4731 = icmp ne i32 %t4730, 0 br i1 %t4731, label %then964, label %ifend966 then964: %t4732 = load ptr, ptr %t1 %t4733 = call i32 @lp_str_eq(ptr %t4732, ptr @.str8440) %t4734 = icmp ne i32 %t4733, 0 br i1 %t4734, label %then967, label %ifend969 then967: store ptr @.str8441, ptr %t452 br label %ifend969 ifend969: %t4735 = load ptr, ptr %t1 %t4736 = call i32 @lp_str_eq(ptr %t4735, ptr @.str8442) %t4737 = icmp ne i32 %t4736, 0 br i1 %t4737, label %then970, label %ifend972 then970: store ptr @.str8443, ptr %t452 %t4738 = load ptr, ptr %t459 %t4739 = getelementptr inbounds %LSlice, ptr %t4738, i32 0, i32 1 %t4740 = getelementptr inbounds %LSlice, ptr %t4738, i32 0, i32 2 %t4741 = getelementptr inbounds %LSlice, ptr %t4738, i32 0, i32 0 %t4742 = load i32, ptr %t4739 %t4743 = load i32, ptr %t4740 %t4744 = icmp sge i32 %t4742, %t4743 br i1 %t4744, label %grow973, label %put974 grow973: %t4745 = mul i32 %t4743, 2 %t4746 = icmp eq i32 %t4743, 0 %t4747 = select i1 %t4746, i32 8, i32 %t4745 %t4748 = getelementptr ptr, ptr null, i32 1 %t4749 = ptrtoint ptr %t4748 to i64 %t4750 = zext i32 %t4747 to i64 %t4751 = mul i64 %t4750, %t4749 %t4752 = load ptr, ptr %t4741 %t4753 = call ptr @realloc(ptr %t4752, i64 %t4751) store ptr %t4753, ptr %t4741 store i32 %t4747, ptr %t4740 br label %put974 put974: %t4754 = load ptr, ptr %t4741 %t4755 = getelementptr inbounds ptr, ptr %t4754, i32 %t4742 store ptr @.str8444, ptr %t4755 %t4756 = add i32 %t4742, 1 store i32 %t4756, ptr %t4739 %t4757 = load ptr, ptr %t459 %t4758 = getelementptr inbounds %LSlice, ptr %t4757, i32 0, i32 1 %t4759 = getelementptr inbounds %LSlice, ptr %t4757, i32 0, i32 2 %t4760 = getelementptr inbounds %LSlice, ptr %t4757, i32 0, i32 0 %t4761 = load i32, ptr %t4758 %t4762 = load i32, ptr %t4759 %t4763 = icmp sge i32 %t4761, %t4762 br i1 %t4763, label %grow975, label %put976 grow975: %t4764 = mul i32 %t4762, 2 %t4765 = icmp eq i32 %t4762, 0 %t4766 = select i1 %t4765, i32 8, i32 %t4764 %t4767 = getelementptr ptr, ptr null, i32 1 %t4768 = ptrtoint ptr %t4767 to i64 %t4769 = zext i32 %t4766 to i64 %t4770 = mul i64 %t4769, %t4768 %t4771 = load ptr, ptr %t4760 %t4772 = call ptr @realloc(ptr %t4771, i64 %t4770) store ptr %t4772, ptr %t4760 store i32 %t4766, ptr %t4759 br label %put976 put976: %t4773 = load ptr, ptr %t4760 %t4774 = getelementptr inbounds ptr, ptr %t4773, i32 %t4761 store ptr @.str8445, ptr %t4774 %t4775 = add i32 %t4761, 1 store i32 %t4775, ptr %t4758 br label %ifend972 ifend972: %t4776 = load ptr, ptr %t1 %t4777 = call i32 @lp_str_eq(ptr %t4776, ptr @.str8446) %t4778 = icmp ne i32 %t4777, 0 br i1 %t4778, label %then977, label %ifend979 then977: store ptr @.str8447, ptr %t452 %t4779 = load ptr, ptr %t459 %t4780 = getelementptr inbounds %LSlice, ptr %t4779, i32 0, i32 1 %t4781 = getelementptr inbounds %LSlice, ptr %t4779, i32 0, i32 2 %t4782 = getelementptr inbounds %LSlice, ptr %t4779, i32 0, i32 0 %t4783 = load i32, ptr %t4780 %t4784 = load i32, ptr %t4781 %t4785 = icmp sge i32 %t4783, %t4784 br i1 %t4785, label %grow980, label %put981 grow980: %t4786 = mul i32 %t4784, 2 %t4787 = icmp eq i32 %t4784, 0 %t4788 = select i1 %t4787, i32 8, i32 %t4786 %t4789 = getelementptr ptr, ptr null, i32 1 %t4790 = ptrtoint ptr %t4789 to i64 %t4791 = zext i32 %t4788 to i64 %t4792 = mul i64 %t4791, %t4790 %t4793 = load ptr, ptr %t4782 %t4794 = call ptr @realloc(ptr %t4793, i64 %t4792) store ptr %t4794, ptr %t4782 store i32 %t4788, ptr %t4781 br label %put981 put981: %t4795 = load ptr, ptr %t4782 %t4796 = getelementptr inbounds ptr, ptr %t4795, i32 %t4783 store ptr @.str8448, ptr %t4796 %t4797 = add i32 %t4783, 1 store i32 %t4797, ptr %t4780 %t4798 = load ptr, ptr %t459 %t4799 = getelementptr inbounds %LSlice, ptr %t4798, i32 0, i32 1 %t4800 = getelementptr inbounds %LSlice, ptr %t4798, i32 0, i32 2 %t4801 = getelementptr inbounds %LSlice, ptr %t4798, i32 0, i32 0 %t4802 = load i32, ptr %t4799 %t4803 = load i32, ptr %t4800 %t4804 = icmp sge i32 %t4802, %t4803 br i1 %t4804, label %grow982, label %put983 grow982: %t4805 = mul i32 %t4803, 2 %t4806 = icmp eq i32 %t4803, 0 %t4807 = select i1 %t4806, i32 8, i32 %t4805 %t4808 = getelementptr ptr, ptr null, i32 1 %t4809 = ptrtoint ptr %t4808 to i64 %t4810 = zext i32 %t4807 to i64 %t4811 = mul i64 %t4810, %t4809 %t4812 = load ptr, ptr %t4801 %t4813 = call ptr @realloc(ptr %t4812, i64 %t4811) store ptr %t4813, ptr %t4801 store i32 %t4807, ptr %t4800 br label %put983 put983: %t4814 = load ptr, ptr %t4801 %t4815 = getelementptr inbounds ptr, ptr %t4814, i32 %t4802 store ptr @.str8449, ptr %t4815 %t4816 = add i32 %t4802, 1 store i32 %t4816, ptr %t4799 %t4817 = load ptr, ptr %t459 %t4818 = getelementptr inbounds %LSlice, ptr %t4817, i32 0, i32 1 %t4819 = getelementptr inbounds %LSlice, ptr %t4817, i32 0, i32 2 %t4820 = getelementptr inbounds %LSlice, ptr %t4817, i32 0, i32 0 %t4821 = load i32, ptr %t4818 %t4822 = load i32, ptr %t4819 %t4823 = icmp sge i32 %t4821, %t4822 br i1 %t4823, label %grow984, label %put985 grow984: %t4824 = mul i32 %t4822, 2 %t4825 = icmp eq i32 %t4822, 0 %t4826 = select i1 %t4825, i32 8, i32 %t4824 %t4827 = getelementptr ptr, ptr null, i32 1 %t4828 = ptrtoint ptr %t4827 to i64 %t4829 = zext i32 %t4826 to i64 %t4830 = mul i64 %t4829, %t4828 %t4831 = load ptr, ptr %t4820 %t4832 = call ptr @realloc(ptr %t4831, i64 %t4830) store ptr %t4832, ptr %t4820 store i32 %t4826, ptr %t4819 br label %put985 put985: %t4833 = load ptr, ptr %t4820 %t4834 = getelementptr inbounds ptr, ptr %t4833, i32 %t4821 store ptr @.str8450, ptr %t4834 %t4835 = add i32 %t4821, 1 store i32 %t4835, ptr %t4818 br label %ifend979 ifend979: %t4836 = load ptr, ptr %t1 %t4837 = call i32 @lp_str_eq(ptr %t4836, ptr @.str8451) %t4838 = icmp ne i32 %t4837, 0 br i1 %t4838, label %then986, label %ifend988 then986: store ptr @.str8452, ptr %t452 br label %ifend988 ifend988: %t4839 = load ptr, ptr %t1 %t4840 = call i32 @lp_str_eq(ptr %t4839, ptr @.str8453) %t4841 = icmp ne i32 %t4840, 0 br i1 %t4841, label %then989, label %ifend991 then989: store ptr @.str8454, ptr %t452 br label %ifend991 ifend991: %t4842 = load ptr, ptr %t1 %t4843 = call i32 @lp_str_eq(ptr %t4842, ptr @.str8455) %t4844 = icmp ne i32 %t4843, 0 br i1 %t4844, label %then992, label %ifend994 then992: store ptr @.str8456, ptr %t452 br label %ifend994 ifend994: %t4845 = load ptr, ptr %t1 %t4846 = call i32 @lp_str_eq(ptr %t4845, ptr @.str8457) %t4847 = icmp ne i32 %t4846, 0 br i1 %t4847, label %then995, label %ifend997 then995: store ptr @.str8458, ptr %t452 br label %ifend997 ifend997: %t4848 = load ptr, ptr %t1 %t4849 = call i32 @lp_str_eq(ptr %t4848, ptr @.str8459) %t4850 = icmp ne i32 %t4849, 0 br i1 %t4850, label %then998, label %ifend1000 then998: store ptr @.str8460, ptr %t452 br label %ifend1000 ifend1000: %t4851 = load ptr, ptr %t1 %t4852 = call i32 @lp_str_eq(ptr %t4851, ptr @.str8461) %t4853 = icmp ne i32 %t4852, 0 br i1 %t4853, label %then1001, label %ifend1003 then1001: store ptr @.str8462, ptr %t452 %t4854 = load ptr, ptr %t459 %t4855 = getelementptr inbounds %LSlice, ptr %t4854, i32 0, i32 1 %t4856 = getelementptr inbounds %LSlice, ptr %t4854, i32 0, i32 2 %t4857 = getelementptr inbounds %LSlice, ptr %t4854, i32 0, i32 0 %t4858 = load i32, ptr %t4855 %t4859 = load i32, ptr %t4856 %t4860 = icmp sge i32 %t4858, %t4859 br i1 %t4860, label %grow1004, label %put1005 grow1004: %t4861 = mul i32 %t4859, 2 %t4862 = icmp eq i32 %t4859, 0 %t4863 = select i1 %t4862, i32 8, i32 %t4861 %t4864 = getelementptr ptr, ptr null, i32 1 %t4865 = ptrtoint ptr %t4864 to i64 %t4866 = zext i32 %t4863 to i64 %t4867 = mul i64 %t4866, %t4865 %t4868 = load ptr, ptr %t4857 %t4869 = call ptr @realloc(ptr %t4868, i64 %t4867) store ptr %t4869, ptr %t4857 store i32 %t4863, ptr %t4856 br label %put1005 put1005: %t4870 = load ptr, ptr %t4857 %t4871 = getelementptr inbounds ptr, ptr %t4870, i32 %t4858 store ptr @.str8463, ptr %t4871 %t4872 = add i32 %t4858, 1 store i32 %t4872, ptr %t4855 %t4873 = load ptr, ptr %t459 %t4874 = getelementptr inbounds %LSlice, ptr %t4873, i32 0, i32 1 %t4875 = getelementptr inbounds %LSlice, ptr %t4873, i32 0, i32 2 %t4876 = getelementptr inbounds %LSlice, ptr %t4873, i32 0, i32 0 %t4877 = load i32, ptr %t4874 %t4878 = load i32, ptr %t4875 %t4879 = icmp sge i32 %t4877, %t4878 br i1 %t4879, label %grow1006, label %put1007 grow1006: %t4880 = mul i32 %t4878, 2 %t4881 = icmp eq i32 %t4878, 0 %t4882 = select i1 %t4881, i32 8, i32 %t4880 %t4883 = getelementptr ptr, ptr null, i32 1 %t4884 = ptrtoint ptr %t4883 to i64 %t4885 = zext i32 %t4882 to i64 %t4886 = mul i64 %t4885, %t4884 %t4887 = load ptr, ptr %t4876 %t4888 = call ptr @realloc(ptr %t4887, i64 %t4886) store ptr %t4888, ptr %t4876 store i32 %t4882, ptr %t4875 br label %put1007 put1007: %t4889 = load ptr, ptr %t4876 %t4890 = getelementptr inbounds ptr, ptr %t4889, i32 %t4877 store ptr @.str8464, ptr %t4890 %t4891 = add i32 %t4877, 1 store i32 %t4891, ptr %t4874 br label %ifend1003 ifend1003: %t4892 = load ptr, ptr %t1 %t4893 = call i32 @lp_str_eq(ptr %t4892, ptr @.str8465) %t4894 = icmp ne i32 %t4893, 0 br i1 %t4894, label %then1008, label %ifend1010 then1008: store ptr @.str8466, ptr %t452 %t4895 = load ptr, ptr %t459 %t4896 = getelementptr inbounds %LSlice, ptr %t4895, i32 0, i32 1 %t4897 = getelementptr inbounds %LSlice, ptr %t4895, i32 0, i32 2 %t4898 = getelementptr inbounds %LSlice, ptr %t4895, i32 0, i32 0 %t4899 = load i32, ptr %t4896 %t4900 = load i32, ptr %t4897 %t4901 = icmp sge i32 %t4899, %t4900 br i1 %t4901, label %grow1011, label %put1012 grow1011: %t4902 = mul i32 %t4900, 2 %t4903 = icmp eq i32 %t4900, 0 %t4904 = select i1 %t4903, i32 8, i32 %t4902 %t4905 = getelementptr ptr, ptr null, i32 1 %t4906 = ptrtoint ptr %t4905 to i64 %t4907 = zext i32 %t4904 to i64 %t4908 = mul i64 %t4907, %t4906 %t4909 = load ptr, ptr %t4898 %t4910 = call ptr @realloc(ptr %t4909, i64 %t4908) store ptr %t4910, ptr %t4898 store i32 %t4904, ptr %t4897 br label %put1012 put1012: %t4911 = load ptr, ptr %t4898 %t4912 = getelementptr inbounds ptr, ptr %t4911, i32 %t4899 store ptr @.str8467, ptr %t4912 %t4913 = add i32 %t4899, 1 store i32 %t4913, ptr %t4896 %t4914 = load ptr, ptr %t459 %t4915 = getelementptr inbounds %LSlice, ptr %t4914, i32 0, i32 1 %t4916 = getelementptr inbounds %LSlice, ptr %t4914, i32 0, i32 2 %t4917 = getelementptr inbounds %LSlice, ptr %t4914, i32 0, i32 0 %t4918 = load i32, ptr %t4915 %t4919 = load i32, ptr %t4916 %t4920 = icmp sge i32 %t4918, %t4919 br i1 %t4920, label %grow1013, label %put1014 grow1013: %t4921 = mul i32 %t4919, 2 %t4922 = icmp eq i32 %t4919, 0 %t4923 = select i1 %t4922, i32 8, i32 %t4921 %t4924 = getelementptr ptr, ptr null, i32 1 %t4925 = ptrtoint ptr %t4924 to i64 %t4926 = zext i32 %t4923 to i64 %t4927 = mul i64 %t4926, %t4925 %t4928 = load ptr, ptr %t4917 %t4929 = call ptr @realloc(ptr %t4928, i64 %t4927) store ptr %t4929, ptr %t4917 store i32 %t4923, ptr %t4916 br label %put1014 put1014: %t4930 = load ptr, ptr %t4917 %t4931 = getelementptr inbounds ptr, ptr %t4930, i32 %t4918 store ptr @.str8468, ptr %t4931 %t4932 = add i32 %t4918, 1 store i32 %t4932, ptr %t4915 br label %ifend1010 ifend1010: %t4933 = load ptr, ptr %t1 %t4934 = call i32 @lp_str_eq(ptr %t4933, ptr @.str8469) %t4935 = icmp ne i32 %t4934, 0 br i1 %t4935, label %then1015, label %ifend1017 then1015: store ptr @.str8470, ptr %t452 %t4936 = load ptr, ptr %t459 %t4937 = getelementptr inbounds %LSlice, ptr %t4936, i32 0, i32 1 %t4938 = getelementptr inbounds %LSlice, ptr %t4936, i32 0, i32 2 %t4939 = getelementptr inbounds %LSlice, ptr %t4936, i32 0, i32 0 %t4940 = load i32, ptr %t4937 %t4941 = load i32, ptr %t4938 %t4942 = icmp sge i32 %t4940, %t4941 br i1 %t4942, label %grow1018, label %put1019 grow1018: %t4943 = mul i32 %t4941, 2 %t4944 = icmp eq i32 %t4941, 0 %t4945 = select i1 %t4944, i32 8, i32 %t4943 %t4946 = getelementptr ptr, ptr null, i32 1 %t4947 = ptrtoint ptr %t4946 to i64 %t4948 = zext i32 %t4945 to i64 %t4949 = mul i64 %t4948, %t4947 %t4950 = load ptr, ptr %t4939 %t4951 = call ptr @realloc(ptr %t4950, i64 %t4949) store ptr %t4951, ptr %t4939 store i32 %t4945, ptr %t4938 br label %put1019 put1019: %t4952 = load ptr, ptr %t4939 %t4953 = getelementptr inbounds ptr, ptr %t4952, i32 %t4940 store ptr @.str8471, ptr %t4953 %t4954 = add i32 %t4940, 1 store i32 %t4954, ptr %t4937 br label %ifend1017 ifend1017: %t4955 = load ptr, ptr %t1 %t4956 = call i32 @lp_str_eq(ptr %t4955, ptr @.str8472) %t4957 = icmp ne i32 %t4956, 0 br i1 %t4957, label %then1020, label %ifend1022 then1020: store ptr @.str8473, ptr %t452 %t4958 = load ptr, ptr %t459 %t4959 = getelementptr inbounds %LSlice, ptr %t4958, i32 0, i32 1 %t4960 = getelementptr inbounds %LSlice, ptr %t4958, i32 0, i32 2 %t4961 = getelementptr inbounds %LSlice, ptr %t4958, i32 0, i32 0 %t4962 = load i32, ptr %t4959 %t4963 = load i32, ptr %t4960 %t4964 = icmp sge i32 %t4962, %t4963 br i1 %t4964, label %grow1023, label %put1024 grow1023: %t4965 = mul i32 %t4963, 2 %t4966 = icmp eq i32 %t4963, 0 %t4967 = select i1 %t4966, i32 8, i32 %t4965 %t4968 = getelementptr ptr, ptr null, i32 1 %t4969 = ptrtoint ptr %t4968 to i64 %t4970 = zext i32 %t4967 to i64 %t4971 = mul i64 %t4970, %t4969 %t4972 = load ptr, ptr %t4961 %t4973 = call ptr @realloc(ptr %t4972, i64 %t4971) store ptr %t4973, ptr %t4961 store i32 %t4967, ptr %t4960 br label %put1024 put1024: %t4974 = load ptr, ptr %t4961 %t4975 = getelementptr inbounds ptr, ptr %t4974, i32 %t4962 store ptr @.str8474, ptr %t4975 %t4976 = add i32 %t4962, 1 store i32 %t4976, ptr %t4959 br label %ifend1022 ifend1022: %t4977 = load ptr, ptr %t1 %t4978 = call i32 @lp_str_eq(ptr %t4977, ptr @.str8475) %t4979 = icmp ne i32 %t4978, 0 br i1 %t4979, label %then1025, label %ifend1027 then1025: store ptr @.str8476, ptr %t452 %t4980 = load ptr, ptr %t459 %t4981 = getelementptr inbounds %LSlice, ptr %t4980, i32 0, i32 1 %t4982 = getelementptr inbounds %LSlice, ptr %t4980, i32 0, i32 2 %t4983 = getelementptr inbounds %LSlice, ptr %t4980, i32 0, i32 0 %t4984 = load i32, ptr %t4981 %t4985 = load i32, ptr %t4982 %t4986 = icmp sge i32 %t4984, %t4985 br i1 %t4986, label %grow1028, label %put1029 grow1028: %t4987 = mul i32 %t4985, 2 %t4988 = icmp eq i32 %t4985, 0 %t4989 = select i1 %t4988, i32 8, i32 %t4987 %t4990 = getelementptr ptr, ptr null, i32 1 %t4991 = ptrtoint ptr %t4990 to i64 %t4992 = zext i32 %t4989 to i64 %t4993 = mul i64 %t4992, %t4991 %t4994 = load ptr, ptr %t4983 %t4995 = call ptr @realloc(ptr %t4994, i64 %t4993) store ptr %t4995, ptr %t4983 store i32 %t4989, ptr %t4982 br label %put1029 put1029: %t4996 = load ptr, ptr %t4983 %t4997 = getelementptr inbounds ptr, ptr %t4996, i32 %t4984 store ptr @.str8477, ptr %t4997 %t4998 = add i32 %t4984, 1 store i32 %t4998, ptr %t4981 br label %ifend1027 ifend1027: %t4999 = load ptr, ptr %t1 %t5000 = call i32 @lp_str_eq(ptr %t4999, ptr @.str8478) %t5001 = icmp ne i32 %t5000, 0 br i1 %t5001, label %then1030, label %ifend1032 then1030: store ptr @.str8479, ptr %t452 %t5002 = load ptr, ptr %t459 %t5003 = getelementptr inbounds %LSlice, ptr %t5002, i32 0, i32 1 %t5004 = getelementptr inbounds %LSlice, ptr %t5002, i32 0, i32 2 %t5005 = getelementptr inbounds %LSlice, ptr %t5002, i32 0, i32 0 %t5006 = load i32, ptr %t5003 %t5007 = load i32, ptr %t5004 %t5008 = icmp sge i32 %t5006, %t5007 br i1 %t5008, label %grow1033, label %put1034 grow1033: %t5009 = mul i32 %t5007, 2 %t5010 = icmp eq i32 %t5007, 0 %t5011 = select i1 %t5010, i32 8, i32 %t5009 %t5012 = getelementptr ptr, ptr null, i32 1 %t5013 = ptrtoint ptr %t5012 to i64 %t5014 = zext i32 %t5011 to i64 %t5015 = mul i64 %t5014, %t5013 %t5016 = load ptr, ptr %t5005 %t5017 = call ptr @realloc(ptr %t5016, i64 %t5015) store ptr %t5017, ptr %t5005 store i32 %t5011, ptr %t5004 br label %put1034 put1034: %t5018 = load ptr, ptr %t5005 %t5019 = getelementptr inbounds ptr, ptr %t5018, i32 %t5006 store ptr @.str8480, ptr %t5019 %t5020 = add i32 %t5006, 1 store i32 %t5020, ptr %t5003 br label %ifend1032 ifend1032: %t5021 = load ptr, ptr %t1 %t5022 = call i32 @lp_str_eq(ptr %t5021, ptr @.str8481) %t5023 = icmp ne i32 %t5022, 0 br i1 %t5023, label %then1035, label %ifend1037 then1035: store ptr @.str8482, ptr %t452 %t5024 = load ptr, ptr %t459 %t5025 = getelementptr inbounds %LSlice, ptr %t5024, i32 0, i32 1 %t5026 = getelementptr inbounds %LSlice, ptr %t5024, i32 0, i32 2 %t5027 = getelementptr inbounds %LSlice, ptr %t5024, i32 0, i32 0 %t5028 = load i32, ptr %t5025 %t5029 = load i32, ptr %t5026 %t5030 = icmp sge i32 %t5028, %t5029 br i1 %t5030, label %grow1038, label %put1039 grow1038: %t5031 = mul i32 %t5029, 2 %t5032 = icmp eq i32 %t5029, 0 %t5033 = select i1 %t5032, i32 8, i32 %t5031 %t5034 = getelementptr ptr, ptr null, i32 1 %t5035 = ptrtoint ptr %t5034 to i64 %t5036 = zext i32 %t5033 to i64 %t5037 = mul i64 %t5036, %t5035 %t5038 = load ptr, ptr %t5027 %t5039 = call ptr @realloc(ptr %t5038, i64 %t5037) store ptr %t5039, ptr %t5027 store i32 %t5033, ptr %t5026 br label %put1039 put1039: %t5040 = load ptr, ptr %t5027 %t5041 = getelementptr inbounds ptr, ptr %t5040, i32 %t5028 store ptr @.str8483, ptr %t5041 %t5042 = add i32 %t5028, 1 store i32 %t5042, ptr %t5025 br label %ifend1037 ifend1037: %t5043 = load ptr, ptr %t1 %t5044 = call i32 @lp_str_eq(ptr %t5043, ptr @.str8484) %t5045 = icmp ne i32 %t5044, 0 br i1 %t5045, label %then1040, label %ifend1042 then1040: store ptr @.str8485, ptr %t452 %t5046 = load ptr, ptr %t459 %t5047 = getelementptr inbounds %LSlice, ptr %t5046, i32 0, i32 1 %t5048 = getelementptr inbounds %LSlice, ptr %t5046, i32 0, i32 2 %t5049 = getelementptr inbounds %LSlice, ptr %t5046, i32 0, i32 0 %t5050 = load i32, ptr %t5047 %t5051 = load i32, ptr %t5048 %t5052 = icmp sge i32 %t5050, %t5051 br i1 %t5052, label %grow1043, label %put1044 grow1043: %t5053 = mul i32 %t5051, 2 %t5054 = icmp eq i32 %t5051, 0 %t5055 = select i1 %t5054, i32 8, i32 %t5053 %t5056 = getelementptr ptr, ptr null, i32 1 %t5057 = ptrtoint ptr %t5056 to i64 %t5058 = zext i32 %t5055 to i64 %t5059 = mul i64 %t5058, %t5057 %t5060 = load ptr, ptr %t5049 %t5061 = call ptr @realloc(ptr %t5060, i64 %t5059) store ptr %t5061, ptr %t5049 store i32 %t5055, ptr %t5048 br label %put1044 put1044: %t5062 = load ptr, ptr %t5049 %t5063 = getelementptr inbounds ptr, ptr %t5062, i32 %t5050 store ptr @.str8486, ptr %t5063 %t5064 = add i32 %t5050, 1 store i32 %t5064, ptr %t5047 br label %ifend1042 ifend1042: %t5065 = load ptr, ptr %t1 %t5066 = call i32 @lp_str_eq(ptr %t5065, ptr @.str8487) %t5067 = icmp ne i32 %t5066, 0 br i1 %t5067, label %then1045, label %ifend1047 then1045: store ptr @.str8488, ptr %t452 %t5068 = load ptr, ptr %t459 %t5069 = getelementptr inbounds %LSlice, ptr %t5068, i32 0, i32 1 %t5070 = getelementptr inbounds %LSlice, ptr %t5068, i32 0, i32 2 %t5071 = getelementptr inbounds %LSlice, ptr %t5068, i32 0, i32 0 %t5072 = load i32, ptr %t5069 %t5073 = load i32, ptr %t5070 %t5074 = icmp sge i32 %t5072, %t5073 br i1 %t5074, label %grow1048, label %put1049 grow1048: %t5075 = mul i32 %t5073, 2 %t5076 = icmp eq i32 %t5073, 0 %t5077 = select i1 %t5076, i32 8, i32 %t5075 %t5078 = getelementptr ptr, ptr null, i32 1 %t5079 = ptrtoint ptr %t5078 to i64 %t5080 = zext i32 %t5077 to i64 %t5081 = mul i64 %t5080, %t5079 %t5082 = load ptr, ptr %t5071 %t5083 = call ptr @realloc(ptr %t5082, i64 %t5081) store ptr %t5083, ptr %t5071 store i32 %t5077, ptr %t5070 br label %put1049 put1049: %t5084 = load ptr, ptr %t5071 %t5085 = getelementptr inbounds ptr, ptr %t5084, i32 %t5072 store ptr @.str8489, ptr %t5085 %t5086 = add i32 %t5072, 1 store i32 %t5086, ptr %t5069 br label %ifend1047 ifend1047: %t5087 = load ptr, ptr %t1 %t5088 = call i32 @lp_str_eq(ptr %t5087, ptr @.str8490) %t5089 = icmp ne i32 %t5088, 0 br i1 %t5089, label %then1050, label %ifend1052 then1050: store ptr @.str8491, ptr %t452 br label %ifend1052 ifend1052: %t5090 = load ptr, ptr %t1 %t5091 = call i32 @lp_str_eq(ptr %t5090, ptr @.str8492) %t5092 = icmp ne i32 %t5091, 0 br i1 %t5092, label %then1053, label %ifend1055 then1053: store ptr @.str8493, ptr %t452 %t5093 = load ptr, ptr %t459 %t5094 = getelementptr inbounds %LSlice, ptr %t5093, i32 0, i32 1 %t5095 = getelementptr inbounds %LSlice, ptr %t5093, i32 0, i32 2 %t5096 = getelementptr inbounds %LSlice, ptr %t5093, i32 0, i32 0 %t5097 = load i32, ptr %t5094 %t5098 = load i32, ptr %t5095 %t5099 = icmp sge i32 %t5097, %t5098 br i1 %t5099, label %grow1056, label %put1057 grow1056: %t5100 = mul i32 %t5098, 2 %t5101 = icmp eq i32 %t5098, 0 %t5102 = select i1 %t5101, i32 8, i32 %t5100 %t5103 = getelementptr ptr, ptr null, i32 1 %t5104 = ptrtoint ptr %t5103 to i64 %t5105 = zext i32 %t5102 to i64 %t5106 = mul i64 %t5105, %t5104 %t5107 = load ptr, ptr %t5096 %t5108 = call ptr @realloc(ptr %t5107, i64 %t5106) store ptr %t5108, ptr %t5096 store i32 %t5102, ptr %t5095 br label %put1057 put1057: %t5109 = load ptr, ptr %t5096 %t5110 = getelementptr inbounds ptr, ptr %t5109, i32 %t5097 store ptr @.str8494, ptr %t5110 %t5111 = add i32 %t5097, 1 store i32 %t5111, ptr %t5094 br label %ifend1055 ifend1055: %t5112 = load ptr, ptr %t1 %t5113 = call i32 @lp_str_eq(ptr %t5112, ptr @.str8495) %t5114 = icmp ne i32 %t5113, 0 br i1 %t5114, label %then1058, label %ifend1060 then1058: store ptr @.str8496, ptr %t452 %t5115 = load ptr, ptr %t459 %t5116 = getelementptr inbounds %LSlice, ptr %t5115, i32 0, i32 1 %t5117 = getelementptr inbounds %LSlice, ptr %t5115, i32 0, i32 2 %t5118 = getelementptr inbounds %LSlice, ptr %t5115, i32 0, i32 0 %t5119 = load i32, ptr %t5116 %t5120 = load i32, ptr %t5117 %t5121 = icmp sge i32 %t5119, %t5120 br i1 %t5121, label %grow1061, label %put1062 grow1061: %t5122 = mul i32 %t5120, 2 %t5123 = icmp eq i32 %t5120, 0 %t5124 = select i1 %t5123, i32 8, i32 %t5122 %t5125 = getelementptr ptr, ptr null, i32 1 %t5126 = ptrtoint ptr %t5125 to i64 %t5127 = zext i32 %t5124 to i64 %t5128 = mul i64 %t5127, %t5126 %t5129 = load ptr, ptr %t5118 %t5130 = call ptr @realloc(ptr %t5129, i64 %t5128) store ptr %t5130, ptr %t5118 store i32 %t5124, ptr %t5117 br label %put1062 put1062: %t5131 = load ptr, ptr %t5118 %t5132 = getelementptr inbounds ptr, ptr %t5131, i32 %t5119 store ptr @.str8497, ptr %t5132 %t5133 = add i32 %t5119, 1 store i32 %t5133, ptr %t5116 br label %ifend1060 ifend1060: %t5134 = load ptr, ptr %t1 %t5135 = call i32 @lp_str_eq(ptr %t5134, ptr @.str8498) %t5136 = icmp ne i32 %t5135, 0 br i1 %t5136, label %then1063, label %ifend1065 then1063: store ptr @.str8499, ptr %t452 %t5137 = load ptr, ptr %t459 %t5138 = getelementptr inbounds %LSlice, ptr %t5137, i32 0, i32 1 %t5139 = getelementptr inbounds %LSlice, ptr %t5137, i32 0, i32 2 %t5140 = getelementptr inbounds %LSlice, ptr %t5137, i32 0, i32 0 %t5141 = load i32, ptr %t5138 %t5142 = load i32, ptr %t5139 %t5143 = icmp sge i32 %t5141, %t5142 br i1 %t5143, label %grow1066, label %put1067 grow1066: %t5144 = mul i32 %t5142, 2 %t5145 = icmp eq i32 %t5142, 0 %t5146 = select i1 %t5145, i32 8, i32 %t5144 %t5147 = getelementptr ptr, ptr null, i32 1 %t5148 = ptrtoint ptr %t5147 to i64 %t5149 = zext i32 %t5146 to i64 %t5150 = mul i64 %t5149, %t5148 %t5151 = load ptr, ptr %t5140 %t5152 = call ptr @realloc(ptr %t5151, i64 %t5150) store ptr %t5152, ptr %t5140 store i32 %t5146, ptr %t5139 br label %put1067 put1067: %t5153 = load ptr, ptr %t5140 %t5154 = getelementptr inbounds ptr, ptr %t5153, i32 %t5141 store ptr @.str8500, ptr %t5154 %t5155 = add i32 %t5141, 1 store i32 %t5155, ptr %t5138 %t5156 = load ptr, ptr %t459 %t5157 = getelementptr inbounds %LSlice, ptr %t5156, i32 0, i32 1 %t5158 = getelementptr inbounds %LSlice, ptr %t5156, i32 0, i32 2 %t5159 = getelementptr inbounds %LSlice, ptr %t5156, i32 0, i32 0 %t5160 = load i32, ptr %t5157 %t5161 = load i32, ptr %t5158 %t5162 = icmp sge i32 %t5160, %t5161 br i1 %t5162, label %grow1068, label %put1069 grow1068: %t5163 = mul i32 %t5161, 2 %t5164 = icmp eq i32 %t5161, 0 %t5165 = select i1 %t5164, i32 8, i32 %t5163 %t5166 = getelementptr ptr, ptr null, i32 1 %t5167 = ptrtoint ptr %t5166 to i64 %t5168 = zext i32 %t5165 to i64 %t5169 = mul i64 %t5168, %t5167 %t5170 = load ptr, ptr %t5159 %t5171 = call ptr @realloc(ptr %t5170, i64 %t5169) store ptr %t5171, ptr %t5159 store i32 %t5165, ptr %t5158 br label %put1069 put1069: %t5172 = load ptr, ptr %t5159 %t5173 = getelementptr inbounds ptr, ptr %t5172, i32 %t5160 store ptr @.str8501, ptr %t5173 %t5174 = add i32 %t5160, 1 store i32 %t5174, ptr %t5157 br label %ifend1065 ifend1065: %t5175 = load ptr, ptr %t1 %t5176 = call i32 @lp_str_eq(ptr %t5175, ptr @.str8502) %t5177 = icmp ne i32 %t5176, 0 br i1 %t5177, label %then1070, label %ifend1072 then1070: store ptr @.str8503, ptr %t452 %t5178 = load ptr, ptr %t459 %t5179 = getelementptr inbounds %LSlice, ptr %t5178, i32 0, i32 1 %t5180 = getelementptr inbounds %LSlice, ptr %t5178, i32 0, i32 2 %t5181 = getelementptr inbounds %LSlice, ptr %t5178, i32 0, i32 0 %t5182 = load i32, ptr %t5179 %t5183 = load i32, ptr %t5180 %t5184 = icmp sge i32 %t5182, %t5183 br i1 %t5184, label %grow1073, label %put1074 grow1073: %t5185 = mul i32 %t5183, 2 %t5186 = icmp eq i32 %t5183, 0 %t5187 = select i1 %t5186, i32 8, i32 %t5185 %t5188 = getelementptr ptr, ptr null, i32 1 %t5189 = ptrtoint ptr %t5188 to i64 %t5190 = zext i32 %t5187 to i64 %t5191 = mul i64 %t5190, %t5189 %t5192 = load ptr, ptr %t5181 %t5193 = call ptr @realloc(ptr %t5192, i64 %t5191) store ptr %t5193, ptr %t5181 store i32 %t5187, ptr %t5180 br label %put1074 put1074: %t5194 = load ptr, ptr %t5181 %t5195 = getelementptr inbounds ptr, ptr %t5194, i32 %t5182 store ptr @.str8504, ptr %t5195 %t5196 = add i32 %t5182, 1 store i32 %t5196, ptr %t5179 %t5197 = load ptr, ptr %t459 %t5198 = getelementptr inbounds %LSlice, ptr %t5197, i32 0, i32 1 %t5199 = getelementptr inbounds %LSlice, ptr %t5197, i32 0, i32 2 %t5200 = getelementptr inbounds %LSlice, ptr %t5197, i32 0, i32 0 %t5201 = load i32, ptr %t5198 %t5202 = load i32, ptr %t5199 %t5203 = icmp sge i32 %t5201, %t5202 br i1 %t5203, label %grow1075, label %put1076 grow1075: %t5204 = mul i32 %t5202, 2 %t5205 = icmp eq i32 %t5202, 0 %t5206 = select i1 %t5205, i32 8, i32 %t5204 %t5207 = getelementptr ptr, ptr null, i32 1 %t5208 = ptrtoint ptr %t5207 to i64 %t5209 = zext i32 %t5206 to i64 %t5210 = mul i64 %t5209, %t5208 %t5211 = load ptr, ptr %t5200 %t5212 = call ptr @realloc(ptr %t5211, i64 %t5210) store ptr %t5212, ptr %t5200 store i32 %t5206, ptr %t5199 br label %put1076 put1076: %t5213 = load ptr, ptr %t5200 %t5214 = getelementptr inbounds ptr, ptr %t5213, i32 %t5201 store ptr @.str8505, ptr %t5214 %t5215 = add i32 %t5201, 1 store i32 %t5215, ptr %t5198 br label %ifend1072 ifend1072: %t5216 = load ptr, ptr %t1 %t5217 = call i32 @lp_str_eq(ptr %t5216, ptr @.str8506) %t5218 = icmp ne i32 %t5217, 0 br i1 %t5218, label %then1077, label %ifend1079 then1077: store ptr @.str8507, ptr %t452 br label %ifend1079 ifend1079: %t5219 = load ptr, ptr %t1 %t5220 = call i32 @lp_str_eq(ptr %t5219, ptr @.str8508) %t5221 = icmp ne i32 %t5220, 0 br i1 %t5221, label %then1080, label %ifend1082 then1080: store ptr @.str8509, ptr %t452 %t5222 = load ptr, ptr %t459 %t5223 = getelementptr inbounds %LSlice, ptr %t5222, i32 0, i32 1 %t5224 = getelementptr inbounds %LSlice, ptr %t5222, i32 0, i32 2 %t5225 = getelementptr inbounds %LSlice, ptr %t5222, i32 0, i32 0 %t5226 = load i32, ptr %t5223 %t5227 = load i32, ptr %t5224 %t5228 = icmp sge i32 %t5226, %t5227 br i1 %t5228, label %grow1083, label %put1084 grow1083: %t5229 = mul i32 %t5227, 2 %t5230 = icmp eq i32 %t5227, 0 %t5231 = select i1 %t5230, i32 8, i32 %t5229 %t5232 = getelementptr ptr, ptr null, i32 1 %t5233 = ptrtoint ptr %t5232 to i64 %t5234 = zext i32 %t5231 to i64 %t5235 = mul i64 %t5234, %t5233 %t5236 = load ptr, ptr %t5225 %t5237 = call ptr @realloc(ptr %t5236, i64 %t5235) store ptr %t5237, ptr %t5225 store i32 %t5231, ptr %t5224 br label %put1084 put1084: %t5238 = load ptr, ptr %t5225 %t5239 = getelementptr inbounds ptr, ptr %t5238, i32 %t5226 store ptr @.str8510, ptr %t5239 %t5240 = add i32 %t5226, 1 store i32 %t5240, ptr %t5223 %t5241 = load ptr, ptr %t459 %t5242 = getelementptr inbounds %LSlice, ptr %t5241, i32 0, i32 1 %t5243 = getelementptr inbounds %LSlice, ptr %t5241, i32 0, i32 2 %t5244 = getelementptr inbounds %LSlice, ptr %t5241, i32 0, i32 0 %t5245 = load i32, ptr %t5242 %t5246 = load i32, ptr %t5243 %t5247 = icmp sge i32 %t5245, %t5246 br i1 %t5247, label %grow1085, label %put1086 grow1085: %t5248 = mul i32 %t5246, 2 %t5249 = icmp eq i32 %t5246, 0 %t5250 = select i1 %t5249, i32 8, i32 %t5248 %t5251 = getelementptr ptr, ptr null, i32 1 %t5252 = ptrtoint ptr %t5251 to i64 %t5253 = zext i32 %t5250 to i64 %t5254 = mul i64 %t5253, %t5252 %t5255 = load ptr, ptr %t5244 %t5256 = call ptr @realloc(ptr %t5255, i64 %t5254) store ptr %t5256, ptr %t5244 store i32 %t5250, ptr %t5243 br label %put1086 put1086: %t5257 = load ptr, ptr %t5244 %t5258 = getelementptr inbounds ptr, ptr %t5257, i32 %t5245 store ptr @.str8511, ptr %t5258 %t5259 = add i32 %t5245, 1 store i32 %t5259, ptr %t5242 %t5260 = load ptr, ptr %t459 %t5261 = getelementptr inbounds %LSlice, ptr %t5260, i32 0, i32 1 %t5262 = getelementptr inbounds %LSlice, ptr %t5260, i32 0, i32 2 %t5263 = getelementptr inbounds %LSlice, ptr %t5260, i32 0, i32 0 %t5264 = load i32, ptr %t5261 %t5265 = load i32, ptr %t5262 %t5266 = icmp sge i32 %t5264, %t5265 br i1 %t5266, label %grow1087, label %put1088 grow1087: %t5267 = mul i32 %t5265, 2 %t5268 = icmp eq i32 %t5265, 0 %t5269 = select i1 %t5268, i32 8, i32 %t5267 %t5270 = getelementptr ptr, ptr null, i32 1 %t5271 = ptrtoint ptr %t5270 to i64 %t5272 = zext i32 %t5269 to i64 %t5273 = mul i64 %t5272, %t5271 %t5274 = load ptr, ptr %t5263 %t5275 = call ptr @realloc(ptr %t5274, i64 %t5273) store ptr %t5275, ptr %t5263 store i32 %t5269, ptr %t5262 br label %put1088 put1088: %t5276 = load ptr, ptr %t5263 %t5277 = getelementptr inbounds ptr, ptr %t5276, i32 %t5264 store ptr @.str8512, ptr %t5277 %t5278 = add i32 %t5264, 1 store i32 %t5278, ptr %t5261 %t5279 = load ptr, ptr %t459 %t5280 = getelementptr inbounds %LSlice, ptr %t5279, i32 0, i32 1 %t5281 = getelementptr inbounds %LSlice, ptr %t5279, i32 0, i32 2 %t5282 = getelementptr inbounds %LSlice, ptr %t5279, i32 0, i32 0 %t5283 = load i32, ptr %t5280 %t5284 = load i32, ptr %t5281 %t5285 = icmp sge i32 %t5283, %t5284 br i1 %t5285, label %grow1089, label %put1090 grow1089: %t5286 = mul i32 %t5284, 2 %t5287 = icmp eq i32 %t5284, 0 %t5288 = select i1 %t5287, i32 8, i32 %t5286 %t5289 = getelementptr ptr, ptr null, i32 1 %t5290 = ptrtoint ptr %t5289 to i64 %t5291 = zext i32 %t5288 to i64 %t5292 = mul i64 %t5291, %t5290 %t5293 = load ptr, ptr %t5282 %t5294 = call ptr @realloc(ptr %t5293, i64 %t5292) store ptr %t5294, ptr %t5282 store i32 %t5288, ptr %t5281 br label %put1090 put1090: %t5295 = load ptr, ptr %t5282 %t5296 = getelementptr inbounds ptr, ptr %t5295, i32 %t5283 store ptr @.str8513, ptr %t5296 %t5297 = add i32 %t5283, 1 store i32 %t5297, ptr %t5280 br label %ifend1082 ifend1082: %t5298 = load ptr, ptr %t1 %t5299 = call i32 @lp_str_eq(ptr %t5298, ptr @.str8514) %t5300 = icmp ne i32 %t5299, 0 br i1 %t5300, label %then1091, label %ifend1093 then1091: store ptr @.str8515, ptr %t452 %t5301 = load ptr, ptr %t459 %t5302 = getelementptr inbounds %LSlice, ptr %t5301, i32 0, i32 1 %t5303 = getelementptr inbounds %LSlice, ptr %t5301, i32 0, i32 2 %t5304 = getelementptr inbounds %LSlice, ptr %t5301, i32 0, i32 0 %t5305 = load i32, ptr %t5302 %t5306 = load i32, ptr %t5303 %t5307 = icmp sge i32 %t5305, %t5306 br i1 %t5307, label %grow1094, label %put1095 grow1094: %t5308 = mul i32 %t5306, 2 %t5309 = icmp eq i32 %t5306, 0 %t5310 = select i1 %t5309, i32 8, i32 %t5308 %t5311 = getelementptr ptr, ptr null, i32 1 %t5312 = ptrtoint ptr %t5311 to i64 %t5313 = zext i32 %t5310 to i64 %t5314 = mul i64 %t5313, %t5312 %t5315 = load ptr, ptr %t5304 %t5316 = call ptr @realloc(ptr %t5315, i64 %t5314) store ptr %t5316, ptr %t5304 store i32 %t5310, ptr %t5303 br label %put1095 put1095: %t5317 = load ptr, ptr %t5304 %t5318 = getelementptr inbounds ptr, ptr %t5317, i32 %t5305 store ptr @.str8516, ptr %t5318 %t5319 = add i32 %t5305, 1 store i32 %t5319, ptr %t5302 br label %ifend1093 ifend1093: %t5320 = load ptr, ptr %t1 %t5321 = call i32 @lp_str_eq(ptr %t5320, ptr @.str8517) %t5322 = icmp ne i32 %t5321, 0 br i1 %t5322, label %then1096, label %ifend1098 then1096: store ptr @.str8518, ptr %t452 br label %ifend1098 ifend1098: %t5323 = load ptr, ptr %t1 %t5324 = call i32 @lp_str_eq(ptr %t5323, ptr @.str8519) %t5325 = icmp ne i32 %t5324, 0 br i1 %t5325, label %then1099, label %ifend1101 then1099: store ptr @.str8520, ptr %t452 br label %ifend1101 ifend1101: %t5326 = load ptr, ptr %t1 %t5327 = call i32 @lp_str_eq(ptr %t5326, ptr @.str8521) %t5328 = icmp ne i32 %t5327, 0 br i1 %t5328, label %then1102, label %ifend1104 then1102: store ptr @.str8522, ptr %t452 br label %ifend1104 ifend1104: %t5329 = load ptr, ptr %t1 %t5330 = call i32 @lp_str_eq(ptr %t5329, ptr @.str8523) %t5331 = icmp ne i32 %t5330, 0 br i1 %t5331, label %then1105, label %ifend1107 then1105: store ptr @.str8524, ptr %t452 br label %ifend1107 ifend1107: %t5332 = load ptr, ptr %t1 %t5333 = call i32 @lp_str_eq(ptr %t5332, ptr @.str8525) %t5334 = icmp ne i32 %t5333, 0 br i1 %t5334, label %then1108, label %ifend1110 then1108: store ptr @.str8526, ptr %t452 %t5335 = load ptr, ptr %t459 %t5336 = getelementptr inbounds %LSlice, ptr %t5335, i32 0, i32 1 %t5337 = getelementptr inbounds %LSlice, ptr %t5335, i32 0, i32 2 %t5338 = getelementptr inbounds %LSlice, ptr %t5335, i32 0, i32 0 %t5339 = load i32, ptr %t5336 %t5340 = load i32, ptr %t5337 %t5341 = icmp sge i32 %t5339, %t5340 br i1 %t5341, label %grow1111, label %put1112 grow1111: %t5342 = mul i32 %t5340, 2 %t5343 = icmp eq i32 %t5340, 0 %t5344 = select i1 %t5343, i32 8, i32 %t5342 %t5345 = getelementptr ptr, ptr null, i32 1 %t5346 = ptrtoint ptr %t5345 to i64 %t5347 = zext i32 %t5344 to i64 %t5348 = mul i64 %t5347, %t5346 %t5349 = load ptr, ptr %t5338 %t5350 = call ptr @realloc(ptr %t5349, i64 %t5348) store ptr %t5350, ptr %t5338 store i32 %t5344, ptr %t5337 br label %put1112 put1112: %t5351 = load ptr, ptr %t5338 %t5352 = getelementptr inbounds ptr, ptr %t5351, i32 %t5339 store ptr @.str8527, ptr %t5352 %t5353 = add i32 %t5339, 1 store i32 %t5353, ptr %t5336 br label %ifend1110 ifend1110: %t5354 = load ptr, ptr %t1 %t5355 = call i32 @lp_str_eq(ptr %t5354, ptr @.str8528) %t5356 = icmp ne i32 %t5355, 0 br i1 %t5356, label %then1113, label %ifend1115 then1113: store ptr @.str8529, ptr %t452 br label %ifend1115 ifend1115: %t5357 = load ptr, ptr %t1 %t5358 = call i32 @lp_str_eq(ptr %t5357, ptr @.str8530) %t5359 = icmp ne i32 %t5358, 0 br i1 %t5359, label %then1116, label %ifend1118 then1116: store ptr @.str8531, ptr %t452 %t5360 = load ptr, ptr %t459 %t5361 = getelementptr inbounds %LSlice, ptr %t5360, i32 0, i32 1 %t5362 = getelementptr inbounds %LSlice, ptr %t5360, i32 0, i32 2 %t5363 = getelementptr inbounds %LSlice, ptr %t5360, i32 0, i32 0 %t5364 = load i32, ptr %t5361 %t5365 = load i32, ptr %t5362 %t5366 = icmp sge i32 %t5364, %t5365 br i1 %t5366, label %grow1119, label %put1120 grow1119: %t5367 = mul i32 %t5365, 2 %t5368 = icmp eq i32 %t5365, 0 %t5369 = select i1 %t5368, i32 8, i32 %t5367 %t5370 = getelementptr ptr, ptr null, i32 1 %t5371 = ptrtoint ptr %t5370 to i64 %t5372 = zext i32 %t5369 to i64 %t5373 = mul i64 %t5372, %t5371 %t5374 = load ptr, ptr %t5363 %t5375 = call ptr @realloc(ptr %t5374, i64 %t5373) store ptr %t5375, ptr %t5363 store i32 %t5369, ptr %t5362 br label %put1120 put1120: %t5376 = load ptr, ptr %t5363 %t5377 = getelementptr inbounds ptr, ptr %t5376, i32 %t5364 store ptr @.str8532, ptr %t5377 %t5378 = add i32 %t5364, 1 store i32 %t5378, ptr %t5361 %t5379 = load ptr, ptr %t459 %t5380 = getelementptr inbounds %LSlice, ptr %t5379, i32 0, i32 1 %t5381 = getelementptr inbounds %LSlice, ptr %t5379, i32 0, i32 2 %t5382 = getelementptr inbounds %LSlice, ptr %t5379, i32 0, i32 0 %t5383 = load i32, ptr %t5380 %t5384 = load i32, ptr %t5381 %t5385 = icmp sge i32 %t5383, %t5384 br i1 %t5385, label %grow1121, label %put1122 grow1121: %t5386 = mul i32 %t5384, 2 %t5387 = icmp eq i32 %t5384, 0 %t5388 = select i1 %t5387, i32 8, i32 %t5386 %t5389 = getelementptr ptr, ptr null, i32 1 %t5390 = ptrtoint ptr %t5389 to i64 %t5391 = zext i32 %t5388 to i64 %t5392 = mul i64 %t5391, %t5390 %t5393 = load ptr, ptr %t5382 %t5394 = call ptr @realloc(ptr %t5393, i64 %t5392) store ptr %t5394, ptr %t5382 store i32 %t5388, ptr %t5381 br label %put1122 put1122: %t5395 = load ptr, ptr %t5382 %t5396 = getelementptr inbounds ptr, ptr %t5395, i32 %t5383 store ptr @.str8533, ptr %t5396 %t5397 = add i32 %t5383, 1 store i32 %t5397, ptr %t5380 %t5398 = load ptr, ptr %t459 %t5399 = getelementptr inbounds %LSlice, ptr %t5398, i32 0, i32 1 %t5400 = getelementptr inbounds %LSlice, ptr %t5398, i32 0, i32 2 %t5401 = getelementptr inbounds %LSlice, ptr %t5398, i32 0, i32 0 %t5402 = load i32, ptr %t5399 %t5403 = load i32, ptr %t5400 %t5404 = icmp sge i32 %t5402, %t5403 br i1 %t5404, label %grow1123, label %put1124 grow1123: %t5405 = mul i32 %t5403, 2 %t5406 = icmp eq i32 %t5403, 0 %t5407 = select i1 %t5406, i32 8, i32 %t5405 %t5408 = getelementptr ptr, ptr null, i32 1 %t5409 = ptrtoint ptr %t5408 to i64 %t5410 = zext i32 %t5407 to i64 %t5411 = mul i64 %t5410, %t5409 %t5412 = load ptr, ptr %t5401 %t5413 = call ptr @realloc(ptr %t5412, i64 %t5411) store ptr %t5413, ptr %t5401 store i32 %t5407, ptr %t5400 br label %put1124 put1124: %t5414 = load ptr, ptr %t5401 %t5415 = getelementptr inbounds ptr, ptr %t5414, i32 %t5402 store ptr @.str8534, ptr %t5415 %t5416 = add i32 %t5402, 1 store i32 %t5416, ptr %t5399 %t5417 = load ptr, ptr %t459 %t5418 = getelementptr inbounds %LSlice, ptr %t5417, i32 0, i32 1 %t5419 = getelementptr inbounds %LSlice, ptr %t5417, i32 0, i32 2 %t5420 = getelementptr inbounds %LSlice, ptr %t5417, i32 0, i32 0 %t5421 = load i32, ptr %t5418 %t5422 = load i32, ptr %t5419 %t5423 = icmp sge i32 %t5421, %t5422 br i1 %t5423, label %grow1125, label %put1126 grow1125: %t5424 = mul i32 %t5422, 2 %t5425 = icmp eq i32 %t5422, 0 %t5426 = select i1 %t5425, i32 8, i32 %t5424 %t5427 = getelementptr ptr, ptr null, i32 1 %t5428 = ptrtoint ptr %t5427 to i64 %t5429 = zext i32 %t5426 to i64 %t5430 = mul i64 %t5429, %t5428 %t5431 = load ptr, ptr %t5420 %t5432 = call ptr @realloc(ptr %t5431, i64 %t5430) store ptr %t5432, ptr %t5420 store i32 %t5426, ptr %t5419 br label %put1126 put1126: %t5433 = load ptr, ptr %t5420 %t5434 = getelementptr inbounds ptr, ptr %t5433, i32 %t5421 store ptr @.str8535, ptr %t5434 %t5435 = add i32 %t5421, 1 store i32 %t5435, ptr %t5418 br label %ifend1118 ifend1118: %t5436 = load ptr, ptr %t1 %t5437 = call i32 @lp_str_eq(ptr %t5436, ptr @.str8536) %t5438 = icmp ne i32 %t5437, 0 br i1 %t5438, label %then1127, label %ifend1129 then1127: store ptr @.str8537, ptr %t452 %t5439 = load ptr, ptr %t459 %t5440 = getelementptr inbounds %LSlice, ptr %t5439, i32 0, i32 1 %t5441 = getelementptr inbounds %LSlice, ptr %t5439, i32 0, i32 2 %t5442 = getelementptr inbounds %LSlice, ptr %t5439, i32 0, i32 0 %t5443 = load i32, ptr %t5440 %t5444 = load i32, ptr %t5441 %t5445 = icmp sge i32 %t5443, %t5444 br i1 %t5445, label %grow1130, label %put1131 grow1130: %t5446 = mul i32 %t5444, 2 %t5447 = icmp eq i32 %t5444, 0 %t5448 = select i1 %t5447, i32 8, i32 %t5446 %t5449 = getelementptr ptr, ptr null, i32 1 %t5450 = ptrtoint ptr %t5449 to i64 %t5451 = zext i32 %t5448 to i64 %t5452 = mul i64 %t5451, %t5450 %t5453 = load ptr, ptr %t5442 %t5454 = call ptr @realloc(ptr %t5453, i64 %t5452) store ptr %t5454, ptr %t5442 store i32 %t5448, ptr %t5441 br label %put1131 put1131: %t5455 = load ptr, ptr %t5442 %t5456 = getelementptr inbounds ptr, ptr %t5455, i32 %t5443 store ptr @.str8538, ptr %t5456 %t5457 = add i32 %t5443, 1 store i32 %t5457, ptr %t5440 br label %ifend1129 ifend1129: %t5458 = load ptr, ptr %t1 %t5459 = call i32 @lp_str_eq(ptr %t5458, ptr @.str8539) %t5460 = icmp ne i32 %t5459, 0 br i1 %t5460, label %then1132, label %ifend1134 then1132: store ptr @.str8540, ptr %t452 %t5461 = load ptr, ptr %t459 %t5462 = getelementptr inbounds %LSlice, ptr %t5461, i32 0, i32 1 %t5463 = getelementptr inbounds %LSlice, ptr %t5461, i32 0, i32 2 %t5464 = getelementptr inbounds %LSlice, ptr %t5461, i32 0, i32 0 %t5465 = load i32, ptr %t5462 %t5466 = load i32, ptr %t5463 %t5467 = icmp sge i32 %t5465, %t5466 br i1 %t5467, label %grow1135, label %put1136 grow1135: %t5468 = mul i32 %t5466, 2 %t5469 = icmp eq i32 %t5466, 0 %t5470 = select i1 %t5469, i32 8, i32 %t5468 %t5471 = getelementptr ptr, ptr null, i32 1 %t5472 = ptrtoint ptr %t5471 to i64 %t5473 = zext i32 %t5470 to i64 %t5474 = mul i64 %t5473, %t5472 %t5475 = load ptr, ptr %t5464 %t5476 = call ptr @realloc(ptr %t5475, i64 %t5474) store ptr %t5476, ptr %t5464 store i32 %t5470, ptr %t5463 br label %put1136 put1136: %t5477 = load ptr, ptr %t5464 %t5478 = getelementptr inbounds ptr, ptr %t5477, i32 %t5465 store ptr @.str8541, ptr %t5478 %t5479 = add i32 %t5465, 1 store i32 %t5479, ptr %t5462 %t5480 = load ptr, ptr %t459 %t5481 = getelementptr inbounds %LSlice, ptr %t5480, i32 0, i32 1 %t5482 = getelementptr inbounds %LSlice, ptr %t5480, i32 0, i32 2 %t5483 = getelementptr inbounds %LSlice, ptr %t5480, i32 0, i32 0 %t5484 = load i32, ptr %t5481 %t5485 = load i32, ptr %t5482 %t5486 = icmp sge i32 %t5484, %t5485 br i1 %t5486, label %grow1137, label %put1138 grow1137: %t5487 = mul i32 %t5485, 2 %t5488 = icmp eq i32 %t5485, 0 %t5489 = select i1 %t5488, i32 8, i32 %t5487 %t5490 = getelementptr ptr, ptr null, i32 1 %t5491 = ptrtoint ptr %t5490 to i64 %t5492 = zext i32 %t5489 to i64 %t5493 = mul i64 %t5492, %t5491 %t5494 = load ptr, ptr %t5483 %t5495 = call ptr @realloc(ptr %t5494, i64 %t5493) store ptr %t5495, ptr %t5483 store i32 %t5489, ptr %t5482 br label %put1138 put1138: %t5496 = load ptr, ptr %t5483 %t5497 = getelementptr inbounds ptr, ptr %t5496, i32 %t5484 store ptr @.str8542, ptr %t5497 %t5498 = add i32 %t5484, 1 store i32 %t5498, ptr %t5481 br label %ifend1134 ifend1134: %t5499 = load ptr, ptr %t1 %t5500 = call i32 @lp_str_eq(ptr %t5499, ptr @.str8543) %t5501 = icmp ne i32 %t5500, 0 br i1 %t5501, label %then1139, label %ifend1141 then1139: store ptr @.str8544, ptr %t452 %t5502 = load ptr, ptr %t459 %t5503 = getelementptr inbounds %LSlice, ptr %t5502, i32 0, i32 1 %t5504 = getelementptr inbounds %LSlice, ptr %t5502, i32 0, i32 2 %t5505 = getelementptr inbounds %LSlice, ptr %t5502, i32 0, i32 0 %t5506 = load i32, ptr %t5503 %t5507 = load i32, ptr %t5504 %t5508 = icmp sge i32 %t5506, %t5507 br i1 %t5508, label %grow1142, label %put1143 grow1142: %t5509 = mul i32 %t5507, 2 %t5510 = icmp eq i32 %t5507, 0 %t5511 = select i1 %t5510, i32 8, i32 %t5509 %t5512 = getelementptr ptr, ptr null, i32 1 %t5513 = ptrtoint ptr %t5512 to i64 %t5514 = zext i32 %t5511 to i64 %t5515 = mul i64 %t5514, %t5513 %t5516 = load ptr, ptr %t5505 %t5517 = call ptr @realloc(ptr %t5516, i64 %t5515) store ptr %t5517, ptr %t5505 store i32 %t5511, ptr %t5504 br label %put1143 put1143: %t5518 = load ptr, ptr %t5505 %t5519 = getelementptr inbounds ptr, ptr %t5518, i32 %t5506 store ptr @.str8545, ptr %t5519 %t5520 = add i32 %t5506, 1 store i32 %t5520, ptr %t5503 %t5521 = load ptr, ptr %t459 %t5522 = getelementptr inbounds %LSlice, ptr %t5521, i32 0, i32 1 %t5523 = getelementptr inbounds %LSlice, ptr %t5521, i32 0, i32 2 %t5524 = getelementptr inbounds %LSlice, ptr %t5521, i32 0, i32 0 %t5525 = load i32, ptr %t5522 %t5526 = load i32, ptr %t5523 %t5527 = icmp sge i32 %t5525, %t5526 br i1 %t5527, label %grow1144, label %put1145 grow1144: %t5528 = mul i32 %t5526, 2 %t5529 = icmp eq i32 %t5526, 0 %t5530 = select i1 %t5529, i32 8, i32 %t5528 %t5531 = getelementptr ptr, ptr null, i32 1 %t5532 = ptrtoint ptr %t5531 to i64 %t5533 = zext i32 %t5530 to i64 %t5534 = mul i64 %t5533, %t5532 %t5535 = load ptr, ptr %t5524 %t5536 = call ptr @realloc(ptr %t5535, i64 %t5534) store ptr %t5536, ptr %t5524 store i32 %t5530, ptr %t5523 br label %put1145 put1145: %t5537 = load ptr, ptr %t5524 %t5538 = getelementptr inbounds ptr, ptr %t5537, i32 %t5525 store ptr @.str8546, ptr %t5538 %t5539 = add i32 %t5525, 1 store i32 %t5539, ptr %t5522 br label %ifend1141 ifend1141: %t5540 = load ptr, ptr %t1 %t5541 = call i32 @lp_str_eq(ptr %t5540, ptr @.str8547) %t5542 = icmp ne i32 %t5541, 0 br i1 %t5542, label %then1146, label %ifend1148 then1146: store ptr @.str8548, ptr %t452 %t5543 = load ptr, ptr %t459 %t5544 = getelementptr inbounds %LSlice, ptr %t5543, i32 0, i32 1 %t5545 = getelementptr inbounds %LSlice, ptr %t5543, i32 0, i32 2 %t5546 = getelementptr inbounds %LSlice, ptr %t5543, i32 0, i32 0 %t5547 = load i32, ptr %t5544 %t5548 = load i32, ptr %t5545 %t5549 = icmp sge i32 %t5547, %t5548 br i1 %t5549, label %grow1149, label %put1150 grow1149: %t5550 = mul i32 %t5548, 2 %t5551 = icmp eq i32 %t5548, 0 %t5552 = select i1 %t5551, i32 8, i32 %t5550 %t5553 = getelementptr ptr, ptr null, i32 1 %t5554 = ptrtoint ptr %t5553 to i64 %t5555 = zext i32 %t5552 to i64 %t5556 = mul i64 %t5555, %t5554 %t5557 = load ptr, ptr %t5546 %t5558 = call ptr @realloc(ptr %t5557, i64 %t5556) store ptr %t5558, ptr %t5546 store i32 %t5552, ptr %t5545 br label %put1150 put1150: %t5559 = load ptr, ptr %t5546 %t5560 = getelementptr inbounds ptr, ptr %t5559, i32 %t5547 store ptr @.str8549, ptr %t5560 %t5561 = add i32 %t5547, 1 store i32 %t5561, ptr %t5544 %t5562 = load ptr, ptr %t459 %t5563 = getelementptr inbounds %LSlice, ptr %t5562, i32 0, i32 1 %t5564 = getelementptr inbounds %LSlice, ptr %t5562, i32 0, i32 2 %t5565 = getelementptr inbounds %LSlice, ptr %t5562, i32 0, i32 0 %t5566 = load i32, ptr %t5563 %t5567 = load i32, ptr %t5564 %t5568 = icmp sge i32 %t5566, %t5567 br i1 %t5568, label %grow1151, label %put1152 grow1151: %t5569 = mul i32 %t5567, 2 %t5570 = icmp eq i32 %t5567, 0 %t5571 = select i1 %t5570, i32 8, i32 %t5569 %t5572 = getelementptr ptr, ptr null, i32 1 %t5573 = ptrtoint ptr %t5572 to i64 %t5574 = zext i32 %t5571 to i64 %t5575 = mul i64 %t5574, %t5573 %t5576 = load ptr, ptr %t5565 %t5577 = call ptr @realloc(ptr %t5576, i64 %t5575) store ptr %t5577, ptr %t5565 store i32 %t5571, ptr %t5564 br label %put1152 put1152: %t5578 = load ptr, ptr %t5565 %t5579 = getelementptr inbounds ptr, ptr %t5578, i32 %t5566 store ptr @.str8550, ptr %t5579 %t5580 = add i32 %t5566, 1 store i32 %t5580, ptr %t5563 %t5581 = load ptr, ptr %t459 %t5582 = getelementptr inbounds %LSlice, ptr %t5581, i32 0, i32 1 %t5583 = getelementptr inbounds %LSlice, ptr %t5581, i32 0, i32 2 %t5584 = getelementptr inbounds %LSlice, ptr %t5581, i32 0, i32 0 %t5585 = load i32, ptr %t5582 %t5586 = load i32, ptr %t5583 %t5587 = icmp sge i32 %t5585, %t5586 br i1 %t5587, label %grow1153, label %put1154 grow1153: %t5588 = mul i32 %t5586, 2 %t5589 = icmp eq i32 %t5586, 0 %t5590 = select i1 %t5589, i32 8, i32 %t5588 %t5591 = getelementptr ptr, ptr null, i32 1 %t5592 = ptrtoint ptr %t5591 to i64 %t5593 = zext i32 %t5590 to i64 %t5594 = mul i64 %t5593, %t5592 %t5595 = load ptr, ptr %t5584 %t5596 = call ptr @realloc(ptr %t5595, i64 %t5594) store ptr %t5596, ptr %t5584 store i32 %t5590, ptr %t5583 br label %put1154 put1154: %t5597 = load ptr, ptr %t5584 %t5598 = getelementptr inbounds ptr, ptr %t5597, i32 %t5585 store ptr @.str8551, ptr %t5598 %t5599 = add i32 %t5585, 1 store i32 %t5599, ptr %t5582 %t5600 = load ptr, ptr %t459 %t5601 = getelementptr inbounds %LSlice, ptr %t5600, i32 0, i32 1 %t5602 = getelementptr inbounds %LSlice, ptr %t5600, i32 0, i32 2 %t5603 = getelementptr inbounds %LSlice, ptr %t5600, i32 0, i32 0 %t5604 = load i32, ptr %t5601 %t5605 = load i32, ptr %t5602 %t5606 = icmp sge i32 %t5604, %t5605 br i1 %t5606, label %grow1155, label %put1156 grow1155: %t5607 = mul i32 %t5605, 2 %t5608 = icmp eq i32 %t5605, 0 %t5609 = select i1 %t5608, i32 8, i32 %t5607 %t5610 = getelementptr ptr, ptr null, i32 1 %t5611 = ptrtoint ptr %t5610 to i64 %t5612 = zext i32 %t5609 to i64 %t5613 = mul i64 %t5612, %t5611 %t5614 = load ptr, ptr %t5603 %t5615 = call ptr @realloc(ptr %t5614, i64 %t5613) store ptr %t5615, ptr %t5603 store i32 %t5609, ptr %t5602 br label %put1156 put1156: %t5616 = load ptr, ptr %t5603 %t5617 = getelementptr inbounds ptr, ptr %t5616, i32 %t5604 store ptr @.str8552, ptr %t5617 %t5618 = add i32 %t5604, 1 store i32 %t5618, ptr %t5601 %t5619 = load ptr, ptr %t459 %t5620 = getelementptr inbounds %LSlice, ptr %t5619, i32 0, i32 1 %t5621 = getelementptr inbounds %LSlice, ptr %t5619, i32 0, i32 2 %t5622 = getelementptr inbounds %LSlice, ptr %t5619, i32 0, i32 0 %t5623 = load i32, ptr %t5620 %t5624 = load i32, ptr %t5621 %t5625 = icmp sge i32 %t5623, %t5624 br i1 %t5625, label %grow1157, label %put1158 grow1157: %t5626 = mul i32 %t5624, 2 %t5627 = icmp eq i32 %t5624, 0 %t5628 = select i1 %t5627, i32 8, i32 %t5626 %t5629 = getelementptr ptr, ptr null, i32 1 %t5630 = ptrtoint ptr %t5629 to i64 %t5631 = zext i32 %t5628 to i64 %t5632 = mul i64 %t5631, %t5630 %t5633 = load ptr, ptr %t5622 %t5634 = call ptr @realloc(ptr %t5633, i64 %t5632) store ptr %t5634, ptr %t5622 store i32 %t5628, ptr %t5621 br label %put1158 put1158: %t5635 = load ptr, ptr %t5622 %t5636 = getelementptr inbounds ptr, ptr %t5635, i32 %t5623 store ptr @.str8553, ptr %t5636 %t5637 = add i32 %t5623, 1 store i32 %t5637, ptr %t5620 %t5638 = load ptr, ptr %t459 %t5639 = getelementptr inbounds %LSlice, ptr %t5638, i32 0, i32 1 %t5640 = getelementptr inbounds %LSlice, ptr %t5638, i32 0, i32 2 %t5641 = getelementptr inbounds %LSlice, ptr %t5638, i32 0, i32 0 %t5642 = load i32, ptr %t5639 %t5643 = load i32, ptr %t5640 %t5644 = icmp sge i32 %t5642, %t5643 br i1 %t5644, label %grow1159, label %put1160 grow1159: %t5645 = mul i32 %t5643, 2 %t5646 = icmp eq i32 %t5643, 0 %t5647 = select i1 %t5646, i32 8, i32 %t5645 %t5648 = getelementptr ptr, ptr null, i32 1 %t5649 = ptrtoint ptr %t5648 to i64 %t5650 = zext i32 %t5647 to i64 %t5651 = mul i64 %t5650, %t5649 %t5652 = load ptr, ptr %t5641 %t5653 = call ptr @realloc(ptr %t5652, i64 %t5651) store ptr %t5653, ptr %t5641 store i32 %t5647, ptr %t5640 br label %put1160 put1160: %t5654 = load ptr, ptr %t5641 %t5655 = getelementptr inbounds ptr, ptr %t5654, i32 %t5642 store ptr @.str8554, ptr %t5655 %t5656 = add i32 %t5642, 1 store i32 %t5656, ptr %t5639 %t5657 = load ptr, ptr %t459 %t5658 = getelementptr inbounds %LSlice, ptr %t5657, i32 0, i32 1 %t5659 = getelementptr inbounds %LSlice, ptr %t5657, i32 0, i32 2 %t5660 = getelementptr inbounds %LSlice, ptr %t5657, i32 0, i32 0 %t5661 = load i32, ptr %t5658 %t5662 = load i32, ptr %t5659 %t5663 = icmp sge i32 %t5661, %t5662 br i1 %t5663, label %grow1161, label %put1162 grow1161: %t5664 = mul i32 %t5662, 2 %t5665 = icmp eq i32 %t5662, 0 %t5666 = select i1 %t5665, i32 8, i32 %t5664 %t5667 = getelementptr ptr, ptr null, i32 1 %t5668 = ptrtoint ptr %t5667 to i64 %t5669 = zext i32 %t5666 to i64 %t5670 = mul i64 %t5669, %t5668 %t5671 = load ptr, ptr %t5660 %t5672 = call ptr @realloc(ptr %t5671, i64 %t5670) store ptr %t5672, ptr %t5660 store i32 %t5666, ptr %t5659 br label %put1162 put1162: %t5673 = load ptr, ptr %t5660 %t5674 = getelementptr inbounds ptr, ptr %t5673, i32 %t5661 store ptr @.str8555, ptr %t5674 %t5675 = add i32 %t5661, 1 store i32 %t5675, ptr %t5658 br label %ifend1148 ifend1148: %t5676 = load ptr, ptr %t1 %t5677 = call i32 @lp_str_eq(ptr %t5676, ptr @.str8556) %t5678 = icmp ne i32 %t5677, 0 br i1 %t5678, label %then1163, label %ifend1165 then1163: store ptr @.str8557, ptr %t452 br label %ifend1165 ifend1165: %t5679 = load ptr, ptr %t1 %t5680 = call i32 @lp_str_eq(ptr %t5679, ptr @.str8558) %t5681 = icmp ne i32 %t5680, 0 br i1 %t5681, label %then1166, label %ifend1168 then1166: store ptr @.str8559, ptr %t452 %t5682 = load ptr, ptr %t459 %t5683 = getelementptr inbounds %LSlice, ptr %t5682, i32 0, i32 1 %t5684 = getelementptr inbounds %LSlice, ptr %t5682, i32 0, i32 2 %t5685 = getelementptr inbounds %LSlice, ptr %t5682, i32 0, i32 0 %t5686 = load i32, ptr %t5683 %t5687 = load i32, ptr %t5684 %t5688 = icmp sge i32 %t5686, %t5687 br i1 %t5688, label %grow1169, label %put1170 grow1169: %t5689 = mul i32 %t5687, 2 %t5690 = icmp eq i32 %t5687, 0 %t5691 = select i1 %t5690, i32 8, i32 %t5689 %t5692 = getelementptr ptr, ptr null, i32 1 %t5693 = ptrtoint ptr %t5692 to i64 %t5694 = zext i32 %t5691 to i64 %t5695 = mul i64 %t5694, %t5693 %t5696 = load ptr, ptr %t5685 %t5697 = call ptr @realloc(ptr %t5696, i64 %t5695) store ptr %t5697, ptr %t5685 store i32 %t5691, ptr %t5684 br label %put1170 put1170: %t5698 = load ptr, ptr %t5685 %t5699 = getelementptr inbounds ptr, ptr %t5698, i32 %t5686 store ptr @.str8560, ptr %t5699 %t5700 = add i32 %t5686, 1 store i32 %t5700, ptr %t5683 br label %ifend1168 ifend1168: %t5701 = load ptr, ptr %t1 %t5702 = call i32 @lp_str_eq(ptr %t5701, ptr @.str8561) %t5703 = icmp ne i32 %t5702, 0 br i1 %t5703, label %then1171, label %ifend1173 then1171: store ptr @.str8562, ptr %t452 %t5704 = load ptr, ptr %t459 %t5705 = getelementptr inbounds %LSlice, ptr %t5704, i32 0, i32 1 %t5706 = getelementptr inbounds %LSlice, ptr %t5704, i32 0, i32 2 %t5707 = getelementptr inbounds %LSlice, ptr %t5704, i32 0, i32 0 %t5708 = load i32, ptr %t5705 %t5709 = load i32, ptr %t5706 %t5710 = icmp sge i32 %t5708, %t5709 br i1 %t5710, label %grow1174, label %put1175 grow1174: %t5711 = mul i32 %t5709, 2 %t5712 = icmp eq i32 %t5709, 0 %t5713 = select i1 %t5712, i32 8, i32 %t5711 %t5714 = getelementptr ptr, ptr null, i32 1 %t5715 = ptrtoint ptr %t5714 to i64 %t5716 = zext i32 %t5713 to i64 %t5717 = mul i64 %t5716, %t5715 %t5718 = load ptr, ptr %t5707 %t5719 = call ptr @realloc(ptr %t5718, i64 %t5717) store ptr %t5719, ptr %t5707 store i32 %t5713, ptr %t5706 br label %put1175 put1175: %t5720 = load ptr, ptr %t5707 %t5721 = getelementptr inbounds ptr, ptr %t5720, i32 %t5708 store ptr @.str8563, ptr %t5721 %t5722 = add i32 %t5708, 1 store i32 %t5722, ptr %t5705 br label %ifend1173 ifend1173: %t5723 = load ptr, ptr %t1 %t5724 = call i32 @lp_str_eq(ptr %t5723, ptr @.str8564) %t5725 = icmp ne i32 %t5724, 0 br i1 %t5725, label %then1176, label %ifend1178 then1176: store ptr @.str8565, ptr %t452 %t5726 = load ptr, ptr %t459 %t5727 = getelementptr inbounds %LSlice, ptr %t5726, i32 0, i32 1 %t5728 = getelementptr inbounds %LSlice, ptr %t5726, i32 0, i32 2 %t5729 = getelementptr inbounds %LSlice, ptr %t5726, i32 0, i32 0 %t5730 = load i32, ptr %t5727 %t5731 = load i32, ptr %t5728 %t5732 = icmp sge i32 %t5730, %t5731 br i1 %t5732, label %grow1179, label %put1180 grow1179: %t5733 = mul i32 %t5731, 2 %t5734 = icmp eq i32 %t5731, 0 %t5735 = select i1 %t5734, i32 8, i32 %t5733 %t5736 = getelementptr ptr, ptr null, i32 1 %t5737 = ptrtoint ptr %t5736 to i64 %t5738 = zext i32 %t5735 to i64 %t5739 = mul i64 %t5738, %t5737 %t5740 = load ptr, ptr %t5729 %t5741 = call ptr @realloc(ptr %t5740, i64 %t5739) store ptr %t5741, ptr %t5729 store i32 %t5735, ptr %t5728 br label %put1180 put1180: %t5742 = load ptr, ptr %t5729 %t5743 = getelementptr inbounds ptr, ptr %t5742, i32 %t5730 store ptr @.str8566, ptr %t5743 %t5744 = add i32 %t5730, 1 store i32 %t5744, ptr %t5727 %t5745 = load ptr, ptr %t459 %t5746 = getelementptr inbounds %LSlice, ptr %t5745, i32 0, i32 1 %t5747 = getelementptr inbounds %LSlice, ptr %t5745, i32 0, i32 2 %t5748 = getelementptr inbounds %LSlice, ptr %t5745, i32 0, i32 0 %t5749 = load i32, ptr %t5746 %t5750 = load i32, ptr %t5747 %t5751 = icmp sge i32 %t5749, %t5750 br i1 %t5751, label %grow1181, label %put1182 grow1181: %t5752 = mul i32 %t5750, 2 %t5753 = icmp eq i32 %t5750, 0 %t5754 = select i1 %t5753, i32 8, i32 %t5752 %t5755 = getelementptr ptr, ptr null, i32 1 %t5756 = ptrtoint ptr %t5755 to i64 %t5757 = zext i32 %t5754 to i64 %t5758 = mul i64 %t5757, %t5756 %t5759 = load ptr, ptr %t5748 %t5760 = call ptr @realloc(ptr %t5759, i64 %t5758) store ptr %t5760, ptr %t5748 store i32 %t5754, ptr %t5747 br label %put1182 put1182: %t5761 = load ptr, ptr %t5748 %t5762 = getelementptr inbounds ptr, ptr %t5761, i32 %t5749 store ptr @.str8567, ptr %t5762 %t5763 = add i32 %t5749, 1 store i32 %t5763, ptr %t5746 %t5764 = load ptr, ptr %t459 %t5765 = getelementptr inbounds %LSlice, ptr %t5764, i32 0, i32 1 %t5766 = getelementptr inbounds %LSlice, ptr %t5764, i32 0, i32 2 %t5767 = getelementptr inbounds %LSlice, ptr %t5764, i32 0, i32 0 %t5768 = load i32, ptr %t5765 %t5769 = load i32, ptr %t5766 %t5770 = icmp sge i32 %t5768, %t5769 br i1 %t5770, label %grow1183, label %put1184 grow1183: %t5771 = mul i32 %t5769, 2 %t5772 = icmp eq i32 %t5769, 0 %t5773 = select i1 %t5772, i32 8, i32 %t5771 %t5774 = getelementptr ptr, ptr null, i32 1 %t5775 = ptrtoint ptr %t5774 to i64 %t5776 = zext i32 %t5773 to i64 %t5777 = mul i64 %t5776, %t5775 %t5778 = load ptr, ptr %t5767 %t5779 = call ptr @realloc(ptr %t5778, i64 %t5777) store ptr %t5779, ptr %t5767 store i32 %t5773, ptr %t5766 br label %put1184 put1184: %t5780 = load ptr, ptr %t5767 %t5781 = getelementptr inbounds ptr, ptr %t5780, i32 %t5768 store ptr @.str8568, ptr %t5781 %t5782 = add i32 %t5768, 1 store i32 %t5782, ptr %t5765 %t5783 = load ptr, ptr %t459 %t5784 = getelementptr inbounds %LSlice, ptr %t5783, i32 0, i32 1 %t5785 = getelementptr inbounds %LSlice, ptr %t5783, i32 0, i32 2 %t5786 = getelementptr inbounds %LSlice, ptr %t5783, i32 0, i32 0 %t5787 = load i32, ptr %t5784 %t5788 = load i32, ptr %t5785 %t5789 = icmp sge i32 %t5787, %t5788 br i1 %t5789, label %grow1185, label %put1186 grow1185: %t5790 = mul i32 %t5788, 2 %t5791 = icmp eq i32 %t5788, 0 %t5792 = select i1 %t5791, i32 8, i32 %t5790 %t5793 = getelementptr ptr, ptr null, i32 1 %t5794 = ptrtoint ptr %t5793 to i64 %t5795 = zext i32 %t5792 to i64 %t5796 = mul i64 %t5795, %t5794 %t5797 = load ptr, ptr %t5786 %t5798 = call ptr @realloc(ptr %t5797, i64 %t5796) store ptr %t5798, ptr %t5786 store i32 %t5792, ptr %t5785 br label %put1186 put1186: %t5799 = load ptr, ptr %t5786 %t5800 = getelementptr inbounds ptr, ptr %t5799, i32 %t5787 store ptr @.str8569, ptr %t5800 %t5801 = add i32 %t5787, 1 store i32 %t5801, ptr %t5784 br label %ifend1178 ifend1178: %t5802 = load ptr, ptr %t1 %t5803 = call i32 @lp_str_eq(ptr %t5802, ptr @.str8570) %t5804 = icmp ne i32 %t5803, 0 br i1 %t5804, label %then1187, label %ifend1189 then1187: store ptr @.str8571, ptr %t452 %t5805 = load ptr, ptr %t459 %t5806 = getelementptr inbounds %LSlice, ptr %t5805, i32 0, i32 1 %t5807 = getelementptr inbounds %LSlice, ptr %t5805, i32 0, i32 2 %t5808 = getelementptr inbounds %LSlice, ptr %t5805, i32 0, i32 0 %t5809 = load i32, ptr %t5806 %t5810 = load i32, ptr %t5807 %t5811 = icmp sge i32 %t5809, %t5810 br i1 %t5811, label %grow1190, label %put1191 grow1190: %t5812 = mul i32 %t5810, 2 %t5813 = icmp eq i32 %t5810, 0 %t5814 = select i1 %t5813, i32 8, i32 %t5812 %t5815 = getelementptr ptr, ptr null, i32 1 %t5816 = ptrtoint ptr %t5815 to i64 %t5817 = zext i32 %t5814 to i64 %t5818 = mul i64 %t5817, %t5816 %t5819 = load ptr, ptr %t5808 %t5820 = call ptr @realloc(ptr %t5819, i64 %t5818) store ptr %t5820, ptr %t5808 store i32 %t5814, ptr %t5807 br label %put1191 put1191: %t5821 = load ptr, ptr %t5808 %t5822 = getelementptr inbounds ptr, ptr %t5821, i32 %t5809 store ptr @.str8572, ptr %t5822 %t5823 = add i32 %t5809, 1 store i32 %t5823, ptr %t5806 br label %ifend1189 ifend1189: br label %ifend966 ifend966: %t5824 = load ptr, ptr %t0 %t5825 = call i32 @lp_str_eq(ptr %t5824, ptr @.str8573) %t5826 = icmp ne i32 %t5825, 0 br i1 %t5826, label %then1192, label %ifend1194 then1192: %t5827 = load ptr, ptr %t1 %t5828 = call i32 @lp_str_eq(ptr %t5827, ptr @.str8574) %t5829 = icmp ne i32 %t5828, 0 br i1 %t5829, label %then1195, label %ifend1197 then1195: store ptr @.str8575, ptr %t452 %t5830 = load ptr, ptr %t459 %t5831 = getelementptr inbounds %LSlice, ptr %t5830, i32 0, i32 1 %t5832 = getelementptr inbounds %LSlice, ptr %t5830, i32 0, i32 2 %t5833 = getelementptr inbounds %LSlice, ptr %t5830, i32 0, i32 0 %t5834 = load i32, ptr %t5831 %t5835 = load i32, ptr %t5832 %t5836 = icmp sge i32 %t5834, %t5835 br i1 %t5836, label %grow1198, label %put1199 grow1198: %t5837 = mul i32 %t5835, 2 %t5838 = icmp eq i32 %t5835, 0 %t5839 = select i1 %t5838, i32 8, i32 %t5837 %t5840 = getelementptr ptr, ptr null, i32 1 %t5841 = ptrtoint ptr %t5840 to i64 %t5842 = zext i32 %t5839 to i64 %t5843 = mul i64 %t5842, %t5841 %t5844 = load ptr, ptr %t5833 %t5845 = call ptr @realloc(ptr %t5844, i64 %t5843) store ptr %t5845, ptr %t5833 store i32 %t5839, ptr %t5832 br label %put1199 put1199: %t5846 = load ptr, ptr %t5833 %t5847 = getelementptr inbounds ptr, ptr %t5846, i32 %t5834 store ptr @.str8576, ptr %t5847 %t5848 = add i32 %t5834, 1 store i32 %t5848, ptr %t5831 br label %ifend1197 ifend1197: %t5849 = load ptr, ptr %t1 %t5850 = call i32 @lp_str_eq(ptr %t5849, ptr @.str8577) %t5851 = icmp ne i32 %t5850, 0 br i1 %t5851, label %then1200, label %ifend1202 then1200: store ptr @.str8578, ptr %t452 %t5852 = load ptr, ptr %t459 %t5853 = getelementptr inbounds %LSlice, ptr %t5852, i32 0, i32 1 %t5854 = getelementptr inbounds %LSlice, ptr %t5852, i32 0, i32 2 %t5855 = getelementptr inbounds %LSlice, ptr %t5852, i32 0, i32 0 %t5856 = load i32, ptr %t5853 %t5857 = load i32, ptr %t5854 %t5858 = icmp sge i32 %t5856, %t5857 br i1 %t5858, label %grow1203, label %put1204 grow1203: %t5859 = mul i32 %t5857, 2 %t5860 = icmp eq i32 %t5857, 0 %t5861 = select i1 %t5860, i32 8, i32 %t5859 %t5862 = getelementptr ptr, ptr null, i32 1 %t5863 = ptrtoint ptr %t5862 to i64 %t5864 = zext i32 %t5861 to i64 %t5865 = mul i64 %t5864, %t5863 %t5866 = load ptr, ptr %t5855 %t5867 = call ptr @realloc(ptr %t5866, i64 %t5865) store ptr %t5867, ptr %t5855 store i32 %t5861, ptr %t5854 br label %put1204 put1204: %t5868 = load ptr, ptr %t5855 %t5869 = getelementptr inbounds ptr, ptr %t5868, i32 %t5856 store ptr @.str8579, ptr %t5869 %t5870 = add i32 %t5856, 1 store i32 %t5870, ptr %t5853 %t5871 = load ptr, ptr %t459 %t5872 = getelementptr inbounds %LSlice, ptr %t5871, i32 0, i32 1 %t5873 = getelementptr inbounds %LSlice, ptr %t5871, i32 0, i32 2 %t5874 = getelementptr inbounds %LSlice, ptr %t5871, i32 0, i32 0 %t5875 = load i32, ptr %t5872 %t5876 = load i32, ptr %t5873 %t5877 = icmp sge i32 %t5875, %t5876 br i1 %t5877, label %grow1205, label %put1206 grow1205: %t5878 = mul i32 %t5876, 2 %t5879 = icmp eq i32 %t5876, 0 %t5880 = select i1 %t5879, i32 8, i32 %t5878 %t5881 = getelementptr ptr, ptr null, i32 1 %t5882 = ptrtoint ptr %t5881 to i64 %t5883 = zext i32 %t5880 to i64 %t5884 = mul i64 %t5883, %t5882 %t5885 = load ptr, ptr %t5874 %t5886 = call ptr @realloc(ptr %t5885, i64 %t5884) store ptr %t5886, ptr %t5874 store i32 %t5880, ptr %t5873 br label %put1206 put1206: %t5887 = load ptr, ptr %t5874 %t5888 = getelementptr inbounds ptr, ptr %t5887, i32 %t5875 store ptr @.str8580, ptr %t5888 %t5889 = add i32 %t5875, 1 store i32 %t5889, ptr %t5872 br label %ifend1202 ifend1202: %t5890 = load ptr, ptr %t1 %t5891 = call i32 @lp_str_eq(ptr %t5890, ptr @.str8581) %t5892 = icmp ne i32 %t5891, 0 br i1 %t5892, label %then1207, label %ifend1209 then1207: store ptr @.str8582, ptr %t452 %t5893 = load ptr, ptr %t459 %t5894 = getelementptr inbounds %LSlice, ptr %t5893, i32 0, i32 1 %t5895 = getelementptr inbounds %LSlice, ptr %t5893, i32 0, i32 2 %t5896 = getelementptr inbounds %LSlice, ptr %t5893, i32 0, i32 0 %t5897 = load i32, ptr %t5894 %t5898 = load i32, ptr %t5895 %t5899 = icmp sge i32 %t5897, %t5898 br i1 %t5899, label %grow1210, label %put1211 grow1210: %t5900 = mul i32 %t5898, 2 %t5901 = icmp eq i32 %t5898, 0 %t5902 = select i1 %t5901, i32 8, i32 %t5900 %t5903 = getelementptr ptr, ptr null, i32 1 %t5904 = ptrtoint ptr %t5903 to i64 %t5905 = zext i32 %t5902 to i64 %t5906 = mul i64 %t5905, %t5904 %t5907 = load ptr, ptr %t5896 %t5908 = call ptr @realloc(ptr %t5907, i64 %t5906) store ptr %t5908, ptr %t5896 store i32 %t5902, ptr %t5895 br label %put1211 put1211: %t5909 = load ptr, ptr %t5896 %t5910 = getelementptr inbounds ptr, ptr %t5909, i32 %t5897 store ptr @.str8583, ptr %t5910 %t5911 = add i32 %t5897, 1 store i32 %t5911, ptr %t5894 br label %ifend1209 ifend1209: %t5912 = load ptr, ptr %t1 %t5913 = call i32 @lp_str_eq(ptr %t5912, ptr @.str8584) %t5914 = icmp ne i32 %t5913, 0 br i1 %t5914, label %then1212, label %ifend1214 then1212: %t5915 = load ptr, ptr %t2 %t5916 = call i32 @fn_first_arg_is_text(ptr %t5915) %t5917 = icmp ne i32 %t5916, 0 br i1 %t5917, label %then1215, label %else1216 then1215: store ptr @.str8585, ptr %t452 %t5918 = load ptr, ptr %t459 %t5919 = getelementptr inbounds %LSlice, ptr %t5918, i32 0, i32 1 %t5920 = getelementptr inbounds %LSlice, ptr %t5918, i32 0, i32 2 %t5921 = getelementptr inbounds %LSlice, ptr %t5918, i32 0, i32 0 %t5922 = load i32, ptr %t5919 %t5923 = load i32, ptr %t5920 %t5924 = icmp sge i32 %t5922, %t5923 br i1 %t5924, label %grow1218, label %put1219 grow1218: %t5925 = mul i32 %t5923, 2 %t5926 = icmp eq i32 %t5923, 0 %t5927 = select i1 %t5926, i32 8, i32 %t5925 %t5928 = getelementptr ptr, ptr null, i32 1 %t5929 = ptrtoint ptr %t5928 to i64 %t5930 = zext i32 %t5927 to i64 %t5931 = mul i64 %t5930, %t5929 %t5932 = load ptr, ptr %t5921 %t5933 = call ptr @realloc(ptr %t5932, i64 %t5931) store ptr %t5933, ptr %t5921 store i32 %t5927, ptr %t5920 br label %put1219 put1219: %t5934 = load ptr, ptr %t5921 %t5935 = getelementptr inbounds ptr, ptr %t5934, i32 %t5922 store ptr @.str8586, ptr %t5935 %t5936 = add i32 %t5922, 1 store i32 %t5936, ptr %t5919 br label %ifend1217 else1216: store ptr @.str8587, ptr %t452 %t5937 = load ptr, ptr %t459 %t5938 = getelementptr inbounds %LSlice, ptr %t5937, i32 0, i32 1 %t5939 = getelementptr inbounds %LSlice, ptr %t5937, i32 0, i32 2 %t5940 = getelementptr inbounds %LSlice, ptr %t5937, i32 0, i32 0 %t5941 = load i32, ptr %t5938 %t5942 = load i32, ptr %t5939 %t5943 = icmp sge i32 %t5941, %t5942 br i1 %t5943, label %grow1220, label %put1221 grow1220: %t5944 = mul i32 %t5942, 2 %t5945 = icmp eq i32 %t5942, 0 %t5946 = select i1 %t5945, i32 8, i32 %t5944 %t5947 = getelementptr ptr, ptr null, i32 1 %t5948 = ptrtoint ptr %t5947 to i64 %t5949 = zext i32 %t5946 to i64 %t5950 = mul i64 %t5949, %t5948 %t5951 = load ptr, ptr %t5940 %t5952 = call ptr @realloc(ptr %t5951, i64 %t5950) store ptr %t5952, ptr %t5940 store i32 %t5946, ptr %t5939 br label %put1221 put1221: %t5953 = load ptr, ptr %t5940 %t5954 = getelementptr inbounds ptr, ptr %t5953, i32 %t5941 store ptr @.str8588, ptr %t5954 %t5955 = add i32 %t5941, 1 store i32 %t5955, ptr %t5938 br label %ifend1217 ifend1217: br label %ifend1214 ifend1214: %t5956 = load ptr, ptr %t1 %t5957 = call i32 @lp_str_eq(ptr %t5956, ptr @.str8589) %t5958 = icmp ne i32 %t5957, 0 br i1 %t5958, label %then1222, label %ifend1224 then1222: store ptr @.str8590, ptr %t452 %t5959 = load ptr, ptr %t459 %t5960 = getelementptr inbounds %LSlice, ptr %t5959, i32 0, i32 1 %t5961 = getelementptr inbounds %LSlice, ptr %t5959, i32 0, i32 2 %t5962 = getelementptr inbounds %LSlice, ptr %t5959, i32 0, i32 0 %t5963 = load i32, ptr %t5960 %t5964 = load i32, ptr %t5961 %t5965 = icmp sge i32 %t5963, %t5964 br i1 %t5965, label %grow1225, label %put1226 grow1225: %t5966 = mul i32 %t5964, 2 %t5967 = icmp eq i32 %t5964, 0 %t5968 = select i1 %t5967, i32 8, i32 %t5966 %t5969 = getelementptr ptr, ptr null, i32 1 %t5970 = ptrtoint ptr %t5969 to i64 %t5971 = zext i32 %t5968 to i64 %t5972 = mul i64 %t5971, %t5970 %t5973 = load ptr, ptr %t5962 %t5974 = call ptr @realloc(ptr %t5973, i64 %t5972) store ptr %t5974, ptr %t5962 store i32 %t5968, ptr %t5961 br label %put1226 put1226: %t5975 = load ptr, ptr %t5962 %t5976 = getelementptr inbounds ptr, ptr %t5975, i32 %t5963 store ptr @.str8591, ptr %t5976 %t5977 = add i32 %t5963, 1 store i32 %t5977, ptr %t5960 br label %ifend1224 ifend1224: %t5978 = load ptr, ptr %t1 %t5979 = call i32 @lp_str_eq(ptr %t5978, ptr @.str8592) %t5980 = icmp ne i32 %t5979, 0 br i1 %t5980, label %then1227, label %ifend1229 then1227: store ptr @.str8593, ptr %t452 %t5981 = load ptr, ptr %t459 %t5982 = getelementptr inbounds %LSlice, ptr %t5981, i32 0, i32 1 %t5983 = getelementptr inbounds %LSlice, ptr %t5981, i32 0, i32 2 %t5984 = getelementptr inbounds %LSlice, ptr %t5981, i32 0, i32 0 %t5985 = load i32, ptr %t5982 %t5986 = load i32, ptr %t5983 %t5987 = icmp sge i32 %t5985, %t5986 br i1 %t5987, label %grow1230, label %put1231 grow1230: %t5988 = mul i32 %t5986, 2 %t5989 = icmp eq i32 %t5986, 0 %t5990 = select i1 %t5989, i32 8, i32 %t5988 %t5991 = getelementptr ptr, ptr null, i32 1 %t5992 = ptrtoint ptr %t5991 to i64 %t5993 = zext i32 %t5990 to i64 %t5994 = mul i64 %t5993, %t5992 %t5995 = load ptr, ptr %t5984 %t5996 = call ptr @realloc(ptr %t5995, i64 %t5994) store ptr %t5996, ptr %t5984 store i32 %t5990, ptr %t5983 br label %put1231 put1231: %t5997 = load ptr, ptr %t5984 %t5998 = getelementptr inbounds ptr, ptr %t5997, i32 %t5985 store ptr @.str8594, ptr %t5998 %t5999 = add i32 %t5985, 1 store i32 %t5999, ptr %t5982 %t6000 = load ptr, ptr %t459 %t6001 = getelementptr inbounds %LSlice, ptr %t6000, i32 0, i32 1 %t6002 = getelementptr inbounds %LSlice, ptr %t6000, i32 0, i32 2 %t6003 = getelementptr inbounds %LSlice, ptr %t6000, i32 0, i32 0 %t6004 = load i32, ptr %t6001 %t6005 = load i32, ptr %t6002 %t6006 = icmp sge i32 %t6004, %t6005 br i1 %t6006, label %grow1232, label %put1233 grow1232: %t6007 = mul i32 %t6005, 2 %t6008 = icmp eq i32 %t6005, 0 %t6009 = select i1 %t6008, i32 8, i32 %t6007 %t6010 = getelementptr ptr, ptr null, i32 1 %t6011 = ptrtoint ptr %t6010 to i64 %t6012 = zext i32 %t6009 to i64 %t6013 = mul i64 %t6012, %t6011 %t6014 = load ptr, ptr %t6003 %t6015 = call ptr @realloc(ptr %t6014, i64 %t6013) store ptr %t6015, ptr %t6003 store i32 %t6009, ptr %t6002 br label %put1233 put1233: %t6016 = load ptr, ptr %t6003 %t6017 = getelementptr inbounds ptr, ptr %t6016, i32 %t6004 store ptr @.str8595, ptr %t6017 %t6018 = add i32 %t6004, 1 store i32 %t6018, ptr %t6001 %t6019 = load ptr, ptr %t459 %t6020 = getelementptr inbounds %LSlice, ptr %t6019, i32 0, i32 1 %t6021 = getelementptr inbounds %LSlice, ptr %t6019, i32 0, i32 2 %t6022 = getelementptr inbounds %LSlice, ptr %t6019, i32 0, i32 0 %t6023 = load i32, ptr %t6020 %t6024 = load i32, ptr %t6021 %t6025 = icmp sge i32 %t6023, %t6024 br i1 %t6025, label %grow1234, label %put1235 grow1234: %t6026 = mul i32 %t6024, 2 %t6027 = icmp eq i32 %t6024, 0 %t6028 = select i1 %t6027, i32 8, i32 %t6026 %t6029 = getelementptr ptr, ptr null, i32 1 %t6030 = ptrtoint ptr %t6029 to i64 %t6031 = zext i32 %t6028 to i64 %t6032 = mul i64 %t6031, %t6030 %t6033 = load ptr, ptr %t6022 %t6034 = call ptr @realloc(ptr %t6033, i64 %t6032) store ptr %t6034, ptr %t6022 store i32 %t6028, ptr %t6021 br label %put1235 put1235: %t6035 = load ptr, ptr %t6022 %t6036 = getelementptr inbounds ptr, ptr %t6035, i32 %t6023 store ptr @.str8596, ptr %t6036 %t6037 = add i32 %t6023, 1 store i32 %t6037, ptr %t6020 %t6038 = load ptr, ptr %t459 %t6039 = getelementptr inbounds %LSlice, ptr %t6038, i32 0, i32 1 %t6040 = getelementptr inbounds %LSlice, ptr %t6038, i32 0, i32 2 %t6041 = getelementptr inbounds %LSlice, ptr %t6038, i32 0, i32 0 %t6042 = load i32, ptr %t6039 %t6043 = load i32, ptr %t6040 %t6044 = icmp sge i32 %t6042, %t6043 br i1 %t6044, label %grow1236, label %put1237 grow1236: %t6045 = mul i32 %t6043, 2 %t6046 = icmp eq i32 %t6043, 0 %t6047 = select i1 %t6046, i32 8, i32 %t6045 %t6048 = getelementptr ptr, ptr null, i32 1 %t6049 = ptrtoint ptr %t6048 to i64 %t6050 = zext i32 %t6047 to i64 %t6051 = mul i64 %t6050, %t6049 %t6052 = load ptr, ptr %t6041 %t6053 = call ptr @realloc(ptr %t6052, i64 %t6051) store ptr %t6053, ptr %t6041 store i32 %t6047, ptr %t6040 br label %put1237 put1237: %t6054 = load ptr, ptr %t6041 %t6055 = getelementptr inbounds ptr, ptr %t6054, i32 %t6042 store ptr @.str8597, ptr %t6055 %t6056 = add i32 %t6042, 1 store i32 %t6056, ptr %t6039 br label %ifend1229 ifend1229: %t6057 = load ptr, ptr %t1 %t6058 = call i32 @lp_str_eq(ptr %t6057, ptr @.str8598) %t6059 = icmp ne i32 %t6058, 0 br i1 %t6059, label %then1238, label %ifend1240 then1238: %t6060 = load ptr, ptr %t2 %t6061 = call i32 @fn_first_arg_is_text(ptr %t6060) %t6062 = icmp ne i32 %t6061, 0 br i1 %t6062, label %then1241, label %else1242 then1241: store ptr @.str8599, ptr %t452 %t6063 = load ptr, ptr %t459 %t6064 = getelementptr inbounds %LSlice, ptr %t6063, i32 0, i32 1 %t6065 = getelementptr inbounds %LSlice, ptr %t6063, i32 0, i32 2 %t6066 = getelementptr inbounds %LSlice, ptr %t6063, i32 0, i32 0 %t6067 = load i32, ptr %t6064 %t6068 = load i32, ptr %t6065 %t6069 = icmp sge i32 %t6067, %t6068 br i1 %t6069, label %grow1244, label %put1245 grow1244: %t6070 = mul i32 %t6068, 2 %t6071 = icmp eq i32 %t6068, 0 %t6072 = select i1 %t6071, i32 8, i32 %t6070 %t6073 = getelementptr ptr, ptr null, i32 1 %t6074 = ptrtoint ptr %t6073 to i64 %t6075 = zext i32 %t6072 to i64 %t6076 = mul i64 %t6075, %t6074 %t6077 = load ptr, ptr %t6066 %t6078 = call ptr @realloc(ptr %t6077, i64 %t6076) store ptr %t6078, ptr %t6066 store i32 %t6072, ptr %t6065 br label %put1245 put1245: %t6079 = load ptr, ptr %t6066 %t6080 = getelementptr inbounds ptr, ptr %t6079, i32 %t6067 store ptr @.str8600, ptr %t6080 %t6081 = add i32 %t6067, 1 store i32 %t6081, ptr %t6064 br label %ifend1243 else1242: store ptr @.str8601, ptr %t452 %t6082 = load ptr, ptr %t459 %t6083 = getelementptr inbounds %LSlice, ptr %t6082, i32 0, i32 1 %t6084 = getelementptr inbounds %LSlice, ptr %t6082, i32 0, i32 2 %t6085 = getelementptr inbounds %LSlice, ptr %t6082, i32 0, i32 0 %t6086 = load i32, ptr %t6083 %t6087 = load i32, ptr %t6084 %t6088 = icmp sge i32 %t6086, %t6087 br i1 %t6088, label %grow1246, label %put1247 grow1246: %t6089 = mul i32 %t6087, 2 %t6090 = icmp eq i32 %t6087, 0 %t6091 = select i1 %t6090, i32 8, i32 %t6089 %t6092 = getelementptr ptr, ptr null, i32 1 %t6093 = ptrtoint ptr %t6092 to i64 %t6094 = zext i32 %t6091 to i64 %t6095 = mul i64 %t6094, %t6093 %t6096 = load ptr, ptr %t6085 %t6097 = call ptr @realloc(ptr %t6096, i64 %t6095) store ptr %t6097, ptr %t6085 store i32 %t6091, ptr %t6084 br label %put1247 put1247: %t6098 = load ptr, ptr %t6085 %t6099 = getelementptr inbounds ptr, ptr %t6098, i32 %t6086 store ptr @.str8602, ptr %t6099 %t6100 = add i32 %t6086, 1 store i32 %t6100, ptr %t6083 br label %ifend1243 ifend1243: br label %ifend1240 ifend1240: %t6101 = load ptr, ptr %t1 %t6102 = call i32 @lp_str_eq(ptr %t6101, ptr @.str8603) %t6103 = icmp ne i32 %t6102, 0 br i1 %t6103, label %then1248, label %ifend1250 then1248: store ptr @.str8604, ptr %t452 %t6104 = load ptr, ptr %t459 %t6105 = getelementptr inbounds %LSlice, ptr %t6104, i32 0, i32 1 %t6106 = getelementptr inbounds %LSlice, ptr %t6104, i32 0, i32 2 %t6107 = getelementptr inbounds %LSlice, ptr %t6104, i32 0, i32 0 %t6108 = load i32, ptr %t6105 %t6109 = load i32, ptr %t6106 %t6110 = icmp sge i32 %t6108, %t6109 br i1 %t6110, label %grow1251, label %put1252 grow1251: %t6111 = mul i32 %t6109, 2 %t6112 = icmp eq i32 %t6109, 0 %t6113 = select i1 %t6112, i32 8, i32 %t6111 %t6114 = getelementptr ptr, ptr null, i32 1 %t6115 = ptrtoint ptr %t6114 to i64 %t6116 = zext i32 %t6113 to i64 %t6117 = mul i64 %t6116, %t6115 %t6118 = load ptr, ptr %t6107 %t6119 = call ptr @realloc(ptr %t6118, i64 %t6117) store ptr %t6119, ptr %t6107 store i32 %t6113, ptr %t6106 br label %put1252 put1252: %t6120 = load ptr, ptr %t6107 %t6121 = getelementptr inbounds ptr, ptr %t6120, i32 %t6108 store ptr @.str8605, ptr %t6121 %t6122 = add i32 %t6108, 1 store i32 %t6122, ptr %t6105 br label %ifend1250 ifend1250: %t6123 = load ptr, ptr %t1 %t6124 = call i32 @lp_str_eq(ptr %t6123, ptr @.str8606) %t6125 = icmp ne i32 %t6124, 0 br i1 %t6125, label %then1253, label %ifend1255 then1253: store ptr @.str8607, ptr %t452 br label %ifend1255 ifend1255: %t6126 = load ptr, ptr %t1 %t6127 = call i32 @lp_str_eq(ptr %t6126, ptr @.str8608) %t6128 = icmp ne i32 %t6127, 0 br i1 %t6128, label %then1256, label %ifend1258 then1256: store ptr @.str8609, ptr %t452 br label %ifend1258 ifend1258: %t6129 = load ptr, ptr %t1 %t6130 = call i32 @lp_str_eq(ptr %t6129, ptr @.str8610) %t6131 = icmp ne i32 %t6130, 0 br i1 %t6131, label %then1259, label %ifend1261 then1259: store ptr @.str8611, ptr %t452 %t6132 = load ptr, ptr %t459 %t6133 = getelementptr inbounds %LSlice, ptr %t6132, i32 0, i32 1 %t6134 = getelementptr inbounds %LSlice, ptr %t6132, i32 0, i32 2 %t6135 = getelementptr inbounds %LSlice, ptr %t6132, i32 0, i32 0 %t6136 = load i32, ptr %t6133 %t6137 = load i32, ptr %t6134 %t6138 = icmp sge i32 %t6136, %t6137 br i1 %t6138, label %grow1262, label %put1263 grow1262: %t6139 = mul i32 %t6137, 2 %t6140 = icmp eq i32 %t6137, 0 %t6141 = select i1 %t6140, i32 8, i32 %t6139 %t6142 = getelementptr ptr, ptr null, i32 1 %t6143 = ptrtoint ptr %t6142 to i64 %t6144 = zext i32 %t6141 to i64 %t6145 = mul i64 %t6144, %t6143 %t6146 = load ptr, ptr %t6135 %t6147 = call ptr @realloc(ptr %t6146, i64 %t6145) store ptr %t6147, ptr %t6135 store i32 %t6141, ptr %t6134 br label %put1263 put1263: %t6148 = load ptr, ptr %t6135 %t6149 = getelementptr inbounds ptr, ptr %t6148, i32 %t6136 store ptr @.str8612, ptr %t6149 %t6150 = add i32 %t6136, 1 store i32 %t6150, ptr %t6133 br label %ifend1261 ifend1261: %t6151 = load ptr, ptr %t1 %t6152 = call i32 @lp_str_eq(ptr %t6151, ptr @.str8613) %t6153 = icmp ne i32 %t6152, 0 br i1 %t6153, label %then1264, label %ifend1266 then1264: store ptr @.str8614, ptr %t452 %t6154 = load ptr, ptr %t459 %t6155 = getelementptr inbounds %LSlice, ptr %t6154, i32 0, i32 1 %t6156 = getelementptr inbounds %LSlice, ptr %t6154, i32 0, i32 2 %t6157 = getelementptr inbounds %LSlice, ptr %t6154, i32 0, i32 0 %t6158 = load i32, ptr %t6155 %t6159 = load i32, ptr %t6156 %t6160 = icmp sge i32 %t6158, %t6159 br i1 %t6160, label %grow1267, label %put1268 grow1267: %t6161 = mul i32 %t6159, 2 %t6162 = icmp eq i32 %t6159, 0 %t6163 = select i1 %t6162, i32 8, i32 %t6161 %t6164 = getelementptr ptr, ptr null, i32 1 %t6165 = ptrtoint ptr %t6164 to i64 %t6166 = zext i32 %t6163 to i64 %t6167 = mul i64 %t6166, %t6165 %t6168 = load ptr, ptr %t6157 %t6169 = call ptr @realloc(ptr %t6168, i64 %t6167) store ptr %t6169, ptr %t6157 store i32 %t6163, ptr %t6156 br label %put1268 put1268: %t6170 = load ptr, ptr %t6157 %t6171 = getelementptr inbounds ptr, ptr %t6170, i32 %t6158 store ptr @.str8615, ptr %t6171 %t6172 = add i32 %t6158, 1 store i32 %t6172, ptr %t6155 br label %ifend1266 ifend1266: %t6173 = load ptr, ptr %t1 %t6174 = call i32 @lp_str_eq(ptr %t6173, ptr @.str8616) %t6175 = icmp ne i32 %t6174, 0 br i1 %t6175, label %then1269, label %ifend1271 then1269: store ptr @.str8617, ptr %t452 %t6176 = load ptr, ptr %t459 %t6177 = getelementptr inbounds %LSlice, ptr %t6176, i32 0, i32 1 %t6178 = getelementptr inbounds %LSlice, ptr %t6176, i32 0, i32 2 %t6179 = getelementptr inbounds %LSlice, ptr %t6176, i32 0, i32 0 %t6180 = load i32, ptr %t6177 %t6181 = load i32, ptr %t6178 %t6182 = icmp sge i32 %t6180, %t6181 br i1 %t6182, label %grow1272, label %put1273 grow1272: %t6183 = mul i32 %t6181, 2 %t6184 = icmp eq i32 %t6181, 0 %t6185 = select i1 %t6184, i32 8, i32 %t6183 %t6186 = getelementptr ptr, ptr null, i32 1 %t6187 = ptrtoint ptr %t6186 to i64 %t6188 = zext i32 %t6185 to i64 %t6189 = mul i64 %t6188, %t6187 %t6190 = load ptr, ptr %t6179 %t6191 = call ptr @realloc(ptr %t6190, i64 %t6189) store ptr %t6191, ptr %t6179 store i32 %t6185, ptr %t6178 br label %put1273 put1273: %t6192 = load ptr, ptr %t6179 %t6193 = getelementptr inbounds ptr, ptr %t6192, i32 %t6180 store ptr @.str8618, ptr %t6193 %t6194 = add i32 %t6180, 1 store i32 %t6194, ptr %t6177 br label %ifend1271 ifend1271: br label %ifend1194 ifend1194: %t6195 = load ptr, ptr %t0 %t6196 = call i32 @lp_str_eq(ptr %t6195, ptr @.str8619) %t6197 = icmp ne i32 %t6196, 0 br i1 %t6197, label %then1274, label %ifend1276 then1274: %t6198 = load ptr, ptr %t1 %t6199 = call i32 @lp_str_eq(ptr %t6198, ptr @.str8620) %t6200 = icmp ne i32 %t6199, 0 br i1 %t6200, label %then1277, label %ifend1279 then1277: store ptr @.str8621, ptr %t452 %t6201 = load ptr, ptr %t459 %t6202 = getelementptr inbounds %LSlice, ptr %t6201, i32 0, i32 1 %t6203 = getelementptr inbounds %LSlice, ptr %t6201, i32 0, i32 2 %t6204 = getelementptr inbounds %LSlice, ptr %t6201, i32 0, i32 0 %t6205 = load i32, ptr %t6202 %t6206 = load i32, ptr %t6203 %t6207 = icmp sge i32 %t6205, %t6206 br i1 %t6207, label %grow1280, label %put1281 grow1280: %t6208 = mul i32 %t6206, 2 %t6209 = icmp eq i32 %t6206, 0 %t6210 = select i1 %t6209, i32 8, i32 %t6208 %t6211 = getelementptr ptr, ptr null, i32 1 %t6212 = ptrtoint ptr %t6211 to i64 %t6213 = zext i32 %t6210 to i64 %t6214 = mul i64 %t6213, %t6212 %t6215 = load ptr, ptr %t6204 %t6216 = call ptr @realloc(ptr %t6215, i64 %t6214) store ptr %t6216, ptr %t6204 store i32 %t6210, ptr %t6203 br label %put1281 put1281: %t6217 = load ptr, ptr %t6204 %t6218 = getelementptr inbounds ptr, ptr %t6217, i32 %t6205 store ptr @.str8622, ptr %t6218 %t6219 = add i32 %t6205, 1 store i32 %t6219, ptr %t6202 br label %ifend1279 ifend1279: %t6220 = load ptr, ptr %t1 %t6221 = call i32 @lp_str_eq(ptr %t6220, ptr @.str8623) %t6222 = icmp ne i32 %t6221, 0 br i1 %t6222, label %then1282, label %ifend1284 then1282: store ptr @.str8624, ptr %t452 %t6223 = load ptr, ptr %t459 %t6224 = getelementptr inbounds %LSlice, ptr %t6223, i32 0, i32 1 %t6225 = getelementptr inbounds %LSlice, ptr %t6223, i32 0, i32 2 %t6226 = getelementptr inbounds %LSlice, ptr %t6223, i32 0, i32 0 %t6227 = load i32, ptr %t6224 %t6228 = load i32, ptr %t6225 %t6229 = icmp sge i32 %t6227, %t6228 br i1 %t6229, label %grow1285, label %put1286 grow1285: %t6230 = mul i32 %t6228, 2 %t6231 = icmp eq i32 %t6228, 0 %t6232 = select i1 %t6231, i32 8, i32 %t6230 %t6233 = getelementptr ptr, ptr null, i32 1 %t6234 = ptrtoint ptr %t6233 to i64 %t6235 = zext i32 %t6232 to i64 %t6236 = mul i64 %t6235, %t6234 %t6237 = load ptr, ptr %t6226 %t6238 = call ptr @realloc(ptr %t6237, i64 %t6236) store ptr %t6238, ptr %t6226 store i32 %t6232, ptr %t6225 br label %put1286 put1286: %t6239 = load ptr, ptr %t6226 %t6240 = getelementptr inbounds ptr, ptr %t6239, i32 %t6227 store ptr @.str8625, ptr %t6240 %t6241 = add i32 %t6227, 1 store i32 %t6241, ptr %t6224 %t6242 = load ptr, ptr %t459 %t6243 = getelementptr inbounds %LSlice, ptr %t6242, i32 0, i32 1 %t6244 = getelementptr inbounds %LSlice, ptr %t6242, i32 0, i32 2 %t6245 = getelementptr inbounds %LSlice, ptr %t6242, i32 0, i32 0 %t6246 = load i32, ptr %t6243 %t6247 = load i32, ptr %t6244 %t6248 = icmp sge i32 %t6246, %t6247 br i1 %t6248, label %grow1287, label %put1288 grow1287: %t6249 = mul i32 %t6247, 2 %t6250 = icmp eq i32 %t6247, 0 %t6251 = select i1 %t6250, i32 8, i32 %t6249 %t6252 = getelementptr ptr, ptr null, i32 1 %t6253 = ptrtoint ptr %t6252 to i64 %t6254 = zext i32 %t6251 to i64 %t6255 = mul i64 %t6254, %t6253 %t6256 = load ptr, ptr %t6245 %t6257 = call ptr @realloc(ptr %t6256, i64 %t6255) store ptr %t6257, ptr %t6245 store i32 %t6251, ptr %t6244 br label %put1288 put1288: %t6258 = load ptr, ptr %t6245 %t6259 = getelementptr inbounds ptr, ptr %t6258, i32 %t6246 store ptr @.str8626, ptr %t6259 %t6260 = add i32 %t6246, 1 store i32 %t6260, ptr %t6243 br label %ifend1284 ifend1284: %t6261 = load ptr, ptr %t1 %t6262 = call i32 @lp_str_eq(ptr %t6261, ptr @.str8627) %t6263 = icmp ne i32 %t6262, 0 br i1 %t6263, label %then1289, label %ifend1291 then1289: store ptr @.str8628, ptr %t452 %t6264 = load ptr, ptr %t459 %t6265 = getelementptr inbounds %LSlice, ptr %t6264, i32 0, i32 1 %t6266 = getelementptr inbounds %LSlice, ptr %t6264, i32 0, i32 2 %t6267 = getelementptr inbounds %LSlice, ptr %t6264, i32 0, i32 0 %t6268 = load i32, ptr %t6265 %t6269 = load i32, ptr %t6266 %t6270 = icmp sge i32 %t6268, %t6269 br i1 %t6270, label %grow1292, label %put1293 grow1292: %t6271 = mul i32 %t6269, 2 %t6272 = icmp eq i32 %t6269, 0 %t6273 = select i1 %t6272, i32 8, i32 %t6271 %t6274 = getelementptr ptr, ptr null, i32 1 %t6275 = ptrtoint ptr %t6274 to i64 %t6276 = zext i32 %t6273 to i64 %t6277 = mul i64 %t6276, %t6275 %t6278 = load ptr, ptr %t6267 %t6279 = call ptr @realloc(ptr %t6278, i64 %t6277) store ptr %t6279, ptr %t6267 store i32 %t6273, ptr %t6266 br label %put1293 put1293: %t6280 = load ptr, ptr %t6267 %t6281 = getelementptr inbounds ptr, ptr %t6280, i32 %t6268 store ptr @.str8629, ptr %t6281 %t6282 = add i32 %t6268, 1 store i32 %t6282, ptr %t6265 %t6283 = load ptr, ptr %t459 %t6284 = getelementptr inbounds %LSlice, ptr %t6283, i32 0, i32 1 %t6285 = getelementptr inbounds %LSlice, ptr %t6283, i32 0, i32 2 %t6286 = getelementptr inbounds %LSlice, ptr %t6283, i32 0, i32 0 %t6287 = load i32, ptr %t6284 %t6288 = load i32, ptr %t6285 %t6289 = icmp sge i32 %t6287, %t6288 br i1 %t6289, label %grow1294, label %put1295 grow1294: %t6290 = mul i32 %t6288, 2 %t6291 = icmp eq i32 %t6288, 0 %t6292 = select i1 %t6291, i32 8, i32 %t6290 %t6293 = getelementptr ptr, ptr null, i32 1 %t6294 = ptrtoint ptr %t6293 to i64 %t6295 = zext i32 %t6292 to i64 %t6296 = mul i64 %t6295, %t6294 %t6297 = load ptr, ptr %t6286 %t6298 = call ptr @realloc(ptr %t6297, i64 %t6296) store ptr %t6298, ptr %t6286 store i32 %t6292, ptr %t6285 br label %put1295 put1295: %t6299 = load ptr, ptr %t6286 %t6300 = getelementptr inbounds ptr, ptr %t6299, i32 %t6287 store ptr @.str8630, ptr %t6300 %t6301 = add i32 %t6287, 1 store i32 %t6301, ptr %t6284 %t6302 = load ptr, ptr %t459 %t6303 = getelementptr inbounds %LSlice, ptr %t6302, i32 0, i32 1 %t6304 = getelementptr inbounds %LSlice, ptr %t6302, i32 0, i32 2 %t6305 = getelementptr inbounds %LSlice, ptr %t6302, i32 0, i32 0 %t6306 = load i32, ptr %t6303 %t6307 = load i32, ptr %t6304 %t6308 = icmp sge i32 %t6306, %t6307 br i1 %t6308, label %grow1296, label %put1297 grow1296: %t6309 = mul i32 %t6307, 2 %t6310 = icmp eq i32 %t6307, 0 %t6311 = select i1 %t6310, i32 8, i32 %t6309 %t6312 = getelementptr ptr, ptr null, i32 1 %t6313 = ptrtoint ptr %t6312 to i64 %t6314 = zext i32 %t6311 to i64 %t6315 = mul i64 %t6314, %t6313 %t6316 = load ptr, ptr %t6305 %t6317 = call ptr @realloc(ptr %t6316, i64 %t6315) store ptr %t6317, ptr %t6305 store i32 %t6311, ptr %t6304 br label %put1297 put1297: %t6318 = load ptr, ptr %t6305 %t6319 = getelementptr inbounds ptr, ptr %t6318, i32 %t6306 store ptr @.str8631, ptr %t6319 %t6320 = add i32 %t6306, 1 store i32 %t6320, ptr %t6303 br label %ifend1291 ifend1291: %t6321 = load ptr, ptr %t1 %t6322 = call i32 @lp_str_eq(ptr %t6321, ptr @.str8632) %t6323 = icmp ne i32 %t6322, 0 br i1 %t6323, label %then1298, label %ifend1300 then1298: store ptr @.str8633, ptr %t452 %t6324 = load ptr, ptr %t459 %t6325 = getelementptr inbounds %LSlice, ptr %t6324, i32 0, i32 1 %t6326 = getelementptr inbounds %LSlice, ptr %t6324, i32 0, i32 2 %t6327 = getelementptr inbounds %LSlice, ptr %t6324, i32 0, i32 0 %t6328 = load i32, ptr %t6325 %t6329 = load i32, ptr %t6326 %t6330 = icmp sge i32 %t6328, %t6329 br i1 %t6330, label %grow1301, label %put1302 grow1301: %t6331 = mul i32 %t6329, 2 %t6332 = icmp eq i32 %t6329, 0 %t6333 = select i1 %t6332, i32 8, i32 %t6331 %t6334 = getelementptr ptr, ptr null, i32 1 %t6335 = ptrtoint ptr %t6334 to i64 %t6336 = zext i32 %t6333 to i64 %t6337 = mul i64 %t6336, %t6335 %t6338 = load ptr, ptr %t6327 %t6339 = call ptr @realloc(ptr %t6338, i64 %t6337) store ptr %t6339, ptr %t6327 store i32 %t6333, ptr %t6326 br label %put1302 put1302: %t6340 = load ptr, ptr %t6327 %t6341 = getelementptr inbounds ptr, ptr %t6340, i32 %t6328 store ptr @.str8634, ptr %t6341 %t6342 = add i32 %t6328, 1 store i32 %t6342, ptr %t6325 %t6343 = load ptr, ptr %t459 %t6344 = getelementptr inbounds %LSlice, ptr %t6343, i32 0, i32 1 %t6345 = getelementptr inbounds %LSlice, ptr %t6343, i32 0, i32 2 %t6346 = getelementptr inbounds %LSlice, ptr %t6343, i32 0, i32 0 %t6347 = load i32, ptr %t6344 %t6348 = load i32, ptr %t6345 %t6349 = icmp sge i32 %t6347, %t6348 br i1 %t6349, label %grow1303, label %put1304 grow1303: %t6350 = mul i32 %t6348, 2 %t6351 = icmp eq i32 %t6348, 0 %t6352 = select i1 %t6351, i32 8, i32 %t6350 %t6353 = getelementptr ptr, ptr null, i32 1 %t6354 = ptrtoint ptr %t6353 to i64 %t6355 = zext i32 %t6352 to i64 %t6356 = mul i64 %t6355, %t6354 %t6357 = load ptr, ptr %t6346 %t6358 = call ptr @realloc(ptr %t6357, i64 %t6356) store ptr %t6358, ptr %t6346 store i32 %t6352, ptr %t6345 br label %put1304 put1304: %t6359 = load ptr, ptr %t6346 %t6360 = getelementptr inbounds ptr, ptr %t6359, i32 %t6347 store ptr @.str8635, ptr %t6360 %t6361 = add i32 %t6347, 1 store i32 %t6361, ptr %t6344 br label %ifend1300 ifend1300: %t6362 = load ptr, ptr %t1 %t6363 = call i32 @lp_str_eq(ptr %t6362, ptr @.str8636) %t6364 = icmp ne i32 %t6363, 0 br i1 %t6364, label %then1305, label %ifend1307 then1305: store ptr @.str8637, ptr %t452 %t6365 = load ptr, ptr %t459 %t6366 = getelementptr inbounds %LSlice, ptr %t6365, i32 0, i32 1 %t6367 = getelementptr inbounds %LSlice, ptr %t6365, i32 0, i32 2 %t6368 = getelementptr inbounds %LSlice, ptr %t6365, i32 0, i32 0 %t6369 = load i32, ptr %t6366 %t6370 = load i32, ptr %t6367 %t6371 = icmp sge i32 %t6369, %t6370 br i1 %t6371, label %grow1308, label %put1309 grow1308: %t6372 = mul i32 %t6370, 2 %t6373 = icmp eq i32 %t6370, 0 %t6374 = select i1 %t6373, i32 8, i32 %t6372 %t6375 = getelementptr ptr, ptr null, i32 1 %t6376 = ptrtoint ptr %t6375 to i64 %t6377 = zext i32 %t6374 to i64 %t6378 = mul i64 %t6377, %t6376 %t6379 = load ptr, ptr %t6368 %t6380 = call ptr @realloc(ptr %t6379, i64 %t6378) store ptr %t6380, ptr %t6368 store i32 %t6374, ptr %t6367 br label %put1309 put1309: %t6381 = load ptr, ptr %t6368 %t6382 = getelementptr inbounds ptr, ptr %t6381, i32 %t6369 store ptr @.str8638, ptr %t6382 %t6383 = add i32 %t6369, 1 store i32 %t6383, ptr %t6366 %t6384 = load ptr, ptr %t459 %t6385 = getelementptr inbounds %LSlice, ptr %t6384, i32 0, i32 1 %t6386 = getelementptr inbounds %LSlice, ptr %t6384, i32 0, i32 2 %t6387 = getelementptr inbounds %LSlice, ptr %t6384, i32 0, i32 0 %t6388 = load i32, ptr %t6385 %t6389 = load i32, ptr %t6386 %t6390 = icmp sge i32 %t6388, %t6389 br i1 %t6390, label %grow1310, label %put1311 grow1310: %t6391 = mul i32 %t6389, 2 %t6392 = icmp eq i32 %t6389, 0 %t6393 = select i1 %t6392, i32 8, i32 %t6391 %t6394 = getelementptr ptr, ptr null, i32 1 %t6395 = ptrtoint ptr %t6394 to i64 %t6396 = zext i32 %t6393 to i64 %t6397 = mul i64 %t6396, %t6395 %t6398 = load ptr, ptr %t6387 %t6399 = call ptr @realloc(ptr %t6398, i64 %t6397) store ptr %t6399, ptr %t6387 store i32 %t6393, ptr %t6386 br label %put1311 put1311: %t6400 = load ptr, ptr %t6387 %t6401 = getelementptr inbounds ptr, ptr %t6400, i32 %t6388 store ptr @.str8639, ptr %t6401 %t6402 = add i32 %t6388, 1 store i32 %t6402, ptr %t6385 %t6403 = load ptr, ptr %t459 %t6404 = getelementptr inbounds %LSlice, ptr %t6403, i32 0, i32 1 %t6405 = getelementptr inbounds %LSlice, ptr %t6403, i32 0, i32 2 %t6406 = getelementptr inbounds %LSlice, ptr %t6403, i32 0, i32 0 %t6407 = load i32, ptr %t6404 %t6408 = load i32, ptr %t6405 %t6409 = icmp sge i32 %t6407, %t6408 br i1 %t6409, label %grow1312, label %put1313 grow1312: %t6410 = mul i32 %t6408, 2 %t6411 = icmp eq i32 %t6408, 0 %t6412 = select i1 %t6411, i32 8, i32 %t6410 %t6413 = getelementptr ptr, ptr null, i32 1 %t6414 = ptrtoint ptr %t6413 to i64 %t6415 = zext i32 %t6412 to i64 %t6416 = mul i64 %t6415, %t6414 %t6417 = load ptr, ptr %t6406 %t6418 = call ptr @realloc(ptr %t6417, i64 %t6416) store ptr %t6418, ptr %t6406 store i32 %t6412, ptr %t6405 br label %put1313 put1313: %t6419 = load ptr, ptr %t6406 %t6420 = getelementptr inbounds ptr, ptr %t6419, i32 %t6407 store ptr @.str8640, ptr %t6420 %t6421 = add i32 %t6407, 1 store i32 %t6421, ptr %t6404 br label %ifend1307 ifend1307: %t6422 = load ptr, ptr %t1 %t6423 = call i32 @lp_str_eq(ptr %t6422, ptr @.str8641) %t6424 = icmp ne i32 %t6423, 0 br i1 %t6424, label %then1314, label %ifend1316 then1314: store ptr @.str8642, ptr %t452 %t6425 = load ptr, ptr %t459 %t6426 = getelementptr inbounds %LSlice, ptr %t6425, i32 0, i32 1 %t6427 = getelementptr inbounds %LSlice, ptr %t6425, i32 0, i32 2 %t6428 = getelementptr inbounds %LSlice, ptr %t6425, i32 0, i32 0 %t6429 = load i32, ptr %t6426 %t6430 = load i32, ptr %t6427 %t6431 = icmp sge i32 %t6429, %t6430 br i1 %t6431, label %grow1317, label %put1318 grow1317: %t6432 = mul i32 %t6430, 2 %t6433 = icmp eq i32 %t6430, 0 %t6434 = select i1 %t6433, i32 8, i32 %t6432 %t6435 = getelementptr ptr, ptr null, i32 1 %t6436 = ptrtoint ptr %t6435 to i64 %t6437 = zext i32 %t6434 to i64 %t6438 = mul i64 %t6437, %t6436 %t6439 = load ptr, ptr %t6428 %t6440 = call ptr @realloc(ptr %t6439, i64 %t6438) store ptr %t6440, ptr %t6428 store i32 %t6434, ptr %t6427 br label %put1318 put1318: %t6441 = load ptr, ptr %t6428 %t6442 = getelementptr inbounds ptr, ptr %t6441, i32 %t6429 store ptr @.str8643, ptr %t6442 %t6443 = add i32 %t6429, 1 store i32 %t6443, ptr %t6426 %t6444 = load ptr, ptr %t459 %t6445 = getelementptr inbounds %LSlice, ptr %t6444, i32 0, i32 1 %t6446 = getelementptr inbounds %LSlice, ptr %t6444, i32 0, i32 2 %t6447 = getelementptr inbounds %LSlice, ptr %t6444, i32 0, i32 0 %t6448 = load i32, ptr %t6445 %t6449 = load i32, ptr %t6446 %t6450 = icmp sge i32 %t6448, %t6449 br i1 %t6450, label %grow1319, label %put1320 grow1319: %t6451 = mul i32 %t6449, 2 %t6452 = icmp eq i32 %t6449, 0 %t6453 = select i1 %t6452, i32 8, i32 %t6451 %t6454 = getelementptr ptr, ptr null, i32 1 %t6455 = ptrtoint ptr %t6454 to i64 %t6456 = zext i32 %t6453 to i64 %t6457 = mul i64 %t6456, %t6455 %t6458 = load ptr, ptr %t6447 %t6459 = call ptr @realloc(ptr %t6458, i64 %t6457) store ptr %t6459, ptr %t6447 store i32 %t6453, ptr %t6446 br label %put1320 put1320: %t6460 = load ptr, ptr %t6447 %t6461 = getelementptr inbounds ptr, ptr %t6460, i32 %t6448 store ptr @.str8644, ptr %t6461 %t6462 = add i32 %t6448, 1 store i32 %t6462, ptr %t6445 br label %ifend1316 ifend1316: %t6463 = load ptr, ptr %t1 %t6464 = call i32 @lp_str_eq(ptr %t6463, ptr @.str8645) %t6465 = icmp ne i32 %t6464, 0 br i1 %t6465, label %then1321, label %ifend1323 then1321: store ptr @.str8646, ptr %t452 %t6466 = load ptr, ptr %t459 %t6467 = getelementptr inbounds %LSlice, ptr %t6466, i32 0, i32 1 %t6468 = getelementptr inbounds %LSlice, ptr %t6466, i32 0, i32 2 %t6469 = getelementptr inbounds %LSlice, ptr %t6466, i32 0, i32 0 %t6470 = load i32, ptr %t6467 %t6471 = load i32, ptr %t6468 %t6472 = icmp sge i32 %t6470, %t6471 br i1 %t6472, label %grow1324, label %put1325 grow1324: %t6473 = mul i32 %t6471, 2 %t6474 = icmp eq i32 %t6471, 0 %t6475 = select i1 %t6474, i32 8, i32 %t6473 %t6476 = getelementptr ptr, ptr null, i32 1 %t6477 = ptrtoint ptr %t6476 to i64 %t6478 = zext i32 %t6475 to i64 %t6479 = mul i64 %t6478, %t6477 %t6480 = load ptr, ptr %t6469 %t6481 = call ptr @realloc(ptr %t6480, i64 %t6479) store ptr %t6481, ptr %t6469 store i32 %t6475, ptr %t6468 br label %put1325 put1325: %t6482 = load ptr, ptr %t6469 %t6483 = getelementptr inbounds ptr, ptr %t6482, i32 %t6470 store ptr @.str8647, ptr %t6483 %t6484 = add i32 %t6470, 1 store i32 %t6484, ptr %t6467 %t6485 = load ptr, ptr %t459 %t6486 = getelementptr inbounds %LSlice, ptr %t6485, i32 0, i32 1 %t6487 = getelementptr inbounds %LSlice, ptr %t6485, i32 0, i32 2 %t6488 = getelementptr inbounds %LSlice, ptr %t6485, i32 0, i32 0 %t6489 = load i32, ptr %t6486 %t6490 = load i32, ptr %t6487 %t6491 = icmp sge i32 %t6489, %t6490 br i1 %t6491, label %grow1326, label %put1327 grow1326: %t6492 = mul i32 %t6490, 2 %t6493 = icmp eq i32 %t6490, 0 %t6494 = select i1 %t6493, i32 8, i32 %t6492 %t6495 = getelementptr ptr, ptr null, i32 1 %t6496 = ptrtoint ptr %t6495 to i64 %t6497 = zext i32 %t6494 to i64 %t6498 = mul i64 %t6497, %t6496 %t6499 = load ptr, ptr %t6488 %t6500 = call ptr @realloc(ptr %t6499, i64 %t6498) store ptr %t6500, ptr %t6488 store i32 %t6494, ptr %t6487 br label %put1327 put1327: %t6501 = load ptr, ptr %t6488 %t6502 = getelementptr inbounds ptr, ptr %t6501, i32 %t6489 store ptr @.str8648, ptr %t6502 %t6503 = add i32 %t6489, 1 store i32 %t6503, ptr %t6486 %t6504 = load ptr, ptr %t459 %t6505 = getelementptr inbounds %LSlice, ptr %t6504, i32 0, i32 1 %t6506 = getelementptr inbounds %LSlice, ptr %t6504, i32 0, i32 2 %t6507 = getelementptr inbounds %LSlice, ptr %t6504, i32 0, i32 0 %t6508 = load i32, ptr %t6505 %t6509 = load i32, ptr %t6506 %t6510 = icmp sge i32 %t6508, %t6509 br i1 %t6510, label %grow1328, label %put1329 grow1328: %t6511 = mul i32 %t6509, 2 %t6512 = icmp eq i32 %t6509, 0 %t6513 = select i1 %t6512, i32 8, i32 %t6511 %t6514 = getelementptr ptr, ptr null, i32 1 %t6515 = ptrtoint ptr %t6514 to i64 %t6516 = zext i32 %t6513 to i64 %t6517 = mul i64 %t6516, %t6515 %t6518 = load ptr, ptr %t6507 %t6519 = call ptr @realloc(ptr %t6518, i64 %t6517) store ptr %t6519, ptr %t6507 store i32 %t6513, ptr %t6506 br label %put1329 put1329: %t6520 = load ptr, ptr %t6507 %t6521 = getelementptr inbounds ptr, ptr %t6520, i32 %t6508 store ptr @.str8649, ptr %t6521 %t6522 = add i32 %t6508, 1 store i32 %t6522, ptr %t6505 br label %ifend1323 ifend1323: %t6523 = load ptr, ptr %t1 %t6524 = call i32 @lp_str_eq(ptr %t6523, ptr @.str8650) %t6525 = icmp ne i32 %t6524, 0 br i1 %t6525, label %then1330, label %ifend1332 then1330: store ptr @.str8651, ptr %t452 %t6526 = load ptr, ptr %t459 %t6527 = getelementptr inbounds %LSlice, ptr %t6526, i32 0, i32 1 %t6528 = getelementptr inbounds %LSlice, ptr %t6526, i32 0, i32 2 %t6529 = getelementptr inbounds %LSlice, ptr %t6526, i32 0, i32 0 %t6530 = load i32, ptr %t6527 %t6531 = load i32, ptr %t6528 %t6532 = icmp sge i32 %t6530, %t6531 br i1 %t6532, label %grow1333, label %put1334 grow1333: %t6533 = mul i32 %t6531, 2 %t6534 = icmp eq i32 %t6531, 0 %t6535 = select i1 %t6534, i32 8, i32 %t6533 %t6536 = getelementptr ptr, ptr null, i32 1 %t6537 = ptrtoint ptr %t6536 to i64 %t6538 = zext i32 %t6535 to i64 %t6539 = mul i64 %t6538, %t6537 %t6540 = load ptr, ptr %t6529 %t6541 = call ptr @realloc(ptr %t6540, i64 %t6539) store ptr %t6541, ptr %t6529 store i32 %t6535, ptr %t6528 br label %put1334 put1334: %t6542 = load ptr, ptr %t6529 %t6543 = getelementptr inbounds ptr, ptr %t6542, i32 %t6530 store ptr @.str8652, ptr %t6543 %t6544 = add i32 %t6530, 1 store i32 %t6544, ptr %t6527 br label %ifend1332 ifend1332: %t6545 = load ptr, ptr %t1 %t6546 = call i32 @lp_str_eq(ptr %t6545, ptr @.str8653) %t6547 = icmp ne i32 %t6546, 0 br i1 %t6547, label %then1335, label %ifend1337 then1335: store ptr @.str8654, ptr %t452 %t6548 = load ptr, ptr %t459 %t6549 = getelementptr inbounds %LSlice, ptr %t6548, i32 0, i32 1 %t6550 = getelementptr inbounds %LSlice, ptr %t6548, i32 0, i32 2 %t6551 = getelementptr inbounds %LSlice, ptr %t6548, i32 0, i32 0 %t6552 = load i32, ptr %t6549 %t6553 = load i32, ptr %t6550 %t6554 = icmp sge i32 %t6552, %t6553 br i1 %t6554, label %grow1338, label %put1339 grow1338: %t6555 = mul i32 %t6553, 2 %t6556 = icmp eq i32 %t6553, 0 %t6557 = select i1 %t6556, i32 8, i32 %t6555 %t6558 = getelementptr ptr, ptr null, i32 1 %t6559 = ptrtoint ptr %t6558 to i64 %t6560 = zext i32 %t6557 to i64 %t6561 = mul i64 %t6560, %t6559 %t6562 = load ptr, ptr %t6551 %t6563 = call ptr @realloc(ptr %t6562, i64 %t6561) store ptr %t6563, ptr %t6551 store i32 %t6557, ptr %t6550 br label %put1339 put1339: %t6564 = load ptr, ptr %t6551 %t6565 = getelementptr inbounds ptr, ptr %t6564, i32 %t6552 store ptr @.str8655, ptr %t6565 %t6566 = add i32 %t6552, 1 store i32 %t6566, ptr %t6549 br label %ifend1337 ifend1337: %t6567 = load ptr, ptr %t1 %t6568 = call i32 @lp_str_eq(ptr %t6567, ptr @.str8656) %t6569 = icmp ne i32 %t6568, 0 br i1 %t6569, label %then1340, label %ifend1342 then1340: store ptr @.str8657, ptr %t452 %t6570 = load ptr, ptr %t459 %t6571 = getelementptr inbounds %LSlice, ptr %t6570, i32 0, i32 1 %t6572 = getelementptr inbounds %LSlice, ptr %t6570, i32 0, i32 2 %t6573 = getelementptr inbounds %LSlice, ptr %t6570, i32 0, i32 0 %t6574 = load i32, ptr %t6571 %t6575 = load i32, ptr %t6572 %t6576 = icmp sge i32 %t6574, %t6575 br i1 %t6576, label %grow1343, label %put1344 grow1343: %t6577 = mul i32 %t6575, 2 %t6578 = icmp eq i32 %t6575, 0 %t6579 = select i1 %t6578, i32 8, i32 %t6577 %t6580 = getelementptr ptr, ptr null, i32 1 %t6581 = ptrtoint ptr %t6580 to i64 %t6582 = zext i32 %t6579 to i64 %t6583 = mul i64 %t6582, %t6581 %t6584 = load ptr, ptr %t6573 %t6585 = call ptr @realloc(ptr %t6584, i64 %t6583) store ptr %t6585, ptr %t6573 store i32 %t6579, ptr %t6572 br label %put1344 put1344: %t6586 = load ptr, ptr %t6573 %t6587 = getelementptr inbounds ptr, ptr %t6586, i32 %t6574 store ptr @.str8658, ptr %t6587 %t6588 = add i32 %t6574, 1 store i32 %t6588, ptr %t6571 br label %ifend1342 ifend1342: %t6589 = load ptr, ptr %t1 %t6590 = call i32 @lp_str_eq(ptr %t6589, ptr @.str8659) %t6591 = icmp ne i32 %t6590, 0 br i1 %t6591, label %then1345, label %ifend1347 then1345: store ptr @.str8660, ptr %t452 %t6592 = load ptr, ptr %t459 %t6593 = getelementptr inbounds %LSlice, ptr %t6592, i32 0, i32 1 %t6594 = getelementptr inbounds %LSlice, ptr %t6592, i32 0, i32 2 %t6595 = getelementptr inbounds %LSlice, ptr %t6592, i32 0, i32 0 %t6596 = load i32, ptr %t6593 %t6597 = load i32, ptr %t6594 %t6598 = icmp sge i32 %t6596, %t6597 br i1 %t6598, label %grow1348, label %put1349 grow1348: %t6599 = mul i32 %t6597, 2 %t6600 = icmp eq i32 %t6597, 0 %t6601 = select i1 %t6600, i32 8, i32 %t6599 %t6602 = getelementptr ptr, ptr null, i32 1 %t6603 = ptrtoint ptr %t6602 to i64 %t6604 = zext i32 %t6601 to i64 %t6605 = mul i64 %t6604, %t6603 %t6606 = load ptr, ptr %t6595 %t6607 = call ptr @realloc(ptr %t6606, i64 %t6605) store ptr %t6607, ptr %t6595 store i32 %t6601, ptr %t6594 br label %put1349 put1349: %t6608 = load ptr, ptr %t6595 %t6609 = getelementptr inbounds ptr, ptr %t6608, i32 %t6596 store ptr @.str8661, ptr %t6609 %t6610 = add i32 %t6596, 1 store i32 %t6610, ptr %t6593 br label %ifend1347 ifend1347: %t6611 = load ptr, ptr %t1 %t6612 = call i32 @lp_str_eq(ptr %t6611, ptr @.str8662) %t6613 = icmp ne i32 %t6612, 0 br i1 %t6613, label %then1350, label %ifend1352 then1350: store ptr @.str8663, ptr %t452 %t6614 = load ptr, ptr %t459 %t6615 = getelementptr inbounds %LSlice, ptr %t6614, i32 0, i32 1 %t6616 = getelementptr inbounds %LSlice, ptr %t6614, i32 0, i32 2 %t6617 = getelementptr inbounds %LSlice, ptr %t6614, i32 0, i32 0 %t6618 = load i32, ptr %t6615 %t6619 = load i32, ptr %t6616 %t6620 = icmp sge i32 %t6618, %t6619 br i1 %t6620, label %grow1353, label %put1354 grow1353: %t6621 = mul i32 %t6619, 2 %t6622 = icmp eq i32 %t6619, 0 %t6623 = select i1 %t6622, i32 8, i32 %t6621 %t6624 = getelementptr ptr, ptr null, i32 1 %t6625 = ptrtoint ptr %t6624 to i64 %t6626 = zext i32 %t6623 to i64 %t6627 = mul i64 %t6626, %t6625 %t6628 = load ptr, ptr %t6617 %t6629 = call ptr @realloc(ptr %t6628, i64 %t6627) store ptr %t6629, ptr %t6617 store i32 %t6623, ptr %t6616 br label %put1354 put1354: %t6630 = load ptr, ptr %t6617 %t6631 = getelementptr inbounds ptr, ptr %t6630, i32 %t6618 store ptr @.str8664, ptr %t6631 %t6632 = add i32 %t6618, 1 store i32 %t6632, ptr %t6615 br label %ifend1352 ifend1352: %t6633 = load ptr, ptr %t1 %t6634 = call i32 @lp_str_eq(ptr %t6633, ptr @.str8665) %t6635 = icmp ne i32 %t6634, 0 br i1 %t6635, label %then1355, label %ifend1357 then1355: store ptr @.str8666, ptr %t452 %t6636 = load ptr, ptr %t459 %t6637 = getelementptr inbounds %LSlice, ptr %t6636, i32 0, i32 1 %t6638 = getelementptr inbounds %LSlice, ptr %t6636, i32 0, i32 2 %t6639 = getelementptr inbounds %LSlice, ptr %t6636, i32 0, i32 0 %t6640 = load i32, ptr %t6637 %t6641 = load i32, ptr %t6638 %t6642 = icmp sge i32 %t6640, %t6641 br i1 %t6642, label %grow1358, label %put1359 grow1358: %t6643 = mul i32 %t6641, 2 %t6644 = icmp eq i32 %t6641, 0 %t6645 = select i1 %t6644, i32 8, i32 %t6643 %t6646 = getelementptr ptr, ptr null, i32 1 %t6647 = ptrtoint ptr %t6646 to i64 %t6648 = zext i32 %t6645 to i64 %t6649 = mul i64 %t6648, %t6647 %t6650 = load ptr, ptr %t6639 %t6651 = call ptr @realloc(ptr %t6650, i64 %t6649) store ptr %t6651, ptr %t6639 store i32 %t6645, ptr %t6638 br label %put1359 put1359: %t6652 = load ptr, ptr %t6639 %t6653 = getelementptr inbounds ptr, ptr %t6652, i32 %t6640 store ptr @.str8667, ptr %t6653 %t6654 = add i32 %t6640, 1 store i32 %t6654, ptr %t6637 br label %ifend1357 ifend1357: %t6655 = load ptr, ptr %t1 %t6656 = call i32 @lp_str_eq(ptr %t6655, ptr @.str8668) %t6657 = icmp ne i32 %t6656, 0 br i1 %t6657, label %then1360, label %ifend1362 then1360: store ptr @.str8669, ptr %t452 %t6658 = load ptr, ptr %t459 %t6659 = getelementptr inbounds %LSlice, ptr %t6658, i32 0, i32 1 %t6660 = getelementptr inbounds %LSlice, ptr %t6658, i32 0, i32 2 %t6661 = getelementptr inbounds %LSlice, ptr %t6658, i32 0, i32 0 %t6662 = load i32, ptr %t6659 %t6663 = load i32, ptr %t6660 %t6664 = icmp sge i32 %t6662, %t6663 br i1 %t6664, label %grow1363, label %put1364 grow1363: %t6665 = mul i32 %t6663, 2 %t6666 = icmp eq i32 %t6663, 0 %t6667 = select i1 %t6666, i32 8, i32 %t6665 %t6668 = getelementptr ptr, ptr null, i32 1 %t6669 = ptrtoint ptr %t6668 to i64 %t6670 = zext i32 %t6667 to i64 %t6671 = mul i64 %t6670, %t6669 %t6672 = load ptr, ptr %t6661 %t6673 = call ptr @realloc(ptr %t6672, i64 %t6671) store ptr %t6673, ptr %t6661 store i32 %t6667, ptr %t6660 br label %put1364 put1364: %t6674 = load ptr, ptr %t6661 %t6675 = getelementptr inbounds ptr, ptr %t6674, i32 %t6662 store ptr @.str8670, ptr %t6675 %t6676 = add i32 %t6662, 1 store i32 %t6676, ptr %t6659 %t6677 = load ptr, ptr %t459 %t6678 = getelementptr inbounds %LSlice, ptr %t6677, i32 0, i32 1 %t6679 = getelementptr inbounds %LSlice, ptr %t6677, i32 0, i32 2 %t6680 = getelementptr inbounds %LSlice, ptr %t6677, i32 0, i32 0 %t6681 = load i32, ptr %t6678 %t6682 = load i32, ptr %t6679 %t6683 = icmp sge i32 %t6681, %t6682 br i1 %t6683, label %grow1365, label %put1366 grow1365: %t6684 = mul i32 %t6682, 2 %t6685 = icmp eq i32 %t6682, 0 %t6686 = select i1 %t6685, i32 8, i32 %t6684 %t6687 = getelementptr ptr, ptr null, i32 1 %t6688 = ptrtoint ptr %t6687 to i64 %t6689 = zext i32 %t6686 to i64 %t6690 = mul i64 %t6689, %t6688 %t6691 = load ptr, ptr %t6680 %t6692 = call ptr @realloc(ptr %t6691, i64 %t6690) store ptr %t6692, ptr %t6680 store i32 %t6686, ptr %t6679 br label %put1366 put1366: %t6693 = load ptr, ptr %t6680 %t6694 = getelementptr inbounds ptr, ptr %t6693, i32 %t6681 store ptr @.str8671, ptr %t6694 %t6695 = add i32 %t6681, 1 store i32 %t6695, ptr %t6678 br label %ifend1362 ifend1362: %t6696 = load ptr, ptr %t1 %t6697 = call i32 @lp_str_eq(ptr %t6696, ptr @.str8672) %t6698 = icmp ne i32 %t6697, 0 br i1 %t6698, label %then1367, label %ifend1369 then1367: store ptr @.str8673, ptr %t452 %t6699 = load ptr, ptr %t459 %t6700 = getelementptr inbounds %LSlice, ptr %t6699, i32 0, i32 1 %t6701 = getelementptr inbounds %LSlice, ptr %t6699, i32 0, i32 2 %t6702 = getelementptr inbounds %LSlice, ptr %t6699, i32 0, i32 0 %t6703 = load i32, ptr %t6700 %t6704 = load i32, ptr %t6701 %t6705 = icmp sge i32 %t6703, %t6704 br i1 %t6705, label %grow1370, label %put1371 grow1370: %t6706 = mul i32 %t6704, 2 %t6707 = icmp eq i32 %t6704, 0 %t6708 = select i1 %t6707, i32 8, i32 %t6706 %t6709 = getelementptr ptr, ptr null, i32 1 %t6710 = ptrtoint ptr %t6709 to i64 %t6711 = zext i32 %t6708 to i64 %t6712 = mul i64 %t6711, %t6710 %t6713 = load ptr, ptr %t6702 %t6714 = call ptr @realloc(ptr %t6713, i64 %t6712) store ptr %t6714, ptr %t6702 store i32 %t6708, ptr %t6701 br label %put1371 put1371: %t6715 = load ptr, ptr %t6702 %t6716 = getelementptr inbounds ptr, ptr %t6715, i32 %t6703 store ptr @.str8674, ptr %t6716 %t6717 = add i32 %t6703, 1 store i32 %t6717, ptr %t6700 br label %ifend1369 ifend1369: %t6718 = load ptr, ptr %t1 %t6719 = call i32 @lp_str_eq(ptr %t6718, ptr @.str8675) %t6720 = icmp ne i32 %t6719, 0 br i1 %t6720, label %then1372, label %ifend1374 then1372: store ptr @.str8676, ptr %t452 %t6721 = load ptr, ptr %t459 %t6722 = getelementptr inbounds %LSlice, ptr %t6721, i32 0, i32 1 %t6723 = getelementptr inbounds %LSlice, ptr %t6721, i32 0, i32 2 %t6724 = getelementptr inbounds %LSlice, ptr %t6721, i32 0, i32 0 %t6725 = load i32, ptr %t6722 %t6726 = load i32, ptr %t6723 %t6727 = icmp sge i32 %t6725, %t6726 br i1 %t6727, label %grow1375, label %put1376 grow1375: %t6728 = mul i32 %t6726, 2 %t6729 = icmp eq i32 %t6726, 0 %t6730 = select i1 %t6729, i32 8, i32 %t6728 %t6731 = getelementptr ptr, ptr null, i32 1 %t6732 = ptrtoint ptr %t6731 to i64 %t6733 = zext i32 %t6730 to i64 %t6734 = mul i64 %t6733, %t6732 %t6735 = load ptr, ptr %t6724 %t6736 = call ptr @realloc(ptr %t6735, i64 %t6734) store ptr %t6736, ptr %t6724 store i32 %t6730, ptr %t6723 br label %put1376 put1376: %t6737 = load ptr, ptr %t6724 %t6738 = getelementptr inbounds ptr, ptr %t6737, i32 %t6725 store ptr @.str8677, ptr %t6738 %t6739 = add i32 %t6725, 1 store i32 %t6739, ptr %t6722 %t6740 = load ptr, ptr %t459 %t6741 = getelementptr inbounds %LSlice, ptr %t6740, i32 0, i32 1 %t6742 = getelementptr inbounds %LSlice, ptr %t6740, i32 0, i32 2 %t6743 = getelementptr inbounds %LSlice, ptr %t6740, i32 0, i32 0 %t6744 = load i32, ptr %t6741 %t6745 = load i32, ptr %t6742 %t6746 = icmp sge i32 %t6744, %t6745 br i1 %t6746, label %grow1377, label %put1378 grow1377: %t6747 = mul i32 %t6745, 2 %t6748 = icmp eq i32 %t6745, 0 %t6749 = select i1 %t6748, i32 8, i32 %t6747 %t6750 = getelementptr ptr, ptr null, i32 1 %t6751 = ptrtoint ptr %t6750 to i64 %t6752 = zext i32 %t6749 to i64 %t6753 = mul i64 %t6752, %t6751 %t6754 = load ptr, ptr %t6743 %t6755 = call ptr @realloc(ptr %t6754, i64 %t6753) store ptr %t6755, ptr %t6743 store i32 %t6749, ptr %t6742 br label %put1378 put1378: %t6756 = load ptr, ptr %t6743 %t6757 = getelementptr inbounds ptr, ptr %t6756, i32 %t6744 store ptr @.str8678, ptr %t6757 %t6758 = add i32 %t6744, 1 store i32 %t6758, ptr %t6741 br label %ifend1374 ifend1374: %t6759 = load ptr, ptr %t1 %t6760 = call i32 @lp_str_eq(ptr %t6759, ptr @.str8679) %t6761 = icmp ne i32 %t6760, 0 br i1 %t6761, label %then1379, label %ifend1381 then1379: store ptr @.str8680, ptr %t452 %t6762 = load ptr, ptr %t459 %t6763 = getelementptr inbounds %LSlice, ptr %t6762, i32 0, i32 1 %t6764 = getelementptr inbounds %LSlice, ptr %t6762, i32 0, i32 2 %t6765 = getelementptr inbounds %LSlice, ptr %t6762, i32 0, i32 0 %t6766 = load i32, ptr %t6763 %t6767 = load i32, ptr %t6764 %t6768 = icmp sge i32 %t6766, %t6767 br i1 %t6768, label %grow1382, label %put1383 grow1382: %t6769 = mul i32 %t6767, 2 %t6770 = icmp eq i32 %t6767, 0 %t6771 = select i1 %t6770, i32 8, i32 %t6769 %t6772 = getelementptr ptr, ptr null, i32 1 %t6773 = ptrtoint ptr %t6772 to i64 %t6774 = zext i32 %t6771 to i64 %t6775 = mul i64 %t6774, %t6773 %t6776 = load ptr, ptr %t6765 %t6777 = call ptr @realloc(ptr %t6776, i64 %t6775) store ptr %t6777, ptr %t6765 store i32 %t6771, ptr %t6764 br label %put1383 put1383: %t6778 = load ptr, ptr %t6765 %t6779 = getelementptr inbounds ptr, ptr %t6778, i32 %t6766 store ptr @.str8681, ptr %t6779 %t6780 = add i32 %t6766, 1 store i32 %t6780, ptr %t6763 %t6781 = load ptr, ptr %t459 %t6782 = getelementptr inbounds %LSlice, ptr %t6781, i32 0, i32 1 %t6783 = getelementptr inbounds %LSlice, ptr %t6781, i32 0, i32 2 %t6784 = getelementptr inbounds %LSlice, ptr %t6781, i32 0, i32 0 %t6785 = load i32, ptr %t6782 %t6786 = load i32, ptr %t6783 %t6787 = icmp sge i32 %t6785, %t6786 br i1 %t6787, label %grow1384, label %put1385 grow1384: %t6788 = mul i32 %t6786, 2 %t6789 = icmp eq i32 %t6786, 0 %t6790 = select i1 %t6789, i32 8, i32 %t6788 %t6791 = getelementptr ptr, ptr null, i32 1 %t6792 = ptrtoint ptr %t6791 to i64 %t6793 = zext i32 %t6790 to i64 %t6794 = mul i64 %t6793, %t6792 %t6795 = load ptr, ptr %t6784 %t6796 = call ptr @realloc(ptr %t6795, i64 %t6794) store ptr %t6796, ptr %t6784 store i32 %t6790, ptr %t6783 br label %put1385 put1385: %t6797 = load ptr, ptr %t6784 %t6798 = getelementptr inbounds ptr, ptr %t6797, i32 %t6785 store ptr @.str8682, ptr %t6798 %t6799 = add i32 %t6785, 1 store i32 %t6799, ptr %t6782 br label %ifend1381 ifend1381: %t6800 = load ptr, ptr %t1 %t6801 = call i32 @lp_str_eq(ptr %t6800, ptr @.str8683) %t6802 = icmp ne i32 %t6801, 0 br i1 %t6802, label %then1386, label %ifend1388 then1386: store ptr @.str8684, ptr %t452 %t6803 = load ptr, ptr %t459 %t6804 = getelementptr inbounds %LSlice, ptr %t6803, i32 0, i32 1 %t6805 = getelementptr inbounds %LSlice, ptr %t6803, i32 0, i32 2 %t6806 = getelementptr inbounds %LSlice, ptr %t6803, i32 0, i32 0 %t6807 = load i32, ptr %t6804 %t6808 = load i32, ptr %t6805 %t6809 = icmp sge i32 %t6807, %t6808 br i1 %t6809, label %grow1389, label %put1390 grow1389: %t6810 = mul i32 %t6808, 2 %t6811 = icmp eq i32 %t6808, 0 %t6812 = select i1 %t6811, i32 8, i32 %t6810 %t6813 = getelementptr ptr, ptr null, i32 1 %t6814 = ptrtoint ptr %t6813 to i64 %t6815 = zext i32 %t6812 to i64 %t6816 = mul i64 %t6815, %t6814 %t6817 = load ptr, ptr %t6806 %t6818 = call ptr @realloc(ptr %t6817, i64 %t6816) store ptr %t6818, ptr %t6806 store i32 %t6812, ptr %t6805 br label %put1390 put1390: %t6819 = load ptr, ptr %t6806 %t6820 = getelementptr inbounds ptr, ptr %t6819, i32 %t6807 store ptr @.str8685, ptr %t6820 %t6821 = add i32 %t6807, 1 store i32 %t6821, ptr %t6804 br label %ifend1388 ifend1388: %t6822 = load ptr, ptr %t1 %t6823 = call i32 @lp_str_eq(ptr %t6822, ptr @.str8686) %t6824 = icmp ne i32 %t6823, 0 br i1 %t6824, label %then1391, label %ifend1393 then1391: store ptr @.str8687, ptr %t452 %t6825 = load ptr, ptr %t459 %t6826 = getelementptr inbounds %LSlice, ptr %t6825, i32 0, i32 1 %t6827 = getelementptr inbounds %LSlice, ptr %t6825, i32 0, i32 2 %t6828 = getelementptr inbounds %LSlice, ptr %t6825, i32 0, i32 0 %t6829 = load i32, ptr %t6826 %t6830 = load i32, ptr %t6827 %t6831 = icmp sge i32 %t6829, %t6830 br i1 %t6831, label %grow1394, label %put1395 grow1394: %t6832 = mul i32 %t6830, 2 %t6833 = icmp eq i32 %t6830, 0 %t6834 = select i1 %t6833, i32 8, i32 %t6832 %t6835 = getelementptr ptr, ptr null, i32 1 %t6836 = ptrtoint ptr %t6835 to i64 %t6837 = zext i32 %t6834 to i64 %t6838 = mul i64 %t6837, %t6836 %t6839 = load ptr, ptr %t6828 %t6840 = call ptr @realloc(ptr %t6839, i64 %t6838) store ptr %t6840, ptr %t6828 store i32 %t6834, ptr %t6827 br label %put1395 put1395: %t6841 = load ptr, ptr %t6828 %t6842 = getelementptr inbounds ptr, ptr %t6841, i32 %t6829 store ptr @.str8688, ptr %t6842 %t6843 = add i32 %t6829, 1 store i32 %t6843, ptr %t6826 br label %ifend1393 ifend1393: br label %ifend1276 ifend1276: %t6844 = load ptr, ptr %t0 %t6845 = call i32 @lp_str_eq(ptr %t6844, ptr @.str8689) %t6846 = icmp ne i32 %t6845, 0 br i1 %t6846, label %then1396, label %ifend1398 then1396: %t6847 = load ptr, ptr %t1 %t6848 = call i32 @lp_str_eq(ptr %t6847, ptr @.str8690) %t6849 = icmp ne i32 %t6848, 0 br i1 %t6849, label %then1399, label %ifend1401 then1399: store ptr @.str8691, ptr %t452 %t6850 = load ptr, ptr %t459 %t6851 = getelementptr inbounds %LSlice, ptr %t6850, i32 0, i32 1 %t6852 = getelementptr inbounds %LSlice, ptr %t6850, i32 0, i32 2 %t6853 = getelementptr inbounds %LSlice, ptr %t6850, i32 0, i32 0 %t6854 = load i32, ptr %t6851 %t6855 = load i32, ptr %t6852 %t6856 = icmp sge i32 %t6854, %t6855 br i1 %t6856, label %grow1402, label %put1403 grow1402: %t6857 = mul i32 %t6855, 2 %t6858 = icmp eq i32 %t6855, 0 %t6859 = select i1 %t6858, i32 8, i32 %t6857 %t6860 = getelementptr ptr, ptr null, i32 1 %t6861 = ptrtoint ptr %t6860 to i64 %t6862 = zext i32 %t6859 to i64 %t6863 = mul i64 %t6862, %t6861 %t6864 = load ptr, ptr %t6853 %t6865 = call ptr @realloc(ptr %t6864, i64 %t6863) store ptr %t6865, ptr %t6853 store i32 %t6859, ptr %t6852 br label %put1403 put1403: %t6866 = load ptr, ptr %t6853 %t6867 = getelementptr inbounds ptr, ptr %t6866, i32 %t6854 store ptr @.str8692, ptr %t6867 %t6868 = add i32 %t6854, 1 store i32 %t6868, ptr %t6851 br label %ifend1401 ifend1401: %t6869 = load ptr, ptr %t1 %t6870 = call i32 @lp_str_eq(ptr %t6869, ptr @.str8693) %t6871 = icmp ne i32 %t6870, 0 br i1 %t6871, label %then1404, label %ifend1406 then1404: store ptr @.str8694, ptr %t452 %t6872 = load ptr, ptr %t459 %t6873 = getelementptr inbounds %LSlice, ptr %t6872, i32 0, i32 1 %t6874 = getelementptr inbounds %LSlice, ptr %t6872, i32 0, i32 2 %t6875 = getelementptr inbounds %LSlice, ptr %t6872, i32 0, i32 0 %t6876 = load i32, ptr %t6873 %t6877 = load i32, ptr %t6874 %t6878 = icmp sge i32 %t6876, %t6877 br i1 %t6878, label %grow1407, label %put1408 grow1407: %t6879 = mul i32 %t6877, 2 %t6880 = icmp eq i32 %t6877, 0 %t6881 = select i1 %t6880, i32 8, i32 %t6879 %t6882 = getelementptr ptr, ptr null, i32 1 %t6883 = ptrtoint ptr %t6882 to i64 %t6884 = zext i32 %t6881 to i64 %t6885 = mul i64 %t6884, %t6883 %t6886 = load ptr, ptr %t6875 %t6887 = call ptr @realloc(ptr %t6886, i64 %t6885) store ptr %t6887, ptr %t6875 store i32 %t6881, ptr %t6874 br label %put1408 put1408: %t6888 = load ptr, ptr %t6875 %t6889 = getelementptr inbounds ptr, ptr %t6888, i32 %t6876 store ptr @.str8695, ptr %t6889 %t6890 = add i32 %t6876, 1 store i32 %t6890, ptr %t6873 br label %ifend1406 ifend1406: %t6891 = load ptr, ptr %t1 %t6892 = call i32 @lp_str_eq(ptr %t6891, ptr @.str8696) %t6893 = icmp ne i32 %t6892, 0 br i1 %t6893, label %then1409, label %ifend1411 then1409: store ptr @.str8697, ptr %t452 %t6894 = load ptr, ptr %t459 %t6895 = getelementptr inbounds %LSlice, ptr %t6894, i32 0, i32 1 %t6896 = getelementptr inbounds %LSlice, ptr %t6894, i32 0, i32 2 %t6897 = getelementptr inbounds %LSlice, ptr %t6894, i32 0, i32 0 %t6898 = load i32, ptr %t6895 %t6899 = load i32, ptr %t6896 %t6900 = icmp sge i32 %t6898, %t6899 br i1 %t6900, label %grow1412, label %put1413 grow1412: %t6901 = mul i32 %t6899, 2 %t6902 = icmp eq i32 %t6899, 0 %t6903 = select i1 %t6902, i32 8, i32 %t6901 %t6904 = getelementptr ptr, ptr null, i32 1 %t6905 = ptrtoint ptr %t6904 to i64 %t6906 = zext i32 %t6903 to i64 %t6907 = mul i64 %t6906, %t6905 %t6908 = load ptr, ptr %t6897 %t6909 = call ptr @realloc(ptr %t6908, i64 %t6907) store ptr %t6909, ptr %t6897 store i32 %t6903, ptr %t6896 br label %put1413 put1413: %t6910 = load ptr, ptr %t6897 %t6911 = getelementptr inbounds ptr, ptr %t6910, i32 %t6898 store ptr @.str8698, ptr %t6911 %t6912 = add i32 %t6898, 1 store i32 %t6912, ptr %t6895 %t6913 = load ptr, ptr %t459 %t6914 = getelementptr inbounds %LSlice, ptr %t6913, i32 0, i32 1 %t6915 = getelementptr inbounds %LSlice, ptr %t6913, i32 0, i32 2 %t6916 = getelementptr inbounds %LSlice, ptr %t6913, i32 0, i32 0 %t6917 = load i32, ptr %t6914 %t6918 = load i32, ptr %t6915 %t6919 = icmp sge i32 %t6917, %t6918 br i1 %t6919, label %grow1414, label %put1415 grow1414: %t6920 = mul i32 %t6918, 2 %t6921 = icmp eq i32 %t6918, 0 %t6922 = select i1 %t6921, i32 8, i32 %t6920 %t6923 = getelementptr ptr, ptr null, i32 1 %t6924 = ptrtoint ptr %t6923 to i64 %t6925 = zext i32 %t6922 to i64 %t6926 = mul i64 %t6925, %t6924 %t6927 = load ptr, ptr %t6916 %t6928 = call ptr @realloc(ptr %t6927, i64 %t6926) store ptr %t6928, ptr %t6916 store i32 %t6922, ptr %t6915 br label %put1415 put1415: %t6929 = load ptr, ptr %t6916 %t6930 = getelementptr inbounds ptr, ptr %t6929, i32 %t6917 store ptr @.str8699, ptr %t6930 %t6931 = add i32 %t6917, 1 store i32 %t6931, ptr %t6914 %t6932 = load ptr, ptr %t459 %t6933 = getelementptr inbounds %LSlice, ptr %t6932, i32 0, i32 1 %t6934 = getelementptr inbounds %LSlice, ptr %t6932, i32 0, i32 2 %t6935 = getelementptr inbounds %LSlice, ptr %t6932, i32 0, i32 0 %t6936 = load i32, ptr %t6933 %t6937 = load i32, ptr %t6934 %t6938 = icmp sge i32 %t6936, %t6937 br i1 %t6938, label %grow1416, label %put1417 grow1416: %t6939 = mul i32 %t6937, 2 %t6940 = icmp eq i32 %t6937, 0 %t6941 = select i1 %t6940, i32 8, i32 %t6939 %t6942 = getelementptr ptr, ptr null, i32 1 %t6943 = ptrtoint ptr %t6942 to i64 %t6944 = zext i32 %t6941 to i64 %t6945 = mul i64 %t6944, %t6943 %t6946 = load ptr, ptr %t6935 %t6947 = call ptr @realloc(ptr %t6946, i64 %t6945) store ptr %t6947, ptr %t6935 store i32 %t6941, ptr %t6934 br label %put1417 put1417: %t6948 = load ptr, ptr %t6935 %t6949 = getelementptr inbounds ptr, ptr %t6948, i32 %t6936 store ptr @.str8700, ptr %t6949 %t6950 = add i32 %t6936, 1 store i32 %t6950, ptr %t6933 %t6951 = load ptr, ptr %t459 %t6952 = getelementptr inbounds %LSlice, ptr %t6951, i32 0, i32 1 %t6953 = getelementptr inbounds %LSlice, ptr %t6951, i32 0, i32 2 %t6954 = getelementptr inbounds %LSlice, ptr %t6951, i32 0, i32 0 %t6955 = load i32, ptr %t6952 %t6956 = load i32, ptr %t6953 %t6957 = icmp sge i32 %t6955, %t6956 br i1 %t6957, label %grow1418, label %put1419 grow1418: %t6958 = mul i32 %t6956, 2 %t6959 = icmp eq i32 %t6956, 0 %t6960 = select i1 %t6959, i32 8, i32 %t6958 %t6961 = getelementptr ptr, ptr null, i32 1 %t6962 = ptrtoint ptr %t6961 to i64 %t6963 = zext i32 %t6960 to i64 %t6964 = mul i64 %t6963, %t6962 %t6965 = load ptr, ptr %t6954 %t6966 = call ptr @realloc(ptr %t6965, i64 %t6964) store ptr %t6966, ptr %t6954 store i32 %t6960, ptr %t6953 br label %put1419 put1419: %t6967 = load ptr, ptr %t6954 %t6968 = getelementptr inbounds ptr, ptr %t6967, i32 %t6955 store ptr @.str8701, ptr %t6968 %t6969 = add i32 %t6955, 1 store i32 %t6969, ptr %t6952 %t6970 = load ptr, ptr %t459 %t6971 = getelementptr inbounds %LSlice, ptr %t6970, i32 0, i32 1 %t6972 = getelementptr inbounds %LSlice, ptr %t6970, i32 0, i32 2 %t6973 = getelementptr inbounds %LSlice, ptr %t6970, i32 0, i32 0 %t6974 = load i32, ptr %t6971 %t6975 = load i32, ptr %t6972 %t6976 = icmp sge i32 %t6974, %t6975 br i1 %t6976, label %grow1420, label %put1421 grow1420: %t6977 = mul i32 %t6975, 2 %t6978 = icmp eq i32 %t6975, 0 %t6979 = select i1 %t6978, i32 8, i32 %t6977 %t6980 = getelementptr ptr, ptr null, i32 1 %t6981 = ptrtoint ptr %t6980 to i64 %t6982 = zext i32 %t6979 to i64 %t6983 = mul i64 %t6982, %t6981 %t6984 = load ptr, ptr %t6973 %t6985 = call ptr @realloc(ptr %t6984, i64 %t6983) store ptr %t6985, ptr %t6973 store i32 %t6979, ptr %t6972 br label %put1421 put1421: %t6986 = load ptr, ptr %t6973 %t6987 = getelementptr inbounds ptr, ptr %t6986, i32 %t6974 store ptr @.str8702, ptr %t6987 %t6988 = add i32 %t6974, 1 store i32 %t6988, ptr %t6971 br label %ifend1411 ifend1411: %t6989 = load ptr, ptr %t1 %t6990 = call i32 @lp_str_eq(ptr %t6989, ptr @.str8703) %t6991 = icmp ne i32 %t6990, 0 br i1 %t6991, label %then1422, label %ifend1424 then1422: store ptr @.str8704, ptr %t452 %t6992 = load ptr, ptr %t459 %t6993 = getelementptr inbounds %LSlice, ptr %t6992, i32 0, i32 1 %t6994 = getelementptr inbounds %LSlice, ptr %t6992, i32 0, i32 2 %t6995 = getelementptr inbounds %LSlice, ptr %t6992, i32 0, i32 0 %t6996 = load i32, ptr %t6993 %t6997 = load i32, ptr %t6994 %t6998 = icmp sge i32 %t6996, %t6997 br i1 %t6998, label %grow1425, label %put1426 grow1425: %t6999 = mul i32 %t6997, 2 %t7000 = icmp eq i32 %t6997, 0 %t7001 = select i1 %t7000, i32 8, i32 %t6999 %t7002 = getelementptr ptr, ptr null, i32 1 %t7003 = ptrtoint ptr %t7002 to i64 %t7004 = zext i32 %t7001 to i64 %t7005 = mul i64 %t7004, %t7003 %t7006 = load ptr, ptr %t6995 %t7007 = call ptr @realloc(ptr %t7006, i64 %t7005) store ptr %t7007, ptr %t6995 store i32 %t7001, ptr %t6994 br label %put1426 put1426: %t7008 = load ptr, ptr %t6995 %t7009 = getelementptr inbounds ptr, ptr %t7008, i32 %t6996 store ptr @.str8705, ptr %t7009 %t7010 = add i32 %t6996, 1 store i32 %t7010, ptr %t6993 %t7011 = load ptr, ptr %t459 %t7012 = getelementptr inbounds %LSlice, ptr %t7011, i32 0, i32 1 %t7013 = getelementptr inbounds %LSlice, ptr %t7011, i32 0, i32 2 %t7014 = getelementptr inbounds %LSlice, ptr %t7011, i32 0, i32 0 %t7015 = load i32, ptr %t7012 %t7016 = load i32, ptr %t7013 %t7017 = icmp sge i32 %t7015, %t7016 br i1 %t7017, label %grow1427, label %put1428 grow1427: %t7018 = mul i32 %t7016, 2 %t7019 = icmp eq i32 %t7016, 0 %t7020 = select i1 %t7019, i32 8, i32 %t7018 %t7021 = getelementptr ptr, ptr null, i32 1 %t7022 = ptrtoint ptr %t7021 to i64 %t7023 = zext i32 %t7020 to i64 %t7024 = mul i64 %t7023, %t7022 %t7025 = load ptr, ptr %t7014 %t7026 = call ptr @realloc(ptr %t7025, i64 %t7024) store ptr %t7026, ptr %t7014 store i32 %t7020, ptr %t7013 br label %put1428 put1428: %t7027 = load ptr, ptr %t7014 %t7028 = getelementptr inbounds ptr, ptr %t7027, i32 %t7015 store ptr @.str8706, ptr %t7028 %t7029 = add i32 %t7015, 1 store i32 %t7029, ptr %t7012 %t7030 = load ptr, ptr %t459 %t7031 = getelementptr inbounds %LSlice, ptr %t7030, i32 0, i32 1 %t7032 = getelementptr inbounds %LSlice, ptr %t7030, i32 0, i32 2 %t7033 = getelementptr inbounds %LSlice, ptr %t7030, i32 0, i32 0 %t7034 = load i32, ptr %t7031 %t7035 = load i32, ptr %t7032 %t7036 = icmp sge i32 %t7034, %t7035 br i1 %t7036, label %grow1429, label %put1430 grow1429: %t7037 = mul i32 %t7035, 2 %t7038 = icmp eq i32 %t7035, 0 %t7039 = select i1 %t7038, i32 8, i32 %t7037 %t7040 = getelementptr ptr, ptr null, i32 1 %t7041 = ptrtoint ptr %t7040 to i64 %t7042 = zext i32 %t7039 to i64 %t7043 = mul i64 %t7042, %t7041 %t7044 = load ptr, ptr %t7033 %t7045 = call ptr @realloc(ptr %t7044, i64 %t7043) store ptr %t7045, ptr %t7033 store i32 %t7039, ptr %t7032 br label %put1430 put1430: %t7046 = load ptr, ptr %t7033 %t7047 = getelementptr inbounds ptr, ptr %t7046, i32 %t7034 store ptr @.str8707, ptr %t7047 %t7048 = add i32 %t7034, 1 store i32 %t7048, ptr %t7031 br label %ifend1424 ifend1424: %t7049 = load ptr, ptr %t1 %t7050 = call i32 @lp_str_eq(ptr %t7049, ptr @.str8708) %t7051 = icmp ne i32 %t7050, 0 br i1 %t7051, label %then1431, label %ifend1433 then1431: store ptr @.str8709, ptr %t452 %t7052 = load ptr, ptr %t459 %t7053 = getelementptr inbounds %LSlice, ptr %t7052, i32 0, i32 1 %t7054 = getelementptr inbounds %LSlice, ptr %t7052, i32 0, i32 2 %t7055 = getelementptr inbounds %LSlice, ptr %t7052, i32 0, i32 0 %t7056 = load i32, ptr %t7053 %t7057 = load i32, ptr %t7054 %t7058 = icmp sge i32 %t7056, %t7057 br i1 %t7058, label %grow1434, label %put1435 grow1434: %t7059 = mul i32 %t7057, 2 %t7060 = icmp eq i32 %t7057, 0 %t7061 = select i1 %t7060, i32 8, i32 %t7059 %t7062 = getelementptr ptr, ptr null, i32 1 %t7063 = ptrtoint ptr %t7062 to i64 %t7064 = zext i32 %t7061 to i64 %t7065 = mul i64 %t7064, %t7063 %t7066 = load ptr, ptr %t7055 %t7067 = call ptr @realloc(ptr %t7066, i64 %t7065) store ptr %t7067, ptr %t7055 store i32 %t7061, ptr %t7054 br label %put1435 put1435: %t7068 = load ptr, ptr %t7055 %t7069 = getelementptr inbounds ptr, ptr %t7068, i32 %t7056 store ptr @.str8710, ptr %t7069 %t7070 = add i32 %t7056, 1 store i32 %t7070, ptr %t7053 br label %ifend1433 ifend1433: %t7071 = load ptr, ptr %t1 %t7072 = call i32 @lp_str_eq(ptr %t7071, ptr @.str8711) %t7073 = icmp ne i32 %t7072, 0 br i1 %t7073, label %then1436, label %ifend1438 then1436: store ptr @.str8712, ptr %t452 %t7074 = load ptr, ptr %t459 %t7075 = getelementptr inbounds %LSlice, ptr %t7074, i32 0, i32 1 %t7076 = getelementptr inbounds %LSlice, ptr %t7074, i32 0, i32 2 %t7077 = getelementptr inbounds %LSlice, ptr %t7074, i32 0, i32 0 %t7078 = load i32, ptr %t7075 %t7079 = load i32, ptr %t7076 %t7080 = icmp sge i32 %t7078, %t7079 br i1 %t7080, label %grow1439, label %put1440 grow1439: %t7081 = mul i32 %t7079, 2 %t7082 = icmp eq i32 %t7079, 0 %t7083 = select i1 %t7082, i32 8, i32 %t7081 %t7084 = getelementptr ptr, ptr null, i32 1 %t7085 = ptrtoint ptr %t7084 to i64 %t7086 = zext i32 %t7083 to i64 %t7087 = mul i64 %t7086, %t7085 %t7088 = load ptr, ptr %t7077 %t7089 = call ptr @realloc(ptr %t7088, i64 %t7087) store ptr %t7089, ptr %t7077 store i32 %t7083, ptr %t7076 br label %put1440 put1440: %t7090 = load ptr, ptr %t7077 %t7091 = getelementptr inbounds ptr, ptr %t7090, i32 %t7078 store ptr @.str8713, ptr %t7091 %t7092 = add i32 %t7078, 1 store i32 %t7092, ptr %t7075 br label %ifend1438 ifend1438: %t7093 = load ptr, ptr %t1 %t7094 = call i32 @lp_str_eq(ptr %t7093, ptr @.str8714) %t7095 = icmp ne i32 %t7094, 0 br i1 %t7095, label %then1441, label %ifend1443 then1441: store ptr @.str8715, ptr %t452 %t7096 = load ptr, ptr %t459 %t7097 = getelementptr inbounds %LSlice, ptr %t7096, i32 0, i32 1 %t7098 = getelementptr inbounds %LSlice, ptr %t7096, i32 0, i32 2 %t7099 = getelementptr inbounds %LSlice, ptr %t7096, i32 0, i32 0 %t7100 = load i32, ptr %t7097 %t7101 = load i32, ptr %t7098 %t7102 = icmp sge i32 %t7100, %t7101 br i1 %t7102, label %grow1444, label %put1445 grow1444: %t7103 = mul i32 %t7101, 2 %t7104 = icmp eq i32 %t7101, 0 %t7105 = select i1 %t7104, i32 8, i32 %t7103 %t7106 = getelementptr ptr, ptr null, i32 1 %t7107 = ptrtoint ptr %t7106 to i64 %t7108 = zext i32 %t7105 to i64 %t7109 = mul i64 %t7108, %t7107 %t7110 = load ptr, ptr %t7099 %t7111 = call ptr @realloc(ptr %t7110, i64 %t7109) store ptr %t7111, ptr %t7099 store i32 %t7105, ptr %t7098 br label %put1445 put1445: %t7112 = load ptr, ptr %t7099 %t7113 = getelementptr inbounds ptr, ptr %t7112, i32 %t7100 store ptr @.str8716, ptr %t7113 %t7114 = add i32 %t7100, 1 store i32 %t7114, ptr %t7097 br label %ifend1443 ifend1443: %t7115 = load ptr, ptr %t1 %t7116 = call i32 @lp_str_eq(ptr %t7115, ptr @.str8717) %t7117 = icmp ne i32 %t7116, 0 br i1 %t7117, label %then1446, label %ifend1448 then1446: store ptr @.str8718, ptr %t452 %t7118 = load ptr, ptr %t459 %t7119 = getelementptr inbounds %LSlice, ptr %t7118, i32 0, i32 1 %t7120 = getelementptr inbounds %LSlice, ptr %t7118, i32 0, i32 2 %t7121 = getelementptr inbounds %LSlice, ptr %t7118, i32 0, i32 0 %t7122 = load i32, ptr %t7119 %t7123 = load i32, ptr %t7120 %t7124 = icmp sge i32 %t7122, %t7123 br i1 %t7124, label %grow1449, label %put1450 grow1449: %t7125 = mul i32 %t7123, 2 %t7126 = icmp eq i32 %t7123, 0 %t7127 = select i1 %t7126, i32 8, i32 %t7125 %t7128 = getelementptr ptr, ptr null, i32 1 %t7129 = ptrtoint ptr %t7128 to i64 %t7130 = zext i32 %t7127 to i64 %t7131 = mul i64 %t7130, %t7129 %t7132 = load ptr, ptr %t7121 %t7133 = call ptr @realloc(ptr %t7132, i64 %t7131) store ptr %t7133, ptr %t7121 store i32 %t7127, ptr %t7120 br label %put1450 put1450: %t7134 = load ptr, ptr %t7121 %t7135 = getelementptr inbounds ptr, ptr %t7134, i32 %t7122 store ptr @.str8719, ptr %t7135 %t7136 = add i32 %t7122, 1 store i32 %t7136, ptr %t7119 br label %ifend1448 ifend1448: %t7137 = load ptr, ptr %t1 %t7138 = call i32 @lp_str_eq(ptr %t7137, ptr @.str8720) %t7139 = icmp ne i32 %t7138, 0 br i1 %t7139, label %then1451, label %ifend1453 then1451: store ptr @.str8721, ptr %t452 br label %ifend1453 ifend1453: %t7140 = load ptr, ptr %t1 %t7141 = call i32 @lp_str_eq(ptr %t7140, ptr @.str8722) %t7142 = icmp ne i32 %t7141, 0 br i1 %t7142, label %then1454, label %ifend1456 then1454: store ptr @.str8723, ptr %t452 %t7143 = load ptr, ptr %t459 %t7144 = getelementptr inbounds %LSlice, ptr %t7143, i32 0, i32 1 %t7145 = getelementptr inbounds %LSlice, ptr %t7143, i32 0, i32 2 %t7146 = getelementptr inbounds %LSlice, ptr %t7143, i32 0, i32 0 %t7147 = load i32, ptr %t7144 %t7148 = load i32, ptr %t7145 %t7149 = icmp sge i32 %t7147, %t7148 br i1 %t7149, label %grow1457, label %put1458 grow1457: %t7150 = mul i32 %t7148, 2 %t7151 = icmp eq i32 %t7148, 0 %t7152 = select i1 %t7151, i32 8, i32 %t7150 %t7153 = getelementptr ptr, ptr null, i32 1 %t7154 = ptrtoint ptr %t7153 to i64 %t7155 = zext i32 %t7152 to i64 %t7156 = mul i64 %t7155, %t7154 %t7157 = load ptr, ptr %t7146 %t7158 = call ptr @realloc(ptr %t7157, i64 %t7156) store ptr %t7158, ptr %t7146 store i32 %t7152, ptr %t7145 br label %put1458 put1458: %t7159 = load ptr, ptr %t7146 %t7160 = getelementptr inbounds ptr, ptr %t7159, i32 %t7147 store ptr @.str8724, ptr %t7160 %t7161 = add i32 %t7147, 1 store i32 %t7161, ptr %t7144 br label %ifend1456 ifend1456: %t7162 = load ptr, ptr %t1 %t7163 = call i32 @lp_str_eq(ptr %t7162, ptr @.str8725) %t7164 = icmp ne i32 %t7163, 0 br i1 %t7164, label %then1459, label %ifend1461 then1459: store ptr @.str8726, ptr %t452 %t7165 = load ptr, ptr %t459 %t7166 = getelementptr inbounds %LSlice, ptr %t7165, i32 0, i32 1 %t7167 = getelementptr inbounds %LSlice, ptr %t7165, i32 0, i32 2 %t7168 = getelementptr inbounds %LSlice, ptr %t7165, i32 0, i32 0 %t7169 = load i32, ptr %t7166 %t7170 = load i32, ptr %t7167 %t7171 = icmp sge i32 %t7169, %t7170 br i1 %t7171, label %grow1462, label %put1463 grow1462: %t7172 = mul i32 %t7170, 2 %t7173 = icmp eq i32 %t7170, 0 %t7174 = select i1 %t7173, i32 8, i32 %t7172 %t7175 = getelementptr ptr, ptr null, i32 1 %t7176 = ptrtoint ptr %t7175 to i64 %t7177 = zext i32 %t7174 to i64 %t7178 = mul i64 %t7177, %t7176 %t7179 = load ptr, ptr %t7168 %t7180 = call ptr @realloc(ptr %t7179, i64 %t7178) store ptr %t7180, ptr %t7168 store i32 %t7174, ptr %t7167 br label %put1463 put1463: %t7181 = load ptr, ptr %t7168 %t7182 = getelementptr inbounds ptr, ptr %t7181, i32 %t7169 store ptr @.str8727, ptr %t7182 %t7183 = add i32 %t7169, 1 store i32 %t7183, ptr %t7166 br label %ifend1461 ifend1461: br label %ifend1398 ifend1398: %t7184 = load ptr, ptr %t0 %t7185 = call i32 @lp_str_eq(ptr %t7184, ptr @.str8728) %t7186 = icmp ne i32 %t7185, 0 br i1 %t7186, label %then1464, label %ifend1466 then1464: %t7187 = load ptr, ptr %t1 %t7188 = call i32 @lp_str_eq(ptr %t7187, ptr @.str8729) %t7189 = icmp ne i32 %t7188, 0 br i1 %t7189, label %then1467, label %ifend1469 then1467: store ptr @.str8730, ptr %t452 %t7190 = load ptr, ptr %t459 %t7191 = getelementptr inbounds %LSlice, ptr %t7190, i32 0, i32 1 %t7192 = getelementptr inbounds %LSlice, ptr %t7190, i32 0, i32 2 %t7193 = getelementptr inbounds %LSlice, ptr %t7190, i32 0, i32 0 %t7194 = load i32, ptr %t7191 %t7195 = load i32, ptr %t7192 %t7196 = icmp sge i32 %t7194, %t7195 br i1 %t7196, label %grow1470, label %put1471 grow1470: %t7197 = mul i32 %t7195, 2 %t7198 = icmp eq i32 %t7195, 0 %t7199 = select i1 %t7198, i32 8, i32 %t7197 %t7200 = getelementptr ptr, ptr null, i32 1 %t7201 = ptrtoint ptr %t7200 to i64 %t7202 = zext i32 %t7199 to i64 %t7203 = mul i64 %t7202, %t7201 %t7204 = load ptr, ptr %t7193 %t7205 = call ptr @realloc(ptr %t7204, i64 %t7203) store ptr %t7205, ptr %t7193 store i32 %t7199, ptr %t7192 br label %put1471 put1471: %t7206 = load ptr, ptr %t7193 %t7207 = getelementptr inbounds ptr, ptr %t7206, i32 %t7194 store ptr @.str8731, ptr %t7207 %t7208 = add i32 %t7194, 1 store i32 %t7208, ptr %t7191 %t7209 = load ptr, ptr %t459 %t7210 = getelementptr inbounds %LSlice, ptr %t7209, i32 0, i32 1 %t7211 = getelementptr inbounds %LSlice, ptr %t7209, i32 0, i32 2 %t7212 = getelementptr inbounds %LSlice, ptr %t7209, i32 0, i32 0 %t7213 = load i32, ptr %t7210 %t7214 = load i32, ptr %t7211 %t7215 = icmp sge i32 %t7213, %t7214 br i1 %t7215, label %grow1472, label %put1473 grow1472: %t7216 = mul i32 %t7214, 2 %t7217 = icmp eq i32 %t7214, 0 %t7218 = select i1 %t7217, i32 8, i32 %t7216 %t7219 = getelementptr ptr, ptr null, i32 1 %t7220 = ptrtoint ptr %t7219 to i64 %t7221 = zext i32 %t7218 to i64 %t7222 = mul i64 %t7221, %t7220 %t7223 = load ptr, ptr %t7212 %t7224 = call ptr @realloc(ptr %t7223, i64 %t7222) store ptr %t7224, ptr %t7212 store i32 %t7218, ptr %t7211 br label %put1473 put1473: %t7225 = load ptr, ptr %t7212 %t7226 = getelementptr inbounds ptr, ptr %t7225, i32 %t7213 store ptr @.str8732, ptr %t7226 %t7227 = add i32 %t7213, 1 store i32 %t7227, ptr %t7210 br label %ifend1469 ifend1469: %t7228 = load ptr, ptr %t1 %t7229 = call i32 @lp_str_eq(ptr %t7228, ptr @.str8733) %t7230 = icmp ne i32 %t7229, 0 br i1 %t7230, label %then1474, label %ifend1476 then1474: store ptr @.str8734, ptr %t452 %t7231 = load ptr, ptr %t459 %t7232 = getelementptr inbounds %LSlice, ptr %t7231, i32 0, i32 1 %t7233 = getelementptr inbounds %LSlice, ptr %t7231, i32 0, i32 2 %t7234 = getelementptr inbounds %LSlice, ptr %t7231, i32 0, i32 0 %t7235 = load i32, ptr %t7232 %t7236 = load i32, ptr %t7233 %t7237 = icmp sge i32 %t7235, %t7236 br i1 %t7237, label %grow1477, label %put1478 grow1477: %t7238 = mul i32 %t7236, 2 %t7239 = icmp eq i32 %t7236, 0 %t7240 = select i1 %t7239, i32 8, i32 %t7238 %t7241 = getelementptr ptr, ptr null, i32 1 %t7242 = ptrtoint ptr %t7241 to i64 %t7243 = zext i32 %t7240 to i64 %t7244 = mul i64 %t7243, %t7242 %t7245 = load ptr, ptr %t7234 %t7246 = call ptr @realloc(ptr %t7245, i64 %t7244) store ptr %t7246, ptr %t7234 store i32 %t7240, ptr %t7233 br label %put1478 put1478: %t7247 = load ptr, ptr %t7234 %t7248 = getelementptr inbounds ptr, ptr %t7247, i32 %t7235 store ptr @.str8735, ptr %t7248 %t7249 = add i32 %t7235, 1 store i32 %t7249, ptr %t7232 br label %ifend1476 ifend1476: %t7250 = load ptr, ptr %t1 %t7251 = call i32 @lp_str_eq(ptr %t7250, ptr @.str8736) %t7252 = icmp ne i32 %t7251, 0 br i1 %t7252, label %then1479, label %ifend1481 then1479: store ptr @.str8737, ptr %t452 %t7253 = load ptr, ptr %t459 %t7254 = getelementptr inbounds %LSlice, ptr %t7253, i32 0, i32 1 %t7255 = getelementptr inbounds %LSlice, ptr %t7253, i32 0, i32 2 %t7256 = getelementptr inbounds %LSlice, ptr %t7253, i32 0, i32 0 %t7257 = load i32, ptr %t7254 %t7258 = load i32, ptr %t7255 %t7259 = icmp sge i32 %t7257, %t7258 br i1 %t7259, label %grow1482, label %put1483 grow1482: %t7260 = mul i32 %t7258, 2 %t7261 = icmp eq i32 %t7258, 0 %t7262 = select i1 %t7261, i32 8, i32 %t7260 %t7263 = getelementptr ptr, ptr null, i32 1 %t7264 = ptrtoint ptr %t7263 to i64 %t7265 = zext i32 %t7262 to i64 %t7266 = mul i64 %t7265, %t7264 %t7267 = load ptr, ptr %t7256 %t7268 = call ptr @realloc(ptr %t7267, i64 %t7266) store ptr %t7268, ptr %t7256 store i32 %t7262, ptr %t7255 br label %put1483 put1483: %t7269 = load ptr, ptr %t7256 %t7270 = getelementptr inbounds ptr, ptr %t7269, i32 %t7257 store ptr @.str8738, ptr %t7270 %t7271 = add i32 %t7257, 1 store i32 %t7271, ptr %t7254 br label %ifend1481 ifend1481: %t7272 = load ptr, ptr %t1 %t7273 = call i32 @lp_str_eq(ptr %t7272, ptr @.str8739) %t7274 = icmp ne i32 %t7273, 0 br i1 %t7274, label %then1484, label %ifend1486 then1484: store ptr @.str8740, ptr %t452 %t7275 = load ptr, ptr %t459 %t7276 = getelementptr inbounds %LSlice, ptr %t7275, i32 0, i32 1 %t7277 = getelementptr inbounds %LSlice, ptr %t7275, i32 0, i32 2 %t7278 = getelementptr inbounds %LSlice, ptr %t7275, i32 0, i32 0 %t7279 = load i32, ptr %t7276 %t7280 = load i32, ptr %t7277 %t7281 = icmp sge i32 %t7279, %t7280 br i1 %t7281, label %grow1487, label %put1488 grow1487: %t7282 = mul i32 %t7280, 2 %t7283 = icmp eq i32 %t7280, 0 %t7284 = select i1 %t7283, i32 8, i32 %t7282 %t7285 = getelementptr ptr, ptr null, i32 1 %t7286 = ptrtoint ptr %t7285 to i64 %t7287 = zext i32 %t7284 to i64 %t7288 = mul i64 %t7287, %t7286 %t7289 = load ptr, ptr %t7278 %t7290 = call ptr @realloc(ptr %t7289, i64 %t7288) store ptr %t7290, ptr %t7278 store i32 %t7284, ptr %t7277 br label %put1488 put1488: %t7291 = load ptr, ptr %t7278 %t7292 = getelementptr inbounds ptr, ptr %t7291, i32 %t7279 store ptr @.str8741, ptr %t7292 %t7293 = add i32 %t7279, 1 store i32 %t7293, ptr %t7276 br label %ifend1486 ifend1486: br label %ifend1466 ifend1466: %t7294 = load ptr, ptr %t0 %t7295 = call i32 @lp_str_eq(ptr %t7294, ptr @.str8742) %t7296 = icmp ne i32 %t7295, 0 br i1 %t7296, label %then1489, label %ifend1491 then1489: %t7297 = load ptr, ptr %t1 %t7298 = call i32 @lp_str_eq(ptr %t7297, ptr @.str8743) %t7299 = icmp ne i32 %t7298, 0 br i1 %t7299, label %then1492, label %ifend1494 then1492: store ptr @.str8744, ptr %t452 br label %ifend1494 ifend1494: %t7300 = load ptr, ptr %t1 %t7301 = call i32 @lp_str_eq(ptr %t7300, ptr @.str8745) %t7302 = icmp ne i32 %t7301, 0 br i1 %t7302, label %then1495, label %ifend1497 then1495: store ptr @.str8746, ptr %t452 br label %ifend1497 ifend1497: %t7303 = load ptr, ptr %t1 %t7304 = call i32 @lp_str_eq(ptr %t7303, ptr @.str8747) %t7305 = icmp ne i32 %t7304, 0 br i1 %t7305, label %then1498, label %ifend1500 then1498: store ptr @.str8748, ptr %t452 br label %ifend1500 ifend1500: %t7306 = load ptr, ptr %t1 %t7307 = call i32 @lp_str_eq(ptr %t7306, ptr @.str8749) %t7308 = icmp ne i32 %t7307, 0 br i1 %t7308, label %then1501, label %ifend1503 then1501: store ptr @.str8750, ptr %t452 br label %ifend1503 ifend1503: %t7309 = load ptr, ptr %t1 %t7310 = call i32 @lp_str_eq(ptr %t7309, ptr @.str8751) %t7311 = icmp ne i32 %t7310, 0 br i1 %t7311, label %then1504, label %ifend1506 then1504: store ptr @.str8752, ptr %t452 br label %ifend1506 ifend1506: %t7312 = load ptr, ptr %t1 %t7313 = call i32 @lp_str_eq(ptr %t7312, ptr @.str8753) %t7314 = icmp ne i32 %t7313, 0 br i1 %t7314, label %then1507, label %ifend1509 then1507: store ptr @.str8754, ptr %t452 br label %ifend1509 ifend1509: %t7315 = load ptr, ptr %t1 %t7316 = call i32 @lp_str_eq(ptr %t7315, ptr @.str8755) %t7317 = icmp ne i32 %t7316, 0 br i1 %t7317, label %then1510, label %ifend1512 then1510: store ptr @.str8756, ptr %t452 br label %ifend1512 ifend1512: %t7318 = load ptr, ptr %t1 %t7319 = call i32 @lp_str_eq(ptr %t7318, ptr @.str8757) %t7320 = icmp ne i32 %t7319, 0 br i1 %t7320, label %then1513, label %ifend1515 then1513: store ptr @.str8758, ptr %t452 br label %ifend1515 ifend1515: %t7321 = load ptr, ptr %t1 %t7322 = call i32 @lp_str_eq(ptr %t7321, ptr @.str8759) %t7323 = icmp ne i32 %t7322, 0 br i1 %t7323, label %then1516, label %ifend1518 then1516: store ptr @.str8760, ptr %t452 br label %ifend1518 ifend1518: %t7324 = load ptr, ptr %t1 %t7325 = call i32 @lp_str_eq(ptr %t7324, ptr @.str8761) %t7326 = icmp ne i32 %t7325, 0 br i1 %t7326, label %then1519, label %ifend1521 then1519: store ptr @.str8762, ptr %t452 br label %ifend1521 ifend1521: %t7327 = load ptr, ptr %t1 %t7328 = call i32 @lp_str_eq(ptr %t7327, ptr @.str8763) %t7329 = icmp ne i32 %t7328, 0 br i1 %t7329, label %then1522, label %ifend1524 then1522: store ptr @.str8764, ptr %t452 br label %ifend1524 ifend1524: %t7330 = load ptr, ptr %t1 %t7331 = call i32 @lp_str_eq(ptr %t7330, ptr @.str8765) %t7332 = icmp ne i32 %t7331, 0 br i1 %t7332, label %then1525, label %ifend1527 then1525: store ptr @.str8766, ptr %t452 br label %ifend1527 ifend1527: %t7333 = load ptr, ptr %t1 %t7334 = call i32 @lp_str_eq(ptr %t7333, ptr @.str8767) %t7335 = icmp ne i32 %t7334, 0 br i1 %t7335, label %then1528, label %ifend1530 then1528: store ptr @.str8768, ptr %t452 br label %ifend1530 ifend1530: %t7336 = load ptr, ptr %t1 %t7337 = call i32 @lp_str_eq(ptr %t7336, ptr @.str8769) %t7338 = icmp ne i32 %t7337, 0 br i1 %t7338, label %then1531, label %ifend1533 then1531: store ptr @.str8770, ptr %t452 br label %ifend1533 ifend1533: %t7339 = load ptr, ptr %t1 %t7340 = call i32 @lp_str_eq(ptr %t7339, ptr @.str8771) %t7341 = icmp ne i32 %t7340, 0 br i1 %t7341, label %then1534, label %ifend1536 then1534: store ptr @.str8772, ptr %t452 br label %ifend1536 ifend1536: %t7342 = load ptr, ptr %t1 %t7343 = call i32 @lp_str_eq(ptr %t7342, ptr @.str8773) %t7344 = icmp ne i32 %t7343, 0 br i1 %t7344, label %then1537, label %ifend1539 then1537: store ptr @.str8774, ptr %t452 br label %ifend1539 ifend1539: %t7345 = load ptr, ptr %t1 %t7346 = call i32 @lp_str_eq(ptr %t7345, ptr @.str8775) %t7347 = icmp ne i32 %t7346, 0 br i1 %t7347, label %then1540, label %ifend1542 then1540: store ptr @.str8776, ptr %t452 br label %ifend1542 ifend1542: br label %ifend1491 ifend1491: %t7348 = load ptr, ptr %t0 %t7349 = call i32 @lp_str_eq(ptr %t7348, ptr @.str8777) %t7350 = icmp ne i32 %t7349, 0 br i1 %t7350, label %then1543, label %ifend1545 then1543: %t7351 = load ptr, ptr %t1 %t7352 = call i32 @lp_str_eq(ptr %t7351, ptr @.str8778) %t7353 = icmp ne i32 %t7352, 0 br i1 %t7353, label %then1546, label %ifend1548 then1546: store ptr @.str8779, ptr %t452 br label %ifend1548 ifend1548: %t7354 = load ptr, ptr %t1 %t7355 = call i32 @lp_str_eq(ptr %t7354, ptr @.str8780) %t7356 = icmp ne i32 %t7355, 0 br i1 %t7356, label %then1549, label %ifend1551 then1549: store ptr @.str8781, ptr %t452 br label %ifend1551 ifend1551: %t7357 = load ptr, ptr %t1 %t7358 = call i32 @lp_str_eq(ptr %t7357, ptr @.str8782) %t7359 = icmp ne i32 %t7358, 0 br i1 %t7359, label %then1552, label %ifend1554 then1552: store ptr @.str8783, ptr %t452 br label %ifend1554 ifend1554: %t7360 = load ptr, ptr %t1 %t7361 = call i32 @lp_str_eq(ptr %t7360, ptr @.str8784) %t7362 = icmp ne i32 %t7361, 0 br i1 %t7362, label %then1555, label %ifend1557 then1555: store ptr @.str8785, ptr %t452 br label %ifend1557 ifend1557: %t7363 = load ptr, ptr %t1 %t7364 = call i32 @lp_str_eq(ptr %t7363, ptr @.str8786) %t7365 = icmp ne i32 %t7364, 0 br i1 %t7365, label %then1558, label %ifend1560 then1558: store ptr @.str8787, ptr %t452 br label %ifend1560 ifend1560: %t7366 = load ptr, ptr %t1 %t7367 = call i32 @lp_str_eq(ptr %t7366, ptr @.str8788) %t7368 = icmp ne i32 %t7367, 0 br i1 %t7368, label %then1561, label %ifend1563 then1561: store ptr @.str8789, ptr %t452 br label %ifend1563 ifend1563: %t7369 = load ptr, ptr %t1 %t7370 = call i32 @lp_str_eq(ptr %t7369, ptr @.str8790) %t7371 = icmp ne i32 %t7370, 0 br i1 %t7371, label %then1564, label %ifend1566 then1564: store ptr @.str8791, ptr %t452 br label %ifend1566 ifend1566: %t7372 = load ptr, ptr %t1 %t7373 = call i32 @lp_str_eq(ptr %t7372, ptr @.str8792) %t7374 = icmp ne i32 %t7373, 0 br i1 %t7374, label %then1567, label %ifend1569 then1567: store ptr @.str8793, ptr %t452 br label %ifend1569 ifend1569: %t7375 = load ptr, ptr %t1 %t7376 = call i32 @lp_str_eq(ptr %t7375, ptr @.str8794) %t7377 = icmp ne i32 %t7376, 0 br i1 %t7377, label %then1570, label %ifend1572 then1570: store ptr @.str8795, ptr %t452 br label %ifend1572 ifend1572: br label %ifend1545 ifend1545: %t7378 = load ptr, ptr %t0 %t7379 = call i32 @lp_str_eq(ptr %t7378, ptr @.str8796) %t7380 = icmp ne i32 %t7379, 0 br i1 %t7380, label %then1573, label %ifend1575 then1573: %t7381 = load ptr, ptr %t1 %t7382 = call i32 @lp_str_eq(ptr %t7381, ptr @.str8797) %t7383 = icmp ne i32 %t7382, 0 br i1 %t7383, label %then1576, label %ifend1578 then1576: store ptr @.str8798, ptr %t452 br label %ifend1578 ifend1578: %t7384 = load ptr, ptr %t1 %t7385 = call i32 @lp_str_eq(ptr %t7384, ptr @.str8799) %t7386 = icmp ne i32 %t7385, 0 br i1 %t7386, label %then1579, label %ifend1581 then1579: store ptr @.str8800, ptr %t452 br label %ifend1581 ifend1581: %t7387 = load ptr, ptr %t1 %t7388 = call i32 @lp_str_eq(ptr %t7387, ptr @.str8801) %t7389 = icmp ne i32 %t7388, 0 br i1 %t7389, label %then1582, label %ifend1584 then1582: store ptr @.str8802, ptr %t452 br label %ifend1584 ifend1584: %t7390 = load ptr, ptr %t1 %t7391 = call i32 @lp_str_eq(ptr %t7390, ptr @.str8803) %t7392 = icmp ne i32 %t7391, 0 br i1 %t7392, label %then1585, label %ifend1587 then1585: store ptr @.str8804, ptr %t452 br label %ifend1587 ifend1587: %t7393 = load ptr, ptr %t1 %t7394 = call i32 @lp_str_eq(ptr %t7393, ptr @.str8805) %t7395 = icmp ne i32 %t7394, 0 br i1 %t7395, label %then1588, label %ifend1590 then1588: store ptr @.str8806, ptr %t452 br label %ifend1590 ifend1590: %t7396 = load ptr, ptr %t1 %t7397 = call i32 @lp_str_eq(ptr %t7396, ptr @.str8807) %t7398 = icmp ne i32 %t7397, 0 br i1 %t7398, label %then1591, label %ifend1593 then1591: store ptr @.str8808, ptr %t452 br label %ifend1593 ifend1593: %t7399 = load ptr, ptr %t1 %t7400 = call i32 @lp_str_eq(ptr %t7399, ptr @.str8809) %t7401 = icmp ne i32 %t7400, 0 br i1 %t7401, label %then1594, label %ifend1596 then1594: store ptr @.str8810, ptr %t452 br label %ifend1596 ifend1596: %t7402 = load ptr, ptr %t1 %t7403 = call i32 @lp_str_eq(ptr %t7402, ptr @.str8811) %t7404 = icmp ne i32 %t7403, 0 br i1 %t7404, label %then1597, label %ifend1599 then1597: store ptr @.str8812, ptr %t452 br label %ifend1599 ifend1599: br label %ifend1575 ifend1575: %t7405 = load ptr, ptr %t0 %t7406 = call i32 @lp_str_eq(ptr %t7405, ptr @.str8813) %t7407 = icmp ne i32 %t7406, 0 br i1 %t7407, label %then1600, label %ifend1602 then1600: %t7408 = load ptr, ptr %t1 %t7409 = call i32 @lp_str_eq(ptr %t7408, ptr @.str8814) %t7410 = icmp ne i32 %t7409, 0 br i1 %t7410, label %then1603, label %ifend1605 then1603: store ptr @.str8815, ptr %t452 br label %ifend1605 ifend1605: %t7411 = load ptr, ptr %t1 %t7412 = call i32 @lp_str_eq(ptr %t7411, ptr @.str8816) %t7413 = icmp ne i32 %t7412, 0 br i1 %t7413, label %then1606, label %ifend1608 then1606: store ptr @.str8817, ptr %t452 br label %ifend1608 ifend1608: br label %ifend1602 ifend1602: %t7414 = load ptr, ptr %t0 %t7415 = call i32 @lp_str_eq(ptr %t7414, ptr @.str8818) %t7416 = icmp ne i32 %t7415, 0 br i1 %t7416, label %then1609, label %ifend1611 then1609: %t7417 = load ptr, ptr %t1 %t7418 = call i32 @lp_str_eq(ptr %t7417, ptr @.str8819) %t7419 = icmp ne i32 %t7418, 0 br i1 %t7419, label %then1612, label %ifend1614 then1612: store ptr @.str8820, ptr %t452 %t7420 = load ptr, ptr %t459 %t7421 = getelementptr inbounds %LSlice, ptr %t7420, i32 0, i32 1 %t7422 = getelementptr inbounds %LSlice, ptr %t7420, i32 0, i32 2 %t7423 = getelementptr inbounds %LSlice, ptr %t7420, i32 0, i32 0 %t7424 = load i32, ptr %t7421 %t7425 = load i32, ptr %t7422 %t7426 = icmp sge i32 %t7424, %t7425 br i1 %t7426, label %grow1615, label %put1616 grow1615: %t7427 = mul i32 %t7425, 2 %t7428 = icmp eq i32 %t7425, 0 %t7429 = select i1 %t7428, i32 8, i32 %t7427 %t7430 = getelementptr ptr, ptr null, i32 1 %t7431 = ptrtoint ptr %t7430 to i64 %t7432 = zext i32 %t7429 to i64 %t7433 = mul i64 %t7432, %t7431 %t7434 = load ptr, ptr %t7423 %t7435 = call ptr @realloc(ptr %t7434, i64 %t7433) store ptr %t7435, ptr %t7423 store i32 %t7429, ptr %t7422 br label %put1616 put1616: %t7436 = load ptr, ptr %t7423 %t7437 = getelementptr inbounds ptr, ptr %t7436, i32 %t7424 store ptr @.str8821, ptr %t7437 %t7438 = add i32 %t7424, 1 store i32 %t7438, ptr %t7421 br label %ifend1614 ifend1614: %t7439 = load ptr, ptr %t1 %t7440 = call i32 @lp_str_eq(ptr %t7439, ptr @.str8822) %t7441 = icmp ne i32 %t7440, 0 br i1 %t7441, label %then1617, label %ifend1619 then1617: store ptr @.str8823, ptr %t452 %t7442 = load ptr, ptr %t459 %t7443 = getelementptr inbounds %LSlice, ptr %t7442, i32 0, i32 1 %t7444 = getelementptr inbounds %LSlice, ptr %t7442, i32 0, i32 2 %t7445 = getelementptr inbounds %LSlice, ptr %t7442, i32 0, i32 0 %t7446 = load i32, ptr %t7443 %t7447 = load i32, ptr %t7444 %t7448 = icmp sge i32 %t7446, %t7447 br i1 %t7448, label %grow1620, label %put1621 grow1620: %t7449 = mul i32 %t7447, 2 %t7450 = icmp eq i32 %t7447, 0 %t7451 = select i1 %t7450, i32 8, i32 %t7449 %t7452 = getelementptr ptr, ptr null, i32 1 %t7453 = ptrtoint ptr %t7452 to i64 %t7454 = zext i32 %t7451 to i64 %t7455 = mul i64 %t7454, %t7453 %t7456 = load ptr, ptr %t7445 %t7457 = call ptr @realloc(ptr %t7456, i64 %t7455) store ptr %t7457, ptr %t7445 store i32 %t7451, ptr %t7444 br label %put1621 put1621: %t7458 = load ptr, ptr %t7445 %t7459 = getelementptr inbounds ptr, ptr %t7458, i32 %t7446 store ptr @.str8824, ptr %t7459 %t7460 = add i32 %t7446, 1 store i32 %t7460, ptr %t7443 br label %ifend1619 ifend1619: %t7461 = load ptr, ptr %t1 %t7462 = call i32 @lp_str_eq(ptr %t7461, ptr @.str8825) %t7463 = icmp ne i32 %t7462, 0 br i1 %t7463, label %then1622, label %ifend1624 then1622: store ptr @.str8826, ptr %t452 %t7464 = load ptr, ptr %t459 %t7465 = getelementptr inbounds %LSlice, ptr %t7464, i32 0, i32 1 %t7466 = getelementptr inbounds %LSlice, ptr %t7464, i32 0, i32 2 %t7467 = getelementptr inbounds %LSlice, ptr %t7464, i32 0, i32 0 %t7468 = load i32, ptr %t7465 %t7469 = load i32, ptr %t7466 %t7470 = icmp sge i32 %t7468, %t7469 br i1 %t7470, label %grow1625, label %put1626 grow1625: %t7471 = mul i32 %t7469, 2 %t7472 = icmp eq i32 %t7469, 0 %t7473 = select i1 %t7472, i32 8, i32 %t7471 %t7474 = getelementptr ptr, ptr null, i32 1 %t7475 = ptrtoint ptr %t7474 to i64 %t7476 = zext i32 %t7473 to i64 %t7477 = mul i64 %t7476, %t7475 %t7478 = load ptr, ptr %t7467 %t7479 = call ptr @realloc(ptr %t7478, i64 %t7477) store ptr %t7479, ptr %t7467 store i32 %t7473, ptr %t7466 br label %put1626 put1626: %t7480 = load ptr, ptr %t7467 %t7481 = getelementptr inbounds ptr, ptr %t7480, i32 %t7468 store ptr @.str8827, ptr %t7481 %t7482 = add i32 %t7468, 1 store i32 %t7482, ptr %t7465 %t7483 = load ptr, ptr %t459 %t7484 = getelementptr inbounds %LSlice, ptr %t7483, i32 0, i32 1 %t7485 = getelementptr inbounds %LSlice, ptr %t7483, i32 0, i32 2 %t7486 = getelementptr inbounds %LSlice, ptr %t7483, i32 0, i32 0 %t7487 = load i32, ptr %t7484 %t7488 = load i32, ptr %t7485 %t7489 = icmp sge i32 %t7487, %t7488 br i1 %t7489, label %grow1627, label %put1628 grow1627: %t7490 = mul i32 %t7488, 2 %t7491 = icmp eq i32 %t7488, 0 %t7492 = select i1 %t7491, i32 8, i32 %t7490 %t7493 = getelementptr ptr, ptr null, i32 1 %t7494 = ptrtoint ptr %t7493 to i64 %t7495 = zext i32 %t7492 to i64 %t7496 = mul i64 %t7495, %t7494 %t7497 = load ptr, ptr %t7486 %t7498 = call ptr @realloc(ptr %t7497, i64 %t7496) store ptr %t7498, ptr %t7486 store i32 %t7492, ptr %t7485 br label %put1628 put1628: %t7499 = load ptr, ptr %t7486 %t7500 = getelementptr inbounds ptr, ptr %t7499, i32 %t7487 store ptr @.str8828, ptr %t7500 %t7501 = add i32 %t7487, 1 store i32 %t7501, ptr %t7484 br label %ifend1624 ifend1624: %t7502 = load ptr, ptr %t1 %t7503 = call i32 @lp_str_eq(ptr %t7502, ptr @.str8829) %t7504 = icmp ne i32 %t7503, 0 br i1 %t7504, label %then1629, label %ifend1631 then1629: store ptr @.str8830, ptr %t452 %t7505 = load ptr, ptr %t459 %t7506 = getelementptr inbounds %LSlice, ptr %t7505, i32 0, i32 1 %t7507 = getelementptr inbounds %LSlice, ptr %t7505, i32 0, i32 2 %t7508 = getelementptr inbounds %LSlice, ptr %t7505, i32 0, i32 0 %t7509 = load i32, ptr %t7506 %t7510 = load i32, ptr %t7507 %t7511 = icmp sge i32 %t7509, %t7510 br i1 %t7511, label %grow1632, label %put1633 grow1632: %t7512 = mul i32 %t7510, 2 %t7513 = icmp eq i32 %t7510, 0 %t7514 = select i1 %t7513, i32 8, i32 %t7512 %t7515 = getelementptr ptr, ptr null, i32 1 %t7516 = ptrtoint ptr %t7515 to i64 %t7517 = zext i32 %t7514 to i64 %t7518 = mul i64 %t7517, %t7516 %t7519 = load ptr, ptr %t7508 %t7520 = call ptr @realloc(ptr %t7519, i64 %t7518) store ptr %t7520, ptr %t7508 store i32 %t7514, ptr %t7507 br label %put1633 put1633: %t7521 = load ptr, ptr %t7508 %t7522 = getelementptr inbounds ptr, ptr %t7521, i32 %t7509 store ptr @.str8831, ptr %t7522 %t7523 = add i32 %t7509, 1 store i32 %t7523, ptr %t7506 %t7524 = load ptr, ptr %t459 %t7525 = getelementptr inbounds %LSlice, ptr %t7524, i32 0, i32 1 %t7526 = getelementptr inbounds %LSlice, ptr %t7524, i32 0, i32 2 %t7527 = getelementptr inbounds %LSlice, ptr %t7524, i32 0, i32 0 %t7528 = load i32, ptr %t7525 %t7529 = load i32, ptr %t7526 %t7530 = icmp sge i32 %t7528, %t7529 br i1 %t7530, label %grow1634, label %put1635 grow1634: %t7531 = mul i32 %t7529, 2 %t7532 = icmp eq i32 %t7529, 0 %t7533 = select i1 %t7532, i32 8, i32 %t7531 %t7534 = getelementptr ptr, ptr null, i32 1 %t7535 = ptrtoint ptr %t7534 to i64 %t7536 = zext i32 %t7533 to i64 %t7537 = mul i64 %t7536, %t7535 %t7538 = load ptr, ptr %t7527 %t7539 = call ptr @realloc(ptr %t7538, i64 %t7537) store ptr %t7539, ptr %t7527 store i32 %t7533, ptr %t7526 br label %put1635 put1635: %t7540 = load ptr, ptr %t7527 %t7541 = getelementptr inbounds ptr, ptr %t7540, i32 %t7528 store ptr @.str8832, ptr %t7541 %t7542 = add i32 %t7528, 1 store i32 %t7542, ptr %t7525 br label %ifend1631 ifend1631: %t7543 = load ptr, ptr %t1 %t7544 = call i32 @lp_str_eq(ptr %t7543, ptr @.str8833) %t7545 = icmp ne i32 %t7544, 0 br i1 %t7545, label %then1636, label %ifend1638 then1636: store ptr @.str8834, ptr %t452 %t7546 = load ptr, ptr %t459 %t7547 = getelementptr inbounds %LSlice, ptr %t7546, i32 0, i32 1 %t7548 = getelementptr inbounds %LSlice, ptr %t7546, i32 0, i32 2 %t7549 = getelementptr inbounds %LSlice, ptr %t7546, i32 0, i32 0 %t7550 = load i32, ptr %t7547 %t7551 = load i32, ptr %t7548 %t7552 = icmp sge i32 %t7550, %t7551 br i1 %t7552, label %grow1639, label %put1640 grow1639: %t7553 = mul i32 %t7551, 2 %t7554 = icmp eq i32 %t7551, 0 %t7555 = select i1 %t7554, i32 8, i32 %t7553 %t7556 = getelementptr ptr, ptr null, i32 1 %t7557 = ptrtoint ptr %t7556 to i64 %t7558 = zext i32 %t7555 to i64 %t7559 = mul i64 %t7558, %t7557 %t7560 = load ptr, ptr %t7549 %t7561 = call ptr @realloc(ptr %t7560, i64 %t7559) store ptr %t7561, ptr %t7549 store i32 %t7555, ptr %t7548 br label %put1640 put1640: %t7562 = load ptr, ptr %t7549 %t7563 = getelementptr inbounds ptr, ptr %t7562, i32 %t7550 store ptr @.str8835, ptr %t7563 %t7564 = add i32 %t7550, 1 store i32 %t7564, ptr %t7547 %t7565 = load ptr, ptr %t459 %t7566 = getelementptr inbounds %LSlice, ptr %t7565, i32 0, i32 1 %t7567 = getelementptr inbounds %LSlice, ptr %t7565, i32 0, i32 2 %t7568 = getelementptr inbounds %LSlice, ptr %t7565, i32 0, i32 0 %t7569 = load i32, ptr %t7566 %t7570 = load i32, ptr %t7567 %t7571 = icmp sge i32 %t7569, %t7570 br i1 %t7571, label %grow1641, label %put1642 grow1641: %t7572 = mul i32 %t7570, 2 %t7573 = icmp eq i32 %t7570, 0 %t7574 = select i1 %t7573, i32 8, i32 %t7572 %t7575 = getelementptr ptr, ptr null, i32 1 %t7576 = ptrtoint ptr %t7575 to i64 %t7577 = zext i32 %t7574 to i64 %t7578 = mul i64 %t7577, %t7576 %t7579 = load ptr, ptr %t7568 %t7580 = call ptr @realloc(ptr %t7579, i64 %t7578) store ptr %t7580, ptr %t7568 store i32 %t7574, ptr %t7567 br label %put1642 put1642: %t7581 = load ptr, ptr %t7568 %t7582 = getelementptr inbounds ptr, ptr %t7581, i32 %t7569 store ptr @.str8836, ptr %t7582 %t7583 = add i32 %t7569, 1 store i32 %t7583, ptr %t7566 br label %ifend1638 ifend1638: %t7584 = load ptr, ptr %t1 %t7585 = call i32 @lp_str_eq(ptr %t7584, ptr @.str8837) %t7586 = icmp ne i32 %t7585, 0 br i1 %t7586, label %then1643, label %ifend1645 then1643: store ptr @.str8838, ptr %t452 %t7587 = load ptr, ptr %t459 %t7588 = getelementptr inbounds %LSlice, ptr %t7587, i32 0, i32 1 %t7589 = getelementptr inbounds %LSlice, ptr %t7587, i32 0, i32 2 %t7590 = getelementptr inbounds %LSlice, ptr %t7587, i32 0, i32 0 %t7591 = load i32, ptr %t7588 %t7592 = load i32, ptr %t7589 %t7593 = icmp sge i32 %t7591, %t7592 br i1 %t7593, label %grow1646, label %put1647 grow1646: %t7594 = mul i32 %t7592, 2 %t7595 = icmp eq i32 %t7592, 0 %t7596 = select i1 %t7595, i32 8, i32 %t7594 %t7597 = getelementptr ptr, ptr null, i32 1 %t7598 = ptrtoint ptr %t7597 to i64 %t7599 = zext i32 %t7596 to i64 %t7600 = mul i64 %t7599, %t7598 %t7601 = load ptr, ptr %t7590 %t7602 = call ptr @realloc(ptr %t7601, i64 %t7600) store ptr %t7602, ptr %t7590 store i32 %t7596, ptr %t7589 br label %put1647 put1647: %t7603 = load ptr, ptr %t7590 %t7604 = getelementptr inbounds ptr, ptr %t7603, i32 %t7591 store ptr @.str8839, ptr %t7604 %t7605 = add i32 %t7591, 1 store i32 %t7605, ptr %t7588 %t7606 = load ptr, ptr %t459 %t7607 = getelementptr inbounds %LSlice, ptr %t7606, i32 0, i32 1 %t7608 = getelementptr inbounds %LSlice, ptr %t7606, i32 0, i32 2 %t7609 = getelementptr inbounds %LSlice, ptr %t7606, i32 0, i32 0 %t7610 = load i32, ptr %t7607 %t7611 = load i32, ptr %t7608 %t7612 = icmp sge i32 %t7610, %t7611 br i1 %t7612, label %grow1648, label %put1649 grow1648: %t7613 = mul i32 %t7611, 2 %t7614 = icmp eq i32 %t7611, 0 %t7615 = select i1 %t7614, i32 8, i32 %t7613 %t7616 = getelementptr ptr, ptr null, i32 1 %t7617 = ptrtoint ptr %t7616 to i64 %t7618 = zext i32 %t7615 to i64 %t7619 = mul i64 %t7618, %t7617 %t7620 = load ptr, ptr %t7609 %t7621 = call ptr @realloc(ptr %t7620, i64 %t7619) store ptr %t7621, ptr %t7609 store i32 %t7615, ptr %t7608 br label %put1649 put1649: %t7622 = load ptr, ptr %t7609 %t7623 = getelementptr inbounds ptr, ptr %t7622, i32 %t7610 store ptr @.str8840, ptr %t7623 %t7624 = add i32 %t7610, 1 store i32 %t7624, ptr %t7607 br label %ifend1645 ifend1645: %t7625 = load ptr, ptr %t1 %t7626 = call i32 @lp_str_eq(ptr %t7625, ptr @.str8841) %t7627 = icmp ne i32 %t7626, 0 br i1 %t7627, label %then1650, label %ifend1652 then1650: store ptr @.str8842, ptr %t452 %t7628 = load ptr, ptr %t459 %t7629 = getelementptr inbounds %LSlice, ptr %t7628, i32 0, i32 1 %t7630 = getelementptr inbounds %LSlice, ptr %t7628, i32 0, i32 2 %t7631 = getelementptr inbounds %LSlice, ptr %t7628, i32 0, i32 0 %t7632 = load i32, ptr %t7629 %t7633 = load i32, ptr %t7630 %t7634 = icmp sge i32 %t7632, %t7633 br i1 %t7634, label %grow1653, label %put1654 grow1653: %t7635 = mul i32 %t7633, 2 %t7636 = icmp eq i32 %t7633, 0 %t7637 = select i1 %t7636, i32 8, i32 %t7635 %t7638 = getelementptr ptr, ptr null, i32 1 %t7639 = ptrtoint ptr %t7638 to i64 %t7640 = zext i32 %t7637 to i64 %t7641 = mul i64 %t7640, %t7639 %t7642 = load ptr, ptr %t7631 %t7643 = call ptr @realloc(ptr %t7642, i64 %t7641) store ptr %t7643, ptr %t7631 store i32 %t7637, ptr %t7630 br label %put1654 put1654: %t7644 = load ptr, ptr %t7631 %t7645 = getelementptr inbounds ptr, ptr %t7644, i32 %t7632 store ptr @.str8843, ptr %t7645 %t7646 = add i32 %t7632, 1 store i32 %t7646, ptr %t7629 %t7647 = load ptr, ptr %t459 %t7648 = getelementptr inbounds %LSlice, ptr %t7647, i32 0, i32 1 %t7649 = getelementptr inbounds %LSlice, ptr %t7647, i32 0, i32 2 %t7650 = getelementptr inbounds %LSlice, ptr %t7647, i32 0, i32 0 %t7651 = load i32, ptr %t7648 %t7652 = load i32, ptr %t7649 %t7653 = icmp sge i32 %t7651, %t7652 br i1 %t7653, label %grow1655, label %put1656 grow1655: %t7654 = mul i32 %t7652, 2 %t7655 = icmp eq i32 %t7652, 0 %t7656 = select i1 %t7655, i32 8, i32 %t7654 %t7657 = getelementptr ptr, ptr null, i32 1 %t7658 = ptrtoint ptr %t7657 to i64 %t7659 = zext i32 %t7656 to i64 %t7660 = mul i64 %t7659, %t7658 %t7661 = load ptr, ptr %t7650 %t7662 = call ptr @realloc(ptr %t7661, i64 %t7660) store ptr %t7662, ptr %t7650 store i32 %t7656, ptr %t7649 br label %put1656 put1656: %t7663 = load ptr, ptr %t7650 %t7664 = getelementptr inbounds ptr, ptr %t7663, i32 %t7651 store ptr @.str8844, ptr %t7664 %t7665 = add i32 %t7651, 1 store i32 %t7665, ptr %t7648 %t7666 = load ptr, ptr %t459 %t7667 = getelementptr inbounds %LSlice, ptr %t7666, i32 0, i32 1 %t7668 = getelementptr inbounds %LSlice, ptr %t7666, i32 0, i32 2 %t7669 = getelementptr inbounds %LSlice, ptr %t7666, i32 0, i32 0 %t7670 = load i32, ptr %t7667 %t7671 = load i32, ptr %t7668 %t7672 = icmp sge i32 %t7670, %t7671 br i1 %t7672, label %grow1657, label %put1658 grow1657: %t7673 = mul i32 %t7671, 2 %t7674 = icmp eq i32 %t7671, 0 %t7675 = select i1 %t7674, i32 8, i32 %t7673 %t7676 = getelementptr ptr, ptr null, i32 1 %t7677 = ptrtoint ptr %t7676 to i64 %t7678 = zext i32 %t7675 to i64 %t7679 = mul i64 %t7678, %t7677 %t7680 = load ptr, ptr %t7669 %t7681 = call ptr @realloc(ptr %t7680, i64 %t7679) store ptr %t7681, ptr %t7669 store i32 %t7675, ptr %t7668 br label %put1658 put1658: %t7682 = load ptr, ptr %t7669 %t7683 = getelementptr inbounds ptr, ptr %t7682, i32 %t7670 store ptr @.str8845, ptr %t7683 %t7684 = add i32 %t7670, 1 store i32 %t7684, ptr %t7667 br label %ifend1652 ifend1652: %t7685 = load ptr, ptr %t1 %t7686 = call i32 @lp_str_eq(ptr %t7685, ptr @.str8846) %t7687 = icmp ne i32 %t7686, 0 br i1 %t7687, label %then1659, label %ifend1661 then1659: store ptr @.str8847, ptr %t452 %t7688 = load ptr, ptr %t459 %t7689 = getelementptr inbounds %LSlice, ptr %t7688, i32 0, i32 1 %t7690 = getelementptr inbounds %LSlice, ptr %t7688, i32 0, i32 2 %t7691 = getelementptr inbounds %LSlice, ptr %t7688, i32 0, i32 0 %t7692 = load i32, ptr %t7689 %t7693 = load i32, ptr %t7690 %t7694 = icmp sge i32 %t7692, %t7693 br i1 %t7694, label %grow1662, label %put1663 grow1662: %t7695 = mul i32 %t7693, 2 %t7696 = icmp eq i32 %t7693, 0 %t7697 = select i1 %t7696, i32 8, i32 %t7695 %t7698 = getelementptr ptr, ptr null, i32 1 %t7699 = ptrtoint ptr %t7698 to i64 %t7700 = zext i32 %t7697 to i64 %t7701 = mul i64 %t7700, %t7699 %t7702 = load ptr, ptr %t7691 %t7703 = call ptr @realloc(ptr %t7702, i64 %t7701) store ptr %t7703, ptr %t7691 store i32 %t7697, ptr %t7690 br label %put1663 put1663: %t7704 = load ptr, ptr %t7691 %t7705 = getelementptr inbounds ptr, ptr %t7704, i32 %t7692 store ptr @.str8848, ptr %t7705 %t7706 = add i32 %t7692, 1 store i32 %t7706, ptr %t7689 %t7707 = load ptr, ptr %t459 %t7708 = getelementptr inbounds %LSlice, ptr %t7707, i32 0, i32 1 %t7709 = getelementptr inbounds %LSlice, ptr %t7707, i32 0, i32 2 %t7710 = getelementptr inbounds %LSlice, ptr %t7707, i32 0, i32 0 %t7711 = load i32, ptr %t7708 %t7712 = load i32, ptr %t7709 %t7713 = icmp sge i32 %t7711, %t7712 br i1 %t7713, label %grow1664, label %put1665 grow1664: %t7714 = mul i32 %t7712, 2 %t7715 = icmp eq i32 %t7712, 0 %t7716 = select i1 %t7715, i32 8, i32 %t7714 %t7717 = getelementptr ptr, ptr null, i32 1 %t7718 = ptrtoint ptr %t7717 to i64 %t7719 = zext i32 %t7716 to i64 %t7720 = mul i64 %t7719, %t7718 %t7721 = load ptr, ptr %t7710 %t7722 = call ptr @realloc(ptr %t7721, i64 %t7720) store ptr %t7722, ptr %t7710 store i32 %t7716, ptr %t7709 br label %put1665 put1665: %t7723 = load ptr, ptr %t7710 %t7724 = getelementptr inbounds ptr, ptr %t7723, i32 %t7711 store ptr @.str8849, ptr %t7724 %t7725 = add i32 %t7711, 1 store i32 %t7725, ptr %t7708 %t7726 = load ptr, ptr %t459 %t7727 = getelementptr inbounds %LSlice, ptr %t7726, i32 0, i32 1 %t7728 = getelementptr inbounds %LSlice, ptr %t7726, i32 0, i32 2 %t7729 = getelementptr inbounds %LSlice, ptr %t7726, i32 0, i32 0 %t7730 = load i32, ptr %t7727 %t7731 = load i32, ptr %t7728 %t7732 = icmp sge i32 %t7730, %t7731 br i1 %t7732, label %grow1666, label %put1667 grow1666: %t7733 = mul i32 %t7731, 2 %t7734 = icmp eq i32 %t7731, 0 %t7735 = select i1 %t7734, i32 8, i32 %t7733 %t7736 = getelementptr ptr, ptr null, i32 1 %t7737 = ptrtoint ptr %t7736 to i64 %t7738 = zext i32 %t7735 to i64 %t7739 = mul i64 %t7738, %t7737 %t7740 = load ptr, ptr %t7729 %t7741 = call ptr @realloc(ptr %t7740, i64 %t7739) store ptr %t7741, ptr %t7729 store i32 %t7735, ptr %t7728 br label %put1667 put1667: %t7742 = load ptr, ptr %t7729 %t7743 = getelementptr inbounds ptr, ptr %t7742, i32 %t7730 store ptr @.str8850, ptr %t7743 %t7744 = add i32 %t7730, 1 store i32 %t7744, ptr %t7727 br label %ifend1661 ifend1661: %t7745 = load ptr, ptr %t1 %t7746 = call i32 @lp_str_eq(ptr %t7745, ptr @.str8851) %t7747 = icmp ne i32 %t7746, 0 br i1 %t7747, label %then1668, label %ifend1670 then1668: store ptr @.str8852, ptr %t452 %t7748 = load ptr, ptr %t459 %t7749 = getelementptr inbounds %LSlice, ptr %t7748, i32 0, i32 1 %t7750 = getelementptr inbounds %LSlice, ptr %t7748, i32 0, i32 2 %t7751 = getelementptr inbounds %LSlice, ptr %t7748, i32 0, i32 0 %t7752 = load i32, ptr %t7749 %t7753 = load i32, ptr %t7750 %t7754 = icmp sge i32 %t7752, %t7753 br i1 %t7754, label %grow1671, label %put1672 grow1671: %t7755 = mul i32 %t7753, 2 %t7756 = icmp eq i32 %t7753, 0 %t7757 = select i1 %t7756, i32 8, i32 %t7755 %t7758 = getelementptr ptr, ptr null, i32 1 %t7759 = ptrtoint ptr %t7758 to i64 %t7760 = zext i32 %t7757 to i64 %t7761 = mul i64 %t7760, %t7759 %t7762 = load ptr, ptr %t7751 %t7763 = call ptr @realloc(ptr %t7762, i64 %t7761) store ptr %t7763, ptr %t7751 store i32 %t7757, ptr %t7750 br label %put1672 put1672: %t7764 = load ptr, ptr %t7751 %t7765 = getelementptr inbounds ptr, ptr %t7764, i32 %t7752 store ptr @.str8853, ptr %t7765 %t7766 = add i32 %t7752, 1 store i32 %t7766, ptr %t7749 %t7767 = load ptr, ptr %t459 %t7768 = getelementptr inbounds %LSlice, ptr %t7767, i32 0, i32 1 %t7769 = getelementptr inbounds %LSlice, ptr %t7767, i32 0, i32 2 %t7770 = getelementptr inbounds %LSlice, ptr %t7767, i32 0, i32 0 %t7771 = load i32, ptr %t7768 %t7772 = load i32, ptr %t7769 %t7773 = icmp sge i32 %t7771, %t7772 br i1 %t7773, label %grow1673, label %put1674 grow1673: %t7774 = mul i32 %t7772, 2 %t7775 = icmp eq i32 %t7772, 0 %t7776 = select i1 %t7775, i32 8, i32 %t7774 %t7777 = getelementptr ptr, ptr null, i32 1 %t7778 = ptrtoint ptr %t7777 to i64 %t7779 = zext i32 %t7776 to i64 %t7780 = mul i64 %t7779, %t7778 %t7781 = load ptr, ptr %t7770 %t7782 = call ptr @realloc(ptr %t7781, i64 %t7780) store ptr %t7782, ptr %t7770 store i32 %t7776, ptr %t7769 br label %put1674 put1674: %t7783 = load ptr, ptr %t7770 %t7784 = getelementptr inbounds ptr, ptr %t7783, i32 %t7771 store ptr @.str8854, ptr %t7784 %t7785 = add i32 %t7771, 1 store i32 %t7785, ptr %t7768 br label %ifend1670 ifend1670: %t7786 = load ptr, ptr %t1 %t7787 = call i32 @lp_str_eq(ptr %t7786, ptr @.str8855) %t7788 = icmp ne i32 %t7787, 0 br i1 %t7788, label %then1675, label %ifend1677 then1675: store ptr @.str8856, ptr %t452 %t7789 = load ptr, ptr %t459 %t7790 = getelementptr inbounds %LSlice, ptr %t7789, i32 0, i32 1 %t7791 = getelementptr inbounds %LSlice, ptr %t7789, i32 0, i32 2 %t7792 = getelementptr inbounds %LSlice, ptr %t7789, i32 0, i32 0 %t7793 = load i32, ptr %t7790 %t7794 = load i32, ptr %t7791 %t7795 = icmp sge i32 %t7793, %t7794 br i1 %t7795, label %grow1678, label %put1679 grow1678: %t7796 = mul i32 %t7794, 2 %t7797 = icmp eq i32 %t7794, 0 %t7798 = select i1 %t7797, i32 8, i32 %t7796 %t7799 = getelementptr ptr, ptr null, i32 1 %t7800 = ptrtoint ptr %t7799 to i64 %t7801 = zext i32 %t7798 to i64 %t7802 = mul i64 %t7801, %t7800 %t7803 = load ptr, ptr %t7792 %t7804 = call ptr @realloc(ptr %t7803, i64 %t7802) store ptr %t7804, ptr %t7792 store i32 %t7798, ptr %t7791 br label %put1679 put1679: %t7805 = load ptr, ptr %t7792 %t7806 = getelementptr inbounds ptr, ptr %t7805, i32 %t7793 store ptr @.str8857, ptr %t7806 %t7807 = add i32 %t7793, 1 store i32 %t7807, ptr %t7790 br label %ifend1677 ifend1677: %t7808 = load ptr, ptr %t1 %t7809 = call i32 @lp_str_eq(ptr %t7808, ptr @.str8858) %t7810 = icmp ne i32 %t7809, 0 br i1 %t7810, label %then1680, label %ifend1682 then1680: store ptr @.str8859, ptr %t452 %t7811 = load ptr, ptr %t459 %t7812 = getelementptr inbounds %LSlice, ptr %t7811, i32 0, i32 1 %t7813 = getelementptr inbounds %LSlice, ptr %t7811, i32 0, i32 2 %t7814 = getelementptr inbounds %LSlice, ptr %t7811, i32 0, i32 0 %t7815 = load i32, ptr %t7812 %t7816 = load i32, ptr %t7813 %t7817 = icmp sge i32 %t7815, %t7816 br i1 %t7817, label %grow1683, label %put1684 grow1683: %t7818 = mul i32 %t7816, 2 %t7819 = icmp eq i32 %t7816, 0 %t7820 = select i1 %t7819, i32 8, i32 %t7818 %t7821 = getelementptr ptr, ptr null, i32 1 %t7822 = ptrtoint ptr %t7821 to i64 %t7823 = zext i32 %t7820 to i64 %t7824 = mul i64 %t7823, %t7822 %t7825 = load ptr, ptr %t7814 %t7826 = call ptr @realloc(ptr %t7825, i64 %t7824) store ptr %t7826, ptr %t7814 store i32 %t7820, ptr %t7813 br label %put1684 put1684: %t7827 = load ptr, ptr %t7814 %t7828 = getelementptr inbounds ptr, ptr %t7827, i32 %t7815 store ptr @.str8860, ptr %t7828 %t7829 = add i32 %t7815, 1 store i32 %t7829, ptr %t7812 %t7830 = load ptr, ptr %t459 %t7831 = getelementptr inbounds %LSlice, ptr %t7830, i32 0, i32 1 %t7832 = getelementptr inbounds %LSlice, ptr %t7830, i32 0, i32 2 %t7833 = getelementptr inbounds %LSlice, ptr %t7830, i32 0, i32 0 %t7834 = load i32, ptr %t7831 %t7835 = load i32, ptr %t7832 %t7836 = icmp sge i32 %t7834, %t7835 br i1 %t7836, label %grow1685, label %put1686 grow1685: %t7837 = mul i32 %t7835, 2 %t7838 = icmp eq i32 %t7835, 0 %t7839 = select i1 %t7838, i32 8, i32 %t7837 %t7840 = getelementptr ptr, ptr null, i32 1 %t7841 = ptrtoint ptr %t7840 to i64 %t7842 = zext i32 %t7839 to i64 %t7843 = mul i64 %t7842, %t7841 %t7844 = load ptr, ptr %t7833 %t7845 = call ptr @realloc(ptr %t7844, i64 %t7843) store ptr %t7845, ptr %t7833 store i32 %t7839, ptr %t7832 br label %put1686 put1686: %t7846 = load ptr, ptr %t7833 %t7847 = getelementptr inbounds ptr, ptr %t7846, i32 %t7834 store ptr @.str8861, ptr %t7847 %t7848 = add i32 %t7834, 1 store i32 %t7848, ptr %t7831 br label %ifend1682 ifend1682: %t7849 = load ptr, ptr %t1 %t7850 = call i32 @lp_str_eq(ptr %t7849, ptr @.str8862) %t7851 = icmp ne i32 %t7850, 0 br i1 %t7851, label %then1687, label %ifend1689 then1687: store ptr @.str8863, ptr %t452 %t7852 = load ptr, ptr %t459 %t7853 = getelementptr inbounds %LSlice, ptr %t7852, i32 0, i32 1 %t7854 = getelementptr inbounds %LSlice, ptr %t7852, i32 0, i32 2 %t7855 = getelementptr inbounds %LSlice, ptr %t7852, i32 0, i32 0 %t7856 = load i32, ptr %t7853 %t7857 = load i32, ptr %t7854 %t7858 = icmp sge i32 %t7856, %t7857 br i1 %t7858, label %grow1690, label %put1691 grow1690: %t7859 = mul i32 %t7857, 2 %t7860 = icmp eq i32 %t7857, 0 %t7861 = select i1 %t7860, i32 8, i32 %t7859 %t7862 = getelementptr ptr, ptr null, i32 1 %t7863 = ptrtoint ptr %t7862 to i64 %t7864 = zext i32 %t7861 to i64 %t7865 = mul i64 %t7864, %t7863 %t7866 = load ptr, ptr %t7855 %t7867 = call ptr @realloc(ptr %t7866, i64 %t7865) store ptr %t7867, ptr %t7855 store i32 %t7861, ptr %t7854 br label %put1691 put1691: %t7868 = load ptr, ptr %t7855 %t7869 = getelementptr inbounds ptr, ptr %t7868, i32 %t7856 store ptr @.str8864, ptr %t7869 %t7870 = add i32 %t7856, 1 store i32 %t7870, ptr %t7853 %t7871 = load ptr, ptr %t459 %t7872 = getelementptr inbounds %LSlice, ptr %t7871, i32 0, i32 1 %t7873 = getelementptr inbounds %LSlice, ptr %t7871, i32 0, i32 2 %t7874 = getelementptr inbounds %LSlice, ptr %t7871, i32 0, i32 0 %t7875 = load i32, ptr %t7872 %t7876 = load i32, ptr %t7873 %t7877 = icmp sge i32 %t7875, %t7876 br i1 %t7877, label %grow1692, label %put1693 grow1692: %t7878 = mul i32 %t7876, 2 %t7879 = icmp eq i32 %t7876, 0 %t7880 = select i1 %t7879, i32 8, i32 %t7878 %t7881 = getelementptr ptr, ptr null, i32 1 %t7882 = ptrtoint ptr %t7881 to i64 %t7883 = zext i32 %t7880 to i64 %t7884 = mul i64 %t7883, %t7882 %t7885 = load ptr, ptr %t7874 %t7886 = call ptr @realloc(ptr %t7885, i64 %t7884) store ptr %t7886, ptr %t7874 store i32 %t7880, ptr %t7873 br label %put1693 put1693: %t7887 = load ptr, ptr %t7874 %t7888 = getelementptr inbounds ptr, ptr %t7887, i32 %t7875 store ptr @.str8865, ptr %t7888 %t7889 = add i32 %t7875, 1 store i32 %t7889, ptr %t7872 br label %ifend1689 ifend1689: %t7890 = load ptr, ptr %t1 %t7891 = call i32 @lp_str_eq(ptr %t7890, ptr @.str8866) %t7892 = icmp ne i32 %t7891, 0 br i1 %t7892, label %then1694, label %ifend1696 then1694: store ptr @.str8867, ptr %t452 %t7893 = load ptr, ptr %t459 %t7894 = getelementptr inbounds %LSlice, ptr %t7893, i32 0, i32 1 %t7895 = getelementptr inbounds %LSlice, ptr %t7893, i32 0, i32 2 %t7896 = getelementptr inbounds %LSlice, ptr %t7893, i32 0, i32 0 %t7897 = load i32, ptr %t7894 %t7898 = load i32, ptr %t7895 %t7899 = icmp sge i32 %t7897, %t7898 br i1 %t7899, label %grow1697, label %put1698 grow1697: %t7900 = mul i32 %t7898, 2 %t7901 = icmp eq i32 %t7898, 0 %t7902 = select i1 %t7901, i32 8, i32 %t7900 %t7903 = getelementptr ptr, ptr null, i32 1 %t7904 = ptrtoint ptr %t7903 to i64 %t7905 = zext i32 %t7902 to i64 %t7906 = mul i64 %t7905, %t7904 %t7907 = load ptr, ptr %t7896 %t7908 = call ptr @realloc(ptr %t7907, i64 %t7906) store ptr %t7908, ptr %t7896 store i32 %t7902, ptr %t7895 br label %put1698 put1698: %t7909 = load ptr, ptr %t7896 %t7910 = getelementptr inbounds ptr, ptr %t7909, i32 %t7897 store ptr @.str8868, ptr %t7910 %t7911 = add i32 %t7897, 1 store i32 %t7911, ptr %t7894 br label %ifend1696 ifend1696: br label %ifend1611 ifend1611: %t7912 = load ptr, ptr %t0 %t7913 = call i32 @lp_str_eq(ptr %t7912, ptr @.str8869) %t7914 = icmp ne i32 %t7913, 0 br i1 %t7914, label %then1699, label %ifend1701 then1699: %t7915 = load ptr, ptr %t1 %t7916 = call i32 @lp_str_eq(ptr %t7915, ptr @.str8870) %t7917 = icmp ne i32 %t7916, 0 br i1 %t7917, label %then1702, label %ifend1704 then1702: store ptr @.str8871, ptr %t452 %t7918 = load ptr, ptr %t459 %t7919 = getelementptr inbounds %LSlice, ptr %t7918, i32 0, i32 1 %t7920 = getelementptr inbounds %LSlice, ptr %t7918, i32 0, i32 2 %t7921 = getelementptr inbounds %LSlice, ptr %t7918, i32 0, i32 0 %t7922 = load i32, ptr %t7919 %t7923 = load i32, ptr %t7920 %t7924 = icmp sge i32 %t7922, %t7923 br i1 %t7924, label %grow1705, label %put1706 grow1705: %t7925 = mul i32 %t7923, 2 %t7926 = icmp eq i32 %t7923, 0 %t7927 = select i1 %t7926, i32 8, i32 %t7925 %t7928 = getelementptr ptr, ptr null, i32 1 %t7929 = ptrtoint ptr %t7928 to i64 %t7930 = zext i32 %t7927 to i64 %t7931 = mul i64 %t7930, %t7929 %t7932 = load ptr, ptr %t7921 %t7933 = call ptr @realloc(ptr %t7932, i64 %t7931) store ptr %t7933, ptr %t7921 store i32 %t7927, ptr %t7920 br label %put1706 put1706: %t7934 = load ptr, ptr %t7921 %t7935 = getelementptr inbounds ptr, ptr %t7934, i32 %t7922 store ptr @.str8872, ptr %t7935 %t7936 = add i32 %t7922, 1 store i32 %t7936, ptr %t7919 br label %ifend1704 ifend1704: %t7937 = load ptr, ptr %t1 %t7938 = call i32 @lp_str_eq(ptr %t7937, ptr @.str8873) %t7939 = icmp ne i32 %t7938, 0 br i1 %t7939, label %then1707, label %ifend1709 then1707: store ptr @.str8874, ptr %t452 %t7940 = load ptr, ptr %t459 %t7941 = getelementptr inbounds %LSlice, ptr %t7940, i32 0, i32 1 %t7942 = getelementptr inbounds %LSlice, ptr %t7940, i32 0, i32 2 %t7943 = getelementptr inbounds %LSlice, ptr %t7940, i32 0, i32 0 %t7944 = load i32, ptr %t7941 %t7945 = load i32, ptr %t7942 %t7946 = icmp sge i32 %t7944, %t7945 br i1 %t7946, label %grow1710, label %put1711 grow1710: %t7947 = mul i32 %t7945, 2 %t7948 = icmp eq i32 %t7945, 0 %t7949 = select i1 %t7948, i32 8, i32 %t7947 %t7950 = getelementptr ptr, ptr null, i32 1 %t7951 = ptrtoint ptr %t7950 to i64 %t7952 = zext i32 %t7949 to i64 %t7953 = mul i64 %t7952, %t7951 %t7954 = load ptr, ptr %t7943 %t7955 = call ptr @realloc(ptr %t7954, i64 %t7953) store ptr %t7955, ptr %t7943 store i32 %t7949, ptr %t7942 br label %put1711 put1711: %t7956 = load ptr, ptr %t7943 %t7957 = getelementptr inbounds ptr, ptr %t7956, i32 %t7944 store ptr @.str8875, ptr %t7957 %t7958 = add i32 %t7944, 1 store i32 %t7958, ptr %t7941 br label %ifend1709 ifend1709: %t7959 = load ptr, ptr %t1 %t7960 = call i32 @lp_str_eq(ptr %t7959, ptr @.str8876) %t7961 = icmp ne i32 %t7960, 0 br i1 %t7961, label %then1712, label %ifend1714 then1712: store ptr @.str8877, ptr %t452 %t7962 = load ptr, ptr %t459 %t7963 = getelementptr inbounds %LSlice, ptr %t7962, i32 0, i32 1 %t7964 = getelementptr inbounds %LSlice, ptr %t7962, i32 0, i32 2 %t7965 = getelementptr inbounds %LSlice, ptr %t7962, i32 0, i32 0 %t7966 = load i32, ptr %t7963 %t7967 = load i32, ptr %t7964 %t7968 = icmp sge i32 %t7966, %t7967 br i1 %t7968, label %grow1715, label %put1716 grow1715: %t7969 = mul i32 %t7967, 2 %t7970 = icmp eq i32 %t7967, 0 %t7971 = select i1 %t7970, i32 8, i32 %t7969 %t7972 = getelementptr ptr, ptr null, i32 1 %t7973 = ptrtoint ptr %t7972 to i64 %t7974 = zext i32 %t7971 to i64 %t7975 = mul i64 %t7974, %t7973 %t7976 = load ptr, ptr %t7965 %t7977 = call ptr @realloc(ptr %t7976, i64 %t7975) store ptr %t7977, ptr %t7965 store i32 %t7971, ptr %t7964 br label %put1716 put1716: %t7978 = load ptr, ptr %t7965 %t7979 = getelementptr inbounds ptr, ptr %t7978, i32 %t7966 store ptr @.str8878, ptr %t7979 %t7980 = add i32 %t7966, 1 store i32 %t7980, ptr %t7963 %t7981 = load ptr, ptr %t459 %t7982 = getelementptr inbounds %LSlice, ptr %t7981, i32 0, i32 1 %t7983 = getelementptr inbounds %LSlice, ptr %t7981, i32 0, i32 2 %t7984 = getelementptr inbounds %LSlice, ptr %t7981, i32 0, i32 0 %t7985 = load i32, ptr %t7982 %t7986 = load i32, ptr %t7983 %t7987 = icmp sge i32 %t7985, %t7986 br i1 %t7987, label %grow1717, label %put1718 grow1717: %t7988 = mul i32 %t7986, 2 %t7989 = icmp eq i32 %t7986, 0 %t7990 = select i1 %t7989, i32 8, i32 %t7988 %t7991 = getelementptr ptr, ptr null, i32 1 %t7992 = ptrtoint ptr %t7991 to i64 %t7993 = zext i32 %t7990 to i64 %t7994 = mul i64 %t7993, %t7992 %t7995 = load ptr, ptr %t7984 %t7996 = call ptr @realloc(ptr %t7995, i64 %t7994) store ptr %t7996, ptr %t7984 store i32 %t7990, ptr %t7983 br label %put1718 put1718: %t7997 = load ptr, ptr %t7984 %t7998 = getelementptr inbounds ptr, ptr %t7997, i32 %t7985 store ptr @.str8879, ptr %t7998 %t7999 = add i32 %t7985, 1 store i32 %t7999, ptr %t7982 br label %ifend1714 ifend1714: %t8000 = load ptr, ptr %t1 %t8001 = call i32 @lp_str_eq(ptr %t8000, ptr @.str8880) %t8002 = icmp ne i32 %t8001, 0 br i1 %t8002, label %then1719, label %ifend1721 then1719: store ptr @.str8881, ptr %t452 %t8003 = load ptr, ptr %t459 %t8004 = getelementptr inbounds %LSlice, ptr %t8003, i32 0, i32 1 %t8005 = getelementptr inbounds %LSlice, ptr %t8003, i32 0, i32 2 %t8006 = getelementptr inbounds %LSlice, ptr %t8003, i32 0, i32 0 %t8007 = load i32, ptr %t8004 %t8008 = load i32, ptr %t8005 %t8009 = icmp sge i32 %t8007, %t8008 br i1 %t8009, label %grow1722, label %put1723 grow1722: %t8010 = mul i32 %t8008, 2 %t8011 = icmp eq i32 %t8008, 0 %t8012 = select i1 %t8011, i32 8, i32 %t8010 %t8013 = getelementptr ptr, ptr null, i32 1 %t8014 = ptrtoint ptr %t8013 to i64 %t8015 = zext i32 %t8012 to i64 %t8016 = mul i64 %t8015, %t8014 %t8017 = load ptr, ptr %t8006 %t8018 = call ptr @realloc(ptr %t8017, i64 %t8016) store ptr %t8018, ptr %t8006 store i32 %t8012, ptr %t8005 br label %put1723 put1723: %t8019 = load ptr, ptr %t8006 %t8020 = getelementptr inbounds ptr, ptr %t8019, i32 %t8007 store ptr @.str8882, ptr %t8020 %t8021 = add i32 %t8007, 1 store i32 %t8021, ptr %t8004 %t8022 = load ptr, ptr %t459 %t8023 = getelementptr inbounds %LSlice, ptr %t8022, i32 0, i32 1 %t8024 = getelementptr inbounds %LSlice, ptr %t8022, i32 0, i32 2 %t8025 = getelementptr inbounds %LSlice, ptr %t8022, i32 0, i32 0 %t8026 = load i32, ptr %t8023 %t8027 = load i32, ptr %t8024 %t8028 = icmp sge i32 %t8026, %t8027 br i1 %t8028, label %grow1724, label %put1725 grow1724: %t8029 = mul i32 %t8027, 2 %t8030 = icmp eq i32 %t8027, 0 %t8031 = select i1 %t8030, i32 8, i32 %t8029 %t8032 = getelementptr ptr, ptr null, i32 1 %t8033 = ptrtoint ptr %t8032 to i64 %t8034 = zext i32 %t8031 to i64 %t8035 = mul i64 %t8034, %t8033 %t8036 = load ptr, ptr %t8025 %t8037 = call ptr @realloc(ptr %t8036, i64 %t8035) store ptr %t8037, ptr %t8025 store i32 %t8031, ptr %t8024 br label %put1725 put1725: %t8038 = load ptr, ptr %t8025 %t8039 = getelementptr inbounds ptr, ptr %t8038, i32 %t8026 store ptr @.str8883, ptr %t8039 %t8040 = add i32 %t8026, 1 store i32 %t8040, ptr %t8023 br label %ifend1721 ifend1721: %t8041 = load ptr, ptr %t1 %t8042 = call i32 @lp_str_eq(ptr %t8041, ptr @.str8884) %t8043 = icmp ne i32 %t8042, 0 br i1 %t8043, label %then1726, label %ifend1728 then1726: store ptr @.str8885, ptr %t452 %t8044 = load ptr, ptr %t459 %t8045 = getelementptr inbounds %LSlice, ptr %t8044, i32 0, i32 1 %t8046 = getelementptr inbounds %LSlice, ptr %t8044, i32 0, i32 2 %t8047 = getelementptr inbounds %LSlice, ptr %t8044, i32 0, i32 0 %t8048 = load i32, ptr %t8045 %t8049 = load i32, ptr %t8046 %t8050 = icmp sge i32 %t8048, %t8049 br i1 %t8050, label %grow1729, label %put1730 grow1729: %t8051 = mul i32 %t8049, 2 %t8052 = icmp eq i32 %t8049, 0 %t8053 = select i1 %t8052, i32 8, i32 %t8051 %t8054 = getelementptr ptr, ptr null, i32 1 %t8055 = ptrtoint ptr %t8054 to i64 %t8056 = zext i32 %t8053 to i64 %t8057 = mul i64 %t8056, %t8055 %t8058 = load ptr, ptr %t8047 %t8059 = call ptr @realloc(ptr %t8058, i64 %t8057) store ptr %t8059, ptr %t8047 store i32 %t8053, ptr %t8046 br label %put1730 put1730: %t8060 = load ptr, ptr %t8047 %t8061 = getelementptr inbounds ptr, ptr %t8060, i32 %t8048 store ptr @.str8886, ptr %t8061 %t8062 = add i32 %t8048, 1 store i32 %t8062, ptr %t8045 %t8063 = load ptr, ptr %t459 %t8064 = getelementptr inbounds %LSlice, ptr %t8063, i32 0, i32 1 %t8065 = getelementptr inbounds %LSlice, ptr %t8063, i32 0, i32 2 %t8066 = getelementptr inbounds %LSlice, ptr %t8063, i32 0, i32 0 %t8067 = load i32, ptr %t8064 %t8068 = load i32, ptr %t8065 %t8069 = icmp sge i32 %t8067, %t8068 br i1 %t8069, label %grow1731, label %put1732 grow1731: %t8070 = mul i32 %t8068, 2 %t8071 = icmp eq i32 %t8068, 0 %t8072 = select i1 %t8071, i32 8, i32 %t8070 %t8073 = getelementptr ptr, ptr null, i32 1 %t8074 = ptrtoint ptr %t8073 to i64 %t8075 = zext i32 %t8072 to i64 %t8076 = mul i64 %t8075, %t8074 %t8077 = load ptr, ptr %t8066 %t8078 = call ptr @realloc(ptr %t8077, i64 %t8076) store ptr %t8078, ptr %t8066 store i32 %t8072, ptr %t8065 br label %put1732 put1732: %t8079 = load ptr, ptr %t8066 %t8080 = getelementptr inbounds ptr, ptr %t8079, i32 %t8067 store ptr @.str8887, ptr %t8080 %t8081 = add i32 %t8067, 1 store i32 %t8081, ptr %t8064 br label %ifend1728 ifend1728: %t8082 = load ptr, ptr %t1 %t8083 = call i32 @lp_str_eq(ptr %t8082, ptr @.str8888) %t8084 = icmp ne i32 %t8083, 0 br i1 %t8084, label %then1733, label %ifend1735 then1733: store ptr @.str8889, ptr %t452 %t8085 = load ptr, ptr %t459 %t8086 = getelementptr inbounds %LSlice, ptr %t8085, i32 0, i32 1 %t8087 = getelementptr inbounds %LSlice, ptr %t8085, i32 0, i32 2 %t8088 = getelementptr inbounds %LSlice, ptr %t8085, i32 0, i32 0 %t8089 = load i32, ptr %t8086 %t8090 = load i32, ptr %t8087 %t8091 = icmp sge i32 %t8089, %t8090 br i1 %t8091, label %grow1736, label %put1737 grow1736: %t8092 = mul i32 %t8090, 2 %t8093 = icmp eq i32 %t8090, 0 %t8094 = select i1 %t8093, i32 8, i32 %t8092 %t8095 = getelementptr ptr, ptr null, i32 1 %t8096 = ptrtoint ptr %t8095 to i64 %t8097 = zext i32 %t8094 to i64 %t8098 = mul i64 %t8097, %t8096 %t8099 = load ptr, ptr %t8088 %t8100 = call ptr @realloc(ptr %t8099, i64 %t8098) store ptr %t8100, ptr %t8088 store i32 %t8094, ptr %t8087 br label %put1737 put1737: %t8101 = load ptr, ptr %t8088 %t8102 = getelementptr inbounds ptr, ptr %t8101, i32 %t8089 store ptr @.str8890, ptr %t8102 %t8103 = add i32 %t8089, 1 store i32 %t8103, ptr %t8086 br label %ifend1735 ifend1735: %t8104 = load ptr, ptr %t1 %t8105 = call i32 @lp_str_eq(ptr %t8104, ptr @.str8891) %t8106 = icmp ne i32 %t8105, 0 br i1 %t8106, label %then1738, label %ifend1740 then1738: store ptr @.str8892, ptr %t452 %t8107 = load ptr, ptr %t459 %t8108 = getelementptr inbounds %LSlice, ptr %t8107, i32 0, i32 1 %t8109 = getelementptr inbounds %LSlice, ptr %t8107, i32 0, i32 2 %t8110 = getelementptr inbounds %LSlice, ptr %t8107, i32 0, i32 0 %t8111 = load i32, ptr %t8108 %t8112 = load i32, ptr %t8109 %t8113 = icmp sge i32 %t8111, %t8112 br i1 %t8113, label %grow1741, label %put1742 grow1741: %t8114 = mul i32 %t8112, 2 %t8115 = icmp eq i32 %t8112, 0 %t8116 = select i1 %t8115, i32 8, i32 %t8114 %t8117 = getelementptr ptr, ptr null, i32 1 %t8118 = ptrtoint ptr %t8117 to i64 %t8119 = zext i32 %t8116 to i64 %t8120 = mul i64 %t8119, %t8118 %t8121 = load ptr, ptr %t8110 %t8122 = call ptr @realloc(ptr %t8121, i64 %t8120) store ptr %t8122, ptr %t8110 store i32 %t8116, ptr %t8109 br label %put1742 put1742: %t8123 = load ptr, ptr %t8110 %t8124 = getelementptr inbounds ptr, ptr %t8123, i32 %t8111 store ptr @.str8893, ptr %t8124 %t8125 = add i32 %t8111, 1 store i32 %t8125, ptr %t8108 %t8126 = load ptr, ptr %t459 %t8127 = getelementptr inbounds %LSlice, ptr %t8126, i32 0, i32 1 %t8128 = getelementptr inbounds %LSlice, ptr %t8126, i32 0, i32 2 %t8129 = getelementptr inbounds %LSlice, ptr %t8126, i32 0, i32 0 %t8130 = load i32, ptr %t8127 %t8131 = load i32, ptr %t8128 %t8132 = icmp sge i32 %t8130, %t8131 br i1 %t8132, label %grow1743, label %put1744 grow1743: %t8133 = mul i32 %t8131, 2 %t8134 = icmp eq i32 %t8131, 0 %t8135 = select i1 %t8134, i32 8, i32 %t8133 %t8136 = getelementptr ptr, ptr null, i32 1 %t8137 = ptrtoint ptr %t8136 to i64 %t8138 = zext i32 %t8135 to i64 %t8139 = mul i64 %t8138, %t8137 %t8140 = load ptr, ptr %t8129 %t8141 = call ptr @realloc(ptr %t8140, i64 %t8139) store ptr %t8141, ptr %t8129 store i32 %t8135, ptr %t8128 br label %put1744 put1744: %t8142 = load ptr, ptr %t8129 %t8143 = getelementptr inbounds ptr, ptr %t8142, i32 %t8130 store ptr @.str8894, ptr %t8143 %t8144 = add i32 %t8130, 1 store i32 %t8144, ptr %t8127 br label %ifend1740 ifend1740: %t8145 = load ptr, ptr %t1 %t8146 = call i32 @lp_str_eq(ptr %t8145, ptr @.str8895) %t8147 = icmp ne i32 %t8146, 0 br i1 %t8147, label %then1745, label %ifend1747 then1745: store ptr @.str8896, ptr %t452 %t8148 = load ptr, ptr %t459 %t8149 = getelementptr inbounds %LSlice, ptr %t8148, i32 0, i32 1 %t8150 = getelementptr inbounds %LSlice, ptr %t8148, i32 0, i32 2 %t8151 = getelementptr inbounds %LSlice, ptr %t8148, i32 0, i32 0 %t8152 = load i32, ptr %t8149 %t8153 = load i32, ptr %t8150 %t8154 = icmp sge i32 %t8152, %t8153 br i1 %t8154, label %grow1748, label %put1749 grow1748: %t8155 = mul i32 %t8153, 2 %t8156 = icmp eq i32 %t8153, 0 %t8157 = select i1 %t8156, i32 8, i32 %t8155 %t8158 = getelementptr ptr, ptr null, i32 1 %t8159 = ptrtoint ptr %t8158 to i64 %t8160 = zext i32 %t8157 to i64 %t8161 = mul i64 %t8160, %t8159 %t8162 = load ptr, ptr %t8151 %t8163 = call ptr @realloc(ptr %t8162, i64 %t8161) store ptr %t8163, ptr %t8151 store i32 %t8157, ptr %t8150 br label %put1749 put1749: %t8164 = load ptr, ptr %t8151 %t8165 = getelementptr inbounds ptr, ptr %t8164, i32 %t8152 store ptr @.str8897, ptr %t8165 %t8166 = add i32 %t8152, 1 store i32 %t8166, ptr %t8149 %t8167 = load ptr, ptr %t459 %t8168 = getelementptr inbounds %LSlice, ptr %t8167, i32 0, i32 1 %t8169 = getelementptr inbounds %LSlice, ptr %t8167, i32 0, i32 2 %t8170 = getelementptr inbounds %LSlice, ptr %t8167, i32 0, i32 0 %t8171 = load i32, ptr %t8168 %t8172 = load i32, ptr %t8169 %t8173 = icmp sge i32 %t8171, %t8172 br i1 %t8173, label %grow1750, label %put1751 grow1750: %t8174 = mul i32 %t8172, 2 %t8175 = icmp eq i32 %t8172, 0 %t8176 = select i1 %t8175, i32 8, i32 %t8174 %t8177 = getelementptr ptr, ptr null, i32 1 %t8178 = ptrtoint ptr %t8177 to i64 %t8179 = zext i32 %t8176 to i64 %t8180 = mul i64 %t8179, %t8178 %t8181 = load ptr, ptr %t8170 %t8182 = call ptr @realloc(ptr %t8181, i64 %t8180) store ptr %t8182, ptr %t8170 store i32 %t8176, ptr %t8169 br label %put1751 put1751: %t8183 = load ptr, ptr %t8170 %t8184 = getelementptr inbounds ptr, ptr %t8183, i32 %t8171 store ptr @.str8898, ptr %t8184 %t8185 = add i32 %t8171, 1 store i32 %t8185, ptr %t8168 br label %ifend1747 ifend1747: %t8186 = load ptr, ptr %t1 %t8187 = call i32 @lp_str_eq(ptr %t8186, ptr @.str8899) %t8188 = icmp ne i32 %t8187, 0 br i1 %t8188, label %then1752, label %ifend1754 then1752: store ptr @.str8900, ptr %t452 %t8189 = load ptr, ptr %t459 %t8190 = getelementptr inbounds %LSlice, ptr %t8189, i32 0, i32 1 %t8191 = getelementptr inbounds %LSlice, ptr %t8189, i32 0, i32 2 %t8192 = getelementptr inbounds %LSlice, ptr %t8189, i32 0, i32 0 %t8193 = load i32, ptr %t8190 %t8194 = load i32, ptr %t8191 %t8195 = icmp sge i32 %t8193, %t8194 br i1 %t8195, label %grow1755, label %put1756 grow1755: %t8196 = mul i32 %t8194, 2 %t8197 = icmp eq i32 %t8194, 0 %t8198 = select i1 %t8197, i32 8, i32 %t8196 %t8199 = getelementptr ptr, ptr null, i32 1 %t8200 = ptrtoint ptr %t8199 to i64 %t8201 = zext i32 %t8198 to i64 %t8202 = mul i64 %t8201, %t8200 %t8203 = load ptr, ptr %t8192 %t8204 = call ptr @realloc(ptr %t8203, i64 %t8202) store ptr %t8204, ptr %t8192 store i32 %t8198, ptr %t8191 br label %put1756 put1756: %t8205 = load ptr, ptr %t8192 %t8206 = getelementptr inbounds ptr, ptr %t8205, i32 %t8193 store ptr @.str8901, ptr %t8206 %t8207 = add i32 %t8193, 1 store i32 %t8207, ptr %t8190 %t8208 = load ptr, ptr %t459 %t8209 = getelementptr inbounds %LSlice, ptr %t8208, i32 0, i32 1 %t8210 = getelementptr inbounds %LSlice, ptr %t8208, i32 0, i32 2 %t8211 = getelementptr inbounds %LSlice, ptr %t8208, i32 0, i32 0 %t8212 = load i32, ptr %t8209 %t8213 = load i32, ptr %t8210 %t8214 = icmp sge i32 %t8212, %t8213 br i1 %t8214, label %grow1757, label %put1758 grow1757: %t8215 = mul i32 %t8213, 2 %t8216 = icmp eq i32 %t8213, 0 %t8217 = select i1 %t8216, i32 8, i32 %t8215 %t8218 = getelementptr ptr, ptr null, i32 1 %t8219 = ptrtoint ptr %t8218 to i64 %t8220 = zext i32 %t8217 to i64 %t8221 = mul i64 %t8220, %t8219 %t8222 = load ptr, ptr %t8211 %t8223 = call ptr @realloc(ptr %t8222, i64 %t8221) store ptr %t8223, ptr %t8211 store i32 %t8217, ptr %t8210 br label %put1758 put1758: %t8224 = load ptr, ptr %t8211 %t8225 = getelementptr inbounds ptr, ptr %t8224, i32 %t8212 store ptr @.str8902, ptr %t8225 %t8226 = add i32 %t8212, 1 store i32 %t8226, ptr %t8209 br label %ifend1754 ifend1754: %t8227 = load ptr, ptr %t1 %t8228 = call i32 @lp_str_eq(ptr %t8227, ptr @.str8903) %t8229 = icmp ne i32 %t8228, 0 br i1 %t8229, label %then1759, label %ifend1761 then1759: store ptr @.str8904, ptr %t452 %t8230 = load ptr, ptr %t459 %t8231 = getelementptr inbounds %LSlice, ptr %t8230, i32 0, i32 1 %t8232 = getelementptr inbounds %LSlice, ptr %t8230, i32 0, i32 2 %t8233 = getelementptr inbounds %LSlice, ptr %t8230, i32 0, i32 0 %t8234 = load i32, ptr %t8231 %t8235 = load i32, ptr %t8232 %t8236 = icmp sge i32 %t8234, %t8235 br i1 %t8236, label %grow1762, label %put1763 grow1762: %t8237 = mul i32 %t8235, 2 %t8238 = icmp eq i32 %t8235, 0 %t8239 = select i1 %t8238, i32 8, i32 %t8237 %t8240 = getelementptr ptr, ptr null, i32 1 %t8241 = ptrtoint ptr %t8240 to i64 %t8242 = zext i32 %t8239 to i64 %t8243 = mul i64 %t8242, %t8241 %t8244 = load ptr, ptr %t8233 %t8245 = call ptr @realloc(ptr %t8244, i64 %t8243) store ptr %t8245, ptr %t8233 store i32 %t8239, ptr %t8232 br label %put1763 put1763: %t8246 = load ptr, ptr %t8233 %t8247 = getelementptr inbounds ptr, ptr %t8246, i32 %t8234 store ptr @.str8905, ptr %t8247 %t8248 = add i32 %t8234, 1 store i32 %t8248, ptr %t8231 %t8249 = load ptr, ptr %t459 %t8250 = getelementptr inbounds %LSlice, ptr %t8249, i32 0, i32 1 %t8251 = getelementptr inbounds %LSlice, ptr %t8249, i32 0, i32 2 %t8252 = getelementptr inbounds %LSlice, ptr %t8249, i32 0, i32 0 %t8253 = load i32, ptr %t8250 %t8254 = load i32, ptr %t8251 %t8255 = icmp sge i32 %t8253, %t8254 br i1 %t8255, label %grow1764, label %put1765 grow1764: %t8256 = mul i32 %t8254, 2 %t8257 = icmp eq i32 %t8254, 0 %t8258 = select i1 %t8257, i32 8, i32 %t8256 %t8259 = getelementptr ptr, ptr null, i32 1 %t8260 = ptrtoint ptr %t8259 to i64 %t8261 = zext i32 %t8258 to i64 %t8262 = mul i64 %t8261, %t8260 %t8263 = load ptr, ptr %t8252 %t8264 = call ptr @realloc(ptr %t8263, i64 %t8262) store ptr %t8264, ptr %t8252 store i32 %t8258, ptr %t8251 br label %put1765 put1765: %t8265 = load ptr, ptr %t8252 %t8266 = getelementptr inbounds ptr, ptr %t8265, i32 %t8253 store ptr @.str8906, ptr %t8266 %t8267 = add i32 %t8253, 1 store i32 %t8267, ptr %t8250 br label %ifend1761 ifend1761: %t8268 = load ptr, ptr %t1 %t8269 = call i32 @lp_str_eq(ptr %t8268, ptr @.str8907) %t8270 = icmp ne i32 %t8269, 0 br i1 %t8270, label %then1766, label %ifend1768 then1766: store ptr @.str8908, ptr %t452 %t8271 = load ptr, ptr %t459 %t8272 = getelementptr inbounds %LSlice, ptr %t8271, i32 0, i32 1 %t8273 = getelementptr inbounds %LSlice, ptr %t8271, i32 0, i32 2 %t8274 = getelementptr inbounds %LSlice, ptr %t8271, i32 0, i32 0 %t8275 = load i32, ptr %t8272 %t8276 = load i32, ptr %t8273 %t8277 = icmp sge i32 %t8275, %t8276 br i1 %t8277, label %grow1769, label %put1770 grow1769: %t8278 = mul i32 %t8276, 2 %t8279 = icmp eq i32 %t8276, 0 %t8280 = select i1 %t8279, i32 8, i32 %t8278 %t8281 = getelementptr ptr, ptr null, i32 1 %t8282 = ptrtoint ptr %t8281 to i64 %t8283 = zext i32 %t8280 to i64 %t8284 = mul i64 %t8283, %t8282 %t8285 = load ptr, ptr %t8274 %t8286 = call ptr @realloc(ptr %t8285, i64 %t8284) store ptr %t8286, ptr %t8274 store i32 %t8280, ptr %t8273 br label %put1770 put1770: %t8287 = load ptr, ptr %t8274 %t8288 = getelementptr inbounds ptr, ptr %t8287, i32 %t8275 store ptr @.str8909, ptr %t8288 %t8289 = add i32 %t8275, 1 store i32 %t8289, ptr %t8272 %t8290 = load ptr, ptr %t459 %t8291 = getelementptr inbounds %LSlice, ptr %t8290, i32 0, i32 1 %t8292 = getelementptr inbounds %LSlice, ptr %t8290, i32 0, i32 2 %t8293 = getelementptr inbounds %LSlice, ptr %t8290, i32 0, i32 0 %t8294 = load i32, ptr %t8291 %t8295 = load i32, ptr %t8292 %t8296 = icmp sge i32 %t8294, %t8295 br i1 %t8296, label %grow1771, label %put1772 grow1771: %t8297 = mul i32 %t8295, 2 %t8298 = icmp eq i32 %t8295, 0 %t8299 = select i1 %t8298, i32 8, i32 %t8297 %t8300 = getelementptr ptr, ptr null, i32 1 %t8301 = ptrtoint ptr %t8300 to i64 %t8302 = zext i32 %t8299 to i64 %t8303 = mul i64 %t8302, %t8301 %t8304 = load ptr, ptr %t8293 %t8305 = call ptr @realloc(ptr %t8304, i64 %t8303) store ptr %t8305, ptr %t8293 store i32 %t8299, ptr %t8292 br label %put1772 put1772: %t8306 = load ptr, ptr %t8293 %t8307 = getelementptr inbounds ptr, ptr %t8306, i32 %t8294 store ptr @.str8910, ptr %t8307 %t8308 = add i32 %t8294, 1 store i32 %t8308, ptr %t8291 br label %ifend1768 ifend1768: %t8309 = load ptr, ptr %t1 %t8310 = call i32 @lp_str_eq(ptr %t8309, ptr @.str8911) %t8311 = icmp ne i32 %t8310, 0 br i1 %t8311, label %then1773, label %ifend1775 then1773: store ptr @.str8912, ptr %t452 %t8312 = load ptr, ptr %t459 %t8313 = getelementptr inbounds %LSlice, ptr %t8312, i32 0, i32 1 %t8314 = getelementptr inbounds %LSlice, ptr %t8312, i32 0, i32 2 %t8315 = getelementptr inbounds %LSlice, ptr %t8312, i32 0, i32 0 %t8316 = load i32, ptr %t8313 %t8317 = load i32, ptr %t8314 %t8318 = icmp sge i32 %t8316, %t8317 br i1 %t8318, label %grow1776, label %put1777 grow1776: %t8319 = mul i32 %t8317, 2 %t8320 = icmp eq i32 %t8317, 0 %t8321 = select i1 %t8320, i32 8, i32 %t8319 %t8322 = getelementptr ptr, ptr null, i32 1 %t8323 = ptrtoint ptr %t8322 to i64 %t8324 = zext i32 %t8321 to i64 %t8325 = mul i64 %t8324, %t8323 %t8326 = load ptr, ptr %t8315 %t8327 = call ptr @realloc(ptr %t8326, i64 %t8325) store ptr %t8327, ptr %t8315 store i32 %t8321, ptr %t8314 br label %put1777 put1777: %t8328 = load ptr, ptr %t8315 %t8329 = getelementptr inbounds ptr, ptr %t8328, i32 %t8316 store ptr @.str8913, ptr %t8329 %t8330 = add i32 %t8316, 1 store i32 %t8330, ptr %t8313 br label %ifend1775 ifend1775: %t8331 = load ptr, ptr %t1 %t8332 = call i32 @lp_str_eq(ptr %t8331, ptr @.str8914) %t8333 = icmp ne i32 %t8332, 0 br i1 %t8333, label %then1778, label %ifend1780 then1778: store ptr @.str8915, ptr %t452 %t8334 = load ptr, ptr %t459 %t8335 = getelementptr inbounds %LSlice, ptr %t8334, i32 0, i32 1 %t8336 = getelementptr inbounds %LSlice, ptr %t8334, i32 0, i32 2 %t8337 = getelementptr inbounds %LSlice, ptr %t8334, i32 0, i32 0 %t8338 = load i32, ptr %t8335 %t8339 = load i32, ptr %t8336 %t8340 = icmp sge i32 %t8338, %t8339 br i1 %t8340, label %grow1781, label %put1782 grow1781: %t8341 = mul i32 %t8339, 2 %t8342 = icmp eq i32 %t8339, 0 %t8343 = select i1 %t8342, i32 8, i32 %t8341 %t8344 = getelementptr ptr, ptr null, i32 1 %t8345 = ptrtoint ptr %t8344 to i64 %t8346 = zext i32 %t8343 to i64 %t8347 = mul i64 %t8346, %t8345 %t8348 = load ptr, ptr %t8337 %t8349 = call ptr @realloc(ptr %t8348, i64 %t8347) store ptr %t8349, ptr %t8337 store i32 %t8343, ptr %t8336 br label %put1782 put1782: %t8350 = load ptr, ptr %t8337 %t8351 = getelementptr inbounds ptr, ptr %t8350, i32 %t8338 store ptr @.str8916, ptr %t8351 %t8352 = add i32 %t8338, 1 store i32 %t8352, ptr %t8335 br label %ifend1780 ifend1780: %t8353 = load ptr, ptr %t1 %t8354 = call i32 @lp_str_eq(ptr %t8353, ptr @.str8917) %t8355 = icmp ne i32 %t8354, 0 br i1 %t8355, label %then1783, label %ifend1785 then1783: store ptr @.str8918, ptr %t452 %t8356 = load ptr, ptr %t459 %t8357 = getelementptr inbounds %LSlice, ptr %t8356, i32 0, i32 1 %t8358 = getelementptr inbounds %LSlice, ptr %t8356, i32 0, i32 2 %t8359 = getelementptr inbounds %LSlice, ptr %t8356, i32 0, i32 0 %t8360 = load i32, ptr %t8357 %t8361 = load i32, ptr %t8358 %t8362 = icmp sge i32 %t8360, %t8361 br i1 %t8362, label %grow1786, label %put1787 grow1786: %t8363 = mul i32 %t8361, 2 %t8364 = icmp eq i32 %t8361, 0 %t8365 = select i1 %t8364, i32 8, i32 %t8363 %t8366 = getelementptr ptr, ptr null, i32 1 %t8367 = ptrtoint ptr %t8366 to i64 %t8368 = zext i32 %t8365 to i64 %t8369 = mul i64 %t8368, %t8367 %t8370 = load ptr, ptr %t8359 %t8371 = call ptr @realloc(ptr %t8370, i64 %t8369) store ptr %t8371, ptr %t8359 store i32 %t8365, ptr %t8358 br label %put1787 put1787: %t8372 = load ptr, ptr %t8359 %t8373 = getelementptr inbounds ptr, ptr %t8372, i32 %t8360 store ptr @.str8919, ptr %t8373 %t8374 = add i32 %t8360, 1 store i32 %t8374, ptr %t8357 br label %ifend1785 ifend1785: br label %ifend1701 ifend1701: %t8375 = load ptr, ptr %t0 %t8376 = call i32 @lp_str_eq(ptr %t8375, ptr @.str8920) %t8377 = icmp ne i32 %t8376, 0 br i1 %t8377, label %then1788, label %ifend1790 then1788: %t8378 = load ptr, ptr %t1 %t8379 = call i32 @lp_str_eq(ptr %t8378, ptr @.str8921) %t8380 = icmp ne i32 %t8379, 0 br i1 %t8380, label %then1791, label %ifend1793 then1791: store ptr @.str8922, ptr %t452 %t8381 = load ptr, ptr %t459 %t8382 = getelementptr inbounds %LSlice, ptr %t8381, i32 0, i32 1 %t8383 = getelementptr inbounds %LSlice, ptr %t8381, i32 0, i32 2 %t8384 = getelementptr inbounds %LSlice, ptr %t8381, i32 0, i32 0 %t8385 = load i32, ptr %t8382 %t8386 = load i32, ptr %t8383 %t8387 = icmp sge i32 %t8385, %t8386 br i1 %t8387, label %grow1794, label %put1795 grow1794: %t8388 = mul i32 %t8386, 2 %t8389 = icmp eq i32 %t8386, 0 %t8390 = select i1 %t8389, i32 8, i32 %t8388 %t8391 = getelementptr ptr, ptr null, i32 1 %t8392 = ptrtoint ptr %t8391 to i64 %t8393 = zext i32 %t8390 to i64 %t8394 = mul i64 %t8393, %t8392 %t8395 = load ptr, ptr %t8384 %t8396 = call ptr @realloc(ptr %t8395, i64 %t8394) store ptr %t8396, ptr %t8384 store i32 %t8390, ptr %t8383 br label %put1795 put1795: %t8397 = load ptr, ptr %t8384 %t8398 = getelementptr inbounds ptr, ptr %t8397, i32 %t8385 store ptr @.str8923, ptr %t8398 %t8399 = add i32 %t8385, 1 store i32 %t8399, ptr %t8382 br label %ifend1793 ifend1793: %t8400 = load ptr, ptr %t1 %t8401 = call i32 @lp_str_eq(ptr %t8400, ptr @.str8924) %t8402 = icmp ne i32 %t8401, 0 br i1 %t8402, label %then1796, label %ifend1798 then1796: store ptr @.str8925, ptr %t452 %t8403 = load ptr, ptr %t459 %t8404 = getelementptr inbounds %LSlice, ptr %t8403, i32 0, i32 1 %t8405 = getelementptr inbounds %LSlice, ptr %t8403, i32 0, i32 2 %t8406 = getelementptr inbounds %LSlice, ptr %t8403, i32 0, i32 0 %t8407 = load i32, ptr %t8404 %t8408 = load i32, ptr %t8405 %t8409 = icmp sge i32 %t8407, %t8408 br i1 %t8409, label %grow1799, label %put1800 grow1799: %t8410 = mul i32 %t8408, 2 %t8411 = icmp eq i32 %t8408, 0 %t8412 = select i1 %t8411, i32 8, i32 %t8410 %t8413 = getelementptr ptr, ptr null, i32 1 %t8414 = ptrtoint ptr %t8413 to i64 %t8415 = zext i32 %t8412 to i64 %t8416 = mul i64 %t8415, %t8414 %t8417 = load ptr, ptr %t8406 %t8418 = call ptr @realloc(ptr %t8417, i64 %t8416) store ptr %t8418, ptr %t8406 store i32 %t8412, ptr %t8405 br label %put1800 put1800: %t8419 = load ptr, ptr %t8406 %t8420 = getelementptr inbounds ptr, ptr %t8419, i32 %t8407 store ptr @.str8926, ptr %t8420 %t8421 = add i32 %t8407, 1 store i32 %t8421, ptr %t8404 br label %ifend1798 ifend1798: %t8422 = load ptr, ptr %t1 %t8423 = call i32 @lp_str_eq(ptr %t8422, ptr @.str8927) %t8424 = icmp ne i32 %t8423, 0 br i1 %t8424, label %then1801, label %ifend1803 then1801: store ptr @.str8928, ptr %t452 %t8425 = load ptr, ptr %t459 %t8426 = getelementptr inbounds %LSlice, ptr %t8425, i32 0, i32 1 %t8427 = getelementptr inbounds %LSlice, ptr %t8425, i32 0, i32 2 %t8428 = getelementptr inbounds %LSlice, ptr %t8425, i32 0, i32 0 %t8429 = load i32, ptr %t8426 %t8430 = load i32, ptr %t8427 %t8431 = icmp sge i32 %t8429, %t8430 br i1 %t8431, label %grow1804, label %put1805 grow1804: %t8432 = mul i32 %t8430, 2 %t8433 = icmp eq i32 %t8430, 0 %t8434 = select i1 %t8433, i32 8, i32 %t8432 %t8435 = getelementptr ptr, ptr null, i32 1 %t8436 = ptrtoint ptr %t8435 to i64 %t8437 = zext i32 %t8434 to i64 %t8438 = mul i64 %t8437, %t8436 %t8439 = load ptr, ptr %t8428 %t8440 = call ptr @realloc(ptr %t8439, i64 %t8438) store ptr %t8440, ptr %t8428 store i32 %t8434, ptr %t8427 br label %put1805 put1805: %t8441 = load ptr, ptr %t8428 %t8442 = getelementptr inbounds ptr, ptr %t8441, i32 %t8429 store ptr @.str8929, ptr %t8442 %t8443 = add i32 %t8429, 1 store i32 %t8443, ptr %t8426 %t8444 = load ptr, ptr %t459 %t8445 = getelementptr inbounds %LSlice, ptr %t8444, i32 0, i32 1 %t8446 = getelementptr inbounds %LSlice, ptr %t8444, i32 0, i32 2 %t8447 = getelementptr inbounds %LSlice, ptr %t8444, i32 0, i32 0 %t8448 = load i32, ptr %t8445 %t8449 = load i32, ptr %t8446 %t8450 = icmp sge i32 %t8448, %t8449 br i1 %t8450, label %grow1806, label %put1807 grow1806: %t8451 = mul i32 %t8449, 2 %t8452 = icmp eq i32 %t8449, 0 %t8453 = select i1 %t8452, i32 8, i32 %t8451 %t8454 = getelementptr ptr, ptr null, i32 1 %t8455 = ptrtoint ptr %t8454 to i64 %t8456 = zext i32 %t8453 to i64 %t8457 = mul i64 %t8456, %t8455 %t8458 = load ptr, ptr %t8447 %t8459 = call ptr @realloc(ptr %t8458, i64 %t8457) store ptr %t8459, ptr %t8447 store i32 %t8453, ptr %t8446 br label %put1807 put1807: %t8460 = load ptr, ptr %t8447 %t8461 = getelementptr inbounds ptr, ptr %t8460, i32 %t8448 store ptr @.str8930, ptr %t8461 %t8462 = add i32 %t8448, 1 store i32 %t8462, ptr %t8445 br label %ifend1803 ifend1803: %t8463 = load ptr, ptr %t1 %t8464 = call i32 @lp_str_eq(ptr %t8463, ptr @.str8931) %t8465 = icmp ne i32 %t8464, 0 br i1 %t8465, label %then1808, label %ifend1810 then1808: store ptr @.str8932, ptr %t452 %t8466 = load ptr, ptr %t459 %t8467 = getelementptr inbounds %LSlice, ptr %t8466, i32 0, i32 1 %t8468 = getelementptr inbounds %LSlice, ptr %t8466, i32 0, i32 2 %t8469 = getelementptr inbounds %LSlice, ptr %t8466, i32 0, i32 0 %t8470 = load i32, ptr %t8467 %t8471 = load i32, ptr %t8468 %t8472 = icmp sge i32 %t8470, %t8471 br i1 %t8472, label %grow1811, label %put1812 grow1811: %t8473 = mul i32 %t8471, 2 %t8474 = icmp eq i32 %t8471, 0 %t8475 = select i1 %t8474, i32 8, i32 %t8473 %t8476 = getelementptr ptr, ptr null, i32 1 %t8477 = ptrtoint ptr %t8476 to i64 %t8478 = zext i32 %t8475 to i64 %t8479 = mul i64 %t8478, %t8477 %t8480 = load ptr, ptr %t8469 %t8481 = call ptr @realloc(ptr %t8480, i64 %t8479) store ptr %t8481, ptr %t8469 store i32 %t8475, ptr %t8468 br label %put1812 put1812: %t8482 = load ptr, ptr %t8469 %t8483 = getelementptr inbounds ptr, ptr %t8482, i32 %t8470 store ptr @.str8933, ptr %t8483 %t8484 = add i32 %t8470, 1 store i32 %t8484, ptr %t8467 %t8485 = load ptr, ptr %t459 %t8486 = getelementptr inbounds %LSlice, ptr %t8485, i32 0, i32 1 %t8487 = getelementptr inbounds %LSlice, ptr %t8485, i32 0, i32 2 %t8488 = getelementptr inbounds %LSlice, ptr %t8485, i32 0, i32 0 %t8489 = load i32, ptr %t8486 %t8490 = load i32, ptr %t8487 %t8491 = icmp sge i32 %t8489, %t8490 br i1 %t8491, label %grow1813, label %put1814 grow1813: %t8492 = mul i32 %t8490, 2 %t8493 = icmp eq i32 %t8490, 0 %t8494 = select i1 %t8493, i32 8, i32 %t8492 %t8495 = getelementptr ptr, ptr null, i32 1 %t8496 = ptrtoint ptr %t8495 to i64 %t8497 = zext i32 %t8494 to i64 %t8498 = mul i64 %t8497, %t8496 %t8499 = load ptr, ptr %t8488 %t8500 = call ptr @realloc(ptr %t8499, i64 %t8498) store ptr %t8500, ptr %t8488 store i32 %t8494, ptr %t8487 br label %put1814 put1814: %t8501 = load ptr, ptr %t8488 %t8502 = getelementptr inbounds ptr, ptr %t8501, i32 %t8489 store ptr @.str8934, ptr %t8502 %t8503 = add i32 %t8489, 1 store i32 %t8503, ptr %t8486 br label %ifend1810 ifend1810: %t8504 = load ptr, ptr %t1 %t8505 = call i32 @lp_str_eq(ptr %t8504, ptr @.str8935) %t8506 = icmp ne i32 %t8505, 0 br i1 %t8506, label %then1815, label %ifend1817 then1815: store ptr @.str8936, ptr %t452 %t8507 = load ptr, ptr %t459 %t8508 = getelementptr inbounds %LSlice, ptr %t8507, i32 0, i32 1 %t8509 = getelementptr inbounds %LSlice, ptr %t8507, i32 0, i32 2 %t8510 = getelementptr inbounds %LSlice, ptr %t8507, i32 0, i32 0 %t8511 = load i32, ptr %t8508 %t8512 = load i32, ptr %t8509 %t8513 = icmp sge i32 %t8511, %t8512 br i1 %t8513, label %grow1818, label %put1819 grow1818: %t8514 = mul i32 %t8512, 2 %t8515 = icmp eq i32 %t8512, 0 %t8516 = select i1 %t8515, i32 8, i32 %t8514 %t8517 = getelementptr ptr, ptr null, i32 1 %t8518 = ptrtoint ptr %t8517 to i64 %t8519 = zext i32 %t8516 to i64 %t8520 = mul i64 %t8519, %t8518 %t8521 = load ptr, ptr %t8510 %t8522 = call ptr @realloc(ptr %t8521, i64 %t8520) store ptr %t8522, ptr %t8510 store i32 %t8516, ptr %t8509 br label %put1819 put1819: %t8523 = load ptr, ptr %t8510 %t8524 = getelementptr inbounds ptr, ptr %t8523, i32 %t8511 store ptr @.str8937, ptr %t8524 %t8525 = add i32 %t8511, 1 store i32 %t8525, ptr %t8508 %t8526 = load ptr, ptr %t459 %t8527 = getelementptr inbounds %LSlice, ptr %t8526, i32 0, i32 1 %t8528 = getelementptr inbounds %LSlice, ptr %t8526, i32 0, i32 2 %t8529 = getelementptr inbounds %LSlice, ptr %t8526, i32 0, i32 0 %t8530 = load i32, ptr %t8527 %t8531 = load i32, ptr %t8528 %t8532 = icmp sge i32 %t8530, %t8531 br i1 %t8532, label %grow1820, label %put1821 grow1820: %t8533 = mul i32 %t8531, 2 %t8534 = icmp eq i32 %t8531, 0 %t8535 = select i1 %t8534, i32 8, i32 %t8533 %t8536 = getelementptr ptr, ptr null, i32 1 %t8537 = ptrtoint ptr %t8536 to i64 %t8538 = zext i32 %t8535 to i64 %t8539 = mul i64 %t8538, %t8537 %t8540 = load ptr, ptr %t8529 %t8541 = call ptr @realloc(ptr %t8540, i64 %t8539) store ptr %t8541, ptr %t8529 store i32 %t8535, ptr %t8528 br label %put1821 put1821: %t8542 = load ptr, ptr %t8529 %t8543 = getelementptr inbounds ptr, ptr %t8542, i32 %t8530 store ptr @.str8938, ptr %t8543 %t8544 = add i32 %t8530, 1 store i32 %t8544, ptr %t8527 br label %ifend1817 ifend1817: %t8545 = load ptr, ptr %t1 %t8546 = call i32 @lp_str_eq(ptr %t8545, ptr @.str8939) %t8547 = icmp ne i32 %t8546, 0 br i1 %t8547, label %then1822, label %ifend1824 then1822: store ptr @.str8940, ptr %t452 %t8548 = load ptr, ptr %t459 %t8549 = getelementptr inbounds %LSlice, ptr %t8548, i32 0, i32 1 %t8550 = getelementptr inbounds %LSlice, ptr %t8548, i32 0, i32 2 %t8551 = getelementptr inbounds %LSlice, ptr %t8548, i32 0, i32 0 %t8552 = load i32, ptr %t8549 %t8553 = load i32, ptr %t8550 %t8554 = icmp sge i32 %t8552, %t8553 br i1 %t8554, label %grow1825, label %put1826 grow1825: %t8555 = mul i32 %t8553, 2 %t8556 = icmp eq i32 %t8553, 0 %t8557 = select i1 %t8556, i32 8, i32 %t8555 %t8558 = getelementptr ptr, ptr null, i32 1 %t8559 = ptrtoint ptr %t8558 to i64 %t8560 = zext i32 %t8557 to i64 %t8561 = mul i64 %t8560, %t8559 %t8562 = load ptr, ptr %t8551 %t8563 = call ptr @realloc(ptr %t8562, i64 %t8561) store ptr %t8563, ptr %t8551 store i32 %t8557, ptr %t8550 br label %put1826 put1826: %t8564 = load ptr, ptr %t8551 %t8565 = getelementptr inbounds ptr, ptr %t8564, i32 %t8552 store ptr @.str8941, ptr %t8565 %t8566 = add i32 %t8552, 1 store i32 %t8566, ptr %t8549 br label %ifend1824 ifend1824: %t8567 = load ptr, ptr %t1 %t8568 = call i32 @lp_str_eq(ptr %t8567, ptr @.str8942) %t8569 = icmp ne i32 %t8568, 0 br i1 %t8569, label %then1827, label %ifend1829 then1827: store ptr @.str8943, ptr %t452 %t8570 = load ptr, ptr %t459 %t8571 = getelementptr inbounds %LSlice, ptr %t8570, i32 0, i32 1 %t8572 = getelementptr inbounds %LSlice, ptr %t8570, i32 0, i32 2 %t8573 = getelementptr inbounds %LSlice, ptr %t8570, i32 0, i32 0 %t8574 = load i32, ptr %t8571 %t8575 = load i32, ptr %t8572 %t8576 = icmp sge i32 %t8574, %t8575 br i1 %t8576, label %grow1830, label %put1831 grow1830: %t8577 = mul i32 %t8575, 2 %t8578 = icmp eq i32 %t8575, 0 %t8579 = select i1 %t8578, i32 8, i32 %t8577 %t8580 = getelementptr ptr, ptr null, i32 1 %t8581 = ptrtoint ptr %t8580 to i64 %t8582 = zext i32 %t8579 to i64 %t8583 = mul i64 %t8582, %t8581 %t8584 = load ptr, ptr %t8573 %t8585 = call ptr @realloc(ptr %t8584, i64 %t8583) store ptr %t8585, ptr %t8573 store i32 %t8579, ptr %t8572 br label %put1831 put1831: %t8586 = load ptr, ptr %t8573 %t8587 = getelementptr inbounds ptr, ptr %t8586, i32 %t8574 store ptr @.str8944, ptr %t8587 %t8588 = add i32 %t8574, 1 store i32 %t8588, ptr %t8571 %t8589 = load ptr, ptr %t459 %t8590 = getelementptr inbounds %LSlice, ptr %t8589, i32 0, i32 1 %t8591 = getelementptr inbounds %LSlice, ptr %t8589, i32 0, i32 2 %t8592 = getelementptr inbounds %LSlice, ptr %t8589, i32 0, i32 0 %t8593 = load i32, ptr %t8590 %t8594 = load i32, ptr %t8591 %t8595 = icmp sge i32 %t8593, %t8594 br i1 %t8595, label %grow1832, label %put1833 grow1832: %t8596 = mul i32 %t8594, 2 %t8597 = icmp eq i32 %t8594, 0 %t8598 = select i1 %t8597, i32 8, i32 %t8596 %t8599 = getelementptr ptr, ptr null, i32 1 %t8600 = ptrtoint ptr %t8599 to i64 %t8601 = zext i32 %t8598 to i64 %t8602 = mul i64 %t8601, %t8600 %t8603 = load ptr, ptr %t8592 %t8604 = call ptr @realloc(ptr %t8603, i64 %t8602) store ptr %t8604, ptr %t8592 store i32 %t8598, ptr %t8591 br label %put1833 put1833: %t8605 = load ptr, ptr %t8592 %t8606 = getelementptr inbounds ptr, ptr %t8605, i32 %t8593 store ptr @.str8945, ptr %t8606 %t8607 = add i32 %t8593, 1 store i32 %t8607, ptr %t8590 br label %ifend1829 ifend1829: %t8608 = load ptr, ptr %t1 %t8609 = call i32 @lp_str_eq(ptr %t8608, ptr @.str8946) %t8610 = icmp ne i32 %t8609, 0 br i1 %t8610, label %then1834, label %ifend1836 then1834: store ptr @.str8947, ptr %t452 %t8611 = load ptr, ptr %t459 %t8612 = getelementptr inbounds %LSlice, ptr %t8611, i32 0, i32 1 %t8613 = getelementptr inbounds %LSlice, ptr %t8611, i32 0, i32 2 %t8614 = getelementptr inbounds %LSlice, ptr %t8611, i32 0, i32 0 %t8615 = load i32, ptr %t8612 %t8616 = load i32, ptr %t8613 %t8617 = icmp sge i32 %t8615, %t8616 br i1 %t8617, label %grow1837, label %put1838 grow1837: %t8618 = mul i32 %t8616, 2 %t8619 = icmp eq i32 %t8616, 0 %t8620 = select i1 %t8619, i32 8, i32 %t8618 %t8621 = getelementptr ptr, ptr null, i32 1 %t8622 = ptrtoint ptr %t8621 to i64 %t8623 = zext i32 %t8620 to i64 %t8624 = mul i64 %t8623, %t8622 %t8625 = load ptr, ptr %t8614 %t8626 = call ptr @realloc(ptr %t8625, i64 %t8624) store ptr %t8626, ptr %t8614 store i32 %t8620, ptr %t8613 br label %put1838 put1838: %t8627 = load ptr, ptr %t8614 %t8628 = getelementptr inbounds ptr, ptr %t8627, i32 %t8615 store ptr @.str8948, ptr %t8628 %t8629 = add i32 %t8615, 1 store i32 %t8629, ptr %t8612 %t8630 = load ptr, ptr %t459 %t8631 = getelementptr inbounds %LSlice, ptr %t8630, i32 0, i32 1 %t8632 = getelementptr inbounds %LSlice, ptr %t8630, i32 0, i32 2 %t8633 = getelementptr inbounds %LSlice, ptr %t8630, i32 0, i32 0 %t8634 = load i32, ptr %t8631 %t8635 = load i32, ptr %t8632 %t8636 = icmp sge i32 %t8634, %t8635 br i1 %t8636, label %grow1839, label %put1840 grow1839: %t8637 = mul i32 %t8635, 2 %t8638 = icmp eq i32 %t8635, 0 %t8639 = select i1 %t8638, i32 8, i32 %t8637 %t8640 = getelementptr ptr, ptr null, i32 1 %t8641 = ptrtoint ptr %t8640 to i64 %t8642 = zext i32 %t8639 to i64 %t8643 = mul i64 %t8642, %t8641 %t8644 = load ptr, ptr %t8633 %t8645 = call ptr @realloc(ptr %t8644, i64 %t8643) store ptr %t8645, ptr %t8633 store i32 %t8639, ptr %t8632 br label %put1840 put1840: %t8646 = load ptr, ptr %t8633 %t8647 = getelementptr inbounds ptr, ptr %t8646, i32 %t8634 store ptr @.str8949, ptr %t8647 %t8648 = add i32 %t8634, 1 store i32 %t8648, ptr %t8631 br label %ifend1836 ifend1836: %t8649 = load ptr, ptr %t1 %t8650 = call i32 @lp_str_eq(ptr %t8649, ptr @.str8950) %t8651 = icmp ne i32 %t8650, 0 br i1 %t8651, label %then1841, label %ifend1843 then1841: store ptr @.str8951, ptr %t452 %t8652 = load ptr, ptr %t459 %t8653 = getelementptr inbounds %LSlice, ptr %t8652, i32 0, i32 1 %t8654 = getelementptr inbounds %LSlice, ptr %t8652, i32 0, i32 2 %t8655 = getelementptr inbounds %LSlice, ptr %t8652, i32 0, i32 0 %t8656 = load i32, ptr %t8653 %t8657 = load i32, ptr %t8654 %t8658 = icmp sge i32 %t8656, %t8657 br i1 %t8658, label %grow1844, label %put1845 grow1844: %t8659 = mul i32 %t8657, 2 %t8660 = icmp eq i32 %t8657, 0 %t8661 = select i1 %t8660, i32 8, i32 %t8659 %t8662 = getelementptr ptr, ptr null, i32 1 %t8663 = ptrtoint ptr %t8662 to i64 %t8664 = zext i32 %t8661 to i64 %t8665 = mul i64 %t8664, %t8663 %t8666 = load ptr, ptr %t8655 %t8667 = call ptr @realloc(ptr %t8666, i64 %t8665) store ptr %t8667, ptr %t8655 store i32 %t8661, ptr %t8654 br label %put1845 put1845: %t8668 = load ptr, ptr %t8655 %t8669 = getelementptr inbounds ptr, ptr %t8668, i32 %t8656 store ptr @.str8952, ptr %t8669 %t8670 = add i32 %t8656, 1 store i32 %t8670, ptr %t8653 br label %ifend1843 ifend1843: %t8671 = load ptr, ptr %t1 %t8672 = call i32 @lp_str_eq(ptr %t8671, ptr @.str8953) %t8673 = icmp ne i32 %t8672, 0 br i1 %t8673, label %then1846, label %ifend1848 then1846: store ptr @.str8954, ptr %t452 %t8674 = load ptr, ptr %t459 %t8675 = getelementptr inbounds %LSlice, ptr %t8674, i32 0, i32 1 %t8676 = getelementptr inbounds %LSlice, ptr %t8674, i32 0, i32 2 %t8677 = getelementptr inbounds %LSlice, ptr %t8674, i32 0, i32 0 %t8678 = load i32, ptr %t8675 %t8679 = load i32, ptr %t8676 %t8680 = icmp sge i32 %t8678, %t8679 br i1 %t8680, label %grow1849, label %put1850 grow1849: %t8681 = mul i32 %t8679, 2 %t8682 = icmp eq i32 %t8679, 0 %t8683 = select i1 %t8682, i32 8, i32 %t8681 %t8684 = getelementptr ptr, ptr null, i32 1 %t8685 = ptrtoint ptr %t8684 to i64 %t8686 = zext i32 %t8683 to i64 %t8687 = mul i64 %t8686, %t8685 %t8688 = load ptr, ptr %t8677 %t8689 = call ptr @realloc(ptr %t8688, i64 %t8687) store ptr %t8689, ptr %t8677 store i32 %t8683, ptr %t8676 br label %put1850 put1850: %t8690 = load ptr, ptr %t8677 %t8691 = getelementptr inbounds ptr, ptr %t8690, i32 %t8678 store ptr @.str8955, ptr %t8691 %t8692 = add i32 %t8678, 1 store i32 %t8692, ptr %t8675 %t8693 = load ptr, ptr %t459 %t8694 = getelementptr inbounds %LSlice, ptr %t8693, i32 0, i32 1 %t8695 = getelementptr inbounds %LSlice, ptr %t8693, i32 0, i32 2 %t8696 = getelementptr inbounds %LSlice, ptr %t8693, i32 0, i32 0 %t8697 = load i32, ptr %t8694 %t8698 = load i32, ptr %t8695 %t8699 = icmp sge i32 %t8697, %t8698 br i1 %t8699, label %grow1851, label %put1852 grow1851: %t8700 = mul i32 %t8698, 2 %t8701 = icmp eq i32 %t8698, 0 %t8702 = select i1 %t8701, i32 8, i32 %t8700 %t8703 = getelementptr ptr, ptr null, i32 1 %t8704 = ptrtoint ptr %t8703 to i64 %t8705 = zext i32 %t8702 to i64 %t8706 = mul i64 %t8705, %t8704 %t8707 = load ptr, ptr %t8696 %t8708 = call ptr @realloc(ptr %t8707, i64 %t8706) store ptr %t8708, ptr %t8696 store i32 %t8702, ptr %t8695 br label %put1852 put1852: %t8709 = load ptr, ptr %t8696 %t8710 = getelementptr inbounds ptr, ptr %t8709, i32 %t8697 store ptr @.str8956, ptr %t8710 %t8711 = add i32 %t8697, 1 store i32 %t8711, ptr %t8694 br label %ifend1848 ifend1848: %t8712 = load ptr, ptr %t1 %t8713 = call i32 @lp_str_eq(ptr %t8712, ptr @.str8957) %t8714 = icmp ne i32 %t8713, 0 br i1 %t8714, label %then1853, label %ifend1855 then1853: store ptr @.str8958, ptr %t452 %t8715 = load ptr, ptr %t459 %t8716 = getelementptr inbounds %LSlice, ptr %t8715, i32 0, i32 1 %t8717 = getelementptr inbounds %LSlice, ptr %t8715, i32 0, i32 2 %t8718 = getelementptr inbounds %LSlice, ptr %t8715, i32 0, i32 0 %t8719 = load i32, ptr %t8716 %t8720 = load i32, ptr %t8717 %t8721 = icmp sge i32 %t8719, %t8720 br i1 %t8721, label %grow1856, label %put1857 grow1856: %t8722 = mul i32 %t8720, 2 %t8723 = icmp eq i32 %t8720, 0 %t8724 = select i1 %t8723, i32 8, i32 %t8722 %t8725 = getelementptr ptr, ptr null, i32 1 %t8726 = ptrtoint ptr %t8725 to i64 %t8727 = zext i32 %t8724 to i64 %t8728 = mul i64 %t8727, %t8726 %t8729 = load ptr, ptr %t8718 %t8730 = call ptr @realloc(ptr %t8729, i64 %t8728) store ptr %t8730, ptr %t8718 store i32 %t8724, ptr %t8717 br label %put1857 put1857: %t8731 = load ptr, ptr %t8718 %t8732 = getelementptr inbounds ptr, ptr %t8731, i32 %t8719 store ptr @.str8959, ptr %t8732 %t8733 = add i32 %t8719, 1 store i32 %t8733, ptr %t8716 br label %ifend1855 ifend1855: br label %ifend1790 ifend1790: %t8734 = load ptr, ptr %t0 %t8735 = call i32 @lp_str_eq(ptr %t8734, ptr @.str8960) %t8736 = icmp ne i32 %t8735, 0 br i1 %t8736, label %then1858, label %ifend1860 then1858: %t8737 = load ptr, ptr %t1 %t8738 = call i32 @lp_str_eq(ptr %t8737, ptr @.str8961) %t8739 = icmp ne i32 %t8738, 0 br i1 %t8739, label %then1861, label %ifend1863 then1861: store ptr @.str8962, ptr %t452 br label %ifend1863 ifend1863: %t8740 = load ptr, ptr %t1 %t8741 = call i32 @lp_str_eq(ptr %t8740, ptr @.str8963) %t8742 = icmp ne i32 %t8741, 0 br i1 %t8742, label %then1864, label %ifend1866 then1864: store ptr @.str8964, ptr %t452 %t8743 = load ptr, ptr %t459 %t8744 = getelementptr inbounds %LSlice, ptr %t8743, i32 0, i32 1 %t8745 = getelementptr inbounds %LSlice, ptr %t8743, i32 0, i32 2 %t8746 = getelementptr inbounds %LSlice, ptr %t8743, i32 0, i32 0 %t8747 = load i32, ptr %t8744 %t8748 = load i32, ptr %t8745 %t8749 = icmp sge i32 %t8747, %t8748 br i1 %t8749, label %grow1867, label %put1868 grow1867: %t8750 = mul i32 %t8748, 2 %t8751 = icmp eq i32 %t8748, 0 %t8752 = select i1 %t8751, i32 8, i32 %t8750 %t8753 = getelementptr ptr, ptr null, i32 1 %t8754 = ptrtoint ptr %t8753 to i64 %t8755 = zext i32 %t8752 to i64 %t8756 = mul i64 %t8755, %t8754 %t8757 = load ptr, ptr %t8746 %t8758 = call ptr @realloc(ptr %t8757, i64 %t8756) store ptr %t8758, ptr %t8746 store i32 %t8752, ptr %t8745 br label %put1868 put1868: %t8759 = load ptr, ptr %t8746 %t8760 = getelementptr inbounds ptr, ptr %t8759, i32 %t8747 store ptr @.str8965, ptr %t8760 %t8761 = add i32 %t8747, 1 store i32 %t8761, ptr %t8744 %t8762 = load ptr, ptr %t459 %t8763 = getelementptr inbounds %LSlice, ptr %t8762, i32 0, i32 1 %t8764 = getelementptr inbounds %LSlice, ptr %t8762, i32 0, i32 2 %t8765 = getelementptr inbounds %LSlice, ptr %t8762, i32 0, i32 0 %t8766 = load i32, ptr %t8763 %t8767 = load i32, ptr %t8764 %t8768 = icmp sge i32 %t8766, %t8767 br i1 %t8768, label %grow1869, label %put1870 grow1869: %t8769 = mul i32 %t8767, 2 %t8770 = icmp eq i32 %t8767, 0 %t8771 = select i1 %t8770, i32 8, i32 %t8769 %t8772 = getelementptr ptr, ptr null, i32 1 %t8773 = ptrtoint ptr %t8772 to i64 %t8774 = zext i32 %t8771 to i64 %t8775 = mul i64 %t8774, %t8773 %t8776 = load ptr, ptr %t8765 %t8777 = call ptr @realloc(ptr %t8776, i64 %t8775) store ptr %t8777, ptr %t8765 store i32 %t8771, ptr %t8764 br label %put1870 put1870: %t8778 = load ptr, ptr %t8765 %t8779 = getelementptr inbounds ptr, ptr %t8778, i32 %t8766 store ptr @.str8966, ptr %t8779 %t8780 = add i32 %t8766, 1 store i32 %t8780, ptr %t8763 %t8781 = load ptr, ptr %t459 %t8782 = getelementptr inbounds %LSlice, ptr %t8781, i32 0, i32 1 %t8783 = getelementptr inbounds %LSlice, ptr %t8781, i32 0, i32 2 %t8784 = getelementptr inbounds %LSlice, ptr %t8781, i32 0, i32 0 %t8785 = load i32, ptr %t8782 %t8786 = load i32, ptr %t8783 %t8787 = icmp sge i32 %t8785, %t8786 br i1 %t8787, label %grow1871, label %put1872 grow1871: %t8788 = mul i32 %t8786, 2 %t8789 = icmp eq i32 %t8786, 0 %t8790 = select i1 %t8789, i32 8, i32 %t8788 %t8791 = getelementptr ptr, ptr null, i32 1 %t8792 = ptrtoint ptr %t8791 to i64 %t8793 = zext i32 %t8790 to i64 %t8794 = mul i64 %t8793, %t8792 %t8795 = load ptr, ptr %t8784 %t8796 = call ptr @realloc(ptr %t8795, i64 %t8794) store ptr %t8796, ptr %t8784 store i32 %t8790, ptr %t8783 br label %put1872 put1872: %t8797 = load ptr, ptr %t8784 %t8798 = getelementptr inbounds ptr, ptr %t8797, i32 %t8785 store ptr @.str8967, ptr %t8798 %t8799 = add i32 %t8785, 1 store i32 %t8799, ptr %t8782 br label %ifend1866 ifend1866: %t8800 = load ptr, ptr %t1 %t8801 = call i32 @lp_str_eq(ptr %t8800, ptr @.str8968) %t8802 = icmp ne i32 %t8801, 0 br i1 %t8802, label %then1873, label %ifend1875 then1873: store ptr @.str8969, ptr %t452 %t8803 = load ptr, ptr %t459 %t8804 = getelementptr inbounds %LSlice, ptr %t8803, i32 0, i32 1 %t8805 = getelementptr inbounds %LSlice, ptr %t8803, i32 0, i32 2 %t8806 = getelementptr inbounds %LSlice, ptr %t8803, i32 0, i32 0 %t8807 = load i32, ptr %t8804 %t8808 = load i32, ptr %t8805 %t8809 = icmp sge i32 %t8807, %t8808 br i1 %t8809, label %grow1876, label %put1877 grow1876: %t8810 = mul i32 %t8808, 2 %t8811 = icmp eq i32 %t8808, 0 %t8812 = select i1 %t8811, i32 8, i32 %t8810 %t8813 = getelementptr ptr, ptr null, i32 1 %t8814 = ptrtoint ptr %t8813 to i64 %t8815 = zext i32 %t8812 to i64 %t8816 = mul i64 %t8815, %t8814 %t8817 = load ptr, ptr %t8806 %t8818 = call ptr @realloc(ptr %t8817, i64 %t8816) store ptr %t8818, ptr %t8806 store i32 %t8812, ptr %t8805 br label %put1877 put1877: %t8819 = load ptr, ptr %t8806 %t8820 = getelementptr inbounds ptr, ptr %t8819, i32 %t8807 store ptr @.str8970, ptr %t8820 %t8821 = add i32 %t8807, 1 store i32 %t8821, ptr %t8804 %t8822 = load ptr, ptr %t459 %t8823 = getelementptr inbounds %LSlice, ptr %t8822, i32 0, i32 1 %t8824 = getelementptr inbounds %LSlice, ptr %t8822, i32 0, i32 2 %t8825 = getelementptr inbounds %LSlice, ptr %t8822, i32 0, i32 0 %t8826 = load i32, ptr %t8823 %t8827 = load i32, ptr %t8824 %t8828 = icmp sge i32 %t8826, %t8827 br i1 %t8828, label %grow1878, label %put1879 grow1878: %t8829 = mul i32 %t8827, 2 %t8830 = icmp eq i32 %t8827, 0 %t8831 = select i1 %t8830, i32 8, i32 %t8829 %t8832 = getelementptr ptr, ptr null, i32 1 %t8833 = ptrtoint ptr %t8832 to i64 %t8834 = zext i32 %t8831 to i64 %t8835 = mul i64 %t8834, %t8833 %t8836 = load ptr, ptr %t8825 %t8837 = call ptr @realloc(ptr %t8836, i64 %t8835) store ptr %t8837, ptr %t8825 store i32 %t8831, ptr %t8824 br label %put1879 put1879: %t8838 = load ptr, ptr %t8825 %t8839 = getelementptr inbounds ptr, ptr %t8838, i32 %t8826 store ptr @.str8971, ptr %t8839 %t8840 = add i32 %t8826, 1 store i32 %t8840, ptr %t8823 br label %ifend1875 ifend1875: %t8841 = load ptr, ptr %t1 %t8842 = call i32 @lp_str_eq(ptr %t8841, ptr @.str8972) %t8843 = icmp ne i32 %t8842, 0 br i1 %t8843, label %then1880, label %ifend1882 then1880: store ptr @.str8973, ptr %t452 %t8844 = load ptr, ptr %t459 %t8845 = getelementptr inbounds %LSlice, ptr %t8844, i32 0, i32 1 %t8846 = getelementptr inbounds %LSlice, ptr %t8844, i32 0, i32 2 %t8847 = getelementptr inbounds %LSlice, ptr %t8844, i32 0, i32 0 %t8848 = load i32, ptr %t8845 %t8849 = load i32, ptr %t8846 %t8850 = icmp sge i32 %t8848, %t8849 br i1 %t8850, label %grow1883, label %put1884 grow1883: %t8851 = mul i32 %t8849, 2 %t8852 = icmp eq i32 %t8849, 0 %t8853 = select i1 %t8852, i32 8, i32 %t8851 %t8854 = getelementptr ptr, ptr null, i32 1 %t8855 = ptrtoint ptr %t8854 to i64 %t8856 = zext i32 %t8853 to i64 %t8857 = mul i64 %t8856, %t8855 %t8858 = load ptr, ptr %t8847 %t8859 = call ptr @realloc(ptr %t8858, i64 %t8857) store ptr %t8859, ptr %t8847 store i32 %t8853, ptr %t8846 br label %put1884 put1884: %t8860 = load ptr, ptr %t8847 %t8861 = getelementptr inbounds ptr, ptr %t8860, i32 %t8848 store ptr @.str8974, ptr %t8861 %t8862 = add i32 %t8848, 1 store i32 %t8862, ptr %t8845 %t8863 = load ptr, ptr %t459 %t8864 = getelementptr inbounds %LSlice, ptr %t8863, i32 0, i32 1 %t8865 = getelementptr inbounds %LSlice, ptr %t8863, i32 0, i32 2 %t8866 = getelementptr inbounds %LSlice, ptr %t8863, i32 0, i32 0 %t8867 = load i32, ptr %t8864 %t8868 = load i32, ptr %t8865 %t8869 = icmp sge i32 %t8867, %t8868 br i1 %t8869, label %grow1885, label %put1886 grow1885: %t8870 = mul i32 %t8868, 2 %t8871 = icmp eq i32 %t8868, 0 %t8872 = select i1 %t8871, i32 8, i32 %t8870 %t8873 = getelementptr ptr, ptr null, i32 1 %t8874 = ptrtoint ptr %t8873 to i64 %t8875 = zext i32 %t8872 to i64 %t8876 = mul i64 %t8875, %t8874 %t8877 = load ptr, ptr %t8866 %t8878 = call ptr @realloc(ptr %t8877, i64 %t8876) store ptr %t8878, ptr %t8866 store i32 %t8872, ptr %t8865 br label %put1886 put1886: %t8879 = load ptr, ptr %t8866 %t8880 = getelementptr inbounds ptr, ptr %t8879, i32 %t8867 store ptr @.str8975, ptr %t8880 %t8881 = add i32 %t8867, 1 store i32 %t8881, ptr %t8864 %t8882 = load ptr, ptr %t459 %t8883 = getelementptr inbounds %LSlice, ptr %t8882, i32 0, i32 1 %t8884 = getelementptr inbounds %LSlice, ptr %t8882, i32 0, i32 2 %t8885 = getelementptr inbounds %LSlice, ptr %t8882, i32 0, i32 0 %t8886 = load i32, ptr %t8883 %t8887 = load i32, ptr %t8884 %t8888 = icmp sge i32 %t8886, %t8887 br i1 %t8888, label %grow1887, label %put1888 grow1887: %t8889 = mul i32 %t8887, 2 %t8890 = icmp eq i32 %t8887, 0 %t8891 = select i1 %t8890, i32 8, i32 %t8889 %t8892 = getelementptr ptr, ptr null, i32 1 %t8893 = ptrtoint ptr %t8892 to i64 %t8894 = zext i32 %t8891 to i64 %t8895 = mul i64 %t8894, %t8893 %t8896 = load ptr, ptr %t8885 %t8897 = call ptr @realloc(ptr %t8896, i64 %t8895) store ptr %t8897, ptr %t8885 store i32 %t8891, ptr %t8884 br label %put1888 put1888: %t8898 = load ptr, ptr %t8885 %t8899 = getelementptr inbounds ptr, ptr %t8898, i32 %t8886 store ptr @.str8976, ptr %t8899 %t8900 = add i32 %t8886, 1 store i32 %t8900, ptr %t8883 br label %ifend1882 ifend1882: %t8901 = load ptr, ptr %t1 %t8902 = call i32 @lp_str_eq(ptr %t8901, ptr @.str8977) %t8903 = icmp ne i32 %t8902, 0 br i1 %t8903, label %then1889, label %ifend1891 then1889: store ptr @.str8978, ptr %t452 %t8904 = load ptr, ptr %t459 %t8905 = getelementptr inbounds %LSlice, ptr %t8904, i32 0, i32 1 %t8906 = getelementptr inbounds %LSlice, ptr %t8904, i32 0, i32 2 %t8907 = getelementptr inbounds %LSlice, ptr %t8904, i32 0, i32 0 %t8908 = load i32, ptr %t8905 %t8909 = load i32, ptr %t8906 %t8910 = icmp sge i32 %t8908, %t8909 br i1 %t8910, label %grow1892, label %put1893 grow1892: %t8911 = mul i32 %t8909, 2 %t8912 = icmp eq i32 %t8909, 0 %t8913 = select i1 %t8912, i32 8, i32 %t8911 %t8914 = getelementptr ptr, ptr null, i32 1 %t8915 = ptrtoint ptr %t8914 to i64 %t8916 = zext i32 %t8913 to i64 %t8917 = mul i64 %t8916, %t8915 %t8918 = load ptr, ptr %t8907 %t8919 = call ptr @realloc(ptr %t8918, i64 %t8917) store ptr %t8919, ptr %t8907 store i32 %t8913, ptr %t8906 br label %put1893 put1893: %t8920 = load ptr, ptr %t8907 %t8921 = getelementptr inbounds ptr, ptr %t8920, i32 %t8908 store ptr @.str8979, ptr %t8921 %t8922 = add i32 %t8908, 1 store i32 %t8922, ptr %t8905 %t8923 = load ptr, ptr %t459 %t8924 = getelementptr inbounds %LSlice, ptr %t8923, i32 0, i32 1 %t8925 = getelementptr inbounds %LSlice, ptr %t8923, i32 0, i32 2 %t8926 = getelementptr inbounds %LSlice, ptr %t8923, i32 0, i32 0 %t8927 = load i32, ptr %t8924 %t8928 = load i32, ptr %t8925 %t8929 = icmp sge i32 %t8927, %t8928 br i1 %t8929, label %grow1894, label %put1895 grow1894: %t8930 = mul i32 %t8928, 2 %t8931 = icmp eq i32 %t8928, 0 %t8932 = select i1 %t8931, i32 8, i32 %t8930 %t8933 = getelementptr ptr, ptr null, i32 1 %t8934 = ptrtoint ptr %t8933 to i64 %t8935 = zext i32 %t8932 to i64 %t8936 = mul i64 %t8935, %t8934 %t8937 = load ptr, ptr %t8926 %t8938 = call ptr @realloc(ptr %t8937, i64 %t8936) store ptr %t8938, ptr %t8926 store i32 %t8932, ptr %t8925 br label %put1895 put1895: %t8939 = load ptr, ptr %t8926 %t8940 = getelementptr inbounds ptr, ptr %t8939, i32 %t8927 store ptr @.str8980, ptr %t8940 %t8941 = add i32 %t8927, 1 store i32 %t8941, ptr %t8924 br label %ifend1891 ifend1891: %t8942 = load ptr, ptr %t1 %t8943 = call i32 @lp_str_eq(ptr %t8942, ptr @.str8981) %t8944 = icmp ne i32 %t8943, 0 br i1 %t8944, label %then1896, label %ifend1898 then1896: store ptr @.str8982, ptr %t452 %t8945 = load ptr, ptr %t459 %t8946 = getelementptr inbounds %LSlice, ptr %t8945, i32 0, i32 1 %t8947 = getelementptr inbounds %LSlice, ptr %t8945, i32 0, i32 2 %t8948 = getelementptr inbounds %LSlice, ptr %t8945, i32 0, i32 0 %t8949 = load i32, ptr %t8946 %t8950 = load i32, ptr %t8947 %t8951 = icmp sge i32 %t8949, %t8950 br i1 %t8951, label %grow1899, label %put1900 grow1899: %t8952 = mul i32 %t8950, 2 %t8953 = icmp eq i32 %t8950, 0 %t8954 = select i1 %t8953, i32 8, i32 %t8952 %t8955 = getelementptr ptr, ptr null, i32 1 %t8956 = ptrtoint ptr %t8955 to i64 %t8957 = zext i32 %t8954 to i64 %t8958 = mul i64 %t8957, %t8956 %t8959 = load ptr, ptr %t8948 %t8960 = call ptr @realloc(ptr %t8959, i64 %t8958) store ptr %t8960, ptr %t8948 store i32 %t8954, ptr %t8947 br label %put1900 put1900: %t8961 = load ptr, ptr %t8948 %t8962 = getelementptr inbounds ptr, ptr %t8961, i32 %t8949 store ptr @.str8983, ptr %t8962 %t8963 = add i32 %t8949, 1 store i32 %t8963, ptr %t8946 %t8964 = load ptr, ptr %t459 %t8965 = getelementptr inbounds %LSlice, ptr %t8964, i32 0, i32 1 %t8966 = getelementptr inbounds %LSlice, ptr %t8964, i32 0, i32 2 %t8967 = getelementptr inbounds %LSlice, ptr %t8964, i32 0, i32 0 %t8968 = load i32, ptr %t8965 %t8969 = load i32, ptr %t8966 %t8970 = icmp sge i32 %t8968, %t8969 br i1 %t8970, label %grow1901, label %put1902 grow1901: %t8971 = mul i32 %t8969, 2 %t8972 = icmp eq i32 %t8969, 0 %t8973 = select i1 %t8972, i32 8, i32 %t8971 %t8974 = getelementptr ptr, ptr null, i32 1 %t8975 = ptrtoint ptr %t8974 to i64 %t8976 = zext i32 %t8973 to i64 %t8977 = mul i64 %t8976, %t8975 %t8978 = load ptr, ptr %t8967 %t8979 = call ptr @realloc(ptr %t8978, i64 %t8977) store ptr %t8979, ptr %t8967 store i32 %t8973, ptr %t8966 br label %put1902 put1902: %t8980 = load ptr, ptr %t8967 %t8981 = getelementptr inbounds ptr, ptr %t8980, i32 %t8968 store ptr @.str8984, ptr %t8981 %t8982 = add i32 %t8968, 1 store i32 %t8982, ptr %t8965 br label %ifend1898 ifend1898: %t8983 = load ptr, ptr %t1 %t8984 = call i32 @lp_str_eq(ptr %t8983, ptr @.str8985) %t8985 = icmp ne i32 %t8984, 0 br i1 %t8985, label %then1903, label %ifend1905 then1903: store ptr @.str8986, ptr %t452 %t8986 = load ptr, ptr %t459 %t8987 = getelementptr inbounds %LSlice, ptr %t8986, i32 0, i32 1 %t8988 = getelementptr inbounds %LSlice, ptr %t8986, i32 0, i32 2 %t8989 = getelementptr inbounds %LSlice, ptr %t8986, i32 0, i32 0 %t8990 = load i32, ptr %t8987 %t8991 = load i32, ptr %t8988 %t8992 = icmp sge i32 %t8990, %t8991 br i1 %t8992, label %grow1906, label %put1907 grow1906: %t8993 = mul i32 %t8991, 2 %t8994 = icmp eq i32 %t8991, 0 %t8995 = select i1 %t8994, i32 8, i32 %t8993 %t8996 = getelementptr ptr, ptr null, i32 1 %t8997 = ptrtoint ptr %t8996 to i64 %t8998 = zext i32 %t8995 to i64 %t8999 = mul i64 %t8998, %t8997 %t9000 = load ptr, ptr %t8989 %t9001 = call ptr @realloc(ptr %t9000, i64 %t8999) store ptr %t9001, ptr %t8989 store i32 %t8995, ptr %t8988 br label %put1907 put1907: %t9002 = load ptr, ptr %t8989 %t9003 = getelementptr inbounds ptr, ptr %t9002, i32 %t8990 store ptr @.str8987, ptr %t9003 %t9004 = add i32 %t8990, 1 store i32 %t9004, ptr %t8987 br label %ifend1905 ifend1905: %t9005 = load ptr, ptr %t1 %t9006 = call i32 @lp_str_eq(ptr %t9005, ptr @.str8988) %t9007 = icmp ne i32 %t9006, 0 br i1 %t9007, label %then1908, label %ifend1910 then1908: store ptr @.str8989, ptr %t452 %t9008 = load ptr, ptr %t459 %t9009 = getelementptr inbounds %LSlice, ptr %t9008, i32 0, i32 1 %t9010 = getelementptr inbounds %LSlice, ptr %t9008, i32 0, i32 2 %t9011 = getelementptr inbounds %LSlice, ptr %t9008, i32 0, i32 0 %t9012 = load i32, ptr %t9009 %t9013 = load i32, ptr %t9010 %t9014 = icmp sge i32 %t9012, %t9013 br i1 %t9014, label %grow1911, label %put1912 grow1911: %t9015 = mul i32 %t9013, 2 %t9016 = icmp eq i32 %t9013, 0 %t9017 = select i1 %t9016, i32 8, i32 %t9015 %t9018 = getelementptr ptr, ptr null, i32 1 %t9019 = ptrtoint ptr %t9018 to i64 %t9020 = zext i32 %t9017 to i64 %t9021 = mul i64 %t9020, %t9019 %t9022 = load ptr, ptr %t9011 %t9023 = call ptr @realloc(ptr %t9022, i64 %t9021) store ptr %t9023, ptr %t9011 store i32 %t9017, ptr %t9010 br label %put1912 put1912: %t9024 = load ptr, ptr %t9011 %t9025 = getelementptr inbounds ptr, ptr %t9024, i32 %t9012 store ptr @.str8990, ptr %t9025 %t9026 = add i32 %t9012, 1 store i32 %t9026, ptr %t9009 br label %ifend1910 ifend1910: %t9027 = load ptr, ptr %t1 %t9028 = call i32 @lp_str_eq(ptr %t9027, ptr @.str8991) %t9029 = icmp ne i32 %t9028, 0 br i1 %t9029, label %then1913, label %ifend1915 then1913: store ptr @.str8992, ptr %t452 %t9030 = load ptr, ptr %t459 %t9031 = getelementptr inbounds %LSlice, ptr %t9030, i32 0, i32 1 %t9032 = getelementptr inbounds %LSlice, ptr %t9030, i32 0, i32 2 %t9033 = getelementptr inbounds %LSlice, ptr %t9030, i32 0, i32 0 %t9034 = load i32, ptr %t9031 %t9035 = load i32, ptr %t9032 %t9036 = icmp sge i32 %t9034, %t9035 br i1 %t9036, label %grow1916, label %put1917 grow1916: %t9037 = mul i32 %t9035, 2 %t9038 = icmp eq i32 %t9035, 0 %t9039 = select i1 %t9038, i32 8, i32 %t9037 %t9040 = getelementptr ptr, ptr null, i32 1 %t9041 = ptrtoint ptr %t9040 to i64 %t9042 = zext i32 %t9039 to i64 %t9043 = mul i64 %t9042, %t9041 %t9044 = load ptr, ptr %t9033 %t9045 = call ptr @realloc(ptr %t9044, i64 %t9043) store ptr %t9045, ptr %t9033 store i32 %t9039, ptr %t9032 br label %put1917 put1917: %t9046 = load ptr, ptr %t9033 %t9047 = getelementptr inbounds ptr, ptr %t9046, i32 %t9034 store ptr @.str8993, ptr %t9047 %t9048 = add i32 %t9034, 1 store i32 %t9048, ptr %t9031 br label %ifend1915 ifend1915: br label %ifend1860 ifend1860: %t9049 = load ptr, ptr %t0 %t9050 = call i32 @lp_str_eq(ptr %t9049, ptr @.str8994) %t9051 = icmp ne i32 %t9050, 0 br i1 %t9051, label %then1918, label %ifend1920 then1918: %t9052 = load ptr, ptr %t1 %t9053 = call i32 @lp_str_eq(ptr %t9052, ptr @.str8995) %t9054 = icmp ne i32 %t9053, 0 br i1 %t9054, label %then1921, label %ifend1923 then1921: store ptr @.str8996, ptr %t452 br label %ifend1923 ifend1923: %t9055 = load ptr, ptr %t1 %t9056 = call i32 @lp_str_eq(ptr %t9055, ptr @.str8997) %t9057 = icmp ne i32 %t9056, 0 br i1 %t9057, label %then1924, label %ifend1926 then1924: store ptr @.str8998, ptr %t452 %t9058 = load ptr, ptr %t459 %t9059 = getelementptr inbounds %LSlice, ptr %t9058, i32 0, i32 1 %t9060 = getelementptr inbounds %LSlice, ptr %t9058, i32 0, i32 2 %t9061 = getelementptr inbounds %LSlice, ptr %t9058, i32 0, i32 0 %t9062 = load i32, ptr %t9059 %t9063 = load i32, ptr %t9060 %t9064 = icmp sge i32 %t9062, %t9063 br i1 %t9064, label %grow1927, label %put1928 grow1927: %t9065 = mul i32 %t9063, 2 %t9066 = icmp eq i32 %t9063, 0 %t9067 = select i1 %t9066, i32 8, i32 %t9065 %t9068 = getelementptr ptr, ptr null, i32 1 %t9069 = ptrtoint ptr %t9068 to i64 %t9070 = zext i32 %t9067 to i64 %t9071 = mul i64 %t9070, %t9069 %t9072 = load ptr, ptr %t9061 %t9073 = call ptr @realloc(ptr %t9072, i64 %t9071) store ptr %t9073, ptr %t9061 store i32 %t9067, ptr %t9060 br label %put1928 put1928: %t9074 = load ptr, ptr %t9061 %t9075 = getelementptr inbounds ptr, ptr %t9074, i32 %t9062 store ptr @.str8999, ptr %t9075 %t9076 = add i32 %t9062, 1 store i32 %t9076, ptr %t9059 %t9077 = load ptr, ptr %t459 %t9078 = getelementptr inbounds %LSlice, ptr %t9077, i32 0, i32 1 %t9079 = getelementptr inbounds %LSlice, ptr %t9077, i32 0, i32 2 %t9080 = getelementptr inbounds %LSlice, ptr %t9077, i32 0, i32 0 %t9081 = load i32, ptr %t9078 %t9082 = load i32, ptr %t9079 %t9083 = icmp sge i32 %t9081, %t9082 br i1 %t9083, label %grow1929, label %put1930 grow1929: %t9084 = mul i32 %t9082, 2 %t9085 = icmp eq i32 %t9082, 0 %t9086 = select i1 %t9085, i32 8, i32 %t9084 %t9087 = getelementptr ptr, ptr null, i32 1 %t9088 = ptrtoint ptr %t9087 to i64 %t9089 = zext i32 %t9086 to i64 %t9090 = mul i64 %t9089, %t9088 %t9091 = load ptr, ptr %t9080 %t9092 = call ptr @realloc(ptr %t9091, i64 %t9090) store ptr %t9092, ptr %t9080 store i32 %t9086, ptr %t9079 br label %put1930 put1930: %t9093 = load ptr, ptr %t9080 %t9094 = getelementptr inbounds ptr, ptr %t9093, i32 %t9081 store ptr @.str9000, ptr %t9094 %t9095 = add i32 %t9081, 1 store i32 %t9095, ptr %t9078 br label %ifend1926 ifend1926: %t9096 = load ptr, ptr %t1 %t9097 = call i32 @lp_str_eq(ptr %t9096, ptr @.str9001) %t9098 = icmp ne i32 %t9097, 0 br i1 %t9098, label %then1931, label %ifend1933 then1931: store ptr @.str9002, ptr %t452 %t9099 = load ptr, ptr %t459 %t9100 = getelementptr inbounds %LSlice, ptr %t9099, i32 0, i32 1 %t9101 = getelementptr inbounds %LSlice, ptr %t9099, i32 0, i32 2 %t9102 = getelementptr inbounds %LSlice, ptr %t9099, i32 0, i32 0 %t9103 = load i32, ptr %t9100 %t9104 = load i32, ptr %t9101 %t9105 = icmp sge i32 %t9103, %t9104 br i1 %t9105, label %grow1934, label %put1935 grow1934: %t9106 = mul i32 %t9104, 2 %t9107 = icmp eq i32 %t9104, 0 %t9108 = select i1 %t9107, i32 8, i32 %t9106 %t9109 = getelementptr ptr, ptr null, i32 1 %t9110 = ptrtoint ptr %t9109 to i64 %t9111 = zext i32 %t9108 to i64 %t9112 = mul i64 %t9111, %t9110 %t9113 = load ptr, ptr %t9102 %t9114 = call ptr @realloc(ptr %t9113, i64 %t9112) store ptr %t9114, ptr %t9102 store i32 %t9108, ptr %t9101 br label %put1935 put1935: %t9115 = load ptr, ptr %t9102 %t9116 = getelementptr inbounds ptr, ptr %t9115, i32 %t9103 store ptr @.str9003, ptr %t9116 %t9117 = add i32 %t9103, 1 store i32 %t9117, ptr %t9100 %t9118 = load ptr, ptr %t459 %t9119 = getelementptr inbounds %LSlice, ptr %t9118, i32 0, i32 1 %t9120 = getelementptr inbounds %LSlice, ptr %t9118, i32 0, i32 2 %t9121 = getelementptr inbounds %LSlice, ptr %t9118, i32 0, i32 0 %t9122 = load i32, ptr %t9119 %t9123 = load i32, ptr %t9120 %t9124 = icmp sge i32 %t9122, %t9123 br i1 %t9124, label %grow1936, label %put1937 grow1936: %t9125 = mul i32 %t9123, 2 %t9126 = icmp eq i32 %t9123, 0 %t9127 = select i1 %t9126, i32 8, i32 %t9125 %t9128 = getelementptr ptr, ptr null, i32 1 %t9129 = ptrtoint ptr %t9128 to i64 %t9130 = zext i32 %t9127 to i64 %t9131 = mul i64 %t9130, %t9129 %t9132 = load ptr, ptr %t9121 %t9133 = call ptr @realloc(ptr %t9132, i64 %t9131) store ptr %t9133, ptr %t9121 store i32 %t9127, ptr %t9120 br label %put1937 put1937: %t9134 = load ptr, ptr %t9121 %t9135 = getelementptr inbounds ptr, ptr %t9134, i32 %t9122 store ptr @.str9004, ptr %t9135 %t9136 = add i32 %t9122, 1 store i32 %t9136, ptr %t9119 br label %ifend1933 ifend1933: %t9137 = load ptr, ptr %t1 %t9138 = call i32 @lp_str_eq(ptr %t9137, ptr @.str9005) %t9139 = icmp ne i32 %t9138, 0 br i1 %t9139, label %then1938, label %ifend1940 then1938: store ptr @.str9006, ptr %t452 %t9140 = load ptr, ptr %t459 %t9141 = getelementptr inbounds %LSlice, ptr %t9140, i32 0, i32 1 %t9142 = getelementptr inbounds %LSlice, ptr %t9140, i32 0, i32 2 %t9143 = getelementptr inbounds %LSlice, ptr %t9140, i32 0, i32 0 %t9144 = load i32, ptr %t9141 %t9145 = load i32, ptr %t9142 %t9146 = icmp sge i32 %t9144, %t9145 br i1 %t9146, label %grow1941, label %put1942 grow1941: %t9147 = mul i32 %t9145, 2 %t9148 = icmp eq i32 %t9145, 0 %t9149 = select i1 %t9148, i32 8, i32 %t9147 %t9150 = getelementptr ptr, ptr null, i32 1 %t9151 = ptrtoint ptr %t9150 to i64 %t9152 = zext i32 %t9149 to i64 %t9153 = mul i64 %t9152, %t9151 %t9154 = load ptr, ptr %t9143 %t9155 = call ptr @realloc(ptr %t9154, i64 %t9153) store ptr %t9155, ptr %t9143 store i32 %t9149, ptr %t9142 br label %put1942 put1942: %t9156 = load ptr, ptr %t9143 %t9157 = getelementptr inbounds ptr, ptr %t9156, i32 %t9144 store ptr @.str9007, ptr %t9157 %t9158 = add i32 %t9144, 1 store i32 %t9158, ptr %t9141 %t9159 = load ptr, ptr %t459 %t9160 = getelementptr inbounds %LSlice, ptr %t9159, i32 0, i32 1 %t9161 = getelementptr inbounds %LSlice, ptr %t9159, i32 0, i32 2 %t9162 = getelementptr inbounds %LSlice, ptr %t9159, i32 0, i32 0 %t9163 = load i32, ptr %t9160 %t9164 = load i32, ptr %t9161 %t9165 = icmp sge i32 %t9163, %t9164 br i1 %t9165, label %grow1943, label %put1944 grow1943: %t9166 = mul i32 %t9164, 2 %t9167 = icmp eq i32 %t9164, 0 %t9168 = select i1 %t9167, i32 8, i32 %t9166 %t9169 = getelementptr ptr, ptr null, i32 1 %t9170 = ptrtoint ptr %t9169 to i64 %t9171 = zext i32 %t9168 to i64 %t9172 = mul i64 %t9171, %t9170 %t9173 = load ptr, ptr %t9162 %t9174 = call ptr @realloc(ptr %t9173, i64 %t9172) store ptr %t9174, ptr %t9162 store i32 %t9168, ptr %t9161 br label %put1944 put1944: %t9175 = load ptr, ptr %t9162 %t9176 = getelementptr inbounds ptr, ptr %t9175, i32 %t9163 store ptr @.str9008, ptr %t9176 %t9177 = add i32 %t9163, 1 store i32 %t9177, ptr %t9160 br label %ifend1940 ifend1940: %t9178 = load ptr, ptr %t1 %t9179 = call i32 @lp_str_eq(ptr %t9178, ptr @.str9009) %t9180 = icmp ne i32 %t9179, 0 br i1 %t9180, label %then1945, label %ifend1947 then1945: store ptr @.str9010, ptr %t452 %t9181 = load ptr, ptr %t459 %t9182 = getelementptr inbounds %LSlice, ptr %t9181, i32 0, i32 1 %t9183 = getelementptr inbounds %LSlice, ptr %t9181, i32 0, i32 2 %t9184 = getelementptr inbounds %LSlice, ptr %t9181, i32 0, i32 0 %t9185 = load i32, ptr %t9182 %t9186 = load i32, ptr %t9183 %t9187 = icmp sge i32 %t9185, %t9186 br i1 %t9187, label %grow1948, label %put1949 grow1948: %t9188 = mul i32 %t9186, 2 %t9189 = icmp eq i32 %t9186, 0 %t9190 = select i1 %t9189, i32 8, i32 %t9188 %t9191 = getelementptr ptr, ptr null, i32 1 %t9192 = ptrtoint ptr %t9191 to i64 %t9193 = zext i32 %t9190 to i64 %t9194 = mul i64 %t9193, %t9192 %t9195 = load ptr, ptr %t9184 %t9196 = call ptr @realloc(ptr %t9195, i64 %t9194) store ptr %t9196, ptr %t9184 store i32 %t9190, ptr %t9183 br label %put1949 put1949: %t9197 = load ptr, ptr %t9184 %t9198 = getelementptr inbounds ptr, ptr %t9197, i32 %t9185 store ptr @.str9011, ptr %t9198 %t9199 = add i32 %t9185, 1 store i32 %t9199, ptr %t9182 br label %ifend1947 ifend1947: %t9200 = load ptr, ptr %t1 %t9201 = call i32 @lp_str_eq(ptr %t9200, ptr @.str9012) %t9202 = icmp ne i32 %t9201, 0 br i1 %t9202, label %then1950, label %ifend1952 then1950: store ptr @.str9013, ptr %t452 %t9203 = load ptr, ptr %t459 %t9204 = getelementptr inbounds %LSlice, ptr %t9203, i32 0, i32 1 %t9205 = getelementptr inbounds %LSlice, ptr %t9203, i32 0, i32 2 %t9206 = getelementptr inbounds %LSlice, ptr %t9203, i32 0, i32 0 %t9207 = load i32, ptr %t9204 %t9208 = load i32, ptr %t9205 %t9209 = icmp sge i32 %t9207, %t9208 br i1 %t9209, label %grow1953, label %put1954 grow1953: %t9210 = mul i32 %t9208, 2 %t9211 = icmp eq i32 %t9208, 0 %t9212 = select i1 %t9211, i32 8, i32 %t9210 %t9213 = getelementptr ptr, ptr null, i32 1 %t9214 = ptrtoint ptr %t9213 to i64 %t9215 = zext i32 %t9212 to i64 %t9216 = mul i64 %t9215, %t9214 %t9217 = load ptr, ptr %t9206 %t9218 = call ptr @realloc(ptr %t9217, i64 %t9216) store ptr %t9218, ptr %t9206 store i32 %t9212, ptr %t9205 br label %put1954 put1954: %t9219 = load ptr, ptr %t9206 %t9220 = getelementptr inbounds ptr, ptr %t9219, i32 %t9207 store ptr @.str9014, ptr %t9220 %t9221 = add i32 %t9207, 1 store i32 %t9221, ptr %t9204 br label %ifend1952 ifend1952: %t9222 = load ptr, ptr %t1 %t9223 = call i32 @lp_str_eq(ptr %t9222, ptr @.str9015) %t9224 = icmp ne i32 %t9223, 0 br i1 %t9224, label %then1955, label %ifend1957 then1955: store ptr @.str9016, ptr %t452 %t9225 = load ptr, ptr %t459 %t9226 = getelementptr inbounds %LSlice, ptr %t9225, i32 0, i32 1 %t9227 = getelementptr inbounds %LSlice, ptr %t9225, i32 0, i32 2 %t9228 = getelementptr inbounds %LSlice, ptr %t9225, i32 0, i32 0 %t9229 = load i32, ptr %t9226 %t9230 = load i32, ptr %t9227 %t9231 = icmp sge i32 %t9229, %t9230 br i1 %t9231, label %grow1958, label %put1959 grow1958: %t9232 = mul i32 %t9230, 2 %t9233 = icmp eq i32 %t9230, 0 %t9234 = select i1 %t9233, i32 8, i32 %t9232 %t9235 = getelementptr ptr, ptr null, i32 1 %t9236 = ptrtoint ptr %t9235 to i64 %t9237 = zext i32 %t9234 to i64 %t9238 = mul i64 %t9237, %t9236 %t9239 = load ptr, ptr %t9228 %t9240 = call ptr @realloc(ptr %t9239, i64 %t9238) store ptr %t9240, ptr %t9228 store i32 %t9234, ptr %t9227 br label %put1959 put1959: %t9241 = load ptr, ptr %t9228 %t9242 = getelementptr inbounds ptr, ptr %t9241, i32 %t9229 store ptr @.str9017, ptr %t9242 %t9243 = add i32 %t9229, 1 store i32 %t9243, ptr %t9226 br label %ifend1957 ifend1957: br label %ifend1920 ifend1920: %t9244 = load ptr, ptr %t0 %t9245 = call i32 @lp_str_eq(ptr %t9244, ptr @.str9018) %t9246 = icmp ne i32 %t9245, 0 br i1 %t9246, label %then1960, label %ifend1962 then1960: %t9247 = load ptr, ptr %t1 %t9248 = call i32 @lp_str_eq(ptr %t9247, ptr @.str9019) %t9249 = icmp ne i32 %t9248, 0 br i1 %t9249, label %then1963, label %ifend1965 then1963: store ptr @.str9020, ptr %t452 br label %ifend1965 ifend1965: %t9250 = load ptr, ptr %t1 %t9251 = call i32 @lp_str_eq(ptr %t9250, ptr @.str9021) %t9252 = icmp ne i32 %t9251, 0 br i1 %t9252, label %then1966, label %ifend1968 then1966: store ptr @.str9022, ptr %t452 %t9253 = load ptr, ptr %t459 %t9254 = getelementptr inbounds %LSlice, ptr %t9253, i32 0, i32 1 %t9255 = getelementptr inbounds %LSlice, ptr %t9253, i32 0, i32 2 %t9256 = getelementptr inbounds %LSlice, ptr %t9253, i32 0, i32 0 %t9257 = load i32, ptr %t9254 %t9258 = load i32, ptr %t9255 %t9259 = icmp sge i32 %t9257, %t9258 br i1 %t9259, label %grow1969, label %put1970 grow1969: %t9260 = mul i32 %t9258, 2 %t9261 = icmp eq i32 %t9258, 0 %t9262 = select i1 %t9261, i32 8, i32 %t9260 %t9263 = getelementptr ptr, ptr null, i32 1 %t9264 = ptrtoint ptr %t9263 to i64 %t9265 = zext i32 %t9262 to i64 %t9266 = mul i64 %t9265, %t9264 %t9267 = load ptr, ptr %t9256 %t9268 = call ptr @realloc(ptr %t9267, i64 %t9266) store ptr %t9268, ptr %t9256 store i32 %t9262, ptr %t9255 br label %put1970 put1970: %t9269 = load ptr, ptr %t9256 %t9270 = getelementptr inbounds ptr, ptr %t9269, i32 %t9257 store ptr @.str9023, ptr %t9270 %t9271 = add i32 %t9257, 1 store i32 %t9271, ptr %t9254 %t9272 = load ptr, ptr %t459 %t9273 = getelementptr inbounds %LSlice, ptr %t9272, i32 0, i32 1 %t9274 = getelementptr inbounds %LSlice, ptr %t9272, i32 0, i32 2 %t9275 = getelementptr inbounds %LSlice, ptr %t9272, i32 0, i32 0 %t9276 = load i32, ptr %t9273 %t9277 = load i32, ptr %t9274 %t9278 = icmp sge i32 %t9276, %t9277 br i1 %t9278, label %grow1971, label %put1972 grow1971: %t9279 = mul i32 %t9277, 2 %t9280 = icmp eq i32 %t9277, 0 %t9281 = select i1 %t9280, i32 8, i32 %t9279 %t9282 = getelementptr ptr, ptr null, i32 1 %t9283 = ptrtoint ptr %t9282 to i64 %t9284 = zext i32 %t9281 to i64 %t9285 = mul i64 %t9284, %t9283 %t9286 = load ptr, ptr %t9275 %t9287 = call ptr @realloc(ptr %t9286, i64 %t9285) store ptr %t9287, ptr %t9275 store i32 %t9281, ptr %t9274 br label %put1972 put1972: %t9288 = load ptr, ptr %t9275 %t9289 = getelementptr inbounds ptr, ptr %t9288, i32 %t9276 store ptr @.str9024, ptr %t9289 %t9290 = add i32 %t9276, 1 store i32 %t9290, ptr %t9273 br label %ifend1968 ifend1968: %t9291 = load ptr, ptr %t1 %t9292 = call i32 @lp_str_eq(ptr %t9291, ptr @.str9025) %t9293 = icmp ne i32 %t9292, 0 br i1 %t9293, label %then1973, label %ifend1975 then1973: store ptr @.str9026, ptr %t452 %t9294 = load ptr, ptr %t459 %t9295 = getelementptr inbounds %LSlice, ptr %t9294, i32 0, i32 1 %t9296 = getelementptr inbounds %LSlice, ptr %t9294, i32 0, i32 2 %t9297 = getelementptr inbounds %LSlice, ptr %t9294, i32 0, i32 0 %t9298 = load i32, ptr %t9295 %t9299 = load i32, ptr %t9296 %t9300 = icmp sge i32 %t9298, %t9299 br i1 %t9300, label %grow1976, label %put1977 grow1976: %t9301 = mul i32 %t9299, 2 %t9302 = icmp eq i32 %t9299, 0 %t9303 = select i1 %t9302, i32 8, i32 %t9301 %t9304 = getelementptr ptr, ptr null, i32 1 %t9305 = ptrtoint ptr %t9304 to i64 %t9306 = zext i32 %t9303 to i64 %t9307 = mul i64 %t9306, %t9305 %t9308 = load ptr, ptr %t9297 %t9309 = call ptr @realloc(ptr %t9308, i64 %t9307) store ptr %t9309, ptr %t9297 store i32 %t9303, ptr %t9296 br label %put1977 put1977: %t9310 = load ptr, ptr %t9297 %t9311 = getelementptr inbounds ptr, ptr %t9310, i32 %t9298 store ptr @.str9027, ptr %t9311 %t9312 = add i32 %t9298, 1 store i32 %t9312, ptr %t9295 %t9313 = load ptr, ptr %t459 %t9314 = getelementptr inbounds %LSlice, ptr %t9313, i32 0, i32 1 %t9315 = getelementptr inbounds %LSlice, ptr %t9313, i32 0, i32 2 %t9316 = getelementptr inbounds %LSlice, ptr %t9313, i32 0, i32 0 %t9317 = load i32, ptr %t9314 %t9318 = load i32, ptr %t9315 %t9319 = icmp sge i32 %t9317, %t9318 br i1 %t9319, label %grow1978, label %put1979 grow1978: %t9320 = mul i32 %t9318, 2 %t9321 = icmp eq i32 %t9318, 0 %t9322 = select i1 %t9321, i32 8, i32 %t9320 %t9323 = getelementptr ptr, ptr null, i32 1 %t9324 = ptrtoint ptr %t9323 to i64 %t9325 = zext i32 %t9322 to i64 %t9326 = mul i64 %t9325, %t9324 %t9327 = load ptr, ptr %t9316 %t9328 = call ptr @realloc(ptr %t9327, i64 %t9326) store ptr %t9328, ptr %t9316 store i32 %t9322, ptr %t9315 br label %put1979 put1979: %t9329 = load ptr, ptr %t9316 %t9330 = getelementptr inbounds ptr, ptr %t9329, i32 %t9317 store ptr @.str9028, ptr %t9330 %t9331 = add i32 %t9317, 1 store i32 %t9331, ptr %t9314 br label %ifend1975 ifend1975: %t9332 = load ptr, ptr %t1 %t9333 = call i32 @lp_str_eq(ptr %t9332, ptr @.str9029) %t9334 = icmp ne i32 %t9333, 0 br i1 %t9334, label %then1980, label %ifend1982 then1980: store ptr @.str9030, ptr %t452 %t9335 = load ptr, ptr %t459 %t9336 = getelementptr inbounds %LSlice, ptr %t9335, i32 0, i32 1 %t9337 = getelementptr inbounds %LSlice, ptr %t9335, i32 0, i32 2 %t9338 = getelementptr inbounds %LSlice, ptr %t9335, i32 0, i32 0 %t9339 = load i32, ptr %t9336 %t9340 = load i32, ptr %t9337 %t9341 = icmp sge i32 %t9339, %t9340 br i1 %t9341, label %grow1983, label %put1984 grow1983: %t9342 = mul i32 %t9340, 2 %t9343 = icmp eq i32 %t9340, 0 %t9344 = select i1 %t9343, i32 8, i32 %t9342 %t9345 = getelementptr ptr, ptr null, i32 1 %t9346 = ptrtoint ptr %t9345 to i64 %t9347 = zext i32 %t9344 to i64 %t9348 = mul i64 %t9347, %t9346 %t9349 = load ptr, ptr %t9338 %t9350 = call ptr @realloc(ptr %t9349, i64 %t9348) store ptr %t9350, ptr %t9338 store i32 %t9344, ptr %t9337 br label %put1984 put1984: %t9351 = load ptr, ptr %t9338 %t9352 = getelementptr inbounds ptr, ptr %t9351, i32 %t9339 store ptr @.str9031, ptr %t9352 %t9353 = add i32 %t9339, 1 store i32 %t9353, ptr %t9336 %t9354 = load ptr, ptr %t459 %t9355 = getelementptr inbounds %LSlice, ptr %t9354, i32 0, i32 1 %t9356 = getelementptr inbounds %LSlice, ptr %t9354, i32 0, i32 2 %t9357 = getelementptr inbounds %LSlice, ptr %t9354, i32 0, i32 0 %t9358 = load i32, ptr %t9355 %t9359 = load i32, ptr %t9356 %t9360 = icmp sge i32 %t9358, %t9359 br i1 %t9360, label %grow1985, label %put1986 grow1985: %t9361 = mul i32 %t9359, 2 %t9362 = icmp eq i32 %t9359, 0 %t9363 = select i1 %t9362, i32 8, i32 %t9361 %t9364 = getelementptr ptr, ptr null, i32 1 %t9365 = ptrtoint ptr %t9364 to i64 %t9366 = zext i32 %t9363 to i64 %t9367 = mul i64 %t9366, %t9365 %t9368 = load ptr, ptr %t9357 %t9369 = call ptr @realloc(ptr %t9368, i64 %t9367) store ptr %t9369, ptr %t9357 store i32 %t9363, ptr %t9356 br label %put1986 put1986: %t9370 = load ptr, ptr %t9357 %t9371 = getelementptr inbounds ptr, ptr %t9370, i32 %t9358 store ptr @.str9032, ptr %t9371 %t9372 = add i32 %t9358, 1 store i32 %t9372, ptr %t9355 br label %ifend1982 ifend1982: %t9373 = load ptr, ptr %t1 %t9374 = call i32 @lp_str_eq(ptr %t9373, ptr @.str9033) %t9375 = icmp ne i32 %t9374, 0 br i1 %t9375, label %then1987, label %ifend1989 then1987: store ptr @.str9034, ptr %t452 %t9376 = load ptr, ptr %t459 %t9377 = getelementptr inbounds %LSlice, ptr %t9376, i32 0, i32 1 %t9378 = getelementptr inbounds %LSlice, ptr %t9376, i32 0, i32 2 %t9379 = getelementptr inbounds %LSlice, ptr %t9376, i32 0, i32 0 %t9380 = load i32, ptr %t9377 %t9381 = load i32, ptr %t9378 %t9382 = icmp sge i32 %t9380, %t9381 br i1 %t9382, label %grow1990, label %put1991 grow1990: %t9383 = mul i32 %t9381, 2 %t9384 = icmp eq i32 %t9381, 0 %t9385 = select i1 %t9384, i32 8, i32 %t9383 %t9386 = getelementptr ptr, ptr null, i32 1 %t9387 = ptrtoint ptr %t9386 to i64 %t9388 = zext i32 %t9385 to i64 %t9389 = mul i64 %t9388, %t9387 %t9390 = load ptr, ptr %t9379 %t9391 = call ptr @realloc(ptr %t9390, i64 %t9389) store ptr %t9391, ptr %t9379 store i32 %t9385, ptr %t9378 br label %put1991 put1991: %t9392 = load ptr, ptr %t9379 %t9393 = getelementptr inbounds ptr, ptr %t9392, i32 %t9380 store ptr @.str9035, ptr %t9393 %t9394 = add i32 %t9380, 1 store i32 %t9394, ptr %t9377 br label %ifend1989 ifend1989: %t9395 = load ptr, ptr %t1 %t9396 = call i32 @lp_str_eq(ptr %t9395, ptr @.str9036) %t9397 = icmp ne i32 %t9396, 0 br i1 %t9397, label %then1992, label %ifend1994 then1992: store ptr @.str9037, ptr %t452 %t9398 = load ptr, ptr %t459 %t9399 = getelementptr inbounds %LSlice, ptr %t9398, i32 0, i32 1 %t9400 = getelementptr inbounds %LSlice, ptr %t9398, i32 0, i32 2 %t9401 = getelementptr inbounds %LSlice, ptr %t9398, i32 0, i32 0 %t9402 = load i32, ptr %t9399 %t9403 = load i32, ptr %t9400 %t9404 = icmp sge i32 %t9402, %t9403 br i1 %t9404, label %grow1995, label %put1996 grow1995: %t9405 = mul i32 %t9403, 2 %t9406 = icmp eq i32 %t9403, 0 %t9407 = select i1 %t9406, i32 8, i32 %t9405 %t9408 = getelementptr ptr, ptr null, i32 1 %t9409 = ptrtoint ptr %t9408 to i64 %t9410 = zext i32 %t9407 to i64 %t9411 = mul i64 %t9410, %t9409 %t9412 = load ptr, ptr %t9401 %t9413 = call ptr @realloc(ptr %t9412, i64 %t9411) store ptr %t9413, ptr %t9401 store i32 %t9407, ptr %t9400 br label %put1996 put1996: %t9414 = load ptr, ptr %t9401 %t9415 = getelementptr inbounds ptr, ptr %t9414, i32 %t9402 store ptr @.str9038, ptr %t9415 %t9416 = add i32 %t9402, 1 store i32 %t9416, ptr %t9399 br label %ifend1994 ifend1994: %t9417 = load ptr, ptr %t1 %t9418 = call i32 @lp_str_eq(ptr %t9417, ptr @.str9039) %t9419 = icmp ne i32 %t9418, 0 br i1 %t9419, label %then1997, label %ifend1999 then1997: store ptr @.str9040, ptr %t452 %t9420 = load ptr, ptr %t459 %t9421 = getelementptr inbounds %LSlice, ptr %t9420, i32 0, i32 1 %t9422 = getelementptr inbounds %LSlice, ptr %t9420, i32 0, i32 2 %t9423 = getelementptr inbounds %LSlice, ptr %t9420, i32 0, i32 0 %t9424 = load i32, ptr %t9421 %t9425 = load i32, ptr %t9422 %t9426 = icmp sge i32 %t9424, %t9425 br i1 %t9426, label %grow2000, label %put2001 grow2000: %t9427 = mul i32 %t9425, 2 %t9428 = icmp eq i32 %t9425, 0 %t9429 = select i1 %t9428, i32 8, i32 %t9427 %t9430 = getelementptr ptr, ptr null, i32 1 %t9431 = ptrtoint ptr %t9430 to i64 %t9432 = zext i32 %t9429 to i64 %t9433 = mul i64 %t9432, %t9431 %t9434 = load ptr, ptr %t9423 %t9435 = call ptr @realloc(ptr %t9434, i64 %t9433) store ptr %t9435, ptr %t9423 store i32 %t9429, ptr %t9422 br label %put2001 put2001: %t9436 = load ptr, ptr %t9423 %t9437 = getelementptr inbounds ptr, ptr %t9436, i32 %t9424 store ptr @.str9041, ptr %t9437 %t9438 = add i32 %t9424, 1 store i32 %t9438, ptr %t9421 br label %ifend1999 ifend1999: %t9439 = load ptr, ptr %t1 %t9440 = call i32 @lp_str_eq(ptr %t9439, ptr @.str9042) %t9441 = icmp ne i32 %t9440, 0 br i1 %t9441, label %then2002, label %ifend2004 then2002: store ptr @.str9043, ptr %t452 %t9442 = load ptr, ptr %t459 %t9443 = getelementptr inbounds %LSlice, ptr %t9442, i32 0, i32 1 %t9444 = getelementptr inbounds %LSlice, ptr %t9442, i32 0, i32 2 %t9445 = getelementptr inbounds %LSlice, ptr %t9442, i32 0, i32 0 %t9446 = load i32, ptr %t9443 %t9447 = load i32, ptr %t9444 %t9448 = icmp sge i32 %t9446, %t9447 br i1 %t9448, label %grow2005, label %put2006 grow2005: %t9449 = mul i32 %t9447, 2 %t9450 = icmp eq i32 %t9447, 0 %t9451 = select i1 %t9450, i32 8, i32 %t9449 %t9452 = getelementptr ptr, ptr null, i32 1 %t9453 = ptrtoint ptr %t9452 to i64 %t9454 = zext i32 %t9451 to i64 %t9455 = mul i64 %t9454, %t9453 %t9456 = load ptr, ptr %t9445 %t9457 = call ptr @realloc(ptr %t9456, i64 %t9455) store ptr %t9457, ptr %t9445 store i32 %t9451, ptr %t9444 br label %put2006 put2006: %t9458 = load ptr, ptr %t9445 %t9459 = getelementptr inbounds ptr, ptr %t9458, i32 %t9446 store ptr @.str9044, ptr %t9459 %t9460 = add i32 %t9446, 1 store i32 %t9460, ptr %t9443 br label %ifend2004 ifend2004: %t9461 = load ptr, ptr %t1 %t9462 = call i32 @lp_str_eq(ptr %t9461, ptr @.str9045) %t9463 = icmp ne i32 %t9462, 0 br i1 %t9463, label %then2007, label %ifend2009 then2007: store ptr @.str9046, ptr %t452 %t9464 = load ptr, ptr %t459 %t9465 = getelementptr inbounds %LSlice, ptr %t9464, i32 0, i32 1 %t9466 = getelementptr inbounds %LSlice, ptr %t9464, i32 0, i32 2 %t9467 = getelementptr inbounds %LSlice, ptr %t9464, i32 0, i32 0 %t9468 = load i32, ptr %t9465 %t9469 = load i32, ptr %t9466 %t9470 = icmp sge i32 %t9468, %t9469 br i1 %t9470, label %grow2010, label %put2011 grow2010: %t9471 = mul i32 %t9469, 2 %t9472 = icmp eq i32 %t9469, 0 %t9473 = select i1 %t9472, i32 8, i32 %t9471 %t9474 = getelementptr ptr, ptr null, i32 1 %t9475 = ptrtoint ptr %t9474 to i64 %t9476 = zext i32 %t9473 to i64 %t9477 = mul i64 %t9476, %t9475 %t9478 = load ptr, ptr %t9467 %t9479 = call ptr @realloc(ptr %t9478, i64 %t9477) store ptr %t9479, ptr %t9467 store i32 %t9473, ptr %t9466 br label %put2011 put2011: %t9480 = load ptr, ptr %t9467 %t9481 = getelementptr inbounds ptr, ptr %t9480, i32 %t9468 store ptr @.str9047, ptr %t9481 %t9482 = add i32 %t9468, 1 store i32 %t9482, ptr %t9465 br label %ifend2009 ifend2009: %t9483 = load ptr, ptr %t1 %t9484 = call i32 @lp_str_eq(ptr %t9483, ptr @.str9048) %t9485 = icmp ne i32 %t9484, 0 br i1 %t9485, label %then2012, label %ifend2014 then2012: store ptr @.str9049, ptr %t452 %t9486 = load ptr, ptr %t459 %t9487 = getelementptr inbounds %LSlice, ptr %t9486, i32 0, i32 1 %t9488 = getelementptr inbounds %LSlice, ptr %t9486, i32 0, i32 2 %t9489 = getelementptr inbounds %LSlice, ptr %t9486, i32 0, i32 0 %t9490 = load i32, ptr %t9487 %t9491 = load i32, ptr %t9488 %t9492 = icmp sge i32 %t9490, %t9491 br i1 %t9492, label %grow2015, label %put2016 grow2015: %t9493 = mul i32 %t9491, 2 %t9494 = icmp eq i32 %t9491, 0 %t9495 = select i1 %t9494, i32 8, i32 %t9493 %t9496 = getelementptr ptr, ptr null, i32 1 %t9497 = ptrtoint ptr %t9496 to i64 %t9498 = zext i32 %t9495 to i64 %t9499 = mul i64 %t9498, %t9497 %t9500 = load ptr, ptr %t9489 %t9501 = call ptr @realloc(ptr %t9500, i64 %t9499) store ptr %t9501, ptr %t9489 store i32 %t9495, ptr %t9488 br label %put2016 put2016: %t9502 = load ptr, ptr %t9489 %t9503 = getelementptr inbounds ptr, ptr %t9502, i32 %t9490 store ptr @.str9050, ptr %t9503 %t9504 = add i32 %t9490, 1 store i32 %t9504, ptr %t9487 br label %ifend2014 ifend2014: %t9505 = load ptr, ptr %t1 %t9506 = call i32 @lp_str_eq(ptr %t9505, ptr @.str9051) %t9507 = icmp ne i32 %t9506, 0 br i1 %t9507, label %then2017, label %ifend2019 then2017: store ptr @.str9052, ptr %t452 %t9508 = load ptr, ptr %t459 %t9509 = getelementptr inbounds %LSlice, ptr %t9508, i32 0, i32 1 %t9510 = getelementptr inbounds %LSlice, ptr %t9508, i32 0, i32 2 %t9511 = getelementptr inbounds %LSlice, ptr %t9508, i32 0, i32 0 %t9512 = load i32, ptr %t9509 %t9513 = load i32, ptr %t9510 %t9514 = icmp sge i32 %t9512, %t9513 br i1 %t9514, label %grow2020, label %put2021 grow2020: %t9515 = mul i32 %t9513, 2 %t9516 = icmp eq i32 %t9513, 0 %t9517 = select i1 %t9516, i32 8, i32 %t9515 %t9518 = getelementptr ptr, ptr null, i32 1 %t9519 = ptrtoint ptr %t9518 to i64 %t9520 = zext i32 %t9517 to i64 %t9521 = mul i64 %t9520, %t9519 %t9522 = load ptr, ptr %t9511 %t9523 = call ptr @realloc(ptr %t9522, i64 %t9521) store ptr %t9523, ptr %t9511 store i32 %t9517, ptr %t9510 br label %put2021 put2021: %t9524 = load ptr, ptr %t9511 %t9525 = getelementptr inbounds ptr, ptr %t9524, i32 %t9512 store ptr @.str9053, ptr %t9525 %t9526 = add i32 %t9512, 1 store i32 %t9526, ptr %t9509 br label %ifend2019 ifend2019: %t9527 = load ptr, ptr %t1 %t9528 = call i32 @lp_str_eq(ptr %t9527, ptr @.str9054) %t9529 = icmp ne i32 %t9528, 0 br i1 %t9529, label %then2022, label %ifend2024 then2022: store ptr @.str9055, ptr %t452 %t9530 = load ptr, ptr %t459 %t9531 = getelementptr inbounds %LSlice, ptr %t9530, i32 0, i32 1 %t9532 = getelementptr inbounds %LSlice, ptr %t9530, i32 0, i32 2 %t9533 = getelementptr inbounds %LSlice, ptr %t9530, i32 0, i32 0 %t9534 = load i32, ptr %t9531 %t9535 = load i32, ptr %t9532 %t9536 = icmp sge i32 %t9534, %t9535 br i1 %t9536, label %grow2025, label %put2026 grow2025: %t9537 = mul i32 %t9535, 2 %t9538 = icmp eq i32 %t9535, 0 %t9539 = select i1 %t9538, i32 8, i32 %t9537 %t9540 = getelementptr ptr, ptr null, i32 1 %t9541 = ptrtoint ptr %t9540 to i64 %t9542 = zext i32 %t9539 to i64 %t9543 = mul i64 %t9542, %t9541 %t9544 = load ptr, ptr %t9533 %t9545 = call ptr @realloc(ptr %t9544, i64 %t9543) store ptr %t9545, ptr %t9533 store i32 %t9539, ptr %t9532 br label %put2026 put2026: %t9546 = load ptr, ptr %t9533 %t9547 = getelementptr inbounds ptr, ptr %t9546, i32 %t9534 store ptr @.str9056, ptr %t9547 %t9548 = add i32 %t9534, 1 store i32 %t9548, ptr %t9531 br label %ifend2024 ifend2024: %t9549 = load ptr, ptr %t1 %t9550 = call i32 @lp_str_eq(ptr %t9549, ptr @.str9057) %t9551 = icmp ne i32 %t9550, 0 br i1 %t9551, label %then2027, label %ifend2029 then2027: store ptr @.str9058, ptr %t452 br label %ifend2029 ifend2029: %t9552 = load ptr, ptr %t1 %t9553 = call i32 @lp_str_eq(ptr %t9552, ptr @.str9059) %t9554 = icmp ne i32 %t9553, 0 br i1 %t9554, label %then2030, label %ifend2032 then2030: store ptr @.str9060, ptr %t452 %t9555 = load ptr, ptr %t459 %t9556 = getelementptr inbounds %LSlice, ptr %t9555, i32 0, i32 1 %t9557 = getelementptr inbounds %LSlice, ptr %t9555, i32 0, i32 2 %t9558 = getelementptr inbounds %LSlice, ptr %t9555, i32 0, i32 0 %t9559 = load i32, ptr %t9556 %t9560 = load i32, ptr %t9557 %t9561 = icmp sge i32 %t9559, %t9560 br i1 %t9561, label %grow2033, label %put2034 grow2033: %t9562 = mul i32 %t9560, 2 %t9563 = icmp eq i32 %t9560, 0 %t9564 = select i1 %t9563, i32 8, i32 %t9562 %t9565 = getelementptr ptr, ptr null, i32 1 %t9566 = ptrtoint ptr %t9565 to i64 %t9567 = zext i32 %t9564 to i64 %t9568 = mul i64 %t9567, %t9566 %t9569 = load ptr, ptr %t9558 %t9570 = call ptr @realloc(ptr %t9569, i64 %t9568) store ptr %t9570, ptr %t9558 store i32 %t9564, ptr %t9557 br label %put2034 put2034: %t9571 = load ptr, ptr %t9558 %t9572 = getelementptr inbounds ptr, ptr %t9571, i32 %t9559 store ptr @.str9061, ptr %t9572 %t9573 = add i32 %t9559, 1 store i32 %t9573, ptr %t9556 br label %ifend2032 ifend2032: %t9574 = load ptr, ptr %t1 %t9575 = call i32 @lp_str_eq(ptr %t9574, ptr @.str9062) %t9576 = icmp ne i32 %t9575, 0 br i1 %t9576, label %then2035, label %ifend2037 then2035: store ptr @.str9063, ptr %t452 %t9577 = load ptr, ptr %t459 %t9578 = getelementptr inbounds %LSlice, ptr %t9577, i32 0, i32 1 %t9579 = getelementptr inbounds %LSlice, ptr %t9577, i32 0, i32 2 %t9580 = getelementptr inbounds %LSlice, ptr %t9577, i32 0, i32 0 %t9581 = load i32, ptr %t9578 %t9582 = load i32, ptr %t9579 %t9583 = icmp sge i32 %t9581, %t9582 br i1 %t9583, label %grow2038, label %put2039 grow2038: %t9584 = mul i32 %t9582, 2 %t9585 = icmp eq i32 %t9582, 0 %t9586 = select i1 %t9585, i32 8, i32 %t9584 %t9587 = getelementptr ptr, ptr null, i32 1 %t9588 = ptrtoint ptr %t9587 to i64 %t9589 = zext i32 %t9586 to i64 %t9590 = mul i64 %t9589, %t9588 %t9591 = load ptr, ptr %t9580 %t9592 = call ptr @realloc(ptr %t9591, i64 %t9590) store ptr %t9592, ptr %t9580 store i32 %t9586, ptr %t9579 br label %put2039 put2039: %t9593 = load ptr, ptr %t9580 %t9594 = getelementptr inbounds ptr, ptr %t9593, i32 %t9581 store ptr @.str9064, ptr %t9594 %t9595 = add i32 %t9581, 1 store i32 %t9595, ptr %t9578 %t9596 = load ptr, ptr %t459 %t9597 = getelementptr inbounds %LSlice, ptr %t9596, i32 0, i32 1 %t9598 = getelementptr inbounds %LSlice, ptr %t9596, i32 0, i32 2 %t9599 = getelementptr inbounds %LSlice, ptr %t9596, i32 0, i32 0 %t9600 = load i32, ptr %t9597 %t9601 = load i32, ptr %t9598 %t9602 = icmp sge i32 %t9600, %t9601 br i1 %t9602, label %grow2040, label %put2041 grow2040: %t9603 = mul i32 %t9601, 2 %t9604 = icmp eq i32 %t9601, 0 %t9605 = select i1 %t9604, i32 8, i32 %t9603 %t9606 = getelementptr ptr, ptr null, i32 1 %t9607 = ptrtoint ptr %t9606 to i64 %t9608 = zext i32 %t9605 to i64 %t9609 = mul i64 %t9608, %t9607 %t9610 = load ptr, ptr %t9599 %t9611 = call ptr @realloc(ptr %t9610, i64 %t9609) store ptr %t9611, ptr %t9599 store i32 %t9605, ptr %t9598 br label %put2041 put2041: %t9612 = load ptr, ptr %t9599 %t9613 = getelementptr inbounds ptr, ptr %t9612, i32 %t9600 store ptr @.str9065, ptr %t9613 %t9614 = add i32 %t9600, 1 store i32 %t9614, ptr %t9597 %t9615 = load ptr, ptr %t459 %t9616 = getelementptr inbounds %LSlice, ptr %t9615, i32 0, i32 1 %t9617 = getelementptr inbounds %LSlice, ptr %t9615, i32 0, i32 2 %t9618 = getelementptr inbounds %LSlice, ptr %t9615, i32 0, i32 0 %t9619 = load i32, ptr %t9616 %t9620 = load i32, ptr %t9617 %t9621 = icmp sge i32 %t9619, %t9620 br i1 %t9621, label %grow2042, label %put2043 grow2042: %t9622 = mul i32 %t9620, 2 %t9623 = icmp eq i32 %t9620, 0 %t9624 = select i1 %t9623, i32 8, i32 %t9622 %t9625 = getelementptr ptr, ptr null, i32 1 %t9626 = ptrtoint ptr %t9625 to i64 %t9627 = zext i32 %t9624 to i64 %t9628 = mul i64 %t9627, %t9626 %t9629 = load ptr, ptr %t9618 %t9630 = call ptr @realloc(ptr %t9629, i64 %t9628) store ptr %t9630, ptr %t9618 store i32 %t9624, ptr %t9617 br label %put2043 put2043: %t9631 = load ptr, ptr %t9618 %t9632 = getelementptr inbounds ptr, ptr %t9631, i32 %t9619 store ptr @.str9066, ptr %t9632 %t9633 = add i32 %t9619, 1 store i32 %t9633, ptr %t9616 br label %ifend2037 ifend2037: %t9634 = load ptr, ptr %t1 %t9635 = call i32 @lp_str_eq(ptr %t9634, ptr @.str9067) %t9636 = icmp ne i32 %t9635, 0 br i1 %t9636, label %then2044, label %ifend2046 then2044: store ptr @.str9068, ptr %t452 br label %ifend2046 ifend2046: br label %ifend1962 ifend1962: %t9637 = load ptr, ptr %t0 %t9638 = call i32 @lp_str_eq(ptr %t9637, ptr @.str9069) %t9639 = icmp ne i32 %t9638, 0 br i1 %t9639, label %then2047, label %ifend2049 then2047: %t9640 = load ptr, ptr %t1 %t9641 = call i32 @lp_str_eq(ptr %t9640, ptr @.str9070) %t9642 = icmp ne i32 %t9641, 0 br i1 %t9642, label %then2050, label %ifend2052 then2050: store ptr @.str9071, ptr %t452 %t9643 = load ptr, ptr %t459 %t9644 = getelementptr inbounds %LSlice, ptr %t9643, i32 0, i32 1 %t9645 = getelementptr inbounds %LSlice, ptr %t9643, i32 0, i32 2 %t9646 = getelementptr inbounds %LSlice, ptr %t9643, i32 0, i32 0 %t9647 = load i32, ptr %t9644 %t9648 = load i32, ptr %t9645 %t9649 = icmp sge i32 %t9647, %t9648 br i1 %t9649, label %grow2053, label %put2054 grow2053: %t9650 = mul i32 %t9648, 2 %t9651 = icmp eq i32 %t9648, 0 %t9652 = select i1 %t9651, i32 8, i32 %t9650 %t9653 = getelementptr ptr, ptr null, i32 1 %t9654 = ptrtoint ptr %t9653 to i64 %t9655 = zext i32 %t9652 to i64 %t9656 = mul i64 %t9655, %t9654 %t9657 = load ptr, ptr %t9646 %t9658 = call ptr @realloc(ptr %t9657, i64 %t9656) store ptr %t9658, ptr %t9646 store i32 %t9652, ptr %t9645 br label %put2054 put2054: %t9659 = load ptr, ptr %t9646 %t9660 = getelementptr inbounds ptr, ptr %t9659, i32 %t9647 store ptr @.str9072, ptr %t9660 %t9661 = add i32 %t9647, 1 store i32 %t9661, ptr %t9644 br label %ifend2052 ifend2052: %t9662 = load ptr, ptr %t1 %t9663 = call i32 @lp_str_eq(ptr %t9662, ptr @.str9073) %t9664 = icmp ne i32 %t9663, 0 br i1 %t9664, label %then2055, label %ifend2057 then2055: store ptr @.str9074, ptr %t452 %t9665 = load ptr, ptr %t459 %t9666 = getelementptr inbounds %LSlice, ptr %t9665, i32 0, i32 1 %t9667 = getelementptr inbounds %LSlice, ptr %t9665, i32 0, i32 2 %t9668 = getelementptr inbounds %LSlice, ptr %t9665, i32 0, i32 0 %t9669 = load i32, ptr %t9666 %t9670 = load i32, ptr %t9667 %t9671 = icmp sge i32 %t9669, %t9670 br i1 %t9671, label %grow2058, label %put2059 grow2058: %t9672 = mul i32 %t9670, 2 %t9673 = icmp eq i32 %t9670, 0 %t9674 = select i1 %t9673, i32 8, i32 %t9672 %t9675 = getelementptr ptr, ptr null, i32 1 %t9676 = ptrtoint ptr %t9675 to i64 %t9677 = zext i32 %t9674 to i64 %t9678 = mul i64 %t9677, %t9676 %t9679 = load ptr, ptr %t9668 %t9680 = call ptr @realloc(ptr %t9679, i64 %t9678) store ptr %t9680, ptr %t9668 store i32 %t9674, ptr %t9667 br label %put2059 put2059: %t9681 = load ptr, ptr %t9668 %t9682 = getelementptr inbounds ptr, ptr %t9681, i32 %t9669 store ptr @.str9075, ptr %t9682 %t9683 = add i32 %t9669, 1 store i32 %t9683, ptr %t9666 br label %ifend2057 ifend2057: %t9684 = load ptr, ptr %t1 %t9685 = call i32 @lp_str_eq(ptr %t9684, ptr @.str9076) %t9686 = icmp ne i32 %t9685, 0 br i1 %t9686, label %then2060, label %ifend2062 then2060: store ptr @.str9077, ptr %t452 %t9687 = load ptr, ptr %t459 %t9688 = getelementptr inbounds %LSlice, ptr %t9687, i32 0, i32 1 %t9689 = getelementptr inbounds %LSlice, ptr %t9687, i32 0, i32 2 %t9690 = getelementptr inbounds %LSlice, ptr %t9687, i32 0, i32 0 %t9691 = load i32, ptr %t9688 %t9692 = load i32, ptr %t9689 %t9693 = icmp sge i32 %t9691, %t9692 br i1 %t9693, label %grow2063, label %put2064 grow2063: %t9694 = mul i32 %t9692, 2 %t9695 = icmp eq i32 %t9692, 0 %t9696 = select i1 %t9695, i32 8, i32 %t9694 %t9697 = getelementptr ptr, ptr null, i32 1 %t9698 = ptrtoint ptr %t9697 to i64 %t9699 = zext i32 %t9696 to i64 %t9700 = mul i64 %t9699, %t9698 %t9701 = load ptr, ptr %t9690 %t9702 = call ptr @realloc(ptr %t9701, i64 %t9700) store ptr %t9702, ptr %t9690 store i32 %t9696, ptr %t9689 br label %put2064 put2064: %t9703 = load ptr, ptr %t9690 %t9704 = getelementptr inbounds ptr, ptr %t9703, i32 %t9691 store ptr @.str9078, ptr %t9704 %t9705 = add i32 %t9691, 1 store i32 %t9705, ptr %t9688 br label %ifend2062 ifend2062: %t9706 = load ptr, ptr %t1 %t9707 = call i32 @lp_str_eq(ptr %t9706, ptr @.str9079) %t9708 = icmp ne i32 %t9707, 0 br i1 %t9708, label %then2065, label %ifend2067 then2065: store ptr @.str9080, ptr %t452 %t9709 = load ptr, ptr %t459 %t9710 = getelementptr inbounds %LSlice, ptr %t9709, i32 0, i32 1 %t9711 = getelementptr inbounds %LSlice, ptr %t9709, i32 0, i32 2 %t9712 = getelementptr inbounds %LSlice, ptr %t9709, i32 0, i32 0 %t9713 = load i32, ptr %t9710 %t9714 = load i32, ptr %t9711 %t9715 = icmp sge i32 %t9713, %t9714 br i1 %t9715, label %grow2068, label %put2069 grow2068: %t9716 = mul i32 %t9714, 2 %t9717 = icmp eq i32 %t9714, 0 %t9718 = select i1 %t9717, i32 8, i32 %t9716 %t9719 = getelementptr ptr, ptr null, i32 1 %t9720 = ptrtoint ptr %t9719 to i64 %t9721 = zext i32 %t9718 to i64 %t9722 = mul i64 %t9721, %t9720 %t9723 = load ptr, ptr %t9712 %t9724 = call ptr @realloc(ptr %t9723, i64 %t9722) store ptr %t9724, ptr %t9712 store i32 %t9718, ptr %t9711 br label %put2069 put2069: %t9725 = load ptr, ptr %t9712 %t9726 = getelementptr inbounds ptr, ptr %t9725, i32 %t9713 store ptr @.str9081, ptr %t9726 %t9727 = add i32 %t9713, 1 store i32 %t9727, ptr %t9710 br label %ifend2067 ifend2067: br label %ifend2049 ifend2049: %t9728 = load ptr, ptr %t0 %t9729 = call i32 @lp_str_eq(ptr %t9728, ptr @.str9082) %t9730 = icmp ne i32 %t9729, 0 br i1 %t9730, label %then2070, label %ifend2072 then2070: %t9731 = load ptr, ptr %t1 %t9732 = call i32 @lp_str_eq(ptr %t9731, ptr @.str9083) %t9733 = icmp ne i32 %t9732, 0 br i1 %t9733, label %then2073, label %ifend2075 then2073: store ptr @.str9084, ptr %t452 br label %ifend2075 ifend2075: %t9734 = load ptr, ptr %t1 %t9735 = call i32 @lp_str_eq(ptr %t9734, ptr @.str9085) %t9736 = icmp ne i32 %t9735, 0 br i1 %t9736, label %then2076, label %ifend2078 then2076: store ptr @.str9086, ptr %t452 %t9737 = load ptr, ptr %t459 %t9738 = getelementptr inbounds %LSlice, ptr %t9737, i32 0, i32 1 %t9739 = getelementptr inbounds %LSlice, ptr %t9737, i32 0, i32 2 %t9740 = getelementptr inbounds %LSlice, ptr %t9737, i32 0, i32 0 %t9741 = load i32, ptr %t9738 %t9742 = load i32, ptr %t9739 %t9743 = icmp sge i32 %t9741, %t9742 br i1 %t9743, label %grow2079, label %put2080 grow2079: %t9744 = mul i32 %t9742, 2 %t9745 = icmp eq i32 %t9742, 0 %t9746 = select i1 %t9745, i32 8, i32 %t9744 %t9747 = getelementptr ptr, ptr null, i32 1 %t9748 = ptrtoint ptr %t9747 to i64 %t9749 = zext i32 %t9746 to i64 %t9750 = mul i64 %t9749, %t9748 %t9751 = load ptr, ptr %t9740 %t9752 = call ptr @realloc(ptr %t9751, i64 %t9750) store ptr %t9752, ptr %t9740 store i32 %t9746, ptr %t9739 br label %put2080 put2080: %t9753 = load ptr, ptr %t9740 %t9754 = getelementptr inbounds ptr, ptr %t9753, i32 %t9741 store ptr @.str9087, ptr %t9754 %t9755 = add i32 %t9741, 1 store i32 %t9755, ptr %t9738 br label %ifend2078 ifend2078: %t9756 = load ptr, ptr %t1 %t9757 = call i32 @lp_str_eq(ptr %t9756, ptr @.str9088) %t9758 = icmp ne i32 %t9757, 0 br i1 %t9758, label %then2081, label %ifend2083 then2081: store ptr @.str9089, ptr %t452 %t9759 = load ptr, ptr %t459 %t9760 = getelementptr inbounds %LSlice, ptr %t9759, i32 0, i32 1 %t9761 = getelementptr inbounds %LSlice, ptr %t9759, i32 0, i32 2 %t9762 = getelementptr inbounds %LSlice, ptr %t9759, i32 0, i32 0 %t9763 = load i32, ptr %t9760 %t9764 = load i32, ptr %t9761 %t9765 = icmp sge i32 %t9763, %t9764 br i1 %t9765, label %grow2084, label %put2085 grow2084: %t9766 = mul i32 %t9764, 2 %t9767 = icmp eq i32 %t9764, 0 %t9768 = select i1 %t9767, i32 8, i32 %t9766 %t9769 = getelementptr ptr, ptr null, i32 1 %t9770 = ptrtoint ptr %t9769 to i64 %t9771 = zext i32 %t9768 to i64 %t9772 = mul i64 %t9771, %t9770 %t9773 = load ptr, ptr %t9762 %t9774 = call ptr @realloc(ptr %t9773, i64 %t9772) store ptr %t9774, ptr %t9762 store i32 %t9768, ptr %t9761 br label %put2085 put2085: %t9775 = load ptr, ptr %t9762 %t9776 = getelementptr inbounds ptr, ptr %t9775, i32 %t9763 store ptr @.str9090, ptr %t9776 %t9777 = add i32 %t9763, 1 store i32 %t9777, ptr %t9760 br label %ifend2083 ifend2083: %t9778 = load ptr, ptr %t1 %t9779 = call i32 @lp_str_eq(ptr %t9778, ptr @.str9091) %t9780 = icmp ne i32 %t9779, 0 br i1 %t9780, label %then2086, label %ifend2088 then2086: store ptr @.str9092, ptr %t452 %t9781 = load ptr, ptr %t459 %t9782 = getelementptr inbounds %LSlice, ptr %t9781, i32 0, i32 1 %t9783 = getelementptr inbounds %LSlice, ptr %t9781, i32 0, i32 2 %t9784 = getelementptr inbounds %LSlice, ptr %t9781, i32 0, i32 0 %t9785 = load i32, ptr %t9782 %t9786 = load i32, ptr %t9783 %t9787 = icmp sge i32 %t9785, %t9786 br i1 %t9787, label %grow2089, label %put2090 grow2089: %t9788 = mul i32 %t9786, 2 %t9789 = icmp eq i32 %t9786, 0 %t9790 = select i1 %t9789, i32 8, i32 %t9788 %t9791 = getelementptr ptr, ptr null, i32 1 %t9792 = ptrtoint ptr %t9791 to i64 %t9793 = zext i32 %t9790 to i64 %t9794 = mul i64 %t9793, %t9792 %t9795 = load ptr, ptr %t9784 %t9796 = call ptr @realloc(ptr %t9795, i64 %t9794) store ptr %t9796, ptr %t9784 store i32 %t9790, ptr %t9783 br label %put2090 put2090: %t9797 = load ptr, ptr %t9784 %t9798 = getelementptr inbounds ptr, ptr %t9797, i32 %t9785 store ptr @.str9093, ptr %t9798 %t9799 = add i32 %t9785, 1 store i32 %t9799, ptr %t9782 br label %ifend2088 ifend2088: %t9800 = load ptr, ptr %t1 %t9801 = call i32 @lp_str_eq(ptr %t9800, ptr @.str9094) %t9802 = icmp ne i32 %t9801, 0 br i1 %t9802, label %then2091, label %ifend2093 then2091: store ptr @.str9095, ptr %t452 br label %ifend2093 ifend2093: %t9803 = load ptr, ptr %t1 %t9804 = call i32 @lp_str_eq(ptr %t9803, ptr @.str9096) %t9805 = icmp ne i32 %t9804, 0 br i1 %t9805, label %then2094, label %ifend2096 then2094: store ptr @.str9097, ptr %t452 %t9806 = load ptr, ptr %t459 %t9807 = getelementptr inbounds %LSlice, ptr %t9806, i32 0, i32 1 %t9808 = getelementptr inbounds %LSlice, ptr %t9806, i32 0, i32 2 %t9809 = getelementptr inbounds %LSlice, ptr %t9806, i32 0, i32 0 %t9810 = load i32, ptr %t9807 %t9811 = load i32, ptr %t9808 %t9812 = icmp sge i32 %t9810, %t9811 br i1 %t9812, label %grow2097, label %put2098 grow2097: %t9813 = mul i32 %t9811, 2 %t9814 = icmp eq i32 %t9811, 0 %t9815 = select i1 %t9814, i32 8, i32 %t9813 %t9816 = getelementptr ptr, ptr null, i32 1 %t9817 = ptrtoint ptr %t9816 to i64 %t9818 = zext i32 %t9815 to i64 %t9819 = mul i64 %t9818, %t9817 %t9820 = load ptr, ptr %t9809 %t9821 = call ptr @realloc(ptr %t9820, i64 %t9819) store ptr %t9821, ptr %t9809 store i32 %t9815, ptr %t9808 br label %put2098 put2098: %t9822 = load ptr, ptr %t9809 %t9823 = getelementptr inbounds ptr, ptr %t9822, i32 %t9810 store ptr @.str9098, ptr %t9823 %t9824 = add i32 %t9810, 1 store i32 %t9824, ptr %t9807 br label %ifend2096 ifend2096: %t9825 = load ptr, ptr %t1 %t9826 = call i32 @lp_str_eq(ptr %t9825, ptr @.str9099) %t9827 = icmp ne i32 %t9826, 0 br i1 %t9827, label %then2099, label %ifend2101 then2099: store ptr @.str9100, ptr %t452 %t9828 = load ptr, ptr %t459 %t9829 = getelementptr inbounds %LSlice, ptr %t9828, i32 0, i32 1 %t9830 = getelementptr inbounds %LSlice, ptr %t9828, i32 0, i32 2 %t9831 = getelementptr inbounds %LSlice, ptr %t9828, i32 0, i32 0 %t9832 = load i32, ptr %t9829 %t9833 = load i32, ptr %t9830 %t9834 = icmp sge i32 %t9832, %t9833 br i1 %t9834, label %grow2102, label %put2103 grow2102: %t9835 = mul i32 %t9833, 2 %t9836 = icmp eq i32 %t9833, 0 %t9837 = select i1 %t9836, i32 8, i32 %t9835 %t9838 = getelementptr ptr, ptr null, i32 1 %t9839 = ptrtoint ptr %t9838 to i64 %t9840 = zext i32 %t9837 to i64 %t9841 = mul i64 %t9840, %t9839 %t9842 = load ptr, ptr %t9831 %t9843 = call ptr @realloc(ptr %t9842, i64 %t9841) store ptr %t9843, ptr %t9831 store i32 %t9837, ptr %t9830 br label %put2103 put2103: %t9844 = load ptr, ptr %t9831 %t9845 = getelementptr inbounds ptr, ptr %t9844, i32 %t9832 store ptr @.str9101, ptr %t9845 %t9846 = add i32 %t9832, 1 store i32 %t9846, ptr %t9829 %t9847 = load ptr, ptr %t459 %t9848 = getelementptr inbounds %LSlice, ptr %t9847, i32 0, i32 1 %t9849 = getelementptr inbounds %LSlice, ptr %t9847, i32 0, i32 2 %t9850 = getelementptr inbounds %LSlice, ptr %t9847, i32 0, i32 0 %t9851 = load i32, ptr %t9848 %t9852 = load i32, ptr %t9849 %t9853 = icmp sge i32 %t9851, %t9852 br i1 %t9853, label %grow2104, label %put2105 grow2104: %t9854 = mul i32 %t9852, 2 %t9855 = icmp eq i32 %t9852, 0 %t9856 = select i1 %t9855, i32 8, i32 %t9854 %t9857 = getelementptr ptr, ptr null, i32 1 %t9858 = ptrtoint ptr %t9857 to i64 %t9859 = zext i32 %t9856 to i64 %t9860 = mul i64 %t9859, %t9858 %t9861 = load ptr, ptr %t9850 %t9862 = call ptr @realloc(ptr %t9861, i64 %t9860) store ptr %t9862, ptr %t9850 store i32 %t9856, ptr %t9849 br label %put2105 put2105: %t9863 = load ptr, ptr %t9850 %t9864 = getelementptr inbounds ptr, ptr %t9863, i32 %t9851 store ptr @.str9102, ptr %t9864 %t9865 = add i32 %t9851, 1 store i32 %t9865, ptr %t9848 br label %ifend2101 ifend2101: %t9866 = load ptr, ptr %t1 %t9867 = call i32 @lp_str_eq(ptr %t9866, ptr @.str9103) %t9868 = icmp ne i32 %t9867, 0 br i1 %t9868, label %then2106, label %ifend2108 then2106: store ptr @.str9104, ptr %t452 %t9869 = load ptr, ptr %t459 %t9870 = getelementptr inbounds %LSlice, ptr %t9869, i32 0, i32 1 %t9871 = getelementptr inbounds %LSlice, ptr %t9869, i32 0, i32 2 %t9872 = getelementptr inbounds %LSlice, ptr %t9869, i32 0, i32 0 %t9873 = load i32, ptr %t9870 %t9874 = load i32, ptr %t9871 %t9875 = icmp sge i32 %t9873, %t9874 br i1 %t9875, label %grow2109, label %put2110 grow2109: %t9876 = mul i32 %t9874, 2 %t9877 = icmp eq i32 %t9874, 0 %t9878 = select i1 %t9877, i32 8, i32 %t9876 %t9879 = getelementptr ptr, ptr null, i32 1 %t9880 = ptrtoint ptr %t9879 to i64 %t9881 = zext i32 %t9878 to i64 %t9882 = mul i64 %t9881, %t9880 %t9883 = load ptr, ptr %t9872 %t9884 = call ptr @realloc(ptr %t9883, i64 %t9882) store ptr %t9884, ptr %t9872 store i32 %t9878, ptr %t9871 br label %put2110 put2110: %t9885 = load ptr, ptr %t9872 %t9886 = getelementptr inbounds ptr, ptr %t9885, i32 %t9873 store ptr @.str9105, ptr %t9886 %t9887 = add i32 %t9873, 1 store i32 %t9887, ptr %t9870 %t9888 = load ptr, ptr %t459 %t9889 = getelementptr inbounds %LSlice, ptr %t9888, i32 0, i32 1 %t9890 = getelementptr inbounds %LSlice, ptr %t9888, i32 0, i32 2 %t9891 = getelementptr inbounds %LSlice, ptr %t9888, i32 0, i32 0 %t9892 = load i32, ptr %t9889 %t9893 = load i32, ptr %t9890 %t9894 = icmp sge i32 %t9892, %t9893 br i1 %t9894, label %grow2111, label %put2112 grow2111: %t9895 = mul i32 %t9893, 2 %t9896 = icmp eq i32 %t9893, 0 %t9897 = select i1 %t9896, i32 8, i32 %t9895 %t9898 = getelementptr ptr, ptr null, i32 1 %t9899 = ptrtoint ptr %t9898 to i64 %t9900 = zext i32 %t9897 to i64 %t9901 = mul i64 %t9900, %t9899 %t9902 = load ptr, ptr %t9891 %t9903 = call ptr @realloc(ptr %t9902, i64 %t9901) store ptr %t9903, ptr %t9891 store i32 %t9897, ptr %t9890 br label %put2112 put2112: %t9904 = load ptr, ptr %t9891 %t9905 = getelementptr inbounds ptr, ptr %t9904, i32 %t9892 store ptr @.str9106, ptr %t9905 %t9906 = add i32 %t9892, 1 store i32 %t9906, ptr %t9889 br label %ifend2108 ifend2108: %t9907 = load ptr, ptr %t1 %t9908 = call i32 @lp_str_eq(ptr %t9907, ptr @.str9107) %t9909 = icmp ne i32 %t9908, 0 br i1 %t9909, label %then2113, label %ifend2115 then2113: store ptr @.str9108, ptr %t452 %t9910 = load ptr, ptr %t459 %t9911 = getelementptr inbounds %LSlice, ptr %t9910, i32 0, i32 1 %t9912 = getelementptr inbounds %LSlice, ptr %t9910, i32 0, i32 2 %t9913 = getelementptr inbounds %LSlice, ptr %t9910, i32 0, i32 0 %t9914 = load i32, ptr %t9911 %t9915 = load i32, ptr %t9912 %t9916 = icmp sge i32 %t9914, %t9915 br i1 %t9916, label %grow2116, label %put2117 grow2116: %t9917 = mul i32 %t9915, 2 %t9918 = icmp eq i32 %t9915, 0 %t9919 = select i1 %t9918, i32 8, i32 %t9917 %t9920 = getelementptr ptr, ptr null, i32 1 %t9921 = ptrtoint ptr %t9920 to i64 %t9922 = zext i32 %t9919 to i64 %t9923 = mul i64 %t9922, %t9921 %t9924 = load ptr, ptr %t9913 %t9925 = call ptr @realloc(ptr %t9924, i64 %t9923) store ptr %t9925, ptr %t9913 store i32 %t9919, ptr %t9912 br label %put2117 put2117: %t9926 = load ptr, ptr %t9913 %t9927 = getelementptr inbounds ptr, ptr %t9926, i32 %t9914 store ptr @.str9109, ptr %t9927 %t9928 = add i32 %t9914, 1 store i32 %t9928, ptr %t9911 %t9929 = load ptr, ptr %t459 %t9930 = getelementptr inbounds %LSlice, ptr %t9929, i32 0, i32 1 %t9931 = getelementptr inbounds %LSlice, ptr %t9929, i32 0, i32 2 %t9932 = getelementptr inbounds %LSlice, ptr %t9929, i32 0, i32 0 %t9933 = load i32, ptr %t9930 %t9934 = load i32, ptr %t9931 %t9935 = icmp sge i32 %t9933, %t9934 br i1 %t9935, label %grow2118, label %put2119 grow2118: %t9936 = mul i32 %t9934, 2 %t9937 = icmp eq i32 %t9934, 0 %t9938 = select i1 %t9937, i32 8, i32 %t9936 %t9939 = getelementptr ptr, ptr null, i32 1 %t9940 = ptrtoint ptr %t9939 to i64 %t9941 = zext i32 %t9938 to i64 %t9942 = mul i64 %t9941, %t9940 %t9943 = load ptr, ptr %t9932 %t9944 = call ptr @realloc(ptr %t9943, i64 %t9942) store ptr %t9944, ptr %t9932 store i32 %t9938, ptr %t9931 br label %put2119 put2119: %t9945 = load ptr, ptr %t9932 %t9946 = getelementptr inbounds ptr, ptr %t9945, i32 %t9933 store ptr @.str9110, ptr %t9946 %t9947 = add i32 %t9933, 1 store i32 %t9947, ptr %t9930 %t9948 = load ptr, ptr %t459 %t9949 = getelementptr inbounds %LSlice, ptr %t9948, i32 0, i32 1 %t9950 = getelementptr inbounds %LSlice, ptr %t9948, i32 0, i32 2 %t9951 = getelementptr inbounds %LSlice, ptr %t9948, i32 0, i32 0 %t9952 = load i32, ptr %t9949 %t9953 = load i32, ptr %t9950 %t9954 = icmp sge i32 %t9952, %t9953 br i1 %t9954, label %grow2120, label %put2121 grow2120: %t9955 = mul i32 %t9953, 2 %t9956 = icmp eq i32 %t9953, 0 %t9957 = select i1 %t9956, i32 8, i32 %t9955 %t9958 = getelementptr ptr, ptr null, i32 1 %t9959 = ptrtoint ptr %t9958 to i64 %t9960 = zext i32 %t9957 to i64 %t9961 = mul i64 %t9960, %t9959 %t9962 = load ptr, ptr %t9951 %t9963 = call ptr @realloc(ptr %t9962, i64 %t9961) store ptr %t9963, ptr %t9951 store i32 %t9957, ptr %t9950 br label %put2121 put2121: %t9964 = load ptr, ptr %t9951 %t9965 = getelementptr inbounds ptr, ptr %t9964, i32 %t9952 store ptr @.str9111, ptr %t9965 %t9966 = add i32 %t9952, 1 store i32 %t9966, ptr %t9949 br label %ifend2115 ifend2115: %t9967 = load ptr, ptr %t1 %t9968 = call i32 @lp_str_eq(ptr %t9967, ptr @.str9112) %t9969 = icmp ne i32 %t9968, 0 br i1 %t9969, label %then2122, label %ifend2124 then2122: store ptr @.str9113, ptr %t452 br label %ifend2124 ifend2124: %t9970 = load ptr, ptr %t1 %t9971 = call i32 @lp_str_eq(ptr %t9970, ptr @.str9114) %t9972 = icmp ne i32 %t9971, 0 br i1 %t9972, label %then2125, label %ifend2127 then2125: store ptr @.str9115, ptr %t452 %t9973 = load ptr, ptr %t459 %t9974 = getelementptr inbounds %LSlice, ptr %t9973, i32 0, i32 1 %t9975 = getelementptr inbounds %LSlice, ptr %t9973, i32 0, i32 2 %t9976 = getelementptr inbounds %LSlice, ptr %t9973, i32 0, i32 0 %t9977 = load i32, ptr %t9974 %t9978 = load i32, ptr %t9975 %t9979 = icmp sge i32 %t9977, %t9978 br i1 %t9979, label %grow2128, label %put2129 grow2128: %t9980 = mul i32 %t9978, 2 %t9981 = icmp eq i32 %t9978, 0 %t9982 = select i1 %t9981, i32 8, i32 %t9980 %t9983 = getelementptr ptr, ptr null, i32 1 %t9984 = ptrtoint ptr %t9983 to i64 %t9985 = zext i32 %t9982 to i64 %t9986 = mul i64 %t9985, %t9984 %t9987 = load ptr, ptr %t9976 %t9988 = call ptr @realloc(ptr %t9987, i64 %t9986) store ptr %t9988, ptr %t9976 store i32 %t9982, ptr %t9975 br label %put2129 put2129: %t9989 = load ptr, ptr %t9976 %t9990 = getelementptr inbounds ptr, ptr %t9989, i32 %t9977 store ptr @.str9116, ptr %t9990 %t9991 = add i32 %t9977, 1 store i32 %t9991, ptr %t9974 %t9992 = load ptr, ptr %t459 %t9993 = getelementptr inbounds %LSlice, ptr %t9992, i32 0, i32 1 %t9994 = getelementptr inbounds %LSlice, ptr %t9992, i32 0, i32 2 %t9995 = getelementptr inbounds %LSlice, ptr %t9992, i32 0, i32 0 %t9996 = load i32, ptr %t9993 %t9997 = load i32, ptr %t9994 %t9998 = icmp sge i32 %t9996, %t9997 br i1 %t9998, label %grow2130, label %put2131 grow2130: %t9999 = mul i32 %t9997, 2 %t10000 = icmp eq i32 %t9997, 0 %t10001 = select i1 %t10000, i32 8, i32 %t9999 %t10002 = getelementptr ptr, ptr null, i32 1 %t10003 = ptrtoint ptr %t10002 to i64 %t10004 = zext i32 %t10001 to i64 %t10005 = mul i64 %t10004, %t10003 %t10006 = load ptr, ptr %t9995 %t10007 = call ptr @realloc(ptr %t10006, i64 %t10005) store ptr %t10007, ptr %t9995 store i32 %t10001, ptr %t9994 br label %put2131 put2131: %t10008 = load ptr, ptr %t9995 %t10009 = getelementptr inbounds ptr, ptr %t10008, i32 %t9996 store ptr @.str9117, ptr %t10009 %t10010 = add i32 %t9996, 1 store i32 %t10010, ptr %t9993 br label %ifend2127 ifend2127: %t10011 = load ptr, ptr %t1 %t10012 = call i32 @lp_str_eq(ptr %t10011, ptr @.str9118) %t10013 = icmp ne i32 %t10012, 0 br i1 %t10013, label %then2132, label %ifend2134 then2132: store ptr @.str9119, ptr %t452 %t10014 = load ptr, ptr %t459 %t10015 = getelementptr inbounds %LSlice, ptr %t10014, i32 0, i32 1 %t10016 = getelementptr inbounds %LSlice, ptr %t10014, i32 0, i32 2 %t10017 = getelementptr inbounds %LSlice, ptr %t10014, i32 0, i32 0 %t10018 = load i32, ptr %t10015 %t10019 = load i32, ptr %t10016 %t10020 = icmp sge i32 %t10018, %t10019 br i1 %t10020, label %grow2135, label %put2136 grow2135: %t10021 = mul i32 %t10019, 2 %t10022 = icmp eq i32 %t10019, 0 %t10023 = select i1 %t10022, i32 8, i32 %t10021 %t10024 = getelementptr ptr, ptr null, i32 1 %t10025 = ptrtoint ptr %t10024 to i64 %t10026 = zext i32 %t10023 to i64 %t10027 = mul i64 %t10026, %t10025 %t10028 = load ptr, ptr %t10017 %t10029 = call ptr @realloc(ptr %t10028, i64 %t10027) store ptr %t10029, ptr %t10017 store i32 %t10023, ptr %t10016 br label %put2136 put2136: %t10030 = load ptr, ptr %t10017 %t10031 = getelementptr inbounds ptr, ptr %t10030, i32 %t10018 store ptr @.str9120, ptr %t10031 %t10032 = add i32 %t10018, 1 store i32 %t10032, ptr %t10015 br label %ifend2134 ifend2134: %t10033 = load ptr, ptr %t1 %t10034 = call i32 @lp_str_eq(ptr %t10033, ptr @.str9121) %t10035 = icmp ne i32 %t10034, 0 br i1 %t10035, label %then2137, label %ifend2139 then2137: store ptr @.str9122, ptr %t452 %t10036 = load ptr, ptr %t459 %t10037 = getelementptr inbounds %LSlice, ptr %t10036, i32 0, i32 1 %t10038 = getelementptr inbounds %LSlice, ptr %t10036, i32 0, i32 2 %t10039 = getelementptr inbounds %LSlice, ptr %t10036, i32 0, i32 0 %t10040 = load i32, ptr %t10037 %t10041 = load i32, ptr %t10038 %t10042 = icmp sge i32 %t10040, %t10041 br i1 %t10042, label %grow2140, label %put2141 grow2140: %t10043 = mul i32 %t10041, 2 %t10044 = icmp eq i32 %t10041, 0 %t10045 = select i1 %t10044, i32 8, i32 %t10043 %t10046 = getelementptr ptr, ptr null, i32 1 %t10047 = ptrtoint ptr %t10046 to i64 %t10048 = zext i32 %t10045 to i64 %t10049 = mul i64 %t10048, %t10047 %t10050 = load ptr, ptr %t10039 %t10051 = call ptr @realloc(ptr %t10050, i64 %t10049) store ptr %t10051, ptr %t10039 store i32 %t10045, ptr %t10038 br label %put2141 put2141: %t10052 = load ptr, ptr %t10039 %t10053 = getelementptr inbounds ptr, ptr %t10052, i32 %t10040 store ptr @.str9123, ptr %t10053 %t10054 = add i32 %t10040, 1 store i32 %t10054, ptr %t10037 br label %ifend2139 ifend2139: %t10055 = load ptr, ptr %t1 %t10056 = call i32 @lp_str_eq(ptr %t10055, ptr @.str9124) %t10057 = icmp ne i32 %t10056, 0 br i1 %t10057, label %then2142, label %ifend2144 then2142: store ptr @.str9125, ptr %t452 %t10058 = load ptr, ptr %t459 %t10059 = getelementptr inbounds %LSlice, ptr %t10058, i32 0, i32 1 %t10060 = getelementptr inbounds %LSlice, ptr %t10058, i32 0, i32 2 %t10061 = getelementptr inbounds %LSlice, ptr %t10058, i32 0, i32 0 %t10062 = load i32, ptr %t10059 %t10063 = load i32, ptr %t10060 %t10064 = icmp sge i32 %t10062, %t10063 br i1 %t10064, label %grow2145, label %put2146 grow2145: %t10065 = mul i32 %t10063, 2 %t10066 = icmp eq i32 %t10063, 0 %t10067 = select i1 %t10066, i32 8, i32 %t10065 %t10068 = getelementptr ptr, ptr null, i32 1 %t10069 = ptrtoint ptr %t10068 to i64 %t10070 = zext i32 %t10067 to i64 %t10071 = mul i64 %t10070, %t10069 %t10072 = load ptr, ptr %t10061 %t10073 = call ptr @realloc(ptr %t10072, i64 %t10071) store ptr %t10073, ptr %t10061 store i32 %t10067, ptr %t10060 br label %put2146 put2146: %t10074 = load ptr, ptr %t10061 %t10075 = getelementptr inbounds ptr, ptr %t10074, i32 %t10062 store ptr @.str9126, ptr %t10075 %t10076 = add i32 %t10062, 1 store i32 %t10076, ptr %t10059 br label %ifend2144 ifend2144: %t10077 = load ptr, ptr %t1 %t10078 = call i32 @lp_str_eq(ptr %t10077, ptr @.str9127) %t10079 = icmp ne i32 %t10078, 0 br i1 %t10079, label %then2147, label %ifend2149 then2147: store ptr @.str9128, ptr %t452 br label %ifend2149 ifend2149: br label %ifend2072 ifend2072: %t10080 = load ptr, ptr %t0 %t10081 = call i32 @lp_str_eq(ptr %t10080, ptr @.str9129) %t10082 = icmp ne i32 %t10081, 0 br i1 %t10082, label %then2150, label %ifend2152 then2150: %t10083 = load ptr, ptr %t1 %t10084 = call i32 @lp_str_eq(ptr %t10083, ptr @.str9130) %t10085 = icmp ne i32 %t10084, 0 br i1 %t10085, label %then2153, label %ifend2155 then2153: store ptr @.str9131, ptr %t452 %t10086 = load ptr, ptr %t459 %t10087 = getelementptr inbounds %LSlice, ptr %t10086, i32 0, i32 1 %t10088 = getelementptr inbounds %LSlice, ptr %t10086, i32 0, i32 2 %t10089 = getelementptr inbounds %LSlice, ptr %t10086, i32 0, i32 0 %t10090 = load i32, ptr %t10087 %t10091 = load i32, ptr %t10088 %t10092 = icmp sge i32 %t10090, %t10091 br i1 %t10092, label %grow2156, label %put2157 grow2156: %t10093 = mul i32 %t10091, 2 %t10094 = icmp eq i32 %t10091, 0 %t10095 = select i1 %t10094, i32 8, i32 %t10093 %t10096 = getelementptr ptr, ptr null, i32 1 %t10097 = ptrtoint ptr %t10096 to i64 %t10098 = zext i32 %t10095 to i64 %t10099 = mul i64 %t10098, %t10097 %t10100 = load ptr, ptr %t10089 %t10101 = call ptr @realloc(ptr %t10100, i64 %t10099) store ptr %t10101, ptr %t10089 store i32 %t10095, ptr %t10088 br label %put2157 put2157: %t10102 = load ptr, ptr %t10089 %t10103 = getelementptr inbounds ptr, ptr %t10102, i32 %t10090 store ptr @.str9132, ptr %t10103 %t10104 = add i32 %t10090, 1 store i32 %t10104, ptr %t10087 br label %ifend2155 ifend2155: %t10105 = load ptr, ptr %t1 %t10106 = call i32 @lp_str_eq(ptr %t10105, ptr @.str9133) %t10107 = icmp ne i32 %t10106, 0 br i1 %t10107, label %then2158, label %ifend2160 then2158: store ptr @.str9134, ptr %t452 %t10108 = load ptr, ptr %t459 %t10109 = getelementptr inbounds %LSlice, ptr %t10108, i32 0, i32 1 %t10110 = getelementptr inbounds %LSlice, ptr %t10108, i32 0, i32 2 %t10111 = getelementptr inbounds %LSlice, ptr %t10108, i32 0, i32 0 %t10112 = load i32, ptr %t10109 %t10113 = load i32, ptr %t10110 %t10114 = icmp sge i32 %t10112, %t10113 br i1 %t10114, label %grow2161, label %put2162 grow2161: %t10115 = mul i32 %t10113, 2 %t10116 = icmp eq i32 %t10113, 0 %t10117 = select i1 %t10116, i32 8, i32 %t10115 %t10118 = getelementptr ptr, ptr null, i32 1 %t10119 = ptrtoint ptr %t10118 to i64 %t10120 = zext i32 %t10117 to i64 %t10121 = mul i64 %t10120, %t10119 %t10122 = load ptr, ptr %t10111 %t10123 = call ptr @realloc(ptr %t10122, i64 %t10121) store ptr %t10123, ptr %t10111 store i32 %t10117, ptr %t10110 br label %put2162 put2162: %t10124 = load ptr, ptr %t10111 %t10125 = getelementptr inbounds ptr, ptr %t10124, i32 %t10112 store ptr @.str9135, ptr %t10125 %t10126 = add i32 %t10112, 1 store i32 %t10126, ptr %t10109 %t10127 = load ptr, ptr %t459 %t10128 = getelementptr inbounds %LSlice, ptr %t10127, i32 0, i32 1 %t10129 = getelementptr inbounds %LSlice, ptr %t10127, i32 0, i32 2 %t10130 = getelementptr inbounds %LSlice, ptr %t10127, i32 0, i32 0 %t10131 = load i32, ptr %t10128 %t10132 = load i32, ptr %t10129 %t10133 = icmp sge i32 %t10131, %t10132 br i1 %t10133, label %grow2163, label %put2164 grow2163: %t10134 = mul i32 %t10132, 2 %t10135 = icmp eq i32 %t10132, 0 %t10136 = select i1 %t10135, i32 8, i32 %t10134 %t10137 = getelementptr ptr, ptr null, i32 1 %t10138 = ptrtoint ptr %t10137 to i64 %t10139 = zext i32 %t10136 to i64 %t10140 = mul i64 %t10139, %t10138 %t10141 = load ptr, ptr %t10130 %t10142 = call ptr @realloc(ptr %t10141, i64 %t10140) store ptr %t10142, ptr %t10130 store i32 %t10136, ptr %t10129 br label %put2164 put2164: %t10143 = load ptr, ptr %t10130 %t10144 = getelementptr inbounds ptr, ptr %t10143, i32 %t10131 store ptr @.str9136, ptr %t10144 %t10145 = add i32 %t10131, 1 store i32 %t10145, ptr %t10128 br label %ifend2160 ifend2160: %t10146 = load ptr, ptr %t1 %t10147 = call i32 @lp_str_eq(ptr %t10146, ptr @.str9137) %t10148 = icmp ne i32 %t10147, 0 br i1 %t10148, label %then2165, label %ifend2167 then2165: store ptr @.str9138, ptr %t452 %t10149 = load ptr, ptr %t459 %t10150 = getelementptr inbounds %LSlice, ptr %t10149, i32 0, i32 1 %t10151 = getelementptr inbounds %LSlice, ptr %t10149, i32 0, i32 2 %t10152 = getelementptr inbounds %LSlice, ptr %t10149, i32 0, i32 0 %t10153 = load i32, ptr %t10150 %t10154 = load i32, ptr %t10151 %t10155 = icmp sge i32 %t10153, %t10154 br i1 %t10155, label %grow2168, label %put2169 grow2168: %t10156 = mul i32 %t10154, 2 %t10157 = icmp eq i32 %t10154, 0 %t10158 = select i1 %t10157, i32 8, i32 %t10156 %t10159 = getelementptr ptr, ptr null, i32 1 %t10160 = ptrtoint ptr %t10159 to i64 %t10161 = zext i32 %t10158 to i64 %t10162 = mul i64 %t10161, %t10160 %t10163 = load ptr, ptr %t10152 %t10164 = call ptr @realloc(ptr %t10163, i64 %t10162) store ptr %t10164, ptr %t10152 store i32 %t10158, ptr %t10151 br label %put2169 put2169: %t10165 = load ptr, ptr %t10152 %t10166 = getelementptr inbounds ptr, ptr %t10165, i32 %t10153 store ptr @.str9139, ptr %t10166 %t10167 = add i32 %t10153, 1 store i32 %t10167, ptr %t10150 %t10168 = load ptr, ptr %t459 %t10169 = getelementptr inbounds %LSlice, ptr %t10168, i32 0, i32 1 %t10170 = getelementptr inbounds %LSlice, ptr %t10168, i32 0, i32 2 %t10171 = getelementptr inbounds %LSlice, ptr %t10168, i32 0, i32 0 %t10172 = load i32, ptr %t10169 %t10173 = load i32, ptr %t10170 %t10174 = icmp sge i32 %t10172, %t10173 br i1 %t10174, label %grow2170, label %put2171 grow2170: %t10175 = mul i32 %t10173, 2 %t10176 = icmp eq i32 %t10173, 0 %t10177 = select i1 %t10176, i32 8, i32 %t10175 %t10178 = getelementptr ptr, ptr null, i32 1 %t10179 = ptrtoint ptr %t10178 to i64 %t10180 = zext i32 %t10177 to i64 %t10181 = mul i64 %t10180, %t10179 %t10182 = load ptr, ptr %t10171 %t10183 = call ptr @realloc(ptr %t10182, i64 %t10181) store ptr %t10183, ptr %t10171 store i32 %t10177, ptr %t10170 br label %put2171 put2171: %t10184 = load ptr, ptr %t10171 %t10185 = getelementptr inbounds ptr, ptr %t10184, i32 %t10172 store ptr @.str9140, ptr %t10185 %t10186 = add i32 %t10172, 1 store i32 %t10186, ptr %t10169 br label %ifend2167 ifend2167: %t10187 = load ptr, ptr %t1 %t10188 = call i32 @lp_str_eq(ptr %t10187, ptr @.str9141) %t10189 = icmp ne i32 %t10188, 0 br i1 %t10189, label %then2172, label %ifend2174 then2172: store ptr @.str9142, ptr %t452 %t10190 = load ptr, ptr %t459 %t10191 = getelementptr inbounds %LSlice, ptr %t10190, i32 0, i32 1 %t10192 = getelementptr inbounds %LSlice, ptr %t10190, i32 0, i32 2 %t10193 = getelementptr inbounds %LSlice, ptr %t10190, i32 0, i32 0 %t10194 = load i32, ptr %t10191 %t10195 = load i32, ptr %t10192 %t10196 = icmp sge i32 %t10194, %t10195 br i1 %t10196, label %grow2175, label %put2176 grow2175: %t10197 = mul i32 %t10195, 2 %t10198 = icmp eq i32 %t10195, 0 %t10199 = select i1 %t10198, i32 8, i32 %t10197 %t10200 = getelementptr ptr, ptr null, i32 1 %t10201 = ptrtoint ptr %t10200 to i64 %t10202 = zext i32 %t10199 to i64 %t10203 = mul i64 %t10202, %t10201 %t10204 = load ptr, ptr %t10193 %t10205 = call ptr @realloc(ptr %t10204, i64 %t10203) store ptr %t10205, ptr %t10193 store i32 %t10199, ptr %t10192 br label %put2176 put2176: %t10206 = load ptr, ptr %t10193 %t10207 = getelementptr inbounds ptr, ptr %t10206, i32 %t10194 store ptr @.str9143, ptr %t10207 %t10208 = add i32 %t10194, 1 store i32 %t10208, ptr %t10191 %t10209 = load ptr, ptr %t459 %t10210 = getelementptr inbounds %LSlice, ptr %t10209, i32 0, i32 1 %t10211 = getelementptr inbounds %LSlice, ptr %t10209, i32 0, i32 2 %t10212 = getelementptr inbounds %LSlice, ptr %t10209, i32 0, i32 0 %t10213 = load i32, ptr %t10210 %t10214 = load i32, ptr %t10211 %t10215 = icmp sge i32 %t10213, %t10214 br i1 %t10215, label %grow2177, label %put2178 grow2177: %t10216 = mul i32 %t10214, 2 %t10217 = icmp eq i32 %t10214, 0 %t10218 = select i1 %t10217, i32 8, i32 %t10216 %t10219 = getelementptr ptr, ptr null, i32 1 %t10220 = ptrtoint ptr %t10219 to i64 %t10221 = zext i32 %t10218 to i64 %t10222 = mul i64 %t10221, %t10220 %t10223 = load ptr, ptr %t10212 %t10224 = call ptr @realloc(ptr %t10223, i64 %t10222) store ptr %t10224, ptr %t10212 store i32 %t10218, ptr %t10211 br label %put2178 put2178: %t10225 = load ptr, ptr %t10212 %t10226 = getelementptr inbounds ptr, ptr %t10225, i32 %t10213 store ptr @.str9144, ptr %t10226 %t10227 = add i32 %t10213, 1 store i32 %t10227, ptr %t10210 br label %ifend2174 ifend2174: %t10228 = load ptr, ptr %t1 %t10229 = call i32 @lp_str_eq(ptr %t10228, ptr @.str9145) %t10230 = icmp ne i32 %t10229, 0 br i1 %t10230, label %then2179, label %ifend2181 then2179: store ptr @.str9146, ptr %t452 %t10231 = load ptr, ptr %t459 %t10232 = getelementptr inbounds %LSlice, ptr %t10231, i32 0, i32 1 %t10233 = getelementptr inbounds %LSlice, ptr %t10231, i32 0, i32 2 %t10234 = getelementptr inbounds %LSlice, ptr %t10231, i32 0, i32 0 %t10235 = load i32, ptr %t10232 %t10236 = load i32, ptr %t10233 %t10237 = icmp sge i32 %t10235, %t10236 br i1 %t10237, label %grow2182, label %put2183 grow2182: %t10238 = mul i32 %t10236, 2 %t10239 = icmp eq i32 %t10236, 0 %t10240 = select i1 %t10239, i32 8, i32 %t10238 %t10241 = getelementptr ptr, ptr null, i32 1 %t10242 = ptrtoint ptr %t10241 to i64 %t10243 = zext i32 %t10240 to i64 %t10244 = mul i64 %t10243, %t10242 %t10245 = load ptr, ptr %t10234 %t10246 = call ptr @realloc(ptr %t10245, i64 %t10244) store ptr %t10246, ptr %t10234 store i32 %t10240, ptr %t10233 br label %put2183 put2183: %t10247 = load ptr, ptr %t10234 %t10248 = getelementptr inbounds ptr, ptr %t10247, i32 %t10235 store ptr @.str9147, ptr %t10248 %t10249 = add i32 %t10235, 1 store i32 %t10249, ptr %t10232 br label %ifend2181 ifend2181: %t10250 = load ptr, ptr %t1 %t10251 = call i32 @lp_str_eq(ptr %t10250, ptr @.str9148) %t10252 = icmp ne i32 %t10251, 0 br i1 %t10252, label %then2184, label %ifend2186 then2184: store ptr @.str9149, ptr %t452 %t10253 = load ptr, ptr %t459 %t10254 = getelementptr inbounds %LSlice, ptr %t10253, i32 0, i32 1 %t10255 = getelementptr inbounds %LSlice, ptr %t10253, i32 0, i32 2 %t10256 = getelementptr inbounds %LSlice, ptr %t10253, i32 0, i32 0 %t10257 = load i32, ptr %t10254 %t10258 = load i32, ptr %t10255 %t10259 = icmp sge i32 %t10257, %t10258 br i1 %t10259, label %grow2187, label %put2188 grow2187: %t10260 = mul i32 %t10258, 2 %t10261 = icmp eq i32 %t10258, 0 %t10262 = select i1 %t10261, i32 8, i32 %t10260 %t10263 = getelementptr ptr, ptr null, i32 1 %t10264 = ptrtoint ptr %t10263 to i64 %t10265 = zext i32 %t10262 to i64 %t10266 = mul i64 %t10265, %t10264 %t10267 = load ptr, ptr %t10256 %t10268 = call ptr @realloc(ptr %t10267, i64 %t10266) store ptr %t10268, ptr %t10256 store i32 %t10262, ptr %t10255 br label %put2188 put2188: %t10269 = load ptr, ptr %t10256 %t10270 = getelementptr inbounds ptr, ptr %t10269, i32 %t10257 store ptr @.str9150, ptr %t10270 %t10271 = add i32 %t10257, 1 store i32 %t10271, ptr %t10254 %t10272 = load ptr, ptr %t459 %t10273 = getelementptr inbounds %LSlice, ptr %t10272, i32 0, i32 1 %t10274 = getelementptr inbounds %LSlice, ptr %t10272, i32 0, i32 2 %t10275 = getelementptr inbounds %LSlice, ptr %t10272, i32 0, i32 0 %t10276 = load i32, ptr %t10273 %t10277 = load i32, ptr %t10274 %t10278 = icmp sge i32 %t10276, %t10277 br i1 %t10278, label %grow2189, label %put2190 grow2189: %t10279 = mul i32 %t10277, 2 %t10280 = icmp eq i32 %t10277, 0 %t10281 = select i1 %t10280, i32 8, i32 %t10279 %t10282 = getelementptr ptr, ptr null, i32 1 %t10283 = ptrtoint ptr %t10282 to i64 %t10284 = zext i32 %t10281 to i64 %t10285 = mul i64 %t10284, %t10283 %t10286 = load ptr, ptr %t10275 %t10287 = call ptr @realloc(ptr %t10286, i64 %t10285) store ptr %t10287, ptr %t10275 store i32 %t10281, ptr %t10274 br label %put2190 put2190: %t10288 = load ptr, ptr %t10275 %t10289 = getelementptr inbounds ptr, ptr %t10288, i32 %t10276 store ptr @.str9151, ptr %t10289 %t10290 = add i32 %t10276, 1 store i32 %t10290, ptr %t10273 br label %ifend2186 ifend2186: %t10291 = load ptr, ptr %t1 %t10292 = call i32 @lp_str_eq(ptr %t10291, ptr @.str9152) %t10293 = icmp ne i32 %t10292, 0 br i1 %t10293, label %then2191, label %ifend2193 then2191: store ptr @.str9153, ptr %t452 %t10294 = load ptr, ptr %t459 %t10295 = getelementptr inbounds %LSlice, ptr %t10294, i32 0, i32 1 %t10296 = getelementptr inbounds %LSlice, ptr %t10294, i32 0, i32 2 %t10297 = getelementptr inbounds %LSlice, ptr %t10294, i32 0, i32 0 %t10298 = load i32, ptr %t10295 %t10299 = load i32, ptr %t10296 %t10300 = icmp sge i32 %t10298, %t10299 br i1 %t10300, label %grow2194, label %put2195 grow2194: %t10301 = mul i32 %t10299, 2 %t10302 = icmp eq i32 %t10299, 0 %t10303 = select i1 %t10302, i32 8, i32 %t10301 %t10304 = getelementptr ptr, ptr null, i32 1 %t10305 = ptrtoint ptr %t10304 to i64 %t10306 = zext i32 %t10303 to i64 %t10307 = mul i64 %t10306, %t10305 %t10308 = load ptr, ptr %t10297 %t10309 = call ptr @realloc(ptr %t10308, i64 %t10307) store ptr %t10309, ptr %t10297 store i32 %t10303, ptr %t10296 br label %put2195 put2195: %t10310 = load ptr, ptr %t10297 %t10311 = getelementptr inbounds ptr, ptr %t10310, i32 %t10298 store ptr @.str9154, ptr %t10311 %t10312 = add i32 %t10298, 1 store i32 %t10312, ptr %t10295 br label %ifend2193 ifend2193: %t10313 = load ptr, ptr %t1 %t10314 = call i32 @lp_str_eq(ptr %t10313, ptr @.str9155) %t10315 = icmp ne i32 %t10314, 0 br i1 %t10315, label %then2196, label %ifend2198 then2196: store ptr @.str9156, ptr %t452 %t10316 = load ptr, ptr %t459 %t10317 = getelementptr inbounds %LSlice, ptr %t10316, i32 0, i32 1 %t10318 = getelementptr inbounds %LSlice, ptr %t10316, i32 0, i32 2 %t10319 = getelementptr inbounds %LSlice, ptr %t10316, i32 0, i32 0 %t10320 = load i32, ptr %t10317 %t10321 = load i32, ptr %t10318 %t10322 = icmp sge i32 %t10320, %t10321 br i1 %t10322, label %grow2199, label %put2200 grow2199: %t10323 = mul i32 %t10321, 2 %t10324 = icmp eq i32 %t10321, 0 %t10325 = select i1 %t10324, i32 8, i32 %t10323 %t10326 = getelementptr ptr, ptr null, i32 1 %t10327 = ptrtoint ptr %t10326 to i64 %t10328 = zext i32 %t10325 to i64 %t10329 = mul i64 %t10328, %t10327 %t10330 = load ptr, ptr %t10319 %t10331 = call ptr @realloc(ptr %t10330, i64 %t10329) store ptr %t10331, ptr %t10319 store i32 %t10325, ptr %t10318 br label %put2200 put2200: %t10332 = load ptr, ptr %t10319 %t10333 = getelementptr inbounds ptr, ptr %t10332, i32 %t10320 store ptr @.str9157, ptr %t10333 %t10334 = add i32 %t10320, 1 store i32 %t10334, ptr %t10317 br label %ifend2198 ifend2198: %t10335 = load ptr, ptr %t1 %t10336 = call i32 @lp_str_eq(ptr %t10335, ptr @.str9158) %t10337 = icmp ne i32 %t10336, 0 br i1 %t10337, label %then2201, label %ifend2203 then2201: store ptr @.str9159, ptr %t452 %t10338 = load ptr, ptr %t459 %t10339 = getelementptr inbounds %LSlice, ptr %t10338, i32 0, i32 1 %t10340 = getelementptr inbounds %LSlice, ptr %t10338, i32 0, i32 2 %t10341 = getelementptr inbounds %LSlice, ptr %t10338, i32 0, i32 0 %t10342 = load i32, ptr %t10339 %t10343 = load i32, ptr %t10340 %t10344 = icmp sge i32 %t10342, %t10343 br i1 %t10344, label %grow2204, label %put2205 grow2204: %t10345 = mul i32 %t10343, 2 %t10346 = icmp eq i32 %t10343, 0 %t10347 = select i1 %t10346, i32 8, i32 %t10345 %t10348 = getelementptr ptr, ptr null, i32 1 %t10349 = ptrtoint ptr %t10348 to i64 %t10350 = zext i32 %t10347 to i64 %t10351 = mul i64 %t10350, %t10349 %t10352 = load ptr, ptr %t10341 %t10353 = call ptr @realloc(ptr %t10352, i64 %t10351) store ptr %t10353, ptr %t10341 store i32 %t10347, ptr %t10340 br label %put2205 put2205: %t10354 = load ptr, ptr %t10341 %t10355 = getelementptr inbounds ptr, ptr %t10354, i32 %t10342 store ptr @.str9160, ptr %t10355 %t10356 = add i32 %t10342, 1 store i32 %t10356, ptr %t10339 br label %ifend2203 ifend2203: %t10357 = load ptr, ptr %t1 %t10358 = call i32 @lp_str_eq(ptr %t10357, ptr @.str9161) %t10359 = icmp ne i32 %t10358, 0 br i1 %t10359, label %then2206, label %ifend2208 then2206: store ptr @.str9162, ptr %t452 %t10360 = load ptr, ptr %t459 %t10361 = getelementptr inbounds %LSlice, ptr %t10360, i32 0, i32 1 %t10362 = getelementptr inbounds %LSlice, ptr %t10360, i32 0, i32 2 %t10363 = getelementptr inbounds %LSlice, ptr %t10360, i32 0, i32 0 %t10364 = load i32, ptr %t10361 %t10365 = load i32, ptr %t10362 %t10366 = icmp sge i32 %t10364, %t10365 br i1 %t10366, label %grow2209, label %put2210 grow2209: %t10367 = mul i32 %t10365, 2 %t10368 = icmp eq i32 %t10365, 0 %t10369 = select i1 %t10368, i32 8, i32 %t10367 %t10370 = getelementptr ptr, ptr null, i32 1 %t10371 = ptrtoint ptr %t10370 to i64 %t10372 = zext i32 %t10369 to i64 %t10373 = mul i64 %t10372, %t10371 %t10374 = load ptr, ptr %t10363 %t10375 = call ptr @realloc(ptr %t10374, i64 %t10373) store ptr %t10375, ptr %t10363 store i32 %t10369, ptr %t10362 br label %put2210 put2210: %t10376 = load ptr, ptr %t10363 %t10377 = getelementptr inbounds ptr, ptr %t10376, i32 %t10364 store ptr @.str9163, ptr %t10377 %t10378 = add i32 %t10364, 1 store i32 %t10378, ptr %t10361 br label %ifend2208 ifend2208: br label %ifend2152 ifend2152: %t10379 = load ptr, ptr %t0 %t10380 = call i32 @lp_str_eq(ptr %t10379, ptr @.str9164) %t10381 = icmp ne i32 %t10380, 0 br i1 %t10381, label %then2211, label %ifend2213 then2211: %t10382 = load ptr, ptr %t1 %t10383 = call i32 @lp_str_eq(ptr %t10382, ptr @.str9165) %t10384 = icmp ne i32 %t10383, 0 br i1 %t10384, label %then2214, label %ifend2216 then2214: store ptr @.str9166, ptr %t452 %t10385 = load ptr, ptr %t459 %t10386 = getelementptr inbounds %LSlice, ptr %t10385, i32 0, i32 1 %t10387 = getelementptr inbounds %LSlice, ptr %t10385, i32 0, i32 2 %t10388 = getelementptr inbounds %LSlice, ptr %t10385, i32 0, i32 0 %t10389 = load i32, ptr %t10386 %t10390 = load i32, ptr %t10387 %t10391 = icmp sge i32 %t10389, %t10390 br i1 %t10391, label %grow2217, label %put2218 grow2217: %t10392 = mul i32 %t10390, 2 %t10393 = icmp eq i32 %t10390, 0 %t10394 = select i1 %t10393, i32 8, i32 %t10392 %t10395 = getelementptr ptr, ptr null, i32 1 %t10396 = ptrtoint ptr %t10395 to i64 %t10397 = zext i32 %t10394 to i64 %t10398 = mul i64 %t10397, %t10396 %t10399 = load ptr, ptr %t10388 %t10400 = call ptr @realloc(ptr %t10399, i64 %t10398) store ptr %t10400, ptr %t10388 store i32 %t10394, ptr %t10387 br label %put2218 put2218: %t10401 = load ptr, ptr %t10388 %t10402 = getelementptr inbounds ptr, ptr %t10401, i32 %t10389 store ptr @.str9167, ptr %t10402 %t10403 = add i32 %t10389, 1 store i32 %t10403, ptr %t10386 br label %ifend2216 ifend2216: %t10404 = load ptr, ptr %t1 %t10405 = call i32 @lp_str_eq(ptr %t10404, ptr @.str9168) %t10406 = icmp ne i32 %t10405, 0 br i1 %t10406, label %then2219, label %ifend2221 then2219: store ptr @.str9169, ptr %t452 %t10407 = load ptr, ptr %t459 %t10408 = getelementptr inbounds %LSlice, ptr %t10407, i32 0, i32 1 %t10409 = getelementptr inbounds %LSlice, ptr %t10407, i32 0, i32 2 %t10410 = getelementptr inbounds %LSlice, ptr %t10407, i32 0, i32 0 %t10411 = load i32, ptr %t10408 %t10412 = load i32, ptr %t10409 %t10413 = icmp sge i32 %t10411, %t10412 br i1 %t10413, label %grow2222, label %put2223 grow2222: %t10414 = mul i32 %t10412, 2 %t10415 = icmp eq i32 %t10412, 0 %t10416 = select i1 %t10415, i32 8, i32 %t10414 %t10417 = getelementptr ptr, ptr null, i32 1 %t10418 = ptrtoint ptr %t10417 to i64 %t10419 = zext i32 %t10416 to i64 %t10420 = mul i64 %t10419, %t10418 %t10421 = load ptr, ptr %t10410 %t10422 = call ptr @realloc(ptr %t10421, i64 %t10420) store ptr %t10422, ptr %t10410 store i32 %t10416, ptr %t10409 br label %put2223 put2223: %t10423 = load ptr, ptr %t10410 %t10424 = getelementptr inbounds ptr, ptr %t10423, i32 %t10411 store ptr @.str9170, ptr %t10424 %t10425 = add i32 %t10411, 1 store i32 %t10425, ptr %t10408 br label %ifend2221 ifend2221: %t10426 = load ptr, ptr %t1 %t10427 = call i32 @lp_str_eq(ptr %t10426, ptr @.str9171) %t10428 = icmp ne i32 %t10427, 0 br i1 %t10428, label %then2224, label %ifend2226 then2224: store ptr @.str9172, ptr %t452 %t10429 = load ptr, ptr %t459 %t10430 = getelementptr inbounds %LSlice, ptr %t10429, i32 0, i32 1 %t10431 = getelementptr inbounds %LSlice, ptr %t10429, i32 0, i32 2 %t10432 = getelementptr inbounds %LSlice, ptr %t10429, i32 0, i32 0 %t10433 = load i32, ptr %t10430 %t10434 = load i32, ptr %t10431 %t10435 = icmp sge i32 %t10433, %t10434 br i1 %t10435, label %grow2227, label %put2228 grow2227: %t10436 = mul i32 %t10434, 2 %t10437 = icmp eq i32 %t10434, 0 %t10438 = select i1 %t10437, i32 8, i32 %t10436 %t10439 = getelementptr ptr, ptr null, i32 1 %t10440 = ptrtoint ptr %t10439 to i64 %t10441 = zext i32 %t10438 to i64 %t10442 = mul i64 %t10441, %t10440 %t10443 = load ptr, ptr %t10432 %t10444 = call ptr @realloc(ptr %t10443, i64 %t10442) store ptr %t10444, ptr %t10432 store i32 %t10438, ptr %t10431 br label %put2228 put2228: %t10445 = load ptr, ptr %t10432 %t10446 = getelementptr inbounds ptr, ptr %t10445, i32 %t10433 store ptr @.str9173, ptr %t10446 %t10447 = add i32 %t10433, 1 store i32 %t10447, ptr %t10430 br label %ifend2226 ifend2226: %t10448 = load ptr, ptr %t1 %t10449 = call i32 @lp_str_eq(ptr %t10448, ptr @.str9174) %t10450 = icmp ne i32 %t10449, 0 br i1 %t10450, label %then2229, label %ifend2231 then2229: store ptr @.str9175, ptr %t452 %t10451 = load ptr, ptr %t459 %t10452 = getelementptr inbounds %LSlice, ptr %t10451, i32 0, i32 1 %t10453 = getelementptr inbounds %LSlice, ptr %t10451, i32 0, i32 2 %t10454 = getelementptr inbounds %LSlice, ptr %t10451, i32 0, i32 0 %t10455 = load i32, ptr %t10452 %t10456 = load i32, ptr %t10453 %t10457 = icmp sge i32 %t10455, %t10456 br i1 %t10457, label %grow2232, label %put2233 grow2232: %t10458 = mul i32 %t10456, 2 %t10459 = icmp eq i32 %t10456, 0 %t10460 = select i1 %t10459, i32 8, i32 %t10458 %t10461 = getelementptr ptr, ptr null, i32 1 %t10462 = ptrtoint ptr %t10461 to i64 %t10463 = zext i32 %t10460 to i64 %t10464 = mul i64 %t10463, %t10462 %t10465 = load ptr, ptr %t10454 %t10466 = call ptr @realloc(ptr %t10465, i64 %t10464) store ptr %t10466, ptr %t10454 store i32 %t10460, ptr %t10453 br label %put2233 put2233: %t10467 = load ptr, ptr %t10454 %t10468 = getelementptr inbounds ptr, ptr %t10467, i32 %t10455 store ptr @.str9176, ptr %t10468 %t10469 = add i32 %t10455, 1 store i32 %t10469, ptr %t10452 br label %ifend2231 ifend2231: %t10470 = load ptr, ptr %t1 %t10471 = call i32 @lp_str_eq(ptr %t10470, ptr @.str9177) %t10472 = icmp ne i32 %t10471, 0 br i1 %t10472, label %then2234, label %ifend2236 then2234: store ptr @.str9178, ptr %t452 %t10473 = load ptr, ptr %t459 %t10474 = getelementptr inbounds %LSlice, ptr %t10473, i32 0, i32 1 %t10475 = getelementptr inbounds %LSlice, ptr %t10473, i32 0, i32 2 %t10476 = getelementptr inbounds %LSlice, ptr %t10473, i32 0, i32 0 %t10477 = load i32, ptr %t10474 %t10478 = load i32, ptr %t10475 %t10479 = icmp sge i32 %t10477, %t10478 br i1 %t10479, label %grow2237, label %put2238 grow2237: %t10480 = mul i32 %t10478, 2 %t10481 = icmp eq i32 %t10478, 0 %t10482 = select i1 %t10481, i32 8, i32 %t10480 %t10483 = getelementptr ptr, ptr null, i32 1 %t10484 = ptrtoint ptr %t10483 to i64 %t10485 = zext i32 %t10482 to i64 %t10486 = mul i64 %t10485, %t10484 %t10487 = load ptr, ptr %t10476 %t10488 = call ptr @realloc(ptr %t10487, i64 %t10486) store ptr %t10488, ptr %t10476 store i32 %t10482, ptr %t10475 br label %put2238 put2238: %t10489 = load ptr, ptr %t10476 %t10490 = getelementptr inbounds ptr, ptr %t10489, i32 %t10477 store ptr @.str9179, ptr %t10490 %t10491 = add i32 %t10477, 1 store i32 %t10491, ptr %t10474 br label %ifend2236 ifend2236: %t10492 = load ptr, ptr %t1 %t10493 = call i32 @lp_str_eq(ptr %t10492, ptr @.str9180) %t10494 = icmp ne i32 %t10493, 0 br i1 %t10494, label %then2239, label %ifend2241 then2239: store ptr @.str9181, ptr %t452 %t10495 = load ptr, ptr %t459 %t10496 = getelementptr inbounds %LSlice, ptr %t10495, i32 0, i32 1 %t10497 = getelementptr inbounds %LSlice, ptr %t10495, i32 0, i32 2 %t10498 = getelementptr inbounds %LSlice, ptr %t10495, i32 0, i32 0 %t10499 = load i32, ptr %t10496 %t10500 = load i32, ptr %t10497 %t10501 = icmp sge i32 %t10499, %t10500 br i1 %t10501, label %grow2242, label %put2243 grow2242: %t10502 = mul i32 %t10500, 2 %t10503 = icmp eq i32 %t10500, 0 %t10504 = select i1 %t10503, i32 8, i32 %t10502 %t10505 = getelementptr ptr, ptr null, i32 1 %t10506 = ptrtoint ptr %t10505 to i64 %t10507 = zext i32 %t10504 to i64 %t10508 = mul i64 %t10507, %t10506 %t10509 = load ptr, ptr %t10498 %t10510 = call ptr @realloc(ptr %t10509, i64 %t10508) store ptr %t10510, ptr %t10498 store i32 %t10504, ptr %t10497 br label %put2243 put2243: %t10511 = load ptr, ptr %t10498 %t10512 = getelementptr inbounds ptr, ptr %t10511, i32 %t10499 store ptr @.str9182, ptr %t10512 %t10513 = add i32 %t10499, 1 store i32 %t10513, ptr %t10496 %t10514 = load ptr, ptr %t459 %t10515 = getelementptr inbounds %LSlice, ptr %t10514, i32 0, i32 1 %t10516 = getelementptr inbounds %LSlice, ptr %t10514, i32 0, i32 2 %t10517 = getelementptr inbounds %LSlice, ptr %t10514, i32 0, i32 0 %t10518 = load i32, ptr %t10515 %t10519 = load i32, ptr %t10516 %t10520 = icmp sge i32 %t10518, %t10519 br i1 %t10520, label %grow2244, label %put2245 grow2244: %t10521 = mul i32 %t10519, 2 %t10522 = icmp eq i32 %t10519, 0 %t10523 = select i1 %t10522, i32 8, i32 %t10521 %t10524 = getelementptr ptr, ptr null, i32 1 %t10525 = ptrtoint ptr %t10524 to i64 %t10526 = zext i32 %t10523 to i64 %t10527 = mul i64 %t10526, %t10525 %t10528 = load ptr, ptr %t10517 %t10529 = call ptr @realloc(ptr %t10528, i64 %t10527) store ptr %t10529, ptr %t10517 store i32 %t10523, ptr %t10516 br label %put2245 put2245: %t10530 = load ptr, ptr %t10517 %t10531 = getelementptr inbounds ptr, ptr %t10530, i32 %t10518 store ptr @.str9183, ptr %t10531 %t10532 = add i32 %t10518, 1 store i32 %t10532, ptr %t10515 br label %ifend2241 ifend2241: %t10533 = load ptr, ptr %t1 %t10534 = call i32 @lp_str_eq(ptr %t10533, ptr @.str9184) %t10535 = icmp ne i32 %t10534, 0 br i1 %t10535, label %then2246, label %ifend2248 then2246: store ptr @.str9185, ptr %t452 %t10536 = load ptr, ptr %t459 %t10537 = getelementptr inbounds %LSlice, ptr %t10536, i32 0, i32 1 %t10538 = getelementptr inbounds %LSlice, ptr %t10536, i32 0, i32 2 %t10539 = getelementptr inbounds %LSlice, ptr %t10536, i32 0, i32 0 %t10540 = load i32, ptr %t10537 %t10541 = load i32, ptr %t10538 %t10542 = icmp sge i32 %t10540, %t10541 br i1 %t10542, label %grow2249, label %put2250 grow2249: %t10543 = mul i32 %t10541, 2 %t10544 = icmp eq i32 %t10541, 0 %t10545 = select i1 %t10544, i32 8, i32 %t10543 %t10546 = getelementptr ptr, ptr null, i32 1 %t10547 = ptrtoint ptr %t10546 to i64 %t10548 = zext i32 %t10545 to i64 %t10549 = mul i64 %t10548, %t10547 %t10550 = load ptr, ptr %t10539 %t10551 = call ptr @realloc(ptr %t10550, i64 %t10549) store ptr %t10551, ptr %t10539 store i32 %t10545, ptr %t10538 br label %put2250 put2250: %t10552 = load ptr, ptr %t10539 %t10553 = getelementptr inbounds ptr, ptr %t10552, i32 %t10540 store ptr @.str9186, ptr %t10553 %t10554 = add i32 %t10540, 1 store i32 %t10554, ptr %t10537 %t10555 = load ptr, ptr %t459 %t10556 = getelementptr inbounds %LSlice, ptr %t10555, i32 0, i32 1 %t10557 = getelementptr inbounds %LSlice, ptr %t10555, i32 0, i32 2 %t10558 = getelementptr inbounds %LSlice, ptr %t10555, i32 0, i32 0 %t10559 = load i32, ptr %t10556 %t10560 = load i32, ptr %t10557 %t10561 = icmp sge i32 %t10559, %t10560 br i1 %t10561, label %grow2251, label %put2252 grow2251: %t10562 = mul i32 %t10560, 2 %t10563 = icmp eq i32 %t10560, 0 %t10564 = select i1 %t10563, i32 8, i32 %t10562 %t10565 = getelementptr ptr, ptr null, i32 1 %t10566 = ptrtoint ptr %t10565 to i64 %t10567 = zext i32 %t10564 to i64 %t10568 = mul i64 %t10567, %t10566 %t10569 = load ptr, ptr %t10558 %t10570 = call ptr @realloc(ptr %t10569, i64 %t10568) store ptr %t10570, ptr %t10558 store i32 %t10564, ptr %t10557 br label %put2252 put2252: %t10571 = load ptr, ptr %t10558 %t10572 = getelementptr inbounds ptr, ptr %t10571, i32 %t10559 store ptr @.str9187, ptr %t10572 %t10573 = add i32 %t10559, 1 store i32 %t10573, ptr %t10556 br label %ifend2248 ifend2248: %t10574 = load ptr, ptr %t1 %t10575 = call i32 @lp_str_eq(ptr %t10574, ptr @.str9188) %t10576 = icmp ne i32 %t10575, 0 br i1 %t10576, label %then2253, label %ifend2255 then2253: store ptr @.str9189, ptr %t452 %t10577 = load ptr, ptr %t459 %t10578 = getelementptr inbounds %LSlice, ptr %t10577, i32 0, i32 1 %t10579 = getelementptr inbounds %LSlice, ptr %t10577, i32 0, i32 2 %t10580 = getelementptr inbounds %LSlice, ptr %t10577, i32 0, i32 0 %t10581 = load i32, ptr %t10578 %t10582 = load i32, ptr %t10579 %t10583 = icmp sge i32 %t10581, %t10582 br i1 %t10583, label %grow2256, label %put2257 grow2256: %t10584 = mul i32 %t10582, 2 %t10585 = icmp eq i32 %t10582, 0 %t10586 = select i1 %t10585, i32 8, i32 %t10584 %t10587 = getelementptr ptr, ptr null, i32 1 %t10588 = ptrtoint ptr %t10587 to i64 %t10589 = zext i32 %t10586 to i64 %t10590 = mul i64 %t10589, %t10588 %t10591 = load ptr, ptr %t10580 %t10592 = call ptr @realloc(ptr %t10591, i64 %t10590) store ptr %t10592, ptr %t10580 store i32 %t10586, ptr %t10579 br label %put2257 put2257: %t10593 = load ptr, ptr %t10580 %t10594 = getelementptr inbounds ptr, ptr %t10593, i32 %t10581 store ptr @.str9190, ptr %t10594 %t10595 = add i32 %t10581, 1 store i32 %t10595, ptr %t10578 %t10596 = load ptr, ptr %t459 %t10597 = getelementptr inbounds %LSlice, ptr %t10596, i32 0, i32 1 %t10598 = getelementptr inbounds %LSlice, ptr %t10596, i32 0, i32 2 %t10599 = getelementptr inbounds %LSlice, ptr %t10596, i32 0, i32 0 %t10600 = load i32, ptr %t10597 %t10601 = load i32, ptr %t10598 %t10602 = icmp sge i32 %t10600, %t10601 br i1 %t10602, label %grow2258, label %put2259 grow2258: %t10603 = mul i32 %t10601, 2 %t10604 = icmp eq i32 %t10601, 0 %t10605 = select i1 %t10604, i32 8, i32 %t10603 %t10606 = getelementptr ptr, ptr null, i32 1 %t10607 = ptrtoint ptr %t10606 to i64 %t10608 = zext i32 %t10605 to i64 %t10609 = mul i64 %t10608, %t10607 %t10610 = load ptr, ptr %t10599 %t10611 = call ptr @realloc(ptr %t10610, i64 %t10609) store ptr %t10611, ptr %t10599 store i32 %t10605, ptr %t10598 br label %put2259 put2259: %t10612 = load ptr, ptr %t10599 %t10613 = getelementptr inbounds ptr, ptr %t10612, i32 %t10600 store ptr @.str9191, ptr %t10613 %t10614 = add i32 %t10600, 1 store i32 %t10614, ptr %t10597 br label %ifend2255 ifend2255: %t10615 = load ptr, ptr %t1 %t10616 = call i32 @lp_str_eq(ptr %t10615, ptr @.str9192) %t10617 = icmp ne i32 %t10616, 0 br i1 %t10617, label %then2260, label %ifend2262 then2260: store ptr @.str9193, ptr %t452 %t10618 = load ptr, ptr %t459 %t10619 = getelementptr inbounds %LSlice, ptr %t10618, i32 0, i32 1 %t10620 = getelementptr inbounds %LSlice, ptr %t10618, i32 0, i32 2 %t10621 = getelementptr inbounds %LSlice, ptr %t10618, i32 0, i32 0 %t10622 = load i32, ptr %t10619 %t10623 = load i32, ptr %t10620 %t10624 = icmp sge i32 %t10622, %t10623 br i1 %t10624, label %grow2263, label %put2264 grow2263: %t10625 = mul i32 %t10623, 2 %t10626 = icmp eq i32 %t10623, 0 %t10627 = select i1 %t10626, i32 8, i32 %t10625 %t10628 = getelementptr ptr, ptr null, i32 1 %t10629 = ptrtoint ptr %t10628 to i64 %t10630 = zext i32 %t10627 to i64 %t10631 = mul i64 %t10630, %t10629 %t10632 = load ptr, ptr %t10621 %t10633 = call ptr @realloc(ptr %t10632, i64 %t10631) store ptr %t10633, ptr %t10621 store i32 %t10627, ptr %t10620 br label %put2264 put2264: %t10634 = load ptr, ptr %t10621 %t10635 = getelementptr inbounds ptr, ptr %t10634, i32 %t10622 store ptr @.str9194, ptr %t10635 %t10636 = add i32 %t10622, 1 store i32 %t10636, ptr %t10619 %t10637 = load ptr, ptr %t459 %t10638 = getelementptr inbounds %LSlice, ptr %t10637, i32 0, i32 1 %t10639 = getelementptr inbounds %LSlice, ptr %t10637, i32 0, i32 2 %t10640 = getelementptr inbounds %LSlice, ptr %t10637, i32 0, i32 0 %t10641 = load i32, ptr %t10638 %t10642 = load i32, ptr %t10639 %t10643 = icmp sge i32 %t10641, %t10642 br i1 %t10643, label %grow2265, label %put2266 grow2265: %t10644 = mul i32 %t10642, 2 %t10645 = icmp eq i32 %t10642, 0 %t10646 = select i1 %t10645, i32 8, i32 %t10644 %t10647 = getelementptr ptr, ptr null, i32 1 %t10648 = ptrtoint ptr %t10647 to i64 %t10649 = zext i32 %t10646 to i64 %t10650 = mul i64 %t10649, %t10648 %t10651 = load ptr, ptr %t10640 %t10652 = call ptr @realloc(ptr %t10651, i64 %t10650) store ptr %t10652, ptr %t10640 store i32 %t10646, ptr %t10639 br label %put2266 put2266: %t10653 = load ptr, ptr %t10640 %t10654 = getelementptr inbounds ptr, ptr %t10653, i32 %t10641 store ptr @.str9195, ptr %t10654 %t10655 = add i32 %t10641, 1 store i32 %t10655, ptr %t10638 %t10656 = load ptr, ptr %t459 %t10657 = getelementptr inbounds %LSlice, ptr %t10656, i32 0, i32 1 %t10658 = getelementptr inbounds %LSlice, ptr %t10656, i32 0, i32 2 %t10659 = getelementptr inbounds %LSlice, ptr %t10656, i32 0, i32 0 %t10660 = load i32, ptr %t10657 %t10661 = load i32, ptr %t10658 %t10662 = icmp sge i32 %t10660, %t10661 br i1 %t10662, label %grow2267, label %put2268 grow2267: %t10663 = mul i32 %t10661, 2 %t10664 = icmp eq i32 %t10661, 0 %t10665 = select i1 %t10664, i32 8, i32 %t10663 %t10666 = getelementptr ptr, ptr null, i32 1 %t10667 = ptrtoint ptr %t10666 to i64 %t10668 = zext i32 %t10665 to i64 %t10669 = mul i64 %t10668, %t10667 %t10670 = load ptr, ptr %t10659 %t10671 = call ptr @realloc(ptr %t10670, i64 %t10669) store ptr %t10671, ptr %t10659 store i32 %t10665, ptr %t10658 br label %put2268 put2268: %t10672 = load ptr, ptr %t10659 %t10673 = getelementptr inbounds ptr, ptr %t10672, i32 %t10660 store ptr @.str9196, ptr %t10673 %t10674 = add i32 %t10660, 1 store i32 %t10674, ptr %t10657 br label %ifend2262 ifend2262: br label %ifend2213 ifend2213: %t10675 = load ptr, ptr %t0 %t10676 = call i32 @lp_str_eq(ptr %t10675, ptr @.str9197) %t10677 = icmp ne i32 %t10676, 0 br i1 %t10677, label %then2269, label %ifend2271 then2269: %t10678 = load ptr, ptr %t1 %t10679 = call i32 @lp_str_eq(ptr %t10678, ptr @.str9198) %t10680 = icmp ne i32 %t10679, 0 br i1 %t10680, label %then2272, label %ifend2274 then2272: store ptr @.str9199, ptr %t452 %t10681 = load ptr, ptr %t459 %t10682 = getelementptr inbounds %LSlice, ptr %t10681, i32 0, i32 1 %t10683 = getelementptr inbounds %LSlice, ptr %t10681, i32 0, i32 2 %t10684 = getelementptr inbounds %LSlice, ptr %t10681, i32 0, i32 0 %t10685 = load i32, ptr %t10682 %t10686 = load i32, ptr %t10683 %t10687 = icmp sge i32 %t10685, %t10686 br i1 %t10687, label %grow2275, label %put2276 grow2275: %t10688 = mul i32 %t10686, 2 %t10689 = icmp eq i32 %t10686, 0 %t10690 = select i1 %t10689, i32 8, i32 %t10688 %t10691 = getelementptr ptr, ptr null, i32 1 %t10692 = ptrtoint ptr %t10691 to i64 %t10693 = zext i32 %t10690 to i64 %t10694 = mul i64 %t10693, %t10692 %t10695 = load ptr, ptr %t10684 %t10696 = call ptr @realloc(ptr %t10695, i64 %t10694) store ptr %t10696, ptr %t10684 store i32 %t10690, ptr %t10683 br label %put2276 put2276: %t10697 = load ptr, ptr %t10684 %t10698 = getelementptr inbounds ptr, ptr %t10697, i32 %t10685 store ptr @.str9200, ptr %t10698 %t10699 = add i32 %t10685, 1 store i32 %t10699, ptr %t10682 br label %ifend2274 ifend2274: %t10700 = load ptr, ptr %t1 %t10701 = call i32 @lp_str_eq(ptr %t10700, ptr @.str9201) %t10702 = icmp ne i32 %t10701, 0 br i1 %t10702, label %then2277, label %ifend2279 then2277: store ptr @.str9202, ptr %t452 %t10703 = load ptr, ptr %t459 %t10704 = getelementptr inbounds %LSlice, ptr %t10703, i32 0, i32 1 %t10705 = getelementptr inbounds %LSlice, ptr %t10703, i32 0, i32 2 %t10706 = getelementptr inbounds %LSlice, ptr %t10703, i32 0, i32 0 %t10707 = load i32, ptr %t10704 %t10708 = load i32, ptr %t10705 %t10709 = icmp sge i32 %t10707, %t10708 br i1 %t10709, label %grow2280, label %put2281 grow2280: %t10710 = mul i32 %t10708, 2 %t10711 = icmp eq i32 %t10708, 0 %t10712 = select i1 %t10711, i32 8, i32 %t10710 %t10713 = getelementptr ptr, ptr null, i32 1 %t10714 = ptrtoint ptr %t10713 to i64 %t10715 = zext i32 %t10712 to i64 %t10716 = mul i64 %t10715, %t10714 %t10717 = load ptr, ptr %t10706 %t10718 = call ptr @realloc(ptr %t10717, i64 %t10716) store ptr %t10718, ptr %t10706 store i32 %t10712, ptr %t10705 br label %put2281 put2281: %t10719 = load ptr, ptr %t10706 %t10720 = getelementptr inbounds ptr, ptr %t10719, i32 %t10707 store ptr @.str9203, ptr %t10720 %t10721 = add i32 %t10707, 1 store i32 %t10721, ptr %t10704 %t10722 = load ptr, ptr %t459 %t10723 = getelementptr inbounds %LSlice, ptr %t10722, i32 0, i32 1 %t10724 = getelementptr inbounds %LSlice, ptr %t10722, i32 0, i32 2 %t10725 = getelementptr inbounds %LSlice, ptr %t10722, i32 0, i32 0 %t10726 = load i32, ptr %t10723 %t10727 = load i32, ptr %t10724 %t10728 = icmp sge i32 %t10726, %t10727 br i1 %t10728, label %grow2282, label %put2283 grow2282: %t10729 = mul i32 %t10727, 2 %t10730 = icmp eq i32 %t10727, 0 %t10731 = select i1 %t10730, i32 8, i32 %t10729 %t10732 = getelementptr ptr, ptr null, i32 1 %t10733 = ptrtoint ptr %t10732 to i64 %t10734 = zext i32 %t10731 to i64 %t10735 = mul i64 %t10734, %t10733 %t10736 = load ptr, ptr %t10725 %t10737 = call ptr @realloc(ptr %t10736, i64 %t10735) store ptr %t10737, ptr %t10725 store i32 %t10731, ptr %t10724 br label %put2283 put2283: %t10738 = load ptr, ptr %t10725 %t10739 = getelementptr inbounds ptr, ptr %t10738, i32 %t10726 store ptr @.str9204, ptr %t10739 %t10740 = add i32 %t10726, 1 store i32 %t10740, ptr %t10723 br label %ifend2279 ifend2279: %t10741 = load ptr, ptr %t1 %t10742 = call i32 @lp_str_eq(ptr %t10741, ptr @.str9205) %t10743 = icmp ne i32 %t10742, 0 br i1 %t10743, label %then2284, label %ifend2286 then2284: store ptr @.str9206, ptr %t452 %t10744 = load ptr, ptr %t459 %t10745 = getelementptr inbounds %LSlice, ptr %t10744, i32 0, i32 1 %t10746 = getelementptr inbounds %LSlice, ptr %t10744, i32 0, i32 2 %t10747 = getelementptr inbounds %LSlice, ptr %t10744, i32 0, i32 0 %t10748 = load i32, ptr %t10745 %t10749 = load i32, ptr %t10746 %t10750 = icmp sge i32 %t10748, %t10749 br i1 %t10750, label %grow2287, label %put2288 grow2287: %t10751 = mul i32 %t10749, 2 %t10752 = icmp eq i32 %t10749, 0 %t10753 = select i1 %t10752, i32 8, i32 %t10751 %t10754 = getelementptr ptr, ptr null, i32 1 %t10755 = ptrtoint ptr %t10754 to i64 %t10756 = zext i32 %t10753 to i64 %t10757 = mul i64 %t10756, %t10755 %t10758 = load ptr, ptr %t10747 %t10759 = call ptr @realloc(ptr %t10758, i64 %t10757) store ptr %t10759, ptr %t10747 store i32 %t10753, ptr %t10746 br label %put2288 put2288: %t10760 = load ptr, ptr %t10747 %t10761 = getelementptr inbounds ptr, ptr %t10760, i32 %t10748 store ptr @.str9207, ptr %t10761 %t10762 = add i32 %t10748, 1 store i32 %t10762, ptr %t10745 %t10763 = load ptr, ptr %t459 %t10764 = getelementptr inbounds %LSlice, ptr %t10763, i32 0, i32 1 %t10765 = getelementptr inbounds %LSlice, ptr %t10763, i32 0, i32 2 %t10766 = getelementptr inbounds %LSlice, ptr %t10763, i32 0, i32 0 %t10767 = load i32, ptr %t10764 %t10768 = load i32, ptr %t10765 %t10769 = icmp sge i32 %t10767, %t10768 br i1 %t10769, label %grow2289, label %put2290 grow2289: %t10770 = mul i32 %t10768, 2 %t10771 = icmp eq i32 %t10768, 0 %t10772 = select i1 %t10771, i32 8, i32 %t10770 %t10773 = getelementptr ptr, ptr null, i32 1 %t10774 = ptrtoint ptr %t10773 to i64 %t10775 = zext i32 %t10772 to i64 %t10776 = mul i64 %t10775, %t10774 %t10777 = load ptr, ptr %t10766 %t10778 = call ptr @realloc(ptr %t10777, i64 %t10776) store ptr %t10778, ptr %t10766 store i32 %t10772, ptr %t10765 br label %put2290 put2290: %t10779 = load ptr, ptr %t10766 %t10780 = getelementptr inbounds ptr, ptr %t10779, i32 %t10767 store ptr @.str9208, ptr %t10780 %t10781 = add i32 %t10767, 1 store i32 %t10781, ptr %t10764 %t10782 = load ptr, ptr %t459 %t10783 = getelementptr inbounds %LSlice, ptr %t10782, i32 0, i32 1 %t10784 = getelementptr inbounds %LSlice, ptr %t10782, i32 0, i32 2 %t10785 = getelementptr inbounds %LSlice, ptr %t10782, i32 0, i32 0 %t10786 = load i32, ptr %t10783 %t10787 = load i32, ptr %t10784 %t10788 = icmp sge i32 %t10786, %t10787 br i1 %t10788, label %grow2291, label %put2292 grow2291: %t10789 = mul i32 %t10787, 2 %t10790 = icmp eq i32 %t10787, 0 %t10791 = select i1 %t10790, i32 8, i32 %t10789 %t10792 = getelementptr ptr, ptr null, i32 1 %t10793 = ptrtoint ptr %t10792 to i64 %t10794 = zext i32 %t10791 to i64 %t10795 = mul i64 %t10794, %t10793 %t10796 = load ptr, ptr %t10785 %t10797 = call ptr @realloc(ptr %t10796, i64 %t10795) store ptr %t10797, ptr %t10785 store i32 %t10791, ptr %t10784 br label %put2292 put2292: %t10798 = load ptr, ptr %t10785 %t10799 = getelementptr inbounds ptr, ptr %t10798, i32 %t10786 store ptr @.str9209, ptr %t10799 %t10800 = add i32 %t10786, 1 store i32 %t10800, ptr %t10783 br label %ifend2286 ifend2286: %t10801 = load ptr, ptr %t1 %t10802 = call i32 @lp_str_eq(ptr %t10801, ptr @.str9210) %t10803 = icmp ne i32 %t10802, 0 br i1 %t10803, label %then2293, label %ifend2295 then2293: store ptr @.str9211, ptr %t452 %t10804 = load ptr, ptr %t459 %t10805 = getelementptr inbounds %LSlice, ptr %t10804, i32 0, i32 1 %t10806 = getelementptr inbounds %LSlice, ptr %t10804, i32 0, i32 2 %t10807 = getelementptr inbounds %LSlice, ptr %t10804, i32 0, i32 0 %t10808 = load i32, ptr %t10805 %t10809 = load i32, ptr %t10806 %t10810 = icmp sge i32 %t10808, %t10809 br i1 %t10810, label %grow2296, label %put2297 grow2296: %t10811 = mul i32 %t10809, 2 %t10812 = icmp eq i32 %t10809, 0 %t10813 = select i1 %t10812, i32 8, i32 %t10811 %t10814 = getelementptr ptr, ptr null, i32 1 %t10815 = ptrtoint ptr %t10814 to i64 %t10816 = zext i32 %t10813 to i64 %t10817 = mul i64 %t10816, %t10815 %t10818 = load ptr, ptr %t10807 %t10819 = call ptr @realloc(ptr %t10818, i64 %t10817) store ptr %t10819, ptr %t10807 store i32 %t10813, ptr %t10806 br label %put2297 put2297: %t10820 = load ptr, ptr %t10807 %t10821 = getelementptr inbounds ptr, ptr %t10820, i32 %t10808 store ptr @.str9212, ptr %t10821 %t10822 = add i32 %t10808, 1 store i32 %t10822, ptr %t10805 %t10823 = load ptr, ptr %t459 %t10824 = getelementptr inbounds %LSlice, ptr %t10823, i32 0, i32 1 %t10825 = getelementptr inbounds %LSlice, ptr %t10823, i32 0, i32 2 %t10826 = getelementptr inbounds %LSlice, ptr %t10823, i32 0, i32 0 %t10827 = load i32, ptr %t10824 %t10828 = load i32, ptr %t10825 %t10829 = icmp sge i32 %t10827, %t10828 br i1 %t10829, label %grow2298, label %put2299 grow2298: %t10830 = mul i32 %t10828, 2 %t10831 = icmp eq i32 %t10828, 0 %t10832 = select i1 %t10831, i32 8, i32 %t10830 %t10833 = getelementptr ptr, ptr null, i32 1 %t10834 = ptrtoint ptr %t10833 to i64 %t10835 = zext i32 %t10832 to i64 %t10836 = mul i64 %t10835, %t10834 %t10837 = load ptr, ptr %t10826 %t10838 = call ptr @realloc(ptr %t10837, i64 %t10836) store ptr %t10838, ptr %t10826 store i32 %t10832, ptr %t10825 br label %put2299 put2299: %t10839 = load ptr, ptr %t10826 %t10840 = getelementptr inbounds ptr, ptr %t10839, i32 %t10827 store ptr @.str9213, ptr %t10840 %t10841 = add i32 %t10827, 1 store i32 %t10841, ptr %t10824 br label %ifend2295 ifend2295: br label %ifend2271 ifend2271: %t10842 = load ptr, ptr %t0 %t10843 = call i32 @lp_str_eq(ptr %t10842, ptr @.str9214) %t10844 = icmp ne i32 %t10843, 0 br i1 %t10844, label %then2300, label %ifend2302 then2300: %t10845 = load ptr, ptr %t1 %t10846 = call i32 @lp_str_eq(ptr %t10845, ptr @.str9215) %t10847 = icmp ne i32 %t10846, 0 br i1 %t10847, label %then2303, label %ifend2305 then2303: store ptr @.str9216, ptr %t452 %t10848 = load ptr, ptr %t459 %t10849 = getelementptr inbounds %LSlice, ptr %t10848, i32 0, i32 1 %t10850 = getelementptr inbounds %LSlice, ptr %t10848, i32 0, i32 2 %t10851 = getelementptr inbounds %LSlice, ptr %t10848, i32 0, i32 0 %t10852 = load i32, ptr %t10849 %t10853 = load i32, ptr %t10850 %t10854 = icmp sge i32 %t10852, %t10853 br i1 %t10854, label %grow2306, label %put2307 grow2306: %t10855 = mul i32 %t10853, 2 %t10856 = icmp eq i32 %t10853, 0 %t10857 = select i1 %t10856, i32 8, i32 %t10855 %t10858 = getelementptr ptr, ptr null, i32 1 %t10859 = ptrtoint ptr %t10858 to i64 %t10860 = zext i32 %t10857 to i64 %t10861 = mul i64 %t10860, %t10859 %t10862 = load ptr, ptr %t10851 %t10863 = call ptr @realloc(ptr %t10862, i64 %t10861) store ptr %t10863, ptr %t10851 store i32 %t10857, ptr %t10850 br label %put2307 put2307: %t10864 = load ptr, ptr %t10851 %t10865 = getelementptr inbounds ptr, ptr %t10864, i32 %t10852 store ptr @.str9217, ptr %t10865 %t10866 = add i32 %t10852, 1 store i32 %t10866, ptr %t10849 %t10867 = load ptr, ptr %t459 %t10868 = getelementptr inbounds %LSlice, ptr %t10867, i32 0, i32 1 %t10869 = getelementptr inbounds %LSlice, ptr %t10867, i32 0, i32 2 %t10870 = getelementptr inbounds %LSlice, ptr %t10867, i32 0, i32 0 %t10871 = load i32, ptr %t10868 %t10872 = load i32, ptr %t10869 %t10873 = icmp sge i32 %t10871, %t10872 br i1 %t10873, label %grow2308, label %put2309 grow2308: %t10874 = mul i32 %t10872, 2 %t10875 = icmp eq i32 %t10872, 0 %t10876 = select i1 %t10875, i32 8, i32 %t10874 %t10877 = getelementptr ptr, ptr null, i32 1 %t10878 = ptrtoint ptr %t10877 to i64 %t10879 = zext i32 %t10876 to i64 %t10880 = mul i64 %t10879, %t10878 %t10881 = load ptr, ptr %t10870 %t10882 = call ptr @realloc(ptr %t10881, i64 %t10880) store ptr %t10882, ptr %t10870 store i32 %t10876, ptr %t10869 br label %put2309 put2309: %t10883 = load ptr, ptr %t10870 %t10884 = getelementptr inbounds ptr, ptr %t10883, i32 %t10871 store ptr @.str9218, ptr %t10884 %t10885 = add i32 %t10871, 1 store i32 %t10885, ptr %t10868 %t10886 = load ptr, ptr %t459 %t10887 = getelementptr inbounds %LSlice, ptr %t10886, i32 0, i32 1 %t10888 = getelementptr inbounds %LSlice, ptr %t10886, i32 0, i32 2 %t10889 = getelementptr inbounds %LSlice, ptr %t10886, i32 0, i32 0 %t10890 = load i32, ptr %t10887 %t10891 = load i32, ptr %t10888 %t10892 = icmp sge i32 %t10890, %t10891 br i1 %t10892, label %grow2310, label %put2311 grow2310: %t10893 = mul i32 %t10891, 2 %t10894 = icmp eq i32 %t10891, 0 %t10895 = select i1 %t10894, i32 8, i32 %t10893 %t10896 = getelementptr ptr, ptr null, i32 1 %t10897 = ptrtoint ptr %t10896 to i64 %t10898 = zext i32 %t10895 to i64 %t10899 = mul i64 %t10898, %t10897 %t10900 = load ptr, ptr %t10889 %t10901 = call ptr @realloc(ptr %t10900, i64 %t10899) store ptr %t10901, ptr %t10889 store i32 %t10895, ptr %t10888 br label %put2311 put2311: %t10902 = load ptr, ptr %t10889 %t10903 = getelementptr inbounds ptr, ptr %t10902, i32 %t10890 store ptr @.str9219, ptr %t10903 %t10904 = add i32 %t10890, 1 store i32 %t10904, ptr %t10887 %t10905 = load ptr, ptr %t459 %t10906 = getelementptr inbounds %LSlice, ptr %t10905, i32 0, i32 1 %t10907 = getelementptr inbounds %LSlice, ptr %t10905, i32 0, i32 2 %t10908 = getelementptr inbounds %LSlice, ptr %t10905, i32 0, i32 0 %t10909 = load i32, ptr %t10906 %t10910 = load i32, ptr %t10907 %t10911 = icmp sge i32 %t10909, %t10910 br i1 %t10911, label %grow2312, label %put2313 grow2312: %t10912 = mul i32 %t10910, 2 %t10913 = icmp eq i32 %t10910, 0 %t10914 = select i1 %t10913, i32 8, i32 %t10912 %t10915 = getelementptr ptr, ptr null, i32 1 %t10916 = ptrtoint ptr %t10915 to i64 %t10917 = zext i32 %t10914 to i64 %t10918 = mul i64 %t10917, %t10916 %t10919 = load ptr, ptr %t10908 %t10920 = call ptr @realloc(ptr %t10919, i64 %t10918) store ptr %t10920, ptr %t10908 store i32 %t10914, ptr %t10907 br label %put2313 put2313: %t10921 = load ptr, ptr %t10908 %t10922 = getelementptr inbounds ptr, ptr %t10921, i32 %t10909 store ptr @.str9220, ptr %t10922 %t10923 = add i32 %t10909, 1 store i32 %t10923, ptr %t10906 br label %ifend2305 ifend2305: %t10924 = load ptr, ptr %t1 %t10925 = call i32 @lp_str_eq(ptr %t10924, ptr @.str9221) %t10926 = icmp ne i32 %t10925, 0 br i1 %t10926, label %then2314, label %ifend2316 then2314: store ptr @.str9222, ptr %t452 %t10927 = load ptr, ptr %t459 %t10928 = getelementptr inbounds %LSlice, ptr %t10927, i32 0, i32 1 %t10929 = getelementptr inbounds %LSlice, ptr %t10927, i32 0, i32 2 %t10930 = getelementptr inbounds %LSlice, ptr %t10927, i32 0, i32 0 %t10931 = load i32, ptr %t10928 %t10932 = load i32, ptr %t10929 %t10933 = icmp sge i32 %t10931, %t10932 br i1 %t10933, label %grow2317, label %put2318 grow2317: %t10934 = mul i32 %t10932, 2 %t10935 = icmp eq i32 %t10932, 0 %t10936 = select i1 %t10935, i32 8, i32 %t10934 %t10937 = getelementptr ptr, ptr null, i32 1 %t10938 = ptrtoint ptr %t10937 to i64 %t10939 = zext i32 %t10936 to i64 %t10940 = mul i64 %t10939, %t10938 %t10941 = load ptr, ptr %t10930 %t10942 = call ptr @realloc(ptr %t10941, i64 %t10940) store ptr %t10942, ptr %t10930 store i32 %t10936, ptr %t10929 br label %put2318 put2318: %t10943 = load ptr, ptr %t10930 %t10944 = getelementptr inbounds ptr, ptr %t10943, i32 %t10931 store ptr @.str9223, ptr %t10944 %t10945 = add i32 %t10931, 1 store i32 %t10945, ptr %t10928 %t10946 = load ptr, ptr %t459 %t10947 = getelementptr inbounds %LSlice, ptr %t10946, i32 0, i32 1 %t10948 = getelementptr inbounds %LSlice, ptr %t10946, i32 0, i32 2 %t10949 = getelementptr inbounds %LSlice, ptr %t10946, i32 0, i32 0 %t10950 = load i32, ptr %t10947 %t10951 = load i32, ptr %t10948 %t10952 = icmp sge i32 %t10950, %t10951 br i1 %t10952, label %grow2319, label %put2320 grow2319: %t10953 = mul i32 %t10951, 2 %t10954 = icmp eq i32 %t10951, 0 %t10955 = select i1 %t10954, i32 8, i32 %t10953 %t10956 = getelementptr ptr, ptr null, i32 1 %t10957 = ptrtoint ptr %t10956 to i64 %t10958 = zext i32 %t10955 to i64 %t10959 = mul i64 %t10958, %t10957 %t10960 = load ptr, ptr %t10949 %t10961 = call ptr @realloc(ptr %t10960, i64 %t10959) store ptr %t10961, ptr %t10949 store i32 %t10955, ptr %t10948 br label %put2320 put2320: %t10962 = load ptr, ptr %t10949 %t10963 = getelementptr inbounds ptr, ptr %t10962, i32 %t10950 store ptr @.str9224, ptr %t10963 %t10964 = add i32 %t10950, 1 store i32 %t10964, ptr %t10947 %t10965 = load ptr, ptr %t459 %t10966 = getelementptr inbounds %LSlice, ptr %t10965, i32 0, i32 1 %t10967 = getelementptr inbounds %LSlice, ptr %t10965, i32 0, i32 2 %t10968 = getelementptr inbounds %LSlice, ptr %t10965, i32 0, i32 0 %t10969 = load i32, ptr %t10966 %t10970 = load i32, ptr %t10967 %t10971 = icmp sge i32 %t10969, %t10970 br i1 %t10971, label %grow2321, label %put2322 grow2321: %t10972 = mul i32 %t10970, 2 %t10973 = icmp eq i32 %t10970, 0 %t10974 = select i1 %t10973, i32 8, i32 %t10972 %t10975 = getelementptr ptr, ptr null, i32 1 %t10976 = ptrtoint ptr %t10975 to i64 %t10977 = zext i32 %t10974 to i64 %t10978 = mul i64 %t10977, %t10976 %t10979 = load ptr, ptr %t10968 %t10980 = call ptr @realloc(ptr %t10979, i64 %t10978) store ptr %t10980, ptr %t10968 store i32 %t10974, ptr %t10967 br label %put2322 put2322: %t10981 = load ptr, ptr %t10968 %t10982 = getelementptr inbounds ptr, ptr %t10981, i32 %t10969 store ptr @.str9225, ptr %t10982 %t10983 = add i32 %t10969, 1 store i32 %t10983, ptr %t10966 br label %ifend2316 ifend2316: %t10984 = load ptr, ptr %t1 %t10985 = call i32 @lp_str_eq(ptr %t10984, ptr @.str9226) %t10986 = icmp ne i32 %t10985, 0 br i1 %t10986, label %then2323, label %ifend2325 then2323: store ptr @.str9227, ptr %t452 %t10987 = load ptr, ptr %t459 %t10988 = getelementptr inbounds %LSlice, ptr %t10987, i32 0, i32 1 %t10989 = getelementptr inbounds %LSlice, ptr %t10987, i32 0, i32 2 %t10990 = getelementptr inbounds %LSlice, ptr %t10987, i32 0, i32 0 %t10991 = load i32, ptr %t10988 %t10992 = load i32, ptr %t10989 %t10993 = icmp sge i32 %t10991, %t10992 br i1 %t10993, label %grow2326, label %put2327 grow2326: %t10994 = mul i32 %t10992, 2 %t10995 = icmp eq i32 %t10992, 0 %t10996 = select i1 %t10995, i32 8, i32 %t10994 %t10997 = getelementptr ptr, ptr null, i32 1 %t10998 = ptrtoint ptr %t10997 to i64 %t10999 = zext i32 %t10996 to i64 %t11000 = mul i64 %t10999, %t10998 %t11001 = load ptr, ptr %t10990 %t11002 = call ptr @realloc(ptr %t11001, i64 %t11000) store ptr %t11002, ptr %t10990 store i32 %t10996, ptr %t10989 br label %put2327 put2327: %t11003 = load ptr, ptr %t10990 %t11004 = getelementptr inbounds ptr, ptr %t11003, i32 %t10991 store ptr @.str9228, ptr %t11004 %t11005 = add i32 %t10991, 1 store i32 %t11005, ptr %t10988 %t11006 = load ptr, ptr %t459 %t11007 = getelementptr inbounds %LSlice, ptr %t11006, i32 0, i32 1 %t11008 = getelementptr inbounds %LSlice, ptr %t11006, i32 0, i32 2 %t11009 = getelementptr inbounds %LSlice, ptr %t11006, i32 0, i32 0 %t11010 = load i32, ptr %t11007 %t11011 = load i32, ptr %t11008 %t11012 = icmp sge i32 %t11010, %t11011 br i1 %t11012, label %grow2328, label %put2329 grow2328: %t11013 = mul i32 %t11011, 2 %t11014 = icmp eq i32 %t11011, 0 %t11015 = select i1 %t11014, i32 8, i32 %t11013 %t11016 = getelementptr ptr, ptr null, i32 1 %t11017 = ptrtoint ptr %t11016 to i64 %t11018 = zext i32 %t11015 to i64 %t11019 = mul i64 %t11018, %t11017 %t11020 = load ptr, ptr %t11009 %t11021 = call ptr @realloc(ptr %t11020, i64 %t11019) store ptr %t11021, ptr %t11009 store i32 %t11015, ptr %t11008 br label %put2329 put2329: %t11022 = load ptr, ptr %t11009 %t11023 = getelementptr inbounds ptr, ptr %t11022, i32 %t11010 store ptr @.str9229, ptr %t11023 %t11024 = add i32 %t11010, 1 store i32 %t11024, ptr %t11007 %t11025 = load ptr, ptr %t459 %t11026 = getelementptr inbounds %LSlice, ptr %t11025, i32 0, i32 1 %t11027 = getelementptr inbounds %LSlice, ptr %t11025, i32 0, i32 2 %t11028 = getelementptr inbounds %LSlice, ptr %t11025, i32 0, i32 0 %t11029 = load i32, ptr %t11026 %t11030 = load i32, ptr %t11027 %t11031 = icmp sge i32 %t11029, %t11030 br i1 %t11031, label %grow2330, label %put2331 grow2330: %t11032 = mul i32 %t11030, 2 %t11033 = icmp eq i32 %t11030, 0 %t11034 = select i1 %t11033, i32 8, i32 %t11032 %t11035 = getelementptr ptr, ptr null, i32 1 %t11036 = ptrtoint ptr %t11035 to i64 %t11037 = zext i32 %t11034 to i64 %t11038 = mul i64 %t11037, %t11036 %t11039 = load ptr, ptr %t11028 %t11040 = call ptr @realloc(ptr %t11039, i64 %t11038) store ptr %t11040, ptr %t11028 store i32 %t11034, ptr %t11027 br label %put2331 put2331: %t11041 = load ptr, ptr %t11028 %t11042 = getelementptr inbounds ptr, ptr %t11041, i32 %t11029 store ptr @.str9230, ptr %t11042 %t11043 = add i32 %t11029, 1 store i32 %t11043, ptr %t11026 %t11044 = load ptr, ptr %t459 %t11045 = getelementptr inbounds %LSlice, ptr %t11044, i32 0, i32 1 %t11046 = getelementptr inbounds %LSlice, ptr %t11044, i32 0, i32 2 %t11047 = getelementptr inbounds %LSlice, ptr %t11044, i32 0, i32 0 %t11048 = load i32, ptr %t11045 %t11049 = load i32, ptr %t11046 %t11050 = icmp sge i32 %t11048, %t11049 br i1 %t11050, label %grow2332, label %put2333 grow2332: %t11051 = mul i32 %t11049, 2 %t11052 = icmp eq i32 %t11049, 0 %t11053 = select i1 %t11052, i32 8, i32 %t11051 %t11054 = getelementptr ptr, ptr null, i32 1 %t11055 = ptrtoint ptr %t11054 to i64 %t11056 = zext i32 %t11053 to i64 %t11057 = mul i64 %t11056, %t11055 %t11058 = load ptr, ptr %t11047 %t11059 = call ptr @realloc(ptr %t11058, i64 %t11057) store ptr %t11059, ptr %t11047 store i32 %t11053, ptr %t11046 br label %put2333 put2333: %t11060 = load ptr, ptr %t11047 %t11061 = getelementptr inbounds ptr, ptr %t11060, i32 %t11048 store ptr @.str9231, ptr %t11061 %t11062 = add i32 %t11048, 1 store i32 %t11062, ptr %t11045 %t11063 = load ptr, ptr %t459 %t11064 = getelementptr inbounds %LSlice, ptr %t11063, i32 0, i32 1 %t11065 = getelementptr inbounds %LSlice, ptr %t11063, i32 0, i32 2 %t11066 = getelementptr inbounds %LSlice, ptr %t11063, i32 0, i32 0 %t11067 = load i32, ptr %t11064 %t11068 = load i32, ptr %t11065 %t11069 = icmp sge i32 %t11067, %t11068 br i1 %t11069, label %grow2334, label %put2335 grow2334: %t11070 = mul i32 %t11068, 2 %t11071 = icmp eq i32 %t11068, 0 %t11072 = select i1 %t11071, i32 8, i32 %t11070 %t11073 = getelementptr ptr, ptr null, i32 1 %t11074 = ptrtoint ptr %t11073 to i64 %t11075 = zext i32 %t11072 to i64 %t11076 = mul i64 %t11075, %t11074 %t11077 = load ptr, ptr %t11066 %t11078 = call ptr @realloc(ptr %t11077, i64 %t11076) store ptr %t11078, ptr %t11066 store i32 %t11072, ptr %t11065 br label %put2335 put2335: %t11079 = load ptr, ptr %t11066 %t11080 = getelementptr inbounds ptr, ptr %t11079, i32 %t11067 store ptr @.str9232, ptr %t11080 %t11081 = add i32 %t11067, 1 store i32 %t11081, ptr %t11064 br label %ifend2325 ifend2325: %t11082 = load ptr, ptr %t1 %t11083 = call i32 @lp_str_eq(ptr %t11082, ptr @.str9233) %t11084 = icmp ne i32 %t11083, 0 br i1 %t11084, label %then2336, label %ifend2338 then2336: store ptr @.str9234, ptr %t452 %t11085 = load ptr, ptr %t459 %t11086 = getelementptr inbounds %LSlice, ptr %t11085, i32 0, i32 1 %t11087 = getelementptr inbounds %LSlice, ptr %t11085, i32 0, i32 2 %t11088 = getelementptr inbounds %LSlice, ptr %t11085, i32 0, i32 0 %t11089 = load i32, ptr %t11086 %t11090 = load i32, ptr %t11087 %t11091 = icmp sge i32 %t11089, %t11090 br i1 %t11091, label %grow2339, label %put2340 grow2339: %t11092 = mul i32 %t11090, 2 %t11093 = icmp eq i32 %t11090, 0 %t11094 = select i1 %t11093, i32 8, i32 %t11092 %t11095 = getelementptr ptr, ptr null, i32 1 %t11096 = ptrtoint ptr %t11095 to i64 %t11097 = zext i32 %t11094 to i64 %t11098 = mul i64 %t11097, %t11096 %t11099 = load ptr, ptr %t11088 %t11100 = call ptr @realloc(ptr %t11099, i64 %t11098) store ptr %t11100, ptr %t11088 store i32 %t11094, ptr %t11087 br label %put2340 put2340: %t11101 = load ptr, ptr %t11088 %t11102 = getelementptr inbounds ptr, ptr %t11101, i32 %t11089 store ptr @.str9235, ptr %t11102 %t11103 = add i32 %t11089, 1 store i32 %t11103, ptr %t11086 %t11104 = load ptr, ptr %t459 %t11105 = getelementptr inbounds %LSlice, ptr %t11104, i32 0, i32 1 %t11106 = getelementptr inbounds %LSlice, ptr %t11104, i32 0, i32 2 %t11107 = getelementptr inbounds %LSlice, ptr %t11104, i32 0, i32 0 %t11108 = load i32, ptr %t11105 %t11109 = load i32, ptr %t11106 %t11110 = icmp sge i32 %t11108, %t11109 br i1 %t11110, label %grow2341, label %put2342 grow2341: %t11111 = mul i32 %t11109, 2 %t11112 = icmp eq i32 %t11109, 0 %t11113 = select i1 %t11112, i32 8, i32 %t11111 %t11114 = getelementptr ptr, ptr null, i32 1 %t11115 = ptrtoint ptr %t11114 to i64 %t11116 = zext i32 %t11113 to i64 %t11117 = mul i64 %t11116, %t11115 %t11118 = load ptr, ptr %t11107 %t11119 = call ptr @realloc(ptr %t11118, i64 %t11117) store ptr %t11119, ptr %t11107 store i32 %t11113, ptr %t11106 br label %put2342 put2342: %t11120 = load ptr, ptr %t11107 %t11121 = getelementptr inbounds ptr, ptr %t11120, i32 %t11108 store ptr @.str9236, ptr %t11121 %t11122 = add i32 %t11108, 1 store i32 %t11122, ptr %t11105 %t11123 = load ptr, ptr %t459 %t11124 = getelementptr inbounds %LSlice, ptr %t11123, i32 0, i32 1 %t11125 = getelementptr inbounds %LSlice, ptr %t11123, i32 0, i32 2 %t11126 = getelementptr inbounds %LSlice, ptr %t11123, i32 0, i32 0 %t11127 = load i32, ptr %t11124 %t11128 = load i32, ptr %t11125 %t11129 = icmp sge i32 %t11127, %t11128 br i1 %t11129, label %grow2343, label %put2344 grow2343: %t11130 = mul i32 %t11128, 2 %t11131 = icmp eq i32 %t11128, 0 %t11132 = select i1 %t11131, i32 8, i32 %t11130 %t11133 = getelementptr ptr, ptr null, i32 1 %t11134 = ptrtoint ptr %t11133 to i64 %t11135 = zext i32 %t11132 to i64 %t11136 = mul i64 %t11135, %t11134 %t11137 = load ptr, ptr %t11126 %t11138 = call ptr @realloc(ptr %t11137, i64 %t11136) store ptr %t11138, ptr %t11126 store i32 %t11132, ptr %t11125 br label %put2344 put2344: %t11139 = load ptr, ptr %t11126 %t11140 = getelementptr inbounds ptr, ptr %t11139, i32 %t11127 store ptr @.str9237, ptr %t11140 %t11141 = add i32 %t11127, 1 store i32 %t11141, ptr %t11124 br label %ifend2338 ifend2338: %t11142 = load ptr, ptr %t1 %t11143 = call i32 @lp_str_eq(ptr %t11142, ptr @.str9238) %t11144 = icmp ne i32 %t11143, 0 br i1 %t11144, label %then2345, label %ifend2347 then2345: store ptr @.str9239, ptr %t452 %t11145 = load ptr, ptr %t459 %t11146 = getelementptr inbounds %LSlice, ptr %t11145, i32 0, i32 1 %t11147 = getelementptr inbounds %LSlice, ptr %t11145, i32 0, i32 2 %t11148 = getelementptr inbounds %LSlice, ptr %t11145, i32 0, i32 0 %t11149 = load i32, ptr %t11146 %t11150 = load i32, ptr %t11147 %t11151 = icmp sge i32 %t11149, %t11150 br i1 %t11151, label %grow2348, label %put2349 grow2348: %t11152 = mul i32 %t11150, 2 %t11153 = icmp eq i32 %t11150, 0 %t11154 = select i1 %t11153, i32 8, i32 %t11152 %t11155 = getelementptr ptr, ptr null, i32 1 %t11156 = ptrtoint ptr %t11155 to i64 %t11157 = zext i32 %t11154 to i64 %t11158 = mul i64 %t11157, %t11156 %t11159 = load ptr, ptr %t11148 %t11160 = call ptr @realloc(ptr %t11159, i64 %t11158) store ptr %t11160, ptr %t11148 store i32 %t11154, ptr %t11147 br label %put2349 put2349: %t11161 = load ptr, ptr %t11148 %t11162 = getelementptr inbounds ptr, ptr %t11161, i32 %t11149 store ptr @.str9240, ptr %t11162 %t11163 = add i32 %t11149, 1 store i32 %t11163, ptr %t11146 %t11164 = load ptr, ptr %t459 %t11165 = getelementptr inbounds %LSlice, ptr %t11164, i32 0, i32 1 %t11166 = getelementptr inbounds %LSlice, ptr %t11164, i32 0, i32 2 %t11167 = getelementptr inbounds %LSlice, ptr %t11164, i32 0, i32 0 %t11168 = load i32, ptr %t11165 %t11169 = load i32, ptr %t11166 %t11170 = icmp sge i32 %t11168, %t11169 br i1 %t11170, label %grow2350, label %put2351 grow2350: %t11171 = mul i32 %t11169, 2 %t11172 = icmp eq i32 %t11169, 0 %t11173 = select i1 %t11172, i32 8, i32 %t11171 %t11174 = getelementptr ptr, ptr null, i32 1 %t11175 = ptrtoint ptr %t11174 to i64 %t11176 = zext i32 %t11173 to i64 %t11177 = mul i64 %t11176, %t11175 %t11178 = load ptr, ptr %t11167 %t11179 = call ptr @realloc(ptr %t11178, i64 %t11177) store ptr %t11179, ptr %t11167 store i32 %t11173, ptr %t11166 br label %put2351 put2351: %t11180 = load ptr, ptr %t11167 %t11181 = getelementptr inbounds ptr, ptr %t11180, i32 %t11168 store ptr @.str9241, ptr %t11181 %t11182 = add i32 %t11168, 1 store i32 %t11182, ptr %t11165 %t11183 = load ptr, ptr %t459 %t11184 = getelementptr inbounds %LSlice, ptr %t11183, i32 0, i32 1 %t11185 = getelementptr inbounds %LSlice, ptr %t11183, i32 0, i32 2 %t11186 = getelementptr inbounds %LSlice, ptr %t11183, i32 0, i32 0 %t11187 = load i32, ptr %t11184 %t11188 = load i32, ptr %t11185 %t11189 = icmp sge i32 %t11187, %t11188 br i1 %t11189, label %grow2352, label %put2353 grow2352: %t11190 = mul i32 %t11188, 2 %t11191 = icmp eq i32 %t11188, 0 %t11192 = select i1 %t11191, i32 8, i32 %t11190 %t11193 = getelementptr ptr, ptr null, i32 1 %t11194 = ptrtoint ptr %t11193 to i64 %t11195 = zext i32 %t11192 to i64 %t11196 = mul i64 %t11195, %t11194 %t11197 = load ptr, ptr %t11186 %t11198 = call ptr @realloc(ptr %t11197, i64 %t11196) store ptr %t11198, ptr %t11186 store i32 %t11192, ptr %t11185 br label %put2353 put2353: %t11199 = load ptr, ptr %t11186 %t11200 = getelementptr inbounds ptr, ptr %t11199, i32 %t11187 store ptr @.str9242, ptr %t11200 %t11201 = add i32 %t11187, 1 store i32 %t11201, ptr %t11184 %t11202 = load ptr, ptr %t459 %t11203 = getelementptr inbounds %LSlice, ptr %t11202, i32 0, i32 1 %t11204 = getelementptr inbounds %LSlice, ptr %t11202, i32 0, i32 2 %t11205 = getelementptr inbounds %LSlice, ptr %t11202, i32 0, i32 0 %t11206 = load i32, ptr %t11203 %t11207 = load i32, ptr %t11204 %t11208 = icmp sge i32 %t11206, %t11207 br i1 %t11208, label %grow2354, label %put2355 grow2354: %t11209 = mul i32 %t11207, 2 %t11210 = icmp eq i32 %t11207, 0 %t11211 = select i1 %t11210, i32 8, i32 %t11209 %t11212 = getelementptr ptr, ptr null, i32 1 %t11213 = ptrtoint ptr %t11212 to i64 %t11214 = zext i32 %t11211 to i64 %t11215 = mul i64 %t11214, %t11213 %t11216 = load ptr, ptr %t11205 %t11217 = call ptr @realloc(ptr %t11216, i64 %t11215) store ptr %t11217, ptr %t11205 store i32 %t11211, ptr %t11204 br label %put2355 put2355: %t11218 = load ptr, ptr %t11205 %t11219 = getelementptr inbounds ptr, ptr %t11218, i32 %t11206 store ptr @.str9243, ptr %t11219 %t11220 = add i32 %t11206, 1 store i32 %t11220, ptr %t11203 %t11221 = load ptr, ptr %t459 %t11222 = getelementptr inbounds %LSlice, ptr %t11221, i32 0, i32 1 %t11223 = getelementptr inbounds %LSlice, ptr %t11221, i32 0, i32 2 %t11224 = getelementptr inbounds %LSlice, ptr %t11221, i32 0, i32 0 %t11225 = load i32, ptr %t11222 %t11226 = load i32, ptr %t11223 %t11227 = icmp sge i32 %t11225, %t11226 br i1 %t11227, label %grow2356, label %put2357 grow2356: %t11228 = mul i32 %t11226, 2 %t11229 = icmp eq i32 %t11226, 0 %t11230 = select i1 %t11229, i32 8, i32 %t11228 %t11231 = getelementptr ptr, ptr null, i32 1 %t11232 = ptrtoint ptr %t11231 to i64 %t11233 = zext i32 %t11230 to i64 %t11234 = mul i64 %t11233, %t11232 %t11235 = load ptr, ptr %t11224 %t11236 = call ptr @realloc(ptr %t11235, i64 %t11234) store ptr %t11236, ptr %t11224 store i32 %t11230, ptr %t11223 br label %put2357 put2357: %t11237 = load ptr, ptr %t11224 %t11238 = getelementptr inbounds ptr, ptr %t11237, i32 %t11225 store ptr @.str9244, ptr %t11238 %t11239 = add i32 %t11225, 1 store i32 %t11239, ptr %t11222 br label %ifend2347 ifend2347: br label %ifend2302 ifend2302: %t11240 = load ptr, ptr %t0 %t11241 = call i32 @lp_str_eq(ptr %t11240, ptr @.str9245) %t11242 = icmp ne i32 %t11241, 0 br i1 %t11242, label %then2358, label %ifend2360 then2358: %t11243 = load ptr, ptr %t1 %t11244 = call i32 @lp_str_eq(ptr %t11243, ptr @.str9246) %t11245 = icmp ne i32 %t11244, 0 br i1 %t11245, label %then2361, label %ifend2363 then2361: store ptr @.str9247, ptr %t452 %t11246 = load ptr, ptr %t459 %t11247 = getelementptr inbounds %LSlice, ptr %t11246, i32 0, i32 1 %t11248 = getelementptr inbounds %LSlice, ptr %t11246, i32 0, i32 2 %t11249 = getelementptr inbounds %LSlice, ptr %t11246, i32 0, i32 0 %t11250 = load i32, ptr %t11247 %t11251 = load i32, ptr %t11248 %t11252 = icmp sge i32 %t11250, %t11251 br i1 %t11252, label %grow2364, label %put2365 grow2364: %t11253 = mul i32 %t11251, 2 %t11254 = icmp eq i32 %t11251, 0 %t11255 = select i1 %t11254, i32 8, i32 %t11253 %t11256 = getelementptr ptr, ptr null, i32 1 %t11257 = ptrtoint ptr %t11256 to i64 %t11258 = zext i32 %t11255 to i64 %t11259 = mul i64 %t11258, %t11257 %t11260 = load ptr, ptr %t11249 %t11261 = call ptr @realloc(ptr %t11260, i64 %t11259) store ptr %t11261, ptr %t11249 store i32 %t11255, ptr %t11248 br label %put2365 put2365: %t11262 = load ptr, ptr %t11249 %t11263 = getelementptr inbounds ptr, ptr %t11262, i32 %t11250 store ptr @.str9248, ptr %t11263 %t11264 = add i32 %t11250, 1 store i32 %t11264, ptr %t11247 br label %ifend2363 ifend2363: %t11265 = load ptr, ptr %t1 %t11266 = call i32 @lp_str_eq(ptr %t11265, ptr @.str9249) %t11267 = icmp ne i32 %t11266, 0 br i1 %t11267, label %then2366, label %ifend2368 then2366: store ptr @.str9250, ptr %t452 %t11268 = load ptr, ptr %t459 %t11269 = getelementptr inbounds %LSlice, ptr %t11268, i32 0, i32 1 %t11270 = getelementptr inbounds %LSlice, ptr %t11268, i32 0, i32 2 %t11271 = getelementptr inbounds %LSlice, ptr %t11268, i32 0, i32 0 %t11272 = load i32, ptr %t11269 %t11273 = load i32, ptr %t11270 %t11274 = icmp sge i32 %t11272, %t11273 br i1 %t11274, label %grow2369, label %put2370 grow2369: %t11275 = mul i32 %t11273, 2 %t11276 = icmp eq i32 %t11273, 0 %t11277 = select i1 %t11276, i32 8, i32 %t11275 %t11278 = getelementptr ptr, ptr null, i32 1 %t11279 = ptrtoint ptr %t11278 to i64 %t11280 = zext i32 %t11277 to i64 %t11281 = mul i64 %t11280, %t11279 %t11282 = load ptr, ptr %t11271 %t11283 = call ptr @realloc(ptr %t11282, i64 %t11281) store ptr %t11283, ptr %t11271 store i32 %t11277, ptr %t11270 br label %put2370 put2370: %t11284 = load ptr, ptr %t11271 %t11285 = getelementptr inbounds ptr, ptr %t11284, i32 %t11272 store ptr @.str9251, ptr %t11285 %t11286 = add i32 %t11272, 1 store i32 %t11286, ptr %t11269 %t11287 = load ptr, ptr %t459 %t11288 = getelementptr inbounds %LSlice, ptr %t11287, i32 0, i32 1 %t11289 = getelementptr inbounds %LSlice, ptr %t11287, i32 0, i32 2 %t11290 = getelementptr inbounds %LSlice, ptr %t11287, i32 0, i32 0 %t11291 = load i32, ptr %t11288 %t11292 = load i32, ptr %t11289 %t11293 = icmp sge i32 %t11291, %t11292 br i1 %t11293, label %grow2371, label %put2372 grow2371: %t11294 = mul i32 %t11292, 2 %t11295 = icmp eq i32 %t11292, 0 %t11296 = select i1 %t11295, i32 8, i32 %t11294 %t11297 = getelementptr ptr, ptr null, i32 1 %t11298 = ptrtoint ptr %t11297 to i64 %t11299 = zext i32 %t11296 to i64 %t11300 = mul i64 %t11299, %t11298 %t11301 = load ptr, ptr %t11290 %t11302 = call ptr @realloc(ptr %t11301, i64 %t11300) store ptr %t11302, ptr %t11290 store i32 %t11296, ptr %t11289 br label %put2372 put2372: %t11303 = load ptr, ptr %t11290 %t11304 = getelementptr inbounds ptr, ptr %t11303, i32 %t11291 store ptr @.str9252, ptr %t11304 %t11305 = add i32 %t11291, 1 store i32 %t11305, ptr %t11288 %t11306 = load ptr, ptr %t459 %t11307 = getelementptr inbounds %LSlice, ptr %t11306, i32 0, i32 1 %t11308 = getelementptr inbounds %LSlice, ptr %t11306, i32 0, i32 2 %t11309 = getelementptr inbounds %LSlice, ptr %t11306, i32 0, i32 0 %t11310 = load i32, ptr %t11307 %t11311 = load i32, ptr %t11308 %t11312 = icmp sge i32 %t11310, %t11311 br i1 %t11312, label %grow2373, label %put2374 grow2373: %t11313 = mul i32 %t11311, 2 %t11314 = icmp eq i32 %t11311, 0 %t11315 = select i1 %t11314, i32 8, i32 %t11313 %t11316 = getelementptr ptr, ptr null, i32 1 %t11317 = ptrtoint ptr %t11316 to i64 %t11318 = zext i32 %t11315 to i64 %t11319 = mul i64 %t11318, %t11317 %t11320 = load ptr, ptr %t11309 %t11321 = call ptr @realloc(ptr %t11320, i64 %t11319) store ptr %t11321, ptr %t11309 store i32 %t11315, ptr %t11308 br label %put2374 put2374: %t11322 = load ptr, ptr %t11309 %t11323 = getelementptr inbounds ptr, ptr %t11322, i32 %t11310 store ptr @.str9253, ptr %t11323 %t11324 = add i32 %t11310, 1 store i32 %t11324, ptr %t11307 %t11325 = load ptr, ptr %t459 %t11326 = getelementptr inbounds %LSlice, ptr %t11325, i32 0, i32 1 %t11327 = getelementptr inbounds %LSlice, ptr %t11325, i32 0, i32 2 %t11328 = getelementptr inbounds %LSlice, ptr %t11325, i32 0, i32 0 %t11329 = load i32, ptr %t11326 %t11330 = load i32, ptr %t11327 %t11331 = icmp sge i32 %t11329, %t11330 br i1 %t11331, label %grow2375, label %put2376 grow2375: %t11332 = mul i32 %t11330, 2 %t11333 = icmp eq i32 %t11330, 0 %t11334 = select i1 %t11333, i32 8, i32 %t11332 %t11335 = getelementptr ptr, ptr null, i32 1 %t11336 = ptrtoint ptr %t11335 to i64 %t11337 = zext i32 %t11334 to i64 %t11338 = mul i64 %t11337, %t11336 %t11339 = load ptr, ptr %t11328 %t11340 = call ptr @realloc(ptr %t11339, i64 %t11338) store ptr %t11340, ptr %t11328 store i32 %t11334, ptr %t11327 br label %put2376 put2376: %t11341 = load ptr, ptr %t11328 %t11342 = getelementptr inbounds ptr, ptr %t11341, i32 %t11329 store ptr @.str9254, ptr %t11342 %t11343 = add i32 %t11329, 1 store i32 %t11343, ptr %t11326 %t11344 = load ptr, ptr %t459 %t11345 = getelementptr inbounds %LSlice, ptr %t11344, i32 0, i32 1 %t11346 = getelementptr inbounds %LSlice, ptr %t11344, i32 0, i32 2 %t11347 = getelementptr inbounds %LSlice, ptr %t11344, i32 0, i32 0 %t11348 = load i32, ptr %t11345 %t11349 = load i32, ptr %t11346 %t11350 = icmp sge i32 %t11348, %t11349 br i1 %t11350, label %grow2377, label %put2378 grow2377: %t11351 = mul i32 %t11349, 2 %t11352 = icmp eq i32 %t11349, 0 %t11353 = select i1 %t11352, i32 8, i32 %t11351 %t11354 = getelementptr ptr, ptr null, i32 1 %t11355 = ptrtoint ptr %t11354 to i64 %t11356 = zext i32 %t11353 to i64 %t11357 = mul i64 %t11356, %t11355 %t11358 = load ptr, ptr %t11347 %t11359 = call ptr @realloc(ptr %t11358, i64 %t11357) store ptr %t11359, ptr %t11347 store i32 %t11353, ptr %t11346 br label %put2378 put2378: %t11360 = load ptr, ptr %t11347 %t11361 = getelementptr inbounds ptr, ptr %t11360, i32 %t11348 store ptr @.str9255, ptr %t11361 %t11362 = add i32 %t11348, 1 store i32 %t11362, ptr %t11345 br label %ifend2368 ifend2368: %t11363 = load ptr, ptr %t1 %t11364 = call i32 @lp_str_eq(ptr %t11363, ptr @.str9256) %t11365 = icmp ne i32 %t11364, 0 br i1 %t11365, label %then2379, label %ifend2381 then2379: store ptr @.str9257, ptr %t452 %t11366 = load ptr, ptr %t459 %t11367 = getelementptr inbounds %LSlice, ptr %t11366, i32 0, i32 1 %t11368 = getelementptr inbounds %LSlice, ptr %t11366, i32 0, i32 2 %t11369 = getelementptr inbounds %LSlice, ptr %t11366, i32 0, i32 0 %t11370 = load i32, ptr %t11367 %t11371 = load i32, ptr %t11368 %t11372 = icmp sge i32 %t11370, %t11371 br i1 %t11372, label %grow2382, label %put2383 grow2382: %t11373 = mul i32 %t11371, 2 %t11374 = icmp eq i32 %t11371, 0 %t11375 = select i1 %t11374, i32 8, i32 %t11373 %t11376 = getelementptr ptr, ptr null, i32 1 %t11377 = ptrtoint ptr %t11376 to i64 %t11378 = zext i32 %t11375 to i64 %t11379 = mul i64 %t11378, %t11377 %t11380 = load ptr, ptr %t11369 %t11381 = call ptr @realloc(ptr %t11380, i64 %t11379) store ptr %t11381, ptr %t11369 store i32 %t11375, ptr %t11368 br label %put2383 put2383: %t11382 = load ptr, ptr %t11369 %t11383 = getelementptr inbounds ptr, ptr %t11382, i32 %t11370 store ptr @.str9258, ptr %t11383 %t11384 = add i32 %t11370, 1 store i32 %t11384, ptr %t11367 %t11385 = load ptr, ptr %t459 %t11386 = getelementptr inbounds %LSlice, ptr %t11385, i32 0, i32 1 %t11387 = getelementptr inbounds %LSlice, ptr %t11385, i32 0, i32 2 %t11388 = getelementptr inbounds %LSlice, ptr %t11385, i32 0, i32 0 %t11389 = load i32, ptr %t11386 %t11390 = load i32, ptr %t11387 %t11391 = icmp sge i32 %t11389, %t11390 br i1 %t11391, label %grow2384, label %put2385 grow2384: %t11392 = mul i32 %t11390, 2 %t11393 = icmp eq i32 %t11390, 0 %t11394 = select i1 %t11393, i32 8, i32 %t11392 %t11395 = getelementptr ptr, ptr null, i32 1 %t11396 = ptrtoint ptr %t11395 to i64 %t11397 = zext i32 %t11394 to i64 %t11398 = mul i64 %t11397, %t11396 %t11399 = load ptr, ptr %t11388 %t11400 = call ptr @realloc(ptr %t11399, i64 %t11398) store ptr %t11400, ptr %t11388 store i32 %t11394, ptr %t11387 br label %put2385 put2385: %t11401 = load ptr, ptr %t11388 %t11402 = getelementptr inbounds ptr, ptr %t11401, i32 %t11389 store ptr @.str9259, ptr %t11402 %t11403 = add i32 %t11389, 1 store i32 %t11403, ptr %t11386 %t11404 = load ptr, ptr %t459 %t11405 = getelementptr inbounds %LSlice, ptr %t11404, i32 0, i32 1 %t11406 = getelementptr inbounds %LSlice, ptr %t11404, i32 0, i32 2 %t11407 = getelementptr inbounds %LSlice, ptr %t11404, i32 0, i32 0 %t11408 = load i32, ptr %t11405 %t11409 = load i32, ptr %t11406 %t11410 = icmp sge i32 %t11408, %t11409 br i1 %t11410, label %grow2386, label %put2387 grow2386: %t11411 = mul i32 %t11409, 2 %t11412 = icmp eq i32 %t11409, 0 %t11413 = select i1 %t11412, i32 8, i32 %t11411 %t11414 = getelementptr ptr, ptr null, i32 1 %t11415 = ptrtoint ptr %t11414 to i64 %t11416 = zext i32 %t11413 to i64 %t11417 = mul i64 %t11416, %t11415 %t11418 = load ptr, ptr %t11407 %t11419 = call ptr @realloc(ptr %t11418, i64 %t11417) store ptr %t11419, ptr %t11407 store i32 %t11413, ptr %t11406 br label %put2387 put2387: %t11420 = load ptr, ptr %t11407 %t11421 = getelementptr inbounds ptr, ptr %t11420, i32 %t11408 store ptr @.str9260, ptr %t11421 %t11422 = add i32 %t11408, 1 store i32 %t11422, ptr %t11405 %t11423 = load ptr, ptr %t459 %t11424 = getelementptr inbounds %LSlice, ptr %t11423, i32 0, i32 1 %t11425 = getelementptr inbounds %LSlice, ptr %t11423, i32 0, i32 2 %t11426 = getelementptr inbounds %LSlice, ptr %t11423, i32 0, i32 0 %t11427 = load i32, ptr %t11424 %t11428 = load i32, ptr %t11425 %t11429 = icmp sge i32 %t11427, %t11428 br i1 %t11429, label %grow2388, label %put2389 grow2388: %t11430 = mul i32 %t11428, 2 %t11431 = icmp eq i32 %t11428, 0 %t11432 = select i1 %t11431, i32 8, i32 %t11430 %t11433 = getelementptr ptr, ptr null, i32 1 %t11434 = ptrtoint ptr %t11433 to i64 %t11435 = zext i32 %t11432 to i64 %t11436 = mul i64 %t11435, %t11434 %t11437 = load ptr, ptr %t11426 %t11438 = call ptr @realloc(ptr %t11437, i64 %t11436) store ptr %t11438, ptr %t11426 store i32 %t11432, ptr %t11425 br label %put2389 put2389: %t11439 = load ptr, ptr %t11426 %t11440 = getelementptr inbounds ptr, ptr %t11439, i32 %t11427 store ptr @.str9261, ptr %t11440 %t11441 = add i32 %t11427, 1 store i32 %t11441, ptr %t11424 %t11442 = load ptr, ptr %t459 %t11443 = getelementptr inbounds %LSlice, ptr %t11442, i32 0, i32 1 %t11444 = getelementptr inbounds %LSlice, ptr %t11442, i32 0, i32 2 %t11445 = getelementptr inbounds %LSlice, ptr %t11442, i32 0, i32 0 %t11446 = load i32, ptr %t11443 %t11447 = load i32, ptr %t11444 %t11448 = icmp sge i32 %t11446, %t11447 br i1 %t11448, label %grow2390, label %put2391 grow2390: %t11449 = mul i32 %t11447, 2 %t11450 = icmp eq i32 %t11447, 0 %t11451 = select i1 %t11450, i32 8, i32 %t11449 %t11452 = getelementptr ptr, ptr null, i32 1 %t11453 = ptrtoint ptr %t11452 to i64 %t11454 = zext i32 %t11451 to i64 %t11455 = mul i64 %t11454, %t11453 %t11456 = load ptr, ptr %t11445 %t11457 = call ptr @realloc(ptr %t11456, i64 %t11455) store ptr %t11457, ptr %t11445 store i32 %t11451, ptr %t11444 br label %put2391 put2391: %t11458 = load ptr, ptr %t11445 %t11459 = getelementptr inbounds ptr, ptr %t11458, i32 %t11446 store ptr @.str9262, ptr %t11459 %t11460 = add i32 %t11446, 1 store i32 %t11460, ptr %t11443 %t11461 = load ptr, ptr %t459 %t11462 = getelementptr inbounds %LSlice, ptr %t11461, i32 0, i32 1 %t11463 = getelementptr inbounds %LSlice, ptr %t11461, i32 0, i32 2 %t11464 = getelementptr inbounds %LSlice, ptr %t11461, i32 0, i32 0 %t11465 = load i32, ptr %t11462 %t11466 = load i32, ptr %t11463 %t11467 = icmp sge i32 %t11465, %t11466 br i1 %t11467, label %grow2392, label %put2393 grow2392: %t11468 = mul i32 %t11466, 2 %t11469 = icmp eq i32 %t11466, 0 %t11470 = select i1 %t11469, i32 8, i32 %t11468 %t11471 = getelementptr ptr, ptr null, i32 1 %t11472 = ptrtoint ptr %t11471 to i64 %t11473 = zext i32 %t11470 to i64 %t11474 = mul i64 %t11473, %t11472 %t11475 = load ptr, ptr %t11464 %t11476 = call ptr @realloc(ptr %t11475, i64 %t11474) store ptr %t11476, ptr %t11464 store i32 %t11470, ptr %t11463 br label %put2393 put2393: %t11477 = load ptr, ptr %t11464 %t11478 = getelementptr inbounds ptr, ptr %t11477, i32 %t11465 store ptr @.str9263, ptr %t11478 %t11479 = add i32 %t11465, 1 store i32 %t11479, ptr %t11462 %t11480 = load ptr, ptr %t459 %t11481 = getelementptr inbounds %LSlice, ptr %t11480, i32 0, i32 1 %t11482 = getelementptr inbounds %LSlice, ptr %t11480, i32 0, i32 2 %t11483 = getelementptr inbounds %LSlice, ptr %t11480, i32 0, i32 0 %t11484 = load i32, ptr %t11481 %t11485 = load i32, ptr %t11482 %t11486 = icmp sge i32 %t11484, %t11485 br i1 %t11486, label %grow2394, label %put2395 grow2394: %t11487 = mul i32 %t11485, 2 %t11488 = icmp eq i32 %t11485, 0 %t11489 = select i1 %t11488, i32 8, i32 %t11487 %t11490 = getelementptr ptr, ptr null, i32 1 %t11491 = ptrtoint ptr %t11490 to i64 %t11492 = zext i32 %t11489 to i64 %t11493 = mul i64 %t11492, %t11491 %t11494 = load ptr, ptr %t11483 %t11495 = call ptr @realloc(ptr %t11494, i64 %t11493) store ptr %t11495, ptr %t11483 store i32 %t11489, ptr %t11482 br label %put2395 put2395: %t11496 = load ptr, ptr %t11483 %t11497 = getelementptr inbounds ptr, ptr %t11496, i32 %t11484 store ptr @.str9264, ptr %t11497 %t11498 = add i32 %t11484, 1 store i32 %t11498, ptr %t11481 br label %ifend2381 ifend2381: %t11499 = load ptr, ptr %t1 %t11500 = call i32 @lp_str_eq(ptr %t11499, ptr @.str9265) %t11501 = icmp ne i32 %t11500, 0 br i1 %t11501, label %then2396, label %ifend2398 then2396: store ptr @.str9266, ptr %t452 %t11502 = load ptr, ptr %t459 %t11503 = getelementptr inbounds %LSlice, ptr %t11502, i32 0, i32 1 %t11504 = getelementptr inbounds %LSlice, ptr %t11502, i32 0, i32 2 %t11505 = getelementptr inbounds %LSlice, ptr %t11502, i32 0, i32 0 %t11506 = load i32, ptr %t11503 %t11507 = load i32, ptr %t11504 %t11508 = icmp sge i32 %t11506, %t11507 br i1 %t11508, label %grow2399, label %put2400 grow2399: %t11509 = mul i32 %t11507, 2 %t11510 = icmp eq i32 %t11507, 0 %t11511 = select i1 %t11510, i32 8, i32 %t11509 %t11512 = getelementptr ptr, ptr null, i32 1 %t11513 = ptrtoint ptr %t11512 to i64 %t11514 = zext i32 %t11511 to i64 %t11515 = mul i64 %t11514, %t11513 %t11516 = load ptr, ptr %t11505 %t11517 = call ptr @realloc(ptr %t11516, i64 %t11515) store ptr %t11517, ptr %t11505 store i32 %t11511, ptr %t11504 br label %put2400 put2400: %t11518 = load ptr, ptr %t11505 %t11519 = getelementptr inbounds ptr, ptr %t11518, i32 %t11506 store ptr @.str9267, ptr %t11519 %t11520 = add i32 %t11506, 1 store i32 %t11520, ptr %t11503 %t11521 = load ptr, ptr %t459 %t11522 = getelementptr inbounds %LSlice, ptr %t11521, i32 0, i32 1 %t11523 = getelementptr inbounds %LSlice, ptr %t11521, i32 0, i32 2 %t11524 = getelementptr inbounds %LSlice, ptr %t11521, i32 0, i32 0 %t11525 = load i32, ptr %t11522 %t11526 = load i32, ptr %t11523 %t11527 = icmp sge i32 %t11525, %t11526 br i1 %t11527, label %grow2401, label %put2402 grow2401: %t11528 = mul i32 %t11526, 2 %t11529 = icmp eq i32 %t11526, 0 %t11530 = select i1 %t11529, i32 8, i32 %t11528 %t11531 = getelementptr ptr, ptr null, i32 1 %t11532 = ptrtoint ptr %t11531 to i64 %t11533 = zext i32 %t11530 to i64 %t11534 = mul i64 %t11533, %t11532 %t11535 = load ptr, ptr %t11524 %t11536 = call ptr @realloc(ptr %t11535, i64 %t11534) store ptr %t11536, ptr %t11524 store i32 %t11530, ptr %t11523 br label %put2402 put2402: %t11537 = load ptr, ptr %t11524 %t11538 = getelementptr inbounds ptr, ptr %t11537, i32 %t11525 store ptr @.str9268, ptr %t11538 %t11539 = add i32 %t11525, 1 store i32 %t11539, ptr %t11522 %t11540 = load ptr, ptr %t459 %t11541 = getelementptr inbounds %LSlice, ptr %t11540, i32 0, i32 1 %t11542 = getelementptr inbounds %LSlice, ptr %t11540, i32 0, i32 2 %t11543 = getelementptr inbounds %LSlice, ptr %t11540, i32 0, i32 0 %t11544 = load i32, ptr %t11541 %t11545 = load i32, ptr %t11542 %t11546 = icmp sge i32 %t11544, %t11545 br i1 %t11546, label %grow2403, label %put2404 grow2403: %t11547 = mul i32 %t11545, 2 %t11548 = icmp eq i32 %t11545, 0 %t11549 = select i1 %t11548, i32 8, i32 %t11547 %t11550 = getelementptr ptr, ptr null, i32 1 %t11551 = ptrtoint ptr %t11550 to i64 %t11552 = zext i32 %t11549 to i64 %t11553 = mul i64 %t11552, %t11551 %t11554 = load ptr, ptr %t11543 %t11555 = call ptr @realloc(ptr %t11554, i64 %t11553) store ptr %t11555, ptr %t11543 store i32 %t11549, ptr %t11542 br label %put2404 put2404: %t11556 = load ptr, ptr %t11543 %t11557 = getelementptr inbounds ptr, ptr %t11556, i32 %t11544 store ptr @.str9269, ptr %t11557 %t11558 = add i32 %t11544, 1 store i32 %t11558, ptr %t11541 %t11559 = load ptr, ptr %t459 %t11560 = getelementptr inbounds %LSlice, ptr %t11559, i32 0, i32 1 %t11561 = getelementptr inbounds %LSlice, ptr %t11559, i32 0, i32 2 %t11562 = getelementptr inbounds %LSlice, ptr %t11559, i32 0, i32 0 %t11563 = load i32, ptr %t11560 %t11564 = load i32, ptr %t11561 %t11565 = icmp sge i32 %t11563, %t11564 br i1 %t11565, label %grow2405, label %put2406 grow2405: %t11566 = mul i32 %t11564, 2 %t11567 = icmp eq i32 %t11564, 0 %t11568 = select i1 %t11567, i32 8, i32 %t11566 %t11569 = getelementptr ptr, ptr null, i32 1 %t11570 = ptrtoint ptr %t11569 to i64 %t11571 = zext i32 %t11568 to i64 %t11572 = mul i64 %t11571, %t11570 %t11573 = load ptr, ptr %t11562 %t11574 = call ptr @realloc(ptr %t11573, i64 %t11572) store ptr %t11574, ptr %t11562 store i32 %t11568, ptr %t11561 br label %put2406 put2406: %t11575 = load ptr, ptr %t11562 %t11576 = getelementptr inbounds ptr, ptr %t11575, i32 %t11563 store ptr @.str9270, ptr %t11576 %t11577 = add i32 %t11563, 1 store i32 %t11577, ptr %t11560 br label %ifend2398 ifend2398: %t11578 = load ptr, ptr %t1 %t11579 = call i32 @lp_str_eq(ptr %t11578, ptr @.str9271) %t11580 = icmp ne i32 %t11579, 0 br i1 %t11580, label %then2407, label %ifend2409 then2407: store ptr @.str9272, ptr %t452 br label %ifend2409 ifend2409: %t11581 = load ptr, ptr %t1 %t11582 = call i32 @lp_str_eq(ptr %t11581, ptr @.str9273) %t11583 = icmp ne i32 %t11582, 0 br i1 %t11583, label %then2410, label %ifend2412 then2410: store ptr @.str9274, ptr %t452 %t11584 = load ptr, ptr %t459 %t11585 = getelementptr inbounds %LSlice, ptr %t11584, i32 0, i32 1 %t11586 = getelementptr inbounds %LSlice, ptr %t11584, i32 0, i32 2 %t11587 = getelementptr inbounds %LSlice, ptr %t11584, i32 0, i32 0 %t11588 = load i32, ptr %t11585 %t11589 = load i32, ptr %t11586 %t11590 = icmp sge i32 %t11588, %t11589 br i1 %t11590, label %grow2413, label %put2414 grow2413: %t11591 = mul i32 %t11589, 2 %t11592 = icmp eq i32 %t11589, 0 %t11593 = select i1 %t11592, i32 8, i32 %t11591 %t11594 = getelementptr ptr, ptr null, i32 1 %t11595 = ptrtoint ptr %t11594 to i64 %t11596 = zext i32 %t11593 to i64 %t11597 = mul i64 %t11596, %t11595 %t11598 = load ptr, ptr %t11587 %t11599 = call ptr @realloc(ptr %t11598, i64 %t11597) store ptr %t11599, ptr %t11587 store i32 %t11593, ptr %t11586 br label %put2414 put2414: %t11600 = load ptr, ptr %t11587 %t11601 = getelementptr inbounds ptr, ptr %t11600, i32 %t11588 store ptr @.str9275, ptr %t11601 %t11602 = add i32 %t11588, 1 store i32 %t11602, ptr %t11585 br label %ifend2412 ifend2412: %t11603 = load ptr, ptr %t1 %t11604 = call i32 @lp_str_eq(ptr %t11603, ptr @.str9276) %t11605 = icmp ne i32 %t11604, 0 br i1 %t11605, label %then2415, label %ifend2417 then2415: store ptr @.str9277, ptr %t452 %t11606 = load ptr, ptr %t459 %t11607 = getelementptr inbounds %LSlice, ptr %t11606, i32 0, i32 1 %t11608 = getelementptr inbounds %LSlice, ptr %t11606, i32 0, i32 2 %t11609 = getelementptr inbounds %LSlice, ptr %t11606, i32 0, i32 0 %t11610 = load i32, ptr %t11607 %t11611 = load i32, ptr %t11608 %t11612 = icmp sge i32 %t11610, %t11611 br i1 %t11612, label %grow2418, label %put2419 grow2418: %t11613 = mul i32 %t11611, 2 %t11614 = icmp eq i32 %t11611, 0 %t11615 = select i1 %t11614, i32 8, i32 %t11613 %t11616 = getelementptr ptr, ptr null, i32 1 %t11617 = ptrtoint ptr %t11616 to i64 %t11618 = zext i32 %t11615 to i64 %t11619 = mul i64 %t11618, %t11617 %t11620 = load ptr, ptr %t11609 %t11621 = call ptr @realloc(ptr %t11620, i64 %t11619) store ptr %t11621, ptr %t11609 store i32 %t11615, ptr %t11608 br label %put2419 put2419: %t11622 = load ptr, ptr %t11609 %t11623 = getelementptr inbounds ptr, ptr %t11622, i32 %t11610 store ptr @.str9278, ptr %t11623 %t11624 = add i32 %t11610, 1 store i32 %t11624, ptr %t11607 br label %ifend2417 ifend2417: %t11625 = load ptr, ptr %t1 %t11626 = call i32 @lp_str_eq(ptr %t11625, ptr @.str9279) %t11627 = icmp ne i32 %t11626, 0 br i1 %t11627, label %then2420, label %ifend2422 then2420: store ptr @.str9280, ptr %t452 %t11628 = load ptr, ptr %t459 %t11629 = getelementptr inbounds %LSlice, ptr %t11628, i32 0, i32 1 %t11630 = getelementptr inbounds %LSlice, ptr %t11628, i32 0, i32 2 %t11631 = getelementptr inbounds %LSlice, ptr %t11628, i32 0, i32 0 %t11632 = load i32, ptr %t11629 %t11633 = load i32, ptr %t11630 %t11634 = icmp sge i32 %t11632, %t11633 br i1 %t11634, label %grow2423, label %put2424 grow2423: %t11635 = mul i32 %t11633, 2 %t11636 = icmp eq i32 %t11633, 0 %t11637 = select i1 %t11636, i32 8, i32 %t11635 %t11638 = getelementptr ptr, ptr null, i32 1 %t11639 = ptrtoint ptr %t11638 to i64 %t11640 = zext i32 %t11637 to i64 %t11641 = mul i64 %t11640, %t11639 %t11642 = load ptr, ptr %t11631 %t11643 = call ptr @realloc(ptr %t11642, i64 %t11641) store ptr %t11643, ptr %t11631 store i32 %t11637, ptr %t11630 br label %put2424 put2424: %t11644 = load ptr, ptr %t11631 %t11645 = getelementptr inbounds ptr, ptr %t11644, i32 %t11632 store ptr @.str9281, ptr %t11645 %t11646 = add i32 %t11632, 1 store i32 %t11646, ptr %t11629 br label %ifend2422 ifend2422: %t11647 = load ptr, ptr %t1 %t11648 = call i32 @lp_str_eq(ptr %t11647, ptr @.str9282) %t11649 = icmp ne i32 %t11648, 0 br i1 %t11649, label %then2425, label %ifend2427 then2425: store ptr @.str9283, ptr %t452 br label %ifend2427 ifend2427: %t11650 = load ptr, ptr %t1 %t11651 = call i32 @lp_str_eq(ptr %t11650, ptr @.str9284) %t11652 = icmp ne i32 %t11651, 0 br i1 %t11652, label %then2428, label %ifend2430 then2428: store ptr @.str9285, ptr %t452 %t11653 = load ptr, ptr %t459 %t11654 = getelementptr inbounds %LSlice, ptr %t11653, i32 0, i32 1 %t11655 = getelementptr inbounds %LSlice, ptr %t11653, i32 0, i32 2 %t11656 = getelementptr inbounds %LSlice, ptr %t11653, i32 0, i32 0 %t11657 = load i32, ptr %t11654 %t11658 = load i32, ptr %t11655 %t11659 = icmp sge i32 %t11657, %t11658 br i1 %t11659, label %grow2431, label %put2432 grow2431: %t11660 = mul i32 %t11658, 2 %t11661 = icmp eq i32 %t11658, 0 %t11662 = select i1 %t11661, i32 8, i32 %t11660 %t11663 = getelementptr ptr, ptr null, i32 1 %t11664 = ptrtoint ptr %t11663 to i64 %t11665 = zext i32 %t11662 to i64 %t11666 = mul i64 %t11665, %t11664 %t11667 = load ptr, ptr %t11656 %t11668 = call ptr @realloc(ptr %t11667, i64 %t11666) store ptr %t11668, ptr %t11656 store i32 %t11662, ptr %t11655 br label %put2432 put2432: %t11669 = load ptr, ptr %t11656 %t11670 = getelementptr inbounds ptr, ptr %t11669, i32 %t11657 store ptr @.str9286, ptr %t11670 %t11671 = add i32 %t11657, 1 store i32 %t11671, ptr %t11654 br label %ifend2430 ifend2430: %t11672 = load ptr, ptr %t1 %t11673 = call i32 @lp_str_eq(ptr %t11672, ptr @.str9287) %t11674 = icmp ne i32 %t11673, 0 br i1 %t11674, label %then2433, label %ifend2435 then2433: store ptr @.str9288, ptr %t452 %t11675 = load ptr, ptr %t459 %t11676 = getelementptr inbounds %LSlice, ptr %t11675, i32 0, i32 1 %t11677 = getelementptr inbounds %LSlice, ptr %t11675, i32 0, i32 2 %t11678 = getelementptr inbounds %LSlice, ptr %t11675, i32 0, i32 0 %t11679 = load i32, ptr %t11676 %t11680 = load i32, ptr %t11677 %t11681 = icmp sge i32 %t11679, %t11680 br i1 %t11681, label %grow2436, label %put2437 grow2436: %t11682 = mul i32 %t11680, 2 %t11683 = icmp eq i32 %t11680, 0 %t11684 = select i1 %t11683, i32 8, i32 %t11682 %t11685 = getelementptr ptr, ptr null, i32 1 %t11686 = ptrtoint ptr %t11685 to i64 %t11687 = zext i32 %t11684 to i64 %t11688 = mul i64 %t11687, %t11686 %t11689 = load ptr, ptr %t11678 %t11690 = call ptr @realloc(ptr %t11689, i64 %t11688) store ptr %t11690, ptr %t11678 store i32 %t11684, ptr %t11677 br label %put2437 put2437: %t11691 = load ptr, ptr %t11678 %t11692 = getelementptr inbounds ptr, ptr %t11691, i32 %t11679 store ptr @.str9289, ptr %t11692 %t11693 = add i32 %t11679, 1 store i32 %t11693, ptr %t11676 %t11694 = load ptr, ptr %t459 %t11695 = getelementptr inbounds %LSlice, ptr %t11694, i32 0, i32 1 %t11696 = getelementptr inbounds %LSlice, ptr %t11694, i32 0, i32 2 %t11697 = getelementptr inbounds %LSlice, ptr %t11694, i32 0, i32 0 %t11698 = load i32, ptr %t11695 %t11699 = load i32, ptr %t11696 %t11700 = icmp sge i32 %t11698, %t11699 br i1 %t11700, label %grow2438, label %put2439 grow2438: %t11701 = mul i32 %t11699, 2 %t11702 = icmp eq i32 %t11699, 0 %t11703 = select i1 %t11702, i32 8, i32 %t11701 %t11704 = getelementptr ptr, ptr null, i32 1 %t11705 = ptrtoint ptr %t11704 to i64 %t11706 = zext i32 %t11703 to i64 %t11707 = mul i64 %t11706, %t11705 %t11708 = load ptr, ptr %t11697 %t11709 = call ptr @realloc(ptr %t11708, i64 %t11707) store ptr %t11709, ptr %t11697 store i32 %t11703, ptr %t11696 br label %put2439 put2439: %t11710 = load ptr, ptr %t11697 %t11711 = getelementptr inbounds ptr, ptr %t11710, i32 %t11698 store ptr @.str9290, ptr %t11711 %t11712 = add i32 %t11698, 1 store i32 %t11712, ptr %t11695 %t11713 = load ptr, ptr %t459 %t11714 = getelementptr inbounds %LSlice, ptr %t11713, i32 0, i32 1 %t11715 = getelementptr inbounds %LSlice, ptr %t11713, i32 0, i32 2 %t11716 = getelementptr inbounds %LSlice, ptr %t11713, i32 0, i32 0 %t11717 = load i32, ptr %t11714 %t11718 = load i32, ptr %t11715 %t11719 = icmp sge i32 %t11717, %t11718 br i1 %t11719, label %grow2440, label %put2441 grow2440: %t11720 = mul i32 %t11718, 2 %t11721 = icmp eq i32 %t11718, 0 %t11722 = select i1 %t11721, i32 8, i32 %t11720 %t11723 = getelementptr ptr, ptr null, i32 1 %t11724 = ptrtoint ptr %t11723 to i64 %t11725 = zext i32 %t11722 to i64 %t11726 = mul i64 %t11725, %t11724 %t11727 = load ptr, ptr %t11716 %t11728 = call ptr @realloc(ptr %t11727, i64 %t11726) store ptr %t11728, ptr %t11716 store i32 %t11722, ptr %t11715 br label %put2441 put2441: %t11729 = load ptr, ptr %t11716 %t11730 = getelementptr inbounds ptr, ptr %t11729, i32 %t11717 store ptr @.str9291, ptr %t11730 %t11731 = add i32 %t11717, 1 store i32 %t11731, ptr %t11714 %t11732 = load ptr, ptr %t459 %t11733 = getelementptr inbounds %LSlice, ptr %t11732, i32 0, i32 1 %t11734 = getelementptr inbounds %LSlice, ptr %t11732, i32 0, i32 2 %t11735 = getelementptr inbounds %LSlice, ptr %t11732, i32 0, i32 0 %t11736 = load i32, ptr %t11733 %t11737 = load i32, ptr %t11734 %t11738 = icmp sge i32 %t11736, %t11737 br i1 %t11738, label %grow2442, label %put2443 grow2442: %t11739 = mul i32 %t11737, 2 %t11740 = icmp eq i32 %t11737, 0 %t11741 = select i1 %t11740, i32 8, i32 %t11739 %t11742 = getelementptr ptr, ptr null, i32 1 %t11743 = ptrtoint ptr %t11742 to i64 %t11744 = zext i32 %t11741 to i64 %t11745 = mul i64 %t11744, %t11743 %t11746 = load ptr, ptr %t11735 %t11747 = call ptr @realloc(ptr %t11746, i64 %t11745) store ptr %t11747, ptr %t11735 store i32 %t11741, ptr %t11734 br label %put2443 put2443: %t11748 = load ptr, ptr %t11735 %t11749 = getelementptr inbounds ptr, ptr %t11748, i32 %t11736 store ptr @.str9292, ptr %t11749 %t11750 = add i32 %t11736, 1 store i32 %t11750, ptr %t11733 %t11751 = load ptr, ptr %t459 %t11752 = getelementptr inbounds %LSlice, ptr %t11751, i32 0, i32 1 %t11753 = getelementptr inbounds %LSlice, ptr %t11751, i32 0, i32 2 %t11754 = getelementptr inbounds %LSlice, ptr %t11751, i32 0, i32 0 %t11755 = load i32, ptr %t11752 %t11756 = load i32, ptr %t11753 %t11757 = icmp sge i32 %t11755, %t11756 br i1 %t11757, label %grow2444, label %put2445 grow2444: %t11758 = mul i32 %t11756, 2 %t11759 = icmp eq i32 %t11756, 0 %t11760 = select i1 %t11759, i32 8, i32 %t11758 %t11761 = getelementptr ptr, ptr null, i32 1 %t11762 = ptrtoint ptr %t11761 to i64 %t11763 = zext i32 %t11760 to i64 %t11764 = mul i64 %t11763, %t11762 %t11765 = load ptr, ptr %t11754 %t11766 = call ptr @realloc(ptr %t11765, i64 %t11764) store ptr %t11766, ptr %t11754 store i32 %t11760, ptr %t11753 br label %put2445 put2445: %t11767 = load ptr, ptr %t11754 %t11768 = getelementptr inbounds ptr, ptr %t11767, i32 %t11755 store ptr @.str9293, ptr %t11768 %t11769 = add i32 %t11755, 1 store i32 %t11769, ptr %t11752 %t11770 = load ptr, ptr %t459 %t11771 = getelementptr inbounds %LSlice, ptr %t11770, i32 0, i32 1 %t11772 = getelementptr inbounds %LSlice, ptr %t11770, i32 0, i32 2 %t11773 = getelementptr inbounds %LSlice, ptr %t11770, i32 0, i32 0 %t11774 = load i32, ptr %t11771 %t11775 = load i32, ptr %t11772 %t11776 = icmp sge i32 %t11774, %t11775 br i1 %t11776, label %grow2446, label %put2447 grow2446: %t11777 = mul i32 %t11775, 2 %t11778 = icmp eq i32 %t11775, 0 %t11779 = select i1 %t11778, i32 8, i32 %t11777 %t11780 = getelementptr ptr, ptr null, i32 1 %t11781 = ptrtoint ptr %t11780 to i64 %t11782 = zext i32 %t11779 to i64 %t11783 = mul i64 %t11782, %t11781 %t11784 = load ptr, ptr %t11773 %t11785 = call ptr @realloc(ptr %t11784, i64 %t11783) store ptr %t11785, ptr %t11773 store i32 %t11779, ptr %t11772 br label %put2447 put2447: %t11786 = load ptr, ptr %t11773 %t11787 = getelementptr inbounds ptr, ptr %t11786, i32 %t11774 store ptr @.str9294, ptr %t11787 %t11788 = add i32 %t11774, 1 store i32 %t11788, ptr %t11771 br label %ifend2435 ifend2435: %t11789 = load ptr, ptr %t1 %t11790 = call i32 @lp_str_eq(ptr %t11789, ptr @.str9295) %t11791 = icmp ne i32 %t11790, 0 br i1 %t11791, label %then2448, label %ifend2450 then2448: store ptr @.str9296, ptr %t452 br label %ifend2450 ifend2450: %t11792 = load ptr, ptr %t1 %t11793 = call i32 @lp_str_eq(ptr %t11792, ptr @.str9297) %t11794 = icmp ne i32 %t11793, 0 br i1 %t11794, label %then2451, label %ifend2453 then2451: store ptr @.str9298, ptr %t452 %t11795 = load ptr, ptr %t459 %t11796 = getelementptr inbounds %LSlice, ptr %t11795, i32 0, i32 1 %t11797 = getelementptr inbounds %LSlice, ptr %t11795, i32 0, i32 2 %t11798 = getelementptr inbounds %LSlice, ptr %t11795, i32 0, i32 0 %t11799 = load i32, ptr %t11796 %t11800 = load i32, ptr %t11797 %t11801 = icmp sge i32 %t11799, %t11800 br i1 %t11801, label %grow2454, label %put2455 grow2454: %t11802 = mul i32 %t11800, 2 %t11803 = icmp eq i32 %t11800, 0 %t11804 = select i1 %t11803, i32 8, i32 %t11802 %t11805 = getelementptr ptr, ptr null, i32 1 %t11806 = ptrtoint ptr %t11805 to i64 %t11807 = zext i32 %t11804 to i64 %t11808 = mul i64 %t11807, %t11806 %t11809 = load ptr, ptr %t11798 %t11810 = call ptr @realloc(ptr %t11809, i64 %t11808) store ptr %t11810, ptr %t11798 store i32 %t11804, ptr %t11797 br label %put2455 put2455: %t11811 = load ptr, ptr %t11798 %t11812 = getelementptr inbounds ptr, ptr %t11811, i32 %t11799 store ptr @.str9299, ptr %t11812 %t11813 = add i32 %t11799, 1 store i32 %t11813, ptr %t11796 br label %ifend2453 ifend2453: br label %ifend2360 ifend2360: %t11814 = load ptr, ptr %t0 %t11815 = call i32 @lp_str_eq(ptr %t11814, ptr @.str9300) %t11816 = icmp ne i32 %t11815, 0 br i1 %t11816, label %then2456, label %ifend2458 then2456: %t11817 = load ptr, ptr %t1 %t11818 = call i32 @lp_str_eq(ptr %t11817, ptr @.str9301) %t11819 = icmp ne i32 %t11818, 0 br i1 %t11819, label %then2459, label %ifend2461 then2459: store ptr @.str9302, ptr %t452 %t11820 = load ptr, ptr %t459 %t11821 = getelementptr inbounds %LSlice, ptr %t11820, i32 0, i32 1 %t11822 = getelementptr inbounds %LSlice, ptr %t11820, i32 0, i32 2 %t11823 = getelementptr inbounds %LSlice, ptr %t11820, i32 0, i32 0 %t11824 = load i32, ptr %t11821 %t11825 = load i32, ptr %t11822 %t11826 = icmp sge i32 %t11824, %t11825 br i1 %t11826, label %grow2462, label %put2463 grow2462: %t11827 = mul i32 %t11825, 2 %t11828 = icmp eq i32 %t11825, 0 %t11829 = select i1 %t11828, i32 8, i32 %t11827 %t11830 = getelementptr ptr, ptr null, i32 1 %t11831 = ptrtoint ptr %t11830 to i64 %t11832 = zext i32 %t11829 to i64 %t11833 = mul i64 %t11832, %t11831 %t11834 = load ptr, ptr %t11823 %t11835 = call ptr @realloc(ptr %t11834, i64 %t11833) store ptr %t11835, ptr %t11823 store i32 %t11829, ptr %t11822 br label %put2463 put2463: %t11836 = load ptr, ptr %t11823 %t11837 = getelementptr inbounds ptr, ptr %t11836, i32 %t11824 store ptr @.str9303, ptr %t11837 %t11838 = add i32 %t11824, 1 store i32 %t11838, ptr %t11821 %t11839 = load ptr, ptr %t459 %t11840 = getelementptr inbounds %LSlice, ptr %t11839, i32 0, i32 1 %t11841 = getelementptr inbounds %LSlice, ptr %t11839, i32 0, i32 2 %t11842 = getelementptr inbounds %LSlice, ptr %t11839, i32 0, i32 0 %t11843 = load i32, ptr %t11840 %t11844 = load i32, ptr %t11841 %t11845 = icmp sge i32 %t11843, %t11844 br i1 %t11845, label %grow2464, label %put2465 grow2464: %t11846 = mul i32 %t11844, 2 %t11847 = icmp eq i32 %t11844, 0 %t11848 = select i1 %t11847, i32 8, i32 %t11846 %t11849 = getelementptr ptr, ptr null, i32 1 %t11850 = ptrtoint ptr %t11849 to i64 %t11851 = zext i32 %t11848 to i64 %t11852 = mul i64 %t11851, %t11850 %t11853 = load ptr, ptr %t11842 %t11854 = call ptr @realloc(ptr %t11853, i64 %t11852) store ptr %t11854, ptr %t11842 store i32 %t11848, ptr %t11841 br label %put2465 put2465: %t11855 = load ptr, ptr %t11842 %t11856 = getelementptr inbounds ptr, ptr %t11855, i32 %t11843 store ptr @.str9304, ptr %t11856 %t11857 = add i32 %t11843, 1 store i32 %t11857, ptr %t11840 %t11858 = load ptr, ptr %t459 %t11859 = getelementptr inbounds %LSlice, ptr %t11858, i32 0, i32 1 %t11860 = getelementptr inbounds %LSlice, ptr %t11858, i32 0, i32 2 %t11861 = getelementptr inbounds %LSlice, ptr %t11858, i32 0, i32 0 %t11862 = load i32, ptr %t11859 %t11863 = load i32, ptr %t11860 %t11864 = icmp sge i32 %t11862, %t11863 br i1 %t11864, label %grow2466, label %put2467 grow2466: %t11865 = mul i32 %t11863, 2 %t11866 = icmp eq i32 %t11863, 0 %t11867 = select i1 %t11866, i32 8, i32 %t11865 %t11868 = getelementptr ptr, ptr null, i32 1 %t11869 = ptrtoint ptr %t11868 to i64 %t11870 = zext i32 %t11867 to i64 %t11871 = mul i64 %t11870, %t11869 %t11872 = load ptr, ptr %t11861 %t11873 = call ptr @realloc(ptr %t11872, i64 %t11871) store ptr %t11873, ptr %t11861 store i32 %t11867, ptr %t11860 br label %put2467 put2467: %t11874 = load ptr, ptr %t11861 %t11875 = getelementptr inbounds ptr, ptr %t11874, i32 %t11862 store ptr @.str9305, ptr %t11875 %t11876 = add i32 %t11862, 1 store i32 %t11876, ptr %t11859 %t11877 = load ptr, ptr %t459 %t11878 = getelementptr inbounds %LSlice, ptr %t11877, i32 0, i32 1 %t11879 = getelementptr inbounds %LSlice, ptr %t11877, i32 0, i32 2 %t11880 = getelementptr inbounds %LSlice, ptr %t11877, i32 0, i32 0 %t11881 = load i32, ptr %t11878 %t11882 = load i32, ptr %t11879 %t11883 = icmp sge i32 %t11881, %t11882 br i1 %t11883, label %grow2468, label %put2469 grow2468: %t11884 = mul i32 %t11882, 2 %t11885 = icmp eq i32 %t11882, 0 %t11886 = select i1 %t11885, i32 8, i32 %t11884 %t11887 = getelementptr ptr, ptr null, i32 1 %t11888 = ptrtoint ptr %t11887 to i64 %t11889 = zext i32 %t11886 to i64 %t11890 = mul i64 %t11889, %t11888 %t11891 = load ptr, ptr %t11880 %t11892 = call ptr @realloc(ptr %t11891, i64 %t11890) store ptr %t11892, ptr %t11880 store i32 %t11886, ptr %t11879 br label %put2469 put2469: %t11893 = load ptr, ptr %t11880 %t11894 = getelementptr inbounds ptr, ptr %t11893, i32 %t11881 store ptr @.str9306, ptr %t11894 %t11895 = add i32 %t11881, 1 store i32 %t11895, ptr %t11878 br label %ifend2461 ifend2461: %t11896 = load ptr, ptr %t1 %t11897 = call i32 @lp_str_eq(ptr %t11896, ptr @.str9307) %t11898 = icmp ne i32 %t11897, 0 br i1 %t11898, label %then2470, label %ifend2472 then2470: store ptr @.str9308, ptr %t452 %t11899 = load ptr, ptr %t459 %t11900 = getelementptr inbounds %LSlice, ptr %t11899, i32 0, i32 1 %t11901 = getelementptr inbounds %LSlice, ptr %t11899, i32 0, i32 2 %t11902 = getelementptr inbounds %LSlice, ptr %t11899, i32 0, i32 0 %t11903 = load i32, ptr %t11900 %t11904 = load i32, ptr %t11901 %t11905 = icmp sge i32 %t11903, %t11904 br i1 %t11905, label %grow2473, label %put2474 grow2473: %t11906 = mul i32 %t11904, 2 %t11907 = icmp eq i32 %t11904, 0 %t11908 = select i1 %t11907, i32 8, i32 %t11906 %t11909 = getelementptr ptr, ptr null, i32 1 %t11910 = ptrtoint ptr %t11909 to i64 %t11911 = zext i32 %t11908 to i64 %t11912 = mul i64 %t11911, %t11910 %t11913 = load ptr, ptr %t11902 %t11914 = call ptr @realloc(ptr %t11913, i64 %t11912) store ptr %t11914, ptr %t11902 store i32 %t11908, ptr %t11901 br label %put2474 put2474: %t11915 = load ptr, ptr %t11902 %t11916 = getelementptr inbounds ptr, ptr %t11915, i32 %t11903 store ptr @.str9309, ptr %t11916 %t11917 = add i32 %t11903, 1 store i32 %t11917, ptr %t11900 %t11918 = load ptr, ptr %t459 %t11919 = getelementptr inbounds %LSlice, ptr %t11918, i32 0, i32 1 %t11920 = getelementptr inbounds %LSlice, ptr %t11918, i32 0, i32 2 %t11921 = getelementptr inbounds %LSlice, ptr %t11918, i32 0, i32 0 %t11922 = load i32, ptr %t11919 %t11923 = load i32, ptr %t11920 %t11924 = icmp sge i32 %t11922, %t11923 br i1 %t11924, label %grow2475, label %put2476 grow2475: %t11925 = mul i32 %t11923, 2 %t11926 = icmp eq i32 %t11923, 0 %t11927 = select i1 %t11926, i32 8, i32 %t11925 %t11928 = getelementptr ptr, ptr null, i32 1 %t11929 = ptrtoint ptr %t11928 to i64 %t11930 = zext i32 %t11927 to i64 %t11931 = mul i64 %t11930, %t11929 %t11932 = load ptr, ptr %t11921 %t11933 = call ptr @realloc(ptr %t11932, i64 %t11931) store ptr %t11933, ptr %t11921 store i32 %t11927, ptr %t11920 br label %put2476 put2476: %t11934 = load ptr, ptr %t11921 %t11935 = getelementptr inbounds ptr, ptr %t11934, i32 %t11922 store ptr @.str9310, ptr %t11935 %t11936 = add i32 %t11922, 1 store i32 %t11936, ptr %t11919 br label %ifend2472 ifend2472: %t11937 = load ptr, ptr %t1 %t11938 = call i32 @lp_str_eq(ptr %t11937, ptr @.str9311) %t11939 = icmp ne i32 %t11938, 0 br i1 %t11939, label %then2477, label %ifend2479 then2477: store ptr @.str9312, ptr %t452 %t11940 = load ptr, ptr %t459 %t11941 = getelementptr inbounds %LSlice, ptr %t11940, i32 0, i32 1 %t11942 = getelementptr inbounds %LSlice, ptr %t11940, i32 0, i32 2 %t11943 = getelementptr inbounds %LSlice, ptr %t11940, i32 0, i32 0 %t11944 = load i32, ptr %t11941 %t11945 = load i32, ptr %t11942 %t11946 = icmp sge i32 %t11944, %t11945 br i1 %t11946, label %grow2480, label %put2481 grow2480: %t11947 = mul i32 %t11945, 2 %t11948 = icmp eq i32 %t11945, 0 %t11949 = select i1 %t11948, i32 8, i32 %t11947 %t11950 = getelementptr ptr, ptr null, i32 1 %t11951 = ptrtoint ptr %t11950 to i64 %t11952 = zext i32 %t11949 to i64 %t11953 = mul i64 %t11952, %t11951 %t11954 = load ptr, ptr %t11943 %t11955 = call ptr @realloc(ptr %t11954, i64 %t11953) store ptr %t11955, ptr %t11943 store i32 %t11949, ptr %t11942 br label %put2481 put2481: %t11956 = load ptr, ptr %t11943 %t11957 = getelementptr inbounds ptr, ptr %t11956, i32 %t11944 store ptr @.str9313, ptr %t11957 %t11958 = add i32 %t11944, 1 store i32 %t11958, ptr %t11941 br label %ifend2479 ifend2479: %t11959 = load ptr, ptr %t1 %t11960 = call i32 @lp_str_eq(ptr %t11959, ptr @.str9314) %t11961 = icmp ne i32 %t11960, 0 br i1 %t11961, label %then2482, label %ifend2484 then2482: %t11962 = load ptr, ptr %t2 %t11963 = getelementptr inbounds %Cmp_Node, ptr %t11962, i32 0, i32 7 %t11964 = load ptr, ptr %t11963 %t11965 = getelementptr inbounds %LSlice, ptr %t11964, i32 0, i32 1 %t11966 = load i32, ptr %t11965 %t11967 = icmp eq i32 %t11966, 2 %t11968 = zext i1 %t11967 to i32 %t11969 = icmp ne i32 %t11968, 0 br i1 %t11969, label %then2485, label %else2486 then2485: store ptr @.str9315, ptr %t452 %t11970 = load ptr, ptr %t459 %t11971 = getelementptr inbounds %LSlice, ptr %t11970, i32 0, i32 1 %t11972 = getelementptr inbounds %LSlice, ptr %t11970, i32 0, i32 2 %t11973 = getelementptr inbounds %LSlice, ptr %t11970, i32 0, i32 0 %t11974 = load i32, ptr %t11971 %t11975 = load i32, ptr %t11972 %t11976 = icmp sge i32 %t11974, %t11975 br i1 %t11976, label %grow2488, label %put2489 grow2488: %t11977 = mul i32 %t11975, 2 %t11978 = icmp eq i32 %t11975, 0 %t11979 = select i1 %t11978, i32 8, i32 %t11977 %t11980 = getelementptr ptr, ptr null, i32 1 %t11981 = ptrtoint ptr %t11980 to i64 %t11982 = zext i32 %t11979 to i64 %t11983 = mul i64 %t11982, %t11981 %t11984 = load ptr, ptr %t11973 %t11985 = call ptr @realloc(ptr %t11984, i64 %t11983) store ptr %t11985, ptr %t11973 store i32 %t11979, ptr %t11972 br label %put2489 put2489: %t11986 = load ptr, ptr %t11973 %t11987 = getelementptr inbounds ptr, ptr %t11986, i32 %t11974 store ptr @.str9316, ptr %t11987 %t11988 = add i32 %t11974, 1 store i32 %t11988, ptr %t11971 %t11989 = load ptr, ptr %t459 %t11990 = getelementptr inbounds %LSlice, ptr %t11989, i32 0, i32 1 %t11991 = getelementptr inbounds %LSlice, ptr %t11989, i32 0, i32 2 %t11992 = getelementptr inbounds %LSlice, ptr %t11989, i32 0, i32 0 %t11993 = load i32, ptr %t11990 %t11994 = load i32, ptr %t11991 %t11995 = icmp sge i32 %t11993, %t11994 br i1 %t11995, label %grow2490, label %put2491 grow2490: %t11996 = mul i32 %t11994, 2 %t11997 = icmp eq i32 %t11994, 0 %t11998 = select i1 %t11997, i32 8, i32 %t11996 %t11999 = getelementptr ptr, ptr null, i32 1 %t12000 = ptrtoint ptr %t11999 to i64 %t12001 = zext i32 %t11998 to i64 %t12002 = mul i64 %t12001, %t12000 %t12003 = load ptr, ptr %t11992 %t12004 = call ptr @realloc(ptr %t12003, i64 %t12002) store ptr %t12004, ptr %t11992 store i32 %t11998, ptr %t11991 br label %put2491 put2491: %t12005 = load ptr, ptr %t11992 %t12006 = getelementptr inbounds ptr, ptr %t12005, i32 %t11993 store ptr @.str9317, ptr %t12006 %t12007 = add i32 %t11993, 1 store i32 %t12007, ptr %t11990 br label %ifend2487 else2486: store ptr @.str9318, ptr %t452 %t12008 = load ptr, ptr %t459 %t12009 = getelementptr inbounds %LSlice, ptr %t12008, i32 0, i32 1 %t12010 = getelementptr inbounds %LSlice, ptr %t12008, i32 0, i32 2 %t12011 = getelementptr inbounds %LSlice, ptr %t12008, i32 0, i32 0 %t12012 = load i32, ptr %t12009 %t12013 = load i32, ptr %t12010 %t12014 = icmp sge i32 %t12012, %t12013 br i1 %t12014, label %grow2492, label %put2493 grow2492: %t12015 = mul i32 %t12013, 2 %t12016 = icmp eq i32 %t12013, 0 %t12017 = select i1 %t12016, i32 8, i32 %t12015 %t12018 = getelementptr ptr, ptr null, i32 1 %t12019 = ptrtoint ptr %t12018 to i64 %t12020 = zext i32 %t12017 to i64 %t12021 = mul i64 %t12020, %t12019 %t12022 = load ptr, ptr %t12011 %t12023 = call ptr @realloc(ptr %t12022, i64 %t12021) store ptr %t12023, ptr %t12011 store i32 %t12017, ptr %t12010 br label %put2493 put2493: %t12024 = load ptr, ptr %t12011 %t12025 = getelementptr inbounds ptr, ptr %t12024, i32 %t12012 store ptr @.str9319, ptr %t12025 %t12026 = add i32 %t12012, 1 store i32 %t12026, ptr %t12009 %t12027 = load ptr, ptr %t459 %t12028 = getelementptr inbounds %LSlice, ptr %t12027, i32 0, i32 1 %t12029 = getelementptr inbounds %LSlice, ptr %t12027, i32 0, i32 2 %t12030 = getelementptr inbounds %LSlice, ptr %t12027, i32 0, i32 0 %t12031 = load i32, ptr %t12028 %t12032 = load i32, ptr %t12029 %t12033 = icmp sge i32 %t12031, %t12032 br i1 %t12033, label %grow2494, label %put2495 grow2494: %t12034 = mul i32 %t12032, 2 %t12035 = icmp eq i32 %t12032, 0 %t12036 = select i1 %t12035, i32 8, i32 %t12034 %t12037 = getelementptr ptr, ptr null, i32 1 %t12038 = ptrtoint ptr %t12037 to i64 %t12039 = zext i32 %t12036 to i64 %t12040 = mul i64 %t12039, %t12038 %t12041 = load ptr, ptr %t12030 %t12042 = call ptr @realloc(ptr %t12041, i64 %t12040) store ptr %t12042, ptr %t12030 store i32 %t12036, ptr %t12029 br label %put2495 put2495: %t12043 = load ptr, ptr %t12030 %t12044 = getelementptr inbounds ptr, ptr %t12043, i32 %t12031 store ptr @.str9320, ptr %t12044 %t12045 = add i32 %t12031, 1 store i32 %t12045, ptr %t12028 %t12046 = load ptr, ptr %t459 %t12047 = getelementptr inbounds %LSlice, ptr %t12046, i32 0, i32 1 %t12048 = getelementptr inbounds %LSlice, ptr %t12046, i32 0, i32 2 %t12049 = getelementptr inbounds %LSlice, ptr %t12046, i32 0, i32 0 %t12050 = load i32, ptr %t12047 %t12051 = load i32, ptr %t12048 %t12052 = icmp sge i32 %t12050, %t12051 br i1 %t12052, label %grow2496, label %put2497 grow2496: %t12053 = mul i32 %t12051, 2 %t12054 = icmp eq i32 %t12051, 0 %t12055 = select i1 %t12054, i32 8, i32 %t12053 %t12056 = getelementptr ptr, ptr null, i32 1 %t12057 = ptrtoint ptr %t12056 to i64 %t12058 = zext i32 %t12055 to i64 %t12059 = mul i64 %t12058, %t12057 %t12060 = load ptr, ptr %t12049 %t12061 = call ptr @realloc(ptr %t12060, i64 %t12059) store ptr %t12061, ptr %t12049 store i32 %t12055, ptr %t12048 br label %put2497 put2497: %t12062 = load ptr, ptr %t12049 %t12063 = getelementptr inbounds ptr, ptr %t12062, i32 %t12050 store ptr @.str9321, ptr %t12063 %t12064 = add i32 %t12050, 1 store i32 %t12064, ptr %t12047 %t12065 = load ptr, ptr %t459 %t12066 = getelementptr inbounds %LSlice, ptr %t12065, i32 0, i32 1 %t12067 = getelementptr inbounds %LSlice, ptr %t12065, i32 0, i32 2 %t12068 = getelementptr inbounds %LSlice, ptr %t12065, i32 0, i32 0 %t12069 = load i32, ptr %t12066 %t12070 = load i32, ptr %t12067 %t12071 = icmp sge i32 %t12069, %t12070 br i1 %t12071, label %grow2498, label %put2499 grow2498: %t12072 = mul i32 %t12070, 2 %t12073 = icmp eq i32 %t12070, 0 %t12074 = select i1 %t12073, i32 8, i32 %t12072 %t12075 = getelementptr ptr, ptr null, i32 1 %t12076 = ptrtoint ptr %t12075 to i64 %t12077 = zext i32 %t12074 to i64 %t12078 = mul i64 %t12077, %t12076 %t12079 = load ptr, ptr %t12068 %t12080 = call ptr @realloc(ptr %t12079, i64 %t12078) store ptr %t12080, ptr %t12068 store i32 %t12074, ptr %t12067 br label %put2499 put2499: %t12081 = load ptr, ptr %t12068 %t12082 = getelementptr inbounds ptr, ptr %t12081, i32 %t12069 store ptr @.str9322, ptr %t12082 %t12083 = add i32 %t12069, 1 store i32 %t12083, ptr %t12066 br label %ifend2487 ifend2487: br label %ifend2484 ifend2484: br label %ifend2458 ifend2458: %t12084 = load ptr, ptr %t0 %t12085 = call i32 @lp_str_eq(ptr %t12084, ptr @.str9323) %t12086 = icmp ne i32 %t12085, 0 br i1 %t12086, label %then2500, label %ifend2502 then2500: %t12087 = load ptr, ptr %t1 %t12088 = call i32 @lp_str_eq(ptr %t12087, ptr @.str9324) %t12089 = icmp ne i32 %t12088, 0 br i1 %t12089, label %then2503, label %ifend2505 then2503: store ptr @.str9325, ptr %t452 %t12090 = load ptr, ptr %t459 %t12091 = getelementptr inbounds %LSlice, ptr %t12090, i32 0, i32 1 %t12092 = getelementptr inbounds %LSlice, ptr %t12090, i32 0, i32 2 %t12093 = getelementptr inbounds %LSlice, ptr %t12090, i32 0, i32 0 %t12094 = load i32, ptr %t12091 %t12095 = load i32, ptr %t12092 %t12096 = icmp sge i32 %t12094, %t12095 br i1 %t12096, label %grow2506, label %put2507 grow2506: %t12097 = mul i32 %t12095, 2 %t12098 = icmp eq i32 %t12095, 0 %t12099 = select i1 %t12098, i32 8, i32 %t12097 %t12100 = getelementptr ptr, ptr null, i32 1 %t12101 = ptrtoint ptr %t12100 to i64 %t12102 = zext i32 %t12099 to i64 %t12103 = mul i64 %t12102, %t12101 %t12104 = load ptr, ptr %t12093 %t12105 = call ptr @realloc(ptr %t12104, i64 %t12103) store ptr %t12105, ptr %t12093 store i32 %t12099, ptr %t12092 br label %put2507 put2507: %t12106 = load ptr, ptr %t12093 %t12107 = getelementptr inbounds ptr, ptr %t12106, i32 %t12094 store ptr @.str9326, ptr %t12107 %t12108 = add i32 %t12094, 1 store i32 %t12108, ptr %t12091 %t12109 = load ptr, ptr %t459 %t12110 = getelementptr inbounds %LSlice, ptr %t12109, i32 0, i32 1 %t12111 = getelementptr inbounds %LSlice, ptr %t12109, i32 0, i32 2 %t12112 = getelementptr inbounds %LSlice, ptr %t12109, i32 0, i32 0 %t12113 = load i32, ptr %t12110 %t12114 = load i32, ptr %t12111 %t12115 = icmp sge i32 %t12113, %t12114 br i1 %t12115, label %grow2508, label %put2509 grow2508: %t12116 = mul i32 %t12114, 2 %t12117 = icmp eq i32 %t12114, 0 %t12118 = select i1 %t12117, i32 8, i32 %t12116 %t12119 = getelementptr ptr, ptr null, i32 1 %t12120 = ptrtoint ptr %t12119 to i64 %t12121 = zext i32 %t12118 to i64 %t12122 = mul i64 %t12121, %t12120 %t12123 = load ptr, ptr %t12112 %t12124 = call ptr @realloc(ptr %t12123, i64 %t12122) store ptr %t12124, ptr %t12112 store i32 %t12118, ptr %t12111 br label %put2509 put2509: %t12125 = load ptr, ptr %t12112 %t12126 = getelementptr inbounds ptr, ptr %t12125, i32 %t12113 store ptr @.str9327, ptr %t12126 %t12127 = add i32 %t12113, 1 store i32 %t12127, ptr %t12110 %t12128 = load ptr, ptr %t459 %t12129 = getelementptr inbounds %LSlice, ptr %t12128, i32 0, i32 1 %t12130 = getelementptr inbounds %LSlice, ptr %t12128, i32 0, i32 2 %t12131 = getelementptr inbounds %LSlice, ptr %t12128, i32 0, i32 0 %t12132 = load i32, ptr %t12129 %t12133 = load i32, ptr %t12130 %t12134 = icmp sge i32 %t12132, %t12133 br i1 %t12134, label %grow2510, label %put2511 grow2510: %t12135 = mul i32 %t12133, 2 %t12136 = icmp eq i32 %t12133, 0 %t12137 = select i1 %t12136, i32 8, i32 %t12135 %t12138 = getelementptr ptr, ptr null, i32 1 %t12139 = ptrtoint ptr %t12138 to i64 %t12140 = zext i32 %t12137 to i64 %t12141 = mul i64 %t12140, %t12139 %t12142 = load ptr, ptr %t12131 %t12143 = call ptr @realloc(ptr %t12142, i64 %t12141) store ptr %t12143, ptr %t12131 store i32 %t12137, ptr %t12130 br label %put2511 put2511: %t12144 = load ptr, ptr %t12131 %t12145 = getelementptr inbounds ptr, ptr %t12144, i32 %t12132 store ptr @.str9328, ptr %t12145 %t12146 = add i32 %t12132, 1 store i32 %t12146, ptr %t12129 %t12147 = load ptr, ptr %t459 %t12148 = getelementptr inbounds %LSlice, ptr %t12147, i32 0, i32 1 %t12149 = getelementptr inbounds %LSlice, ptr %t12147, i32 0, i32 2 %t12150 = getelementptr inbounds %LSlice, ptr %t12147, i32 0, i32 0 %t12151 = load i32, ptr %t12148 %t12152 = load i32, ptr %t12149 %t12153 = icmp sge i32 %t12151, %t12152 br i1 %t12153, label %grow2512, label %put2513 grow2512: %t12154 = mul i32 %t12152, 2 %t12155 = icmp eq i32 %t12152, 0 %t12156 = select i1 %t12155, i32 8, i32 %t12154 %t12157 = getelementptr ptr, ptr null, i32 1 %t12158 = ptrtoint ptr %t12157 to i64 %t12159 = zext i32 %t12156 to i64 %t12160 = mul i64 %t12159, %t12158 %t12161 = load ptr, ptr %t12150 %t12162 = call ptr @realloc(ptr %t12161, i64 %t12160) store ptr %t12162, ptr %t12150 store i32 %t12156, ptr %t12149 br label %put2513 put2513: %t12163 = load ptr, ptr %t12150 %t12164 = getelementptr inbounds ptr, ptr %t12163, i32 %t12151 store ptr @.str9329, ptr %t12164 %t12165 = add i32 %t12151, 1 store i32 %t12165, ptr %t12148 %t12166 = load ptr, ptr %t459 %t12167 = getelementptr inbounds %LSlice, ptr %t12166, i32 0, i32 1 %t12168 = getelementptr inbounds %LSlice, ptr %t12166, i32 0, i32 2 %t12169 = getelementptr inbounds %LSlice, ptr %t12166, i32 0, i32 0 %t12170 = load i32, ptr %t12167 %t12171 = load i32, ptr %t12168 %t12172 = icmp sge i32 %t12170, %t12171 br i1 %t12172, label %grow2514, label %put2515 grow2514: %t12173 = mul i32 %t12171, 2 %t12174 = icmp eq i32 %t12171, 0 %t12175 = select i1 %t12174, i32 8, i32 %t12173 %t12176 = getelementptr ptr, ptr null, i32 1 %t12177 = ptrtoint ptr %t12176 to i64 %t12178 = zext i32 %t12175 to i64 %t12179 = mul i64 %t12178, %t12177 %t12180 = load ptr, ptr %t12169 %t12181 = call ptr @realloc(ptr %t12180, i64 %t12179) store ptr %t12181, ptr %t12169 store i32 %t12175, ptr %t12168 br label %put2515 put2515: %t12182 = load ptr, ptr %t12169 %t12183 = getelementptr inbounds ptr, ptr %t12182, i32 %t12170 store ptr @.str9330, ptr %t12183 %t12184 = add i32 %t12170, 1 store i32 %t12184, ptr %t12167 br label %ifend2505 ifend2505: br label %ifend2502 ifend2502: %t12185 = load ptr, ptr %t0 %t12186 = call i32 @lp_str_eq(ptr %t12185, ptr @.str9331) %t12187 = icmp ne i32 %t12186, 0 br i1 %t12187, label %then2516, label %ifend2518 then2516: %t12188 = load ptr, ptr %t1 %t12189 = call i32 @lp_str_eq(ptr %t12188, ptr @.str9332) %t12190 = icmp ne i32 %t12189, 0 br i1 %t12190, label %then2519, label %ifend2521 then2519: store ptr @.str9333, ptr %t452 %t12191 = load ptr, ptr %t459 %t12192 = getelementptr inbounds %LSlice, ptr %t12191, i32 0, i32 1 %t12193 = getelementptr inbounds %LSlice, ptr %t12191, i32 0, i32 2 %t12194 = getelementptr inbounds %LSlice, ptr %t12191, i32 0, i32 0 %t12195 = load i32, ptr %t12192 %t12196 = load i32, ptr %t12193 %t12197 = icmp sge i32 %t12195, %t12196 br i1 %t12197, label %grow2522, label %put2523 grow2522: %t12198 = mul i32 %t12196, 2 %t12199 = icmp eq i32 %t12196, 0 %t12200 = select i1 %t12199, i32 8, i32 %t12198 %t12201 = getelementptr ptr, ptr null, i32 1 %t12202 = ptrtoint ptr %t12201 to i64 %t12203 = zext i32 %t12200 to i64 %t12204 = mul i64 %t12203, %t12202 %t12205 = load ptr, ptr %t12194 %t12206 = call ptr @realloc(ptr %t12205, i64 %t12204) store ptr %t12206, ptr %t12194 store i32 %t12200, ptr %t12193 br label %put2523 put2523: %t12207 = load ptr, ptr %t12194 %t12208 = getelementptr inbounds ptr, ptr %t12207, i32 %t12195 store ptr @.str9334, ptr %t12208 %t12209 = add i32 %t12195, 1 store i32 %t12209, ptr %t12192 %t12210 = load ptr, ptr %t459 %t12211 = getelementptr inbounds %LSlice, ptr %t12210, i32 0, i32 1 %t12212 = getelementptr inbounds %LSlice, ptr %t12210, i32 0, i32 2 %t12213 = getelementptr inbounds %LSlice, ptr %t12210, i32 0, i32 0 %t12214 = load i32, ptr %t12211 %t12215 = load i32, ptr %t12212 %t12216 = icmp sge i32 %t12214, %t12215 br i1 %t12216, label %grow2524, label %put2525 grow2524: %t12217 = mul i32 %t12215, 2 %t12218 = icmp eq i32 %t12215, 0 %t12219 = select i1 %t12218, i32 8, i32 %t12217 %t12220 = getelementptr ptr, ptr null, i32 1 %t12221 = ptrtoint ptr %t12220 to i64 %t12222 = zext i32 %t12219 to i64 %t12223 = mul i64 %t12222, %t12221 %t12224 = load ptr, ptr %t12213 %t12225 = call ptr @realloc(ptr %t12224, i64 %t12223) store ptr %t12225, ptr %t12213 store i32 %t12219, ptr %t12212 br label %put2525 put2525: %t12226 = load ptr, ptr %t12213 %t12227 = getelementptr inbounds ptr, ptr %t12226, i32 %t12214 store ptr @.str9335, ptr %t12227 %t12228 = add i32 %t12214, 1 store i32 %t12228, ptr %t12211 %t12229 = load ptr, ptr %t459 %t12230 = getelementptr inbounds %LSlice, ptr %t12229, i32 0, i32 1 %t12231 = getelementptr inbounds %LSlice, ptr %t12229, i32 0, i32 2 %t12232 = getelementptr inbounds %LSlice, ptr %t12229, i32 0, i32 0 %t12233 = load i32, ptr %t12230 %t12234 = load i32, ptr %t12231 %t12235 = icmp sge i32 %t12233, %t12234 br i1 %t12235, label %grow2526, label %put2527 grow2526: %t12236 = mul i32 %t12234, 2 %t12237 = icmp eq i32 %t12234, 0 %t12238 = select i1 %t12237, i32 8, i32 %t12236 %t12239 = getelementptr ptr, ptr null, i32 1 %t12240 = ptrtoint ptr %t12239 to i64 %t12241 = zext i32 %t12238 to i64 %t12242 = mul i64 %t12241, %t12240 %t12243 = load ptr, ptr %t12232 %t12244 = call ptr @realloc(ptr %t12243, i64 %t12242) store ptr %t12244, ptr %t12232 store i32 %t12238, ptr %t12231 br label %put2527 put2527: %t12245 = load ptr, ptr %t12232 %t12246 = getelementptr inbounds ptr, ptr %t12245, i32 %t12233 store ptr @.str9336, ptr %t12246 %t12247 = add i32 %t12233, 1 store i32 %t12247, ptr %t12230 %t12248 = load ptr, ptr %t459 %t12249 = getelementptr inbounds %LSlice, ptr %t12248, i32 0, i32 1 %t12250 = getelementptr inbounds %LSlice, ptr %t12248, i32 0, i32 2 %t12251 = getelementptr inbounds %LSlice, ptr %t12248, i32 0, i32 0 %t12252 = load i32, ptr %t12249 %t12253 = load i32, ptr %t12250 %t12254 = icmp sge i32 %t12252, %t12253 br i1 %t12254, label %grow2528, label %put2529 grow2528: %t12255 = mul i32 %t12253, 2 %t12256 = icmp eq i32 %t12253, 0 %t12257 = select i1 %t12256, i32 8, i32 %t12255 %t12258 = getelementptr ptr, ptr null, i32 1 %t12259 = ptrtoint ptr %t12258 to i64 %t12260 = zext i32 %t12257 to i64 %t12261 = mul i64 %t12260, %t12259 %t12262 = load ptr, ptr %t12251 %t12263 = call ptr @realloc(ptr %t12262, i64 %t12261) store ptr %t12263, ptr %t12251 store i32 %t12257, ptr %t12250 br label %put2529 put2529: %t12264 = load ptr, ptr %t12251 %t12265 = getelementptr inbounds ptr, ptr %t12264, i32 %t12252 store ptr @.str9337, ptr %t12265 %t12266 = add i32 %t12252, 1 store i32 %t12266, ptr %t12249 br label %ifend2521 ifend2521: %t12267 = load ptr, ptr %t1 %t12268 = call i32 @lp_str_eq(ptr %t12267, ptr @.str9338) %t12269 = icmp ne i32 %t12268, 0 br i1 %t12269, label %then2530, label %ifend2532 then2530: store ptr @.str9339, ptr %t452 %t12270 = load ptr, ptr %t459 %t12271 = getelementptr inbounds %LSlice, ptr %t12270, i32 0, i32 1 %t12272 = getelementptr inbounds %LSlice, ptr %t12270, i32 0, i32 2 %t12273 = getelementptr inbounds %LSlice, ptr %t12270, i32 0, i32 0 %t12274 = load i32, ptr %t12271 %t12275 = load i32, ptr %t12272 %t12276 = icmp sge i32 %t12274, %t12275 br i1 %t12276, label %grow2533, label %put2534 grow2533: %t12277 = mul i32 %t12275, 2 %t12278 = icmp eq i32 %t12275, 0 %t12279 = select i1 %t12278, i32 8, i32 %t12277 %t12280 = getelementptr ptr, ptr null, i32 1 %t12281 = ptrtoint ptr %t12280 to i64 %t12282 = zext i32 %t12279 to i64 %t12283 = mul i64 %t12282, %t12281 %t12284 = load ptr, ptr %t12273 %t12285 = call ptr @realloc(ptr %t12284, i64 %t12283) store ptr %t12285, ptr %t12273 store i32 %t12279, ptr %t12272 br label %put2534 put2534: %t12286 = load ptr, ptr %t12273 %t12287 = getelementptr inbounds ptr, ptr %t12286, i32 %t12274 store ptr @.str9340, ptr %t12287 %t12288 = add i32 %t12274, 1 store i32 %t12288, ptr %t12271 %t12289 = load ptr, ptr %t459 %t12290 = getelementptr inbounds %LSlice, ptr %t12289, i32 0, i32 1 %t12291 = getelementptr inbounds %LSlice, ptr %t12289, i32 0, i32 2 %t12292 = getelementptr inbounds %LSlice, ptr %t12289, i32 0, i32 0 %t12293 = load i32, ptr %t12290 %t12294 = load i32, ptr %t12291 %t12295 = icmp sge i32 %t12293, %t12294 br i1 %t12295, label %grow2535, label %put2536 grow2535: %t12296 = mul i32 %t12294, 2 %t12297 = icmp eq i32 %t12294, 0 %t12298 = select i1 %t12297, i32 8, i32 %t12296 %t12299 = getelementptr ptr, ptr null, i32 1 %t12300 = ptrtoint ptr %t12299 to i64 %t12301 = zext i32 %t12298 to i64 %t12302 = mul i64 %t12301, %t12300 %t12303 = load ptr, ptr %t12292 %t12304 = call ptr @realloc(ptr %t12303, i64 %t12302) store ptr %t12304, ptr %t12292 store i32 %t12298, ptr %t12291 br label %put2536 put2536: %t12305 = load ptr, ptr %t12292 %t12306 = getelementptr inbounds ptr, ptr %t12305, i32 %t12293 store ptr @.str9341, ptr %t12306 %t12307 = add i32 %t12293, 1 store i32 %t12307, ptr %t12290 %t12308 = load ptr, ptr %t459 %t12309 = getelementptr inbounds %LSlice, ptr %t12308, i32 0, i32 1 %t12310 = getelementptr inbounds %LSlice, ptr %t12308, i32 0, i32 2 %t12311 = getelementptr inbounds %LSlice, ptr %t12308, i32 0, i32 0 %t12312 = load i32, ptr %t12309 %t12313 = load i32, ptr %t12310 %t12314 = icmp sge i32 %t12312, %t12313 br i1 %t12314, label %grow2537, label %put2538 grow2537: %t12315 = mul i32 %t12313, 2 %t12316 = icmp eq i32 %t12313, 0 %t12317 = select i1 %t12316, i32 8, i32 %t12315 %t12318 = getelementptr ptr, ptr null, i32 1 %t12319 = ptrtoint ptr %t12318 to i64 %t12320 = zext i32 %t12317 to i64 %t12321 = mul i64 %t12320, %t12319 %t12322 = load ptr, ptr %t12311 %t12323 = call ptr @realloc(ptr %t12322, i64 %t12321) store ptr %t12323, ptr %t12311 store i32 %t12317, ptr %t12310 br label %put2538 put2538: %t12324 = load ptr, ptr %t12311 %t12325 = getelementptr inbounds ptr, ptr %t12324, i32 %t12312 store ptr @.str9342, ptr %t12325 %t12326 = add i32 %t12312, 1 store i32 %t12326, ptr %t12309 %t12327 = load ptr, ptr %t459 %t12328 = getelementptr inbounds %LSlice, ptr %t12327, i32 0, i32 1 %t12329 = getelementptr inbounds %LSlice, ptr %t12327, i32 0, i32 2 %t12330 = getelementptr inbounds %LSlice, ptr %t12327, i32 0, i32 0 %t12331 = load i32, ptr %t12328 %t12332 = load i32, ptr %t12329 %t12333 = icmp sge i32 %t12331, %t12332 br i1 %t12333, label %grow2539, label %put2540 grow2539: %t12334 = mul i32 %t12332, 2 %t12335 = icmp eq i32 %t12332, 0 %t12336 = select i1 %t12335, i32 8, i32 %t12334 %t12337 = getelementptr ptr, ptr null, i32 1 %t12338 = ptrtoint ptr %t12337 to i64 %t12339 = zext i32 %t12336 to i64 %t12340 = mul i64 %t12339, %t12338 %t12341 = load ptr, ptr %t12330 %t12342 = call ptr @realloc(ptr %t12341, i64 %t12340) store ptr %t12342, ptr %t12330 store i32 %t12336, ptr %t12329 br label %put2540 put2540: %t12343 = load ptr, ptr %t12330 %t12344 = getelementptr inbounds ptr, ptr %t12343, i32 %t12331 store ptr @.str9343, ptr %t12344 %t12345 = add i32 %t12331, 1 store i32 %t12345, ptr %t12328 br label %ifend2532 ifend2532: %t12346 = load ptr, ptr %t1 %t12347 = call i32 @lp_str_eq(ptr %t12346, ptr @.str9344) %t12348 = icmp ne i32 %t12347, 0 br i1 %t12348, label %then2541, label %ifend2543 then2541: store ptr @.str9345, ptr %t452 %t12349 = load ptr, ptr %t459 %t12350 = getelementptr inbounds %LSlice, ptr %t12349, i32 0, i32 1 %t12351 = getelementptr inbounds %LSlice, ptr %t12349, i32 0, i32 2 %t12352 = getelementptr inbounds %LSlice, ptr %t12349, i32 0, i32 0 %t12353 = load i32, ptr %t12350 %t12354 = load i32, ptr %t12351 %t12355 = icmp sge i32 %t12353, %t12354 br i1 %t12355, label %grow2544, label %put2545 grow2544: %t12356 = mul i32 %t12354, 2 %t12357 = icmp eq i32 %t12354, 0 %t12358 = select i1 %t12357, i32 8, i32 %t12356 %t12359 = getelementptr ptr, ptr null, i32 1 %t12360 = ptrtoint ptr %t12359 to i64 %t12361 = zext i32 %t12358 to i64 %t12362 = mul i64 %t12361, %t12360 %t12363 = load ptr, ptr %t12352 %t12364 = call ptr @realloc(ptr %t12363, i64 %t12362) store ptr %t12364, ptr %t12352 store i32 %t12358, ptr %t12351 br label %put2545 put2545: %t12365 = load ptr, ptr %t12352 %t12366 = getelementptr inbounds ptr, ptr %t12365, i32 %t12353 store ptr @.str9346, ptr %t12366 %t12367 = add i32 %t12353, 1 store i32 %t12367, ptr %t12350 %t12368 = load ptr, ptr %t459 %t12369 = getelementptr inbounds %LSlice, ptr %t12368, i32 0, i32 1 %t12370 = getelementptr inbounds %LSlice, ptr %t12368, i32 0, i32 2 %t12371 = getelementptr inbounds %LSlice, ptr %t12368, i32 0, i32 0 %t12372 = load i32, ptr %t12369 %t12373 = load i32, ptr %t12370 %t12374 = icmp sge i32 %t12372, %t12373 br i1 %t12374, label %grow2546, label %put2547 grow2546: %t12375 = mul i32 %t12373, 2 %t12376 = icmp eq i32 %t12373, 0 %t12377 = select i1 %t12376, i32 8, i32 %t12375 %t12378 = getelementptr ptr, ptr null, i32 1 %t12379 = ptrtoint ptr %t12378 to i64 %t12380 = zext i32 %t12377 to i64 %t12381 = mul i64 %t12380, %t12379 %t12382 = load ptr, ptr %t12371 %t12383 = call ptr @realloc(ptr %t12382, i64 %t12381) store ptr %t12383, ptr %t12371 store i32 %t12377, ptr %t12370 br label %put2547 put2547: %t12384 = load ptr, ptr %t12371 %t12385 = getelementptr inbounds ptr, ptr %t12384, i32 %t12372 store ptr @.str9347, ptr %t12385 %t12386 = add i32 %t12372, 1 store i32 %t12386, ptr %t12369 br label %ifend2543 ifend2543: %t12387 = load ptr, ptr %t1 %t12388 = call i32 @lp_str_eq(ptr %t12387, ptr @.str9348) %t12389 = icmp ne i32 %t12388, 0 br i1 %t12389, label %then2548, label %ifend2550 then2548: store ptr @.str9349, ptr %t452 %t12390 = load ptr, ptr %t459 %t12391 = getelementptr inbounds %LSlice, ptr %t12390, i32 0, i32 1 %t12392 = getelementptr inbounds %LSlice, ptr %t12390, i32 0, i32 2 %t12393 = getelementptr inbounds %LSlice, ptr %t12390, i32 0, i32 0 %t12394 = load i32, ptr %t12391 %t12395 = load i32, ptr %t12392 %t12396 = icmp sge i32 %t12394, %t12395 br i1 %t12396, label %grow2551, label %put2552 grow2551: %t12397 = mul i32 %t12395, 2 %t12398 = icmp eq i32 %t12395, 0 %t12399 = select i1 %t12398, i32 8, i32 %t12397 %t12400 = getelementptr ptr, ptr null, i32 1 %t12401 = ptrtoint ptr %t12400 to i64 %t12402 = zext i32 %t12399 to i64 %t12403 = mul i64 %t12402, %t12401 %t12404 = load ptr, ptr %t12393 %t12405 = call ptr @realloc(ptr %t12404, i64 %t12403) store ptr %t12405, ptr %t12393 store i32 %t12399, ptr %t12392 br label %put2552 put2552: %t12406 = load ptr, ptr %t12393 %t12407 = getelementptr inbounds ptr, ptr %t12406, i32 %t12394 store ptr @.str9350, ptr %t12407 %t12408 = add i32 %t12394, 1 store i32 %t12408, ptr %t12391 br label %ifend2550 ifend2550: %t12409 = load ptr, ptr %t1 %t12410 = call i32 @lp_str_eq(ptr %t12409, ptr @.str9351) %t12411 = icmp ne i32 %t12410, 0 br i1 %t12411, label %then2553, label %ifend2555 then2553: store ptr @.str9352, ptr %t452 %t12412 = load ptr, ptr %t459 %t12413 = getelementptr inbounds %LSlice, ptr %t12412, i32 0, i32 1 %t12414 = getelementptr inbounds %LSlice, ptr %t12412, i32 0, i32 2 %t12415 = getelementptr inbounds %LSlice, ptr %t12412, i32 0, i32 0 %t12416 = load i32, ptr %t12413 %t12417 = load i32, ptr %t12414 %t12418 = icmp sge i32 %t12416, %t12417 br i1 %t12418, label %grow2556, label %put2557 grow2556: %t12419 = mul i32 %t12417, 2 %t12420 = icmp eq i32 %t12417, 0 %t12421 = select i1 %t12420, i32 8, i32 %t12419 %t12422 = getelementptr ptr, ptr null, i32 1 %t12423 = ptrtoint ptr %t12422 to i64 %t12424 = zext i32 %t12421 to i64 %t12425 = mul i64 %t12424, %t12423 %t12426 = load ptr, ptr %t12415 %t12427 = call ptr @realloc(ptr %t12426, i64 %t12425) store ptr %t12427, ptr %t12415 store i32 %t12421, ptr %t12414 br label %put2557 put2557: %t12428 = load ptr, ptr %t12415 %t12429 = getelementptr inbounds ptr, ptr %t12428, i32 %t12416 store ptr @.str9353, ptr %t12429 %t12430 = add i32 %t12416, 1 store i32 %t12430, ptr %t12413 br label %ifend2555 ifend2555: %t12431 = load ptr, ptr %t1 %t12432 = call i32 @lp_str_eq(ptr %t12431, ptr @.str9354) %t12433 = icmp ne i32 %t12432, 0 br i1 %t12433, label %then2558, label %ifend2560 then2558: store ptr @.str9355, ptr %t452 %t12434 = load ptr, ptr %t459 %t12435 = getelementptr inbounds %LSlice, ptr %t12434, i32 0, i32 1 %t12436 = getelementptr inbounds %LSlice, ptr %t12434, i32 0, i32 2 %t12437 = getelementptr inbounds %LSlice, ptr %t12434, i32 0, i32 0 %t12438 = load i32, ptr %t12435 %t12439 = load i32, ptr %t12436 %t12440 = icmp sge i32 %t12438, %t12439 br i1 %t12440, label %grow2561, label %put2562 grow2561: %t12441 = mul i32 %t12439, 2 %t12442 = icmp eq i32 %t12439, 0 %t12443 = select i1 %t12442, i32 8, i32 %t12441 %t12444 = getelementptr ptr, ptr null, i32 1 %t12445 = ptrtoint ptr %t12444 to i64 %t12446 = zext i32 %t12443 to i64 %t12447 = mul i64 %t12446, %t12445 %t12448 = load ptr, ptr %t12437 %t12449 = call ptr @realloc(ptr %t12448, i64 %t12447) store ptr %t12449, ptr %t12437 store i32 %t12443, ptr %t12436 br label %put2562 put2562: %t12450 = load ptr, ptr %t12437 %t12451 = getelementptr inbounds ptr, ptr %t12450, i32 %t12438 store ptr @.str9356, ptr %t12451 %t12452 = add i32 %t12438, 1 store i32 %t12452, ptr %t12435 %t12453 = load ptr, ptr %t459 %t12454 = getelementptr inbounds %LSlice, ptr %t12453, i32 0, i32 1 %t12455 = getelementptr inbounds %LSlice, ptr %t12453, i32 0, i32 2 %t12456 = getelementptr inbounds %LSlice, ptr %t12453, i32 0, i32 0 %t12457 = load i32, ptr %t12454 %t12458 = load i32, ptr %t12455 %t12459 = icmp sge i32 %t12457, %t12458 br i1 %t12459, label %grow2563, label %put2564 grow2563: %t12460 = mul i32 %t12458, 2 %t12461 = icmp eq i32 %t12458, 0 %t12462 = select i1 %t12461, i32 8, i32 %t12460 %t12463 = getelementptr ptr, ptr null, i32 1 %t12464 = ptrtoint ptr %t12463 to i64 %t12465 = zext i32 %t12462 to i64 %t12466 = mul i64 %t12465, %t12464 %t12467 = load ptr, ptr %t12456 %t12468 = call ptr @realloc(ptr %t12467, i64 %t12466) store ptr %t12468, ptr %t12456 store i32 %t12462, ptr %t12455 br label %put2564 put2564: %t12469 = load ptr, ptr %t12456 %t12470 = getelementptr inbounds ptr, ptr %t12469, i32 %t12457 store ptr @.str9357, ptr %t12470 %t12471 = add i32 %t12457, 1 store i32 %t12471, ptr %t12454 br label %ifend2560 ifend2560: br label %ifend2518 ifend2518: %t12472 = load ptr, ptr %t0 %t12473 = call i32 @lp_str_eq(ptr %t12472, ptr @.str9358) %t12474 = icmp ne i32 %t12473, 0 br i1 %t12474, label %then2565, label %ifend2567 then2565: %t12475 = load ptr, ptr %t1 %t12476 = call i32 @lp_str_eq(ptr %t12475, ptr @.str9359) %t12477 = icmp ne i32 %t12476, 0 br i1 %t12477, label %then2568, label %ifend2570 then2568: store ptr @.str9360, ptr %t452 %t12478 = load ptr, ptr %t459 %t12479 = getelementptr inbounds %LSlice, ptr %t12478, i32 0, i32 1 %t12480 = getelementptr inbounds %LSlice, ptr %t12478, i32 0, i32 2 %t12481 = getelementptr inbounds %LSlice, ptr %t12478, i32 0, i32 0 %t12482 = load i32, ptr %t12479 %t12483 = load i32, ptr %t12480 %t12484 = icmp sge i32 %t12482, %t12483 br i1 %t12484, label %grow2571, label %put2572 grow2571: %t12485 = mul i32 %t12483, 2 %t12486 = icmp eq i32 %t12483, 0 %t12487 = select i1 %t12486, i32 8, i32 %t12485 %t12488 = getelementptr ptr, ptr null, i32 1 %t12489 = ptrtoint ptr %t12488 to i64 %t12490 = zext i32 %t12487 to i64 %t12491 = mul i64 %t12490, %t12489 %t12492 = load ptr, ptr %t12481 %t12493 = call ptr @realloc(ptr %t12492, i64 %t12491) store ptr %t12493, ptr %t12481 store i32 %t12487, ptr %t12480 br label %put2572 put2572: %t12494 = load ptr, ptr %t12481 %t12495 = getelementptr inbounds ptr, ptr %t12494, i32 %t12482 store ptr @.str9361, ptr %t12495 %t12496 = add i32 %t12482, 1 store i32 %t12496, ptr %t12479 br label %ifend2570 ifend2570: %t12497 = load ptr, ptr %t1 %t12498 = call i32 @lp_str_eq(ptr %t12497, ptr @.str9362) %t12499 = icmp ne i32 %t12498, 0 br i1 %t12499, label %then2573, label %ifend2575 then2573: store ptr @.str9363, ptr %t452 %t12500 = load ptr, ptr %t459 %t12501 = getelementptr inbounds %LSlice, ptr %t12500, i32 0, i32 1 %t12502 = getelementptr inbounds %LSlice, ptr %t12500, i32 0, i32 2 %t12503 = getelementptr inbounds %LSlice, ptr %t12500, i32 0, i32 0 %t12504 = load i32, ptr %t12501 %t12505 = load i32, ptr %t12502 %t12506 = icmp sge i32 %t12504, %t12505 br i1 %t12506, label %grow2576, label %put2577 grow2576: %t12507 = mul i32 %t12505, 2 %t12508 = icmp eq i32 %t12505, 0 %t12509 = select i1 %t12508, i32 8, i32 %t12507 %t12510 = getelementptr ptr, ptr null, i32 1 %t12511 = ptrtoint ptr %t12510 to i64 %t12512 = zext i32 %t12509 to i64 %t12513 = mul i64 %t12512, %t12511 %t12514 = load ptr, ptr %t12503 %t12515 = call ptr @realloc(ptr %t12514, i64 %t12513) store ptr %t12515, ptr %t12503 store i32 %t12509, ptr %t12502 br label %put2577 put2577: %t12516 = load ptr, ptr %t12503 %t12517 = getelementptr inbounds ptr, ptr %t12516, i32 %t12504 store ptr @.str9364, ptr %t12517 %t12518 = add i32 %t12504, 1 store i32 %t12518, ptr %t12501 br label %ifend2575 ifend2575: %t12519 = load ptr, ptr %t1 %t12520 = call i32 @lp_str_eq(ptr %t12519, ptr @.str9365) %t12521 = icmp ne i32 %t12520, 0 br i1 %t12521, label %then2578, label %ifend2580 then2578: store ptr @.str9366, ptr %t452 %t12522 = load ptr, ptr %t459 %t12523 = getelementptr inbounds %LSlice, ptr %t12522, i32 0, i32 1 %t12524 = getelementptr inbounds %LSlice, ptr %t12522, i32 0, i32 2 %t12525 = getelementptr inbounds %LSlice, ptr %t12522, i32 0, i32 0 %t12526 = load i32, ptr %t12523 %t12527 = load i32, ptr %t12524 %t12528 = icmp sge i32 %t12526, %t12527 br i1 %t12528, label %grow2581, label %put2582 grow2581: %t12529 = mul i32 %t12527, 2 %t12530 = icmp eq i32 %t12527, 0 %t12531 = select i1 %t12530, i32 8, i32 %t12529 %t12532 = getelementptr ptr, ptr null, i32 1 %t12533 = ptrtoint ptr %t12532 to i64 %t12534 = zext i32 %t12531 to i64 %t12535 = mul i64 %t12534, %t12533 %t12536 = load ptr, ptr %t12525 %t12537 = call ptr @realloc(ptr %t12536, i64 %t12535) store ptr %t12537, ptr %t12525 store i32 %t12531, ptr %t12524 br label %put2582 put2582: %t12538 = load ptr, ptr %t12525 %t12539 = getelementptr inbounds ptr, ptr %t12538, i32 %t12526 store ptr @.str9367, ptr %t12539 %t12540 = add i32 %t12526, 1 store i32 %t12540, ptr %t12523 %t12541 = load ptr, ptr %t459 %t12542 = getelementptr inbounds %LSlice, ptr %t12541, i32 0, i32 1 %t12543 = getelementptr inbounds %LSlice, ptr %t12541, i32 0, i32 2 %t12544 = getelementptr inbounds %LSlice, ptr %t12541, i32 0, i32 0 %t12545 = load i32, ptr %t12542 %t12546 = load i32, ptr %t12543 %t12547 = icmp sge i32 %t12545, %t12546 br i1 %t12547, label %grow2583, label %put2584 grow2583: %t12548 = mul i32 %t12546, 2 %t12549 = icmp eq i32 %t12546, 0 %t12550 = select i1 %t12549, i32 8, i32 %t12548 %t12551 = getelementptr ptr, ptr null, i32 1 %t12552 = ptrtoint ptr %t12551 to i64 %t12553 = zext i32 %t12550 to i64 %t12554 = mul i64 %t12553, %t12552 %t12555 = load ptr, ptr %t12544 %t12556 = call ptr @realloc(ptr %t12555, i64 %t12554) store ptr %t12556, ptr %t12544 store i32 %t12550, ptr %t12543 br label %put2584 put2584: %t12557 = load ptr, ptr %t12544 %t12558 = getelementptr inbounds ptr, ptr %t12557, i32 %t12545 store ptr @.str9368, ptr %t12558 %t12559 = add i32 %t12545, 1 store i32 %t12559, ptr %t12542 %t12560 = load ptr, ptr %t459 %t12561 = getelementptr inbounds %LSlice, ptr %t12560, i32 0, i32 1 %t12562 = getelementptr inbounds %LSlice, ptr %t12560, i32 0, i32 2 %t12563 = getelementptr inbounds %LSlice, ptr %t12560, i32 0, i32 0 %t12564 = load i32, ptr %t12561 %t12565 = load i32, ptr %t12562 %t12566 = icmp sge i32 %t12564, %t12565 br i1 %t12566, label %grow2585, label %put2586 grow2585: %t12567 = mul i32 %t12565, 2 %t12568 = icmp eq i32 %t12565, 0 %t12569 = select i1 %t12568, i32 8, i32 %t12567 %t12570 = getelementptr ptr, ptr null, i32 1 %t12571 = ptrtoint ptr %t12570 to i64 %t12572 = zext i32 %t12569 to i64 %t12573 = mul i64 %t12572, %t12571 %t12574 = load ptr, ptr %t12563 %t12575 = call ptr @realloc(ptr %t12574, i64 %t12573) store ptr %t12575, ptr %t12563 store i32 %t12569, ptr %t12562 br label %put2586 put2586: %t12576 = load ptr, ptr %t12563 %t12577 = getelementptr inbounds ptr, ptr %t12576, i32 %t12564 store ptr @.str9369, ptr %t12577 %t12578 = add i32 %t12564, 1 store i32 %t12578, ptr %t12561 %t12579 = load ptr, ptr %t459 %t12580 = getelementptr inbounds %LSlice, ptr %t12579, i32 0, i32 1 %t12581 = getelementptr inbounds %LSlice, ptr %t12579, i32 0, i32 2 %t12582 = getelementptr inbounds %LSlice, ptr %t12579, i32 0, i32 0 %t12583 = load i32, ptr %t12580 %t12584 = load i32, ptr %t12581 %t12585 = icmp sge i32 %t12583, %t12584 br i1 %t12585, label %grow2587, label %put2588 grow2587: %t12586 = mul i32 %t12584, 2 %t12587 = icmp eq i32 %t12584, 0 %t12588 = select i1 %t12587, i32 8, i32 %t12586 %t12589 = getelementptr ptr, ptr null, i32 1 %t12590 = ptrtoint ptr %t12589 to i64 %t12591 = zext i32 %t12588 to i64 %t12592 = mul i64 %t12591, %t12590 %t12593 = load ptr, ptr %t12582 %t12594 = call ptr @realloc(ptr %t12593, i64 %t12592) store ptr %t12594, ptr %t12582 store i32 %t12588, ptr %t12581 br label %put2588 put2588: %t12595 = load ptr, ptr %t12582 %t12596 = getelementptr inbounds ptr, ptr %t12595, i32 %t12583 store ptr @.str9370, ptr %t12596 %t12597 = add i32 %t12583, 1 store i32 %t12597, ptr %t12580 %t12598 = load ptr, ptr %t459 %t12599 = getelementptr inbounds %LSlice, ptr %t12598, i32 0, i32 1 %t12600 = getelementptr inbounds %LSlice, ptr %t12598, i32 0, i32 2 %t12601 = getelementptr inbounds %LSlice, ptr %t12598, i32 0, i32 0 %t12602 = load i32, ptr %t12599 %t12603 = load i32, ptr %t12600 %t12604 = icmp sge i32 %t12602, %t12603 br i1 %t12604, label %grow2589, label %put2590 grow2589: %t12605 = mul i32 %t12603, 2 %t12606 = icmp eq i32 %t12603, 0 %t12607 = select i1 %t12606, i32 8, i32 %t12605 %t12608 = getelementptr ptr, ptr null, i32 1 %t12609 = ptrtoint ptr %t12608 to i64 %t12610 = zext i32 %t12607 to i64 %t12611 = mul i64 %t12610, %t12609 %t12612 = load ptr, ptr %t12601 %t12613 = call ptr @realloc(ptr %t12612, i64 %t12611) store ptr %t12613, ptr %t12601 store i32 %t12607, ptr %t12600 br label %put2590 put2590: %t12614 = load ptr, ptr %t12601 %t12615 = getelementptr inbounds ptr, ptr %t12614, i32 %t12602 store ptr @.str9371, ptr %t12615 %t12616 = add i32 %t12602, 1 store i32 %t12616, ptr %t12599 %t12617 = load ptr, ptr %t459 %t12618 = getelementptr inbounds %LSlice, ptr %t12617, i32 0, i32 1 %t12619 = getelementptr inbounds %LSlice, ptr %t12617, i32 0, i32 2 %t12620 = getelementptr inbounds %LSlice, ptr %t12617, i32 0, i32 0 %t12621 = load i32, ptr %t12618 %t12622 = load i32, ptr %t12619 %t12623 = icmp sge i32 %t12621, %t12622 br i1 %t12623, label %grow2591, label %put2592 grow2591: %t12624 = mul i32 %t12622, 2 %t12625 = icmp eq i32 %t12622, 0 %t12626 = select i1 %t12625, i32 8, i32 %t12624 %t12627 = getelementptr ptr, ptr null, i32 1 %t12628 = ptrtoint ptr %t12627 to i64 %t12629 = zext i32 %t12626 to i64 %t12630 = mul i64 %t12629, %t12628 %t12631 = load ptr, ptr %t12620 %t12632 = call ptr @realloc(ptr %t12631, i64 %t12630) store ptr %t12632, ptr %t12620 store i32 %t12626, ptr %t12619 br label %put2592 put2592: %t12633 = load ptr, ptr %t12620 %t12634 = getelementptr inbounds ptr, ptr %t12633, i32 %t12621 store ptr @.str9372, ptr %t12634 %t12635 = add i32 %t12621, 1 store i32 %t12635, ptr %t12618 br label %ifend2580 ifend2580: %t12636 = load ptr, ptr %t1 %t12637 = call i32 @lp_str_eq(ptr %t12636, ptr @.str9373) %t12638 = icmp ne i32 %t12637, 0 br i1 %t12638, label %then2593, label %ifend2595 then2593: store ptr @.str9374, ptr %t452 %t12639 = load ptr, ptr %t459 %t12640 = getelementptr inbounds %LSlice, ptr %t12639, i32 0, i32 1 %t12641 = getelementptr inbounds %LSlice, ptr %t12639, i32 0, i32 2 %t12642 = getelementptr inbounds %LSlice, ptr %t12639, i32 0, i32 0 %t12643 = load i32, ptr %t12640 %t12644 = load i32, ptr %t12641 %t12645 = icmp sge i32 %t12643, %t12644 br i1 %t12645, label %grow2596, label %put2597 grow2596: %t12646 = mul i32 %t12644, 2 %t12647 = icmp eq i32 %t12644, 0 %t12648 = select i1 %t12647, i32 8, i32 %t12646 %t12649 = getelementptr ptr, ptr null, i32 1 %t12650 = ptrtoint ptr %t12649 to i64 %t12651 = zext i32 %t12648 to i64 %t12652 = mul i64 %t12651, %t12650 %t12653 = load ptr, ptr %t12642 %t12654 = call ptr @realloc(ptr %t12653, i64 %t12652) store ptr %t12654, ptr %t12642 store i32 %t12648, ptr %t12641 br label %put2597 put2597: %t12655 = load ptr, ptr %t12642 %t12656 = getelementptr inbounds ptr, ptr %t12655, i32 %t12643 store ptr @.str9375, ptr %t12656 %t12657 = add i32 %t12643, 1 store i32 %t12657, ptr %t12640 %t12658 = load ptr, ptr %t459 %t12659 = getelementptr inbounds %LSlice, ptr %t12658, i32 0, i32 1 %t12660 = getelementptr inbounds %LSlice, ptr %t12658, i32 0, i32 2 %t12661 = getelementptr inbounds %LSlice, ptr %t12658, i32 0, i32 0 %t12662 = load i32, ptr %t12659 %t12663 = load i32, ptr %t12660 %t12664 = icmp sge i32 %t12662, %t12663 br i1 %t12664, label %grow2598, label %put2599 grow2598: %t12665 = mul i32 %t12663, 2 %t12666 = icmp eq i32 %t12663, 0 %t12667 = select i1 %t12666, i32 8, i32 %t12665 %t12668 = getelementptr ptr, ptr null, i32 1 %t12669 = ptrtoint ptr %t12668 to i64 %t12670 = zext i32 %t12667 to i64 %t12671 = mul i64 %t12670, %t12669 %t12672 = load ptr, ptr %t12661 %t12673 = call ptr @realloc(ptr %t12672, i64 %t12671) store ptr %t12673, ptr %t12661 store i32 %t12667, ptr %t12660 br label %put2599 put2599: %t12674 = load ptr, ptr %t12661 %t12675 = getelementptr inbounds ptr, ptr %t12674, i32 %t12662 store ptr @.str9376, ptr %t12675 %t12676 = add i32 %t12662, 1 store i32 %t12676, ptr %t12659 %t12677 = load ptr, ptr %t459 %t12678 = getelementptr inbounds %LSlice, ptr %t12677, i32 0, i32 1 %t12679 = getelementptr inbounds %LSlice, ptr %t12677, i32 0, i32 2 %t12680 = getelementptr inbounds %LSlice, ptr %t12677, i32 0, i32 0 %t12681 = load i32, ptr %t12678 %t12682 = load i32, ptr %t12679 %t12683 = icmp sge i32 %t12681, %t12682 br i1 %t12683, label %grow2600, label %put2601 grow2600: %t12684 = mul i32 %t12682, 2 %t12685 = icmp eq i32 %t12682, 0 %t12686 = select i1 %t12685, i32 8, i32 %t12684 %t12687 = getelementptr ptr, ptr null, i32 1 %t12688 = ptrtoint ptr %t12687 to i64 %t12689 = zext i32 %t12686 to i64 %t12690 = mul i64 %t12689, %t12688 %t12691 = load ptr, ptr %t12680 %t12692 = call ptr @realloc(ptr %t12691, i64 %t12690) store ptr %t12692, ptr %t12680 store i32 %t12686, ptr %t12679 br label %put2601 put2601: %t12693 = load ptr, ptr %t12680 %t12694 = getelementptr inbounds ptr, ptr %t12693, i32 %t12681 store ptr @.str9377, ptr %t12694 %t12695 = add i32 %t12681, 1 store i32 %t12695, ptr %t12678 %t12696 = load ptr, ptr %t459 %t12697 = getelementptr inbounds %LSlice, ptr %t12696, i32 0, i32 1 %t12698 = getelementptr inbounds %LSlice, ptr %t12696, i32 0, i32 2 %t12699 = getelementptr inbounds %LSlice, ptr %t12696, i32 0, i32 0 %t12700 = load i32, ptr %t12697 %t12701 = load i32, ptr %t12698 %t12702 = icmp sge i32 %t12700, %t12701 br i1 %t12702, label %grow2602, label %put2603 grow2602: %t12703 = mul i32 %t12701, 2 %t12704 = icmp eq i32 %t12701, 0 %t12705 = select i1 %t12704, i32 8, i32 %t12703 %t12706 = getelementptr ptr, ptr null, i32 1 %t12707 = ptrtoint ptr %t12706 to i64 %t12708 = zext i32 %t12705 to i64 %t12709 = mul i64 %t12708, %t12707 %t12710 = load ptr, ptr %t12699 %t12711 = call ptr @realloc(ptr %t12710, i64 %t12709) store ptr %t12711, ptr %t12699 store i32 %t12705, ptr %t12698 br label %put2603 put2603: %t12712 = load ptr, ptr %t12699 %t12713 = getelementptr inbounds ptr, ptr %t12712, i32 %t12700 store ptr @.str9378, ptr %t12713 %t12714 = add i32 %t12700, 1 store i32 %t12714, ptr %t12697 %t12715 = load ptr, ptr %t459 %t12716 = getelementptr inbounds %LSlice, ptr %t12715, i32 0, i32 1 %t12717 = getelementptr inbounds %LSlice, ptr %t12715, i32 0, i32 2 %t12718 = getelementptr inbounds %LSlice, ptr %t12715, i32 0, i32 0 %t12719 = load i32, ptr %t12716 %t12720 = load i32, ptr %t12717 %t12721 = icmp sge i32 %t12719, %t12720 br i1 %t12721, label %grow2604, label %put2605 grow2604: %t12722 = mul i32 %t12720, 2 %t12723 = icmp eq i32 %t12720, 0 %t12724 = select i1 %t12723, i32 8, i32 %t12722 %t12725 = getelementptr ptr, ptr null, i32 1 %t12726 = ptrtoint ptr %t12725 to i64 %t12727 = zext i32 %t12724 to i64 %t12728 = mul i64 %t12727, %t12726 %t12729 = load ptr, ptr %t12718 %t12730 = call ptr @realloc(ptr %t12729, i64 %t12728) store ptr %t12730, ptr %t12718 store i32 %t12724, ptr %t12717 br label %put2605 put2605: %t12731 = load ptr, ptr %t12718 %t12732 = getelementptr inbounds ptr, ptr %t12731, i32 %t12719 store ptr @.str9379, ptr %t12732 %t12733 = add i32 %t12719, 1 store i32 %t12733, ptr %t12716 %t12734 = load ptr, ptr %t459 %t12735 = getelementptr inbounds %LSlice, ptr %t12734, i32 0, i32 1 %t12736 = getelementptr inbounds %LSlice, ptr %t12734, i32 0, i32 2 %t12737 = getelementptr inbounds %LSlice, ptr %t12734, i32 0, i32 0 %t12738 = load i32, ptr %t12735 %t12739 = load i32, ptr %t12736 %t12740 = icmp sge i32 %t12738, %t12739 br i1 %t12740, label %grow2606, label %put2607 grow2606: %t12741 = mul i32 %t12739, 2 %t12742 = icmp eq i32 %t12739, 0 %t12743 = select i1 %t12742, i32 8, i32 %t12741 %t12744 = getelementptr ptr, ptr null, i32 1 %t12745 = ptrtoint ptr %t12744 to i64 %t12746 = zext i32 %t12743 to i64 %t12747 = mul i64 %t12746, %t12745 %t12748 = load ptr, ptr %t12737 %t12749 = call ptr @realloc(ptr %t12748, i64 %t12747) store ptr %t12749, ptr %t12737 store i32 %t12743, ptr %t12736 br label %put2607 put2607: %t12750 = load ptr, ptr %t12737 %t12751 = getelementptr inbounds ptr, ptr %t12750, i32 %t12738 store ptr @.str9380, ptr %t12751 %t12752 = add i32 %t12738, 1 store i32 %t12752, ptr %t12735 %t12753 = load ptr, ptr %t459 %t12754 = getelementptr inbounds %LSlice, ptr %t12753, i32 0, i32 1 %t12755 = getelementptr inbounds %LSlice, ptr %t12753, i32 0, i32 2 %t12756 = getelementptr inbounds %LSlice, ptr %t12753, i32 0, i32 0 %t12757 = load i32, ptr %t12754 %t12758 = load i32, ptr %t12755 %t12759 = icmp sge i32 %t12757, %t12758 br i1 %t12759, label %grow2608, label %put2609 grow2608: %t12760 = mul i32 %t12758, 2 %t12761 = icmp eq i32 %t12758, 0 %t12762 = select i1 %t12761, i32 8, i32 %t12760 %t12763 = getelementptr ptr, ptr null, i32 1 %t12764 = ptrtoint ptr %t12763 to i64 %t12765 = zext i32 %t12762 to i64 %t12766 = mul i64 %t12765, %t12764 %t12767 = load ptr, ptr %t12756 %t12768 = call ptr @realloc(ptr %t12767, i64 %t12766) store ptr %t12768, ptr %t12756 store i32 %t12762, ptr %t12755 br label %put2609 put2609: %t12769 = load ptr, ptr %t12756 %t12770 = getelementptr inbounds ptr, ptr %t12769, i32 %t12757 store ptr @.str9381, ptr %t12770 %t12771 = add i32 %t12757, 1 store i32 %t12771, ptr %t12754 br label %ifend2595 ifend2595: br label %ifend2567 ifend2567: %t12772 = load ptr, ptr %t0 %t12773 = call i32 @lp_str_eq(ptr %t12772, ptr @.str9382) %t12774 = icmp ne i32 %t12773, 0 br i1 %t12774, label %then2610, label %ifend2612 then2610: %t12775 = load ptr, ptr %t1 %t12776 = call i32 @lp_str_eq(ptr %t12775, ptr @.str9383) %t12777 = icmp ne i32 %t12776, 0 br i1 %t12777, label %then2613, label %ifend2615 then2613: store ptr @.str9384, ptr %t452 %t12778 = load ptr, ptr %t459 %t12779 = getelementptr inbounds %LSlice, ptr %t12778, i32 0, i32 1 %t12780 = getelementptr inbounds %LSlice, ptr %t12778, i32 0, i32 2 %t12781 = getelementptr inbounds %LSlice, ptr %t12778, i32 0, i32 0 %t12782 = load i32, ptr %t12779 %t12783 = load i32, ptr %t12780 %t12784 = icmp sge i32 %t12782, %t12783 br i1 %t12784, label %grow2616, label %put2617 grow2616: %t12785 = mul i32 %t12783, 2 %t12786 = icmp eq i32 %t12783, 0 %t12787 = select i1 %t12786, i32 8, i32 %t12785 %t12788 = getelementptr ptr, ptr null, i32 1 %t12789 = ptrtoint ptr %t12788 to i64 %t12790 = zext i32 %t12787 to i64 %t12791 = mul i64 %t12790, %t12789 %t12792 = load ptr, ptr %t12781 %t12793 = call ptr @realloc(ptr %t12792, i64 %t12791) store ptr %t12793, ptr %t12781 store i32 %t12787, ptr %t12780 br label %put2617 put2617: %t12794 = load ptr, ptr %t12781 %t12795 = getelementptr inbounds ptr, ptr %t12794, i32 %t12782 store ptr @.str9385, ptr %t12795 %t12796 = add i32 %t12782, 1 store i32 %t12796, ptr %t12779 br label %ifend2615 ifend2615: %t12797 = load ptr, ptr %t1 %t12798 = call i32 @lp_str_eq(ptr %t12797, ptr @.str9386) %t12799 = icmp ne i32 %t12798, 0 br i1 %t12799, label %then2618, label %ifend2620 then2618: store ptr @.str9387, ptr %t452 %t12800 = load ptr, ptr %t459 %t12801 = getelementptr inbounds %LSlice, ptr %t12800, i32 0, i32 1 %t12802 = getelementptr inbounds %LSlice, ptr %t12800, i32 0, i32 2 %t12803 = getelementptr inbounds %LSlice, ptr %t12800, i32 0, i32 0 %t12804 = load i32, ptr %t12801 %t12805 = load i32, ptr %t12802 %t12806 = icmp sge i32 %t12804, %t12805 br i1 %t12806, label %grow2621, label %put2622 grow2621: %t12807 = mul i32 %t12805, 2 %t12808 = icmp eq i32 %t12805, 0 %t12809 = select i1 %t12808, i32 8, i32 %t12807 %t12810 = getelementptr ptr, ptr null, i32 1 %t12811 = ptrtoint ptr %t12810 to i64 %t12812 = zext i32 %t12809 to i64 %t12813 = mul i64 %t12812, %t12811 %t12814 = load ptr, ptr %t12803 %t12815 = call ptr @realloc(ptr %t12814, i64 %t12813) store ptr %t12815, ptr %t12803 store i32 %t12809, ptr %t12802 br label %put2622 put2622: %t12816 = load ptr, ptr %t12803 %t12817 = getelementptr inbounds ptr, ptr %t12816, i32 %t12804 store ptr @.str9388, ptr %t12817 %t12818 = add i32 %t12804, 1 store i32 %t12818, ptr %t12801 %t12819 = load ptr, ptr %t459 %t12820 = getelementptr inbounds %LSlice, ptr %t12819, i32 0, i32 1 %t12821 = getelementptr inbounds %LSlice, ptr %t12819, i32 0, i32 2 %t12822 = getelementptr inbounds %LSlice, ptr %t12819, i32 0, i32 0 %t12823 = load i32, ptr %t12820 %t12824 = load i32, ptr %t12821 %t12825 = icmp sge i32 %t12823, %t12824 br i1 %t12825, label %grow2623, label %put2624 grow2623: %t12826 = mul i32 %t12824, 2 %t12827 = icmp eq i32 %t12824, 0 %t12828 = select i1 %t12827, i32 8, i32 %t12826 %t12829 = getelementptr ptr, ptr null, i32 1 %t12830 = ptrtoint ptr %t12829 to i64 %t12831 = zext i32 %t12828 to i64 %t12832 = mul i64 %t12831, %t12830 %t12833 = load ptr, ptr %t12822 %t12834 = call ptr @realloc(ptr %t12833, i64 %t12832) store ptr %t12834, ptr %t12822 store i32 %t12828, ptr %t12821 br label %put2624 put2624: %t12835 = load ptr, ptr %t12822 %t12836 = getelementptr inbounds ptr, ptr %t12835, i32 %t12823 store ptr @.str9389, ptr %t12836 %t12837 = add i32 %t12823, 1 store i32 %t12837, ptr %t12820 br label %ifend2620 ifend2620: %t12838 = load ptr, ptr %t1 %t12839 = call i32 @lp_str_eq(ptr %t12838, ptr @.str9390) %t12840 = icmp ne i32 %t12839, 0 br i1 %t12840, label %then2625, label %ifend2627 then2625: store ptr @.str9391, ptr %t452 br label %ifend2627 ifend2627: %t12841 = load ptr, ptr %t1 %t12842 = call i32 @lp_str_eq(ptr %t12841, ptr @.str9392) %t12843 = icmp ne i32 %t12842, 0 br i1 %t12843, label %then2628, label %ifend2630 then2628: store ptr @.str9393, ptr %t452 %t12844 = load ptr, ptr %t459 %t12845 = getelementptr inbounds %LSlice, ptr %t12844, i32 0, i32 1 %t12846 = getelementptr inbounds %LSlice, ptr %t12844, i32 0, i32 2 %t12847 = getelementptr inbounds %LSlice, ptr %t12844, i32 0, i32 0 %t12848 = load i32, ptr %t12845 %t12849 = load i32, ptr %t12846 %t12850 = icmp sge i32 %t12848, %t12849 br i1 %t12850, label %grow2631, label %put2632 grow2631: %t12851 = mul i32 %t12849, 2 %t12852 = icmp eq i32 %t12849, 0 %t12853 = select i1 %t12852, i32 8, i32 %t12851 %t12854 = getelementptr ptr, ptr null, i32 1 %t12855 = ptrtoint ptr %t12854 to i64 %t12856 = zext i32 %t12853 to i64 %t12857 = mul i64 %t12856, %t12855 %t12858 = load ptr, ptr %t12847 %t12859 = call ptr @realloc(ptr %t12858, i64 %t12857) store ptr %t12859, ptr %t12847 store i32 %t12853, ptr %t12846 br label %put2632 put2632: %t12860 = load ptr, ptr %t12847 %t12861 = getelementptr inbounds ptr, ptr %t12860, i32 %t12848 store ptr @.str9394, ptr %t12861 %t12862 = add i32 %t12848, 1 store i32 %t12862, ptr %t12845 br label %ifend2630 ifend2630: %t12863 = load ptr, ptr %t1 %t12864 = call i32 @lp_str_eq(ptr %t12863, ptr @.str9395) %t12865 = icmp ne i32 %t12864, 0 br i1 %t12865, label %then2633, label %ifend2635 then2633: store ptr @.str9396, ptr %t452 %t12866 = load ptr, ptr %t459 %t12867 = getelementptr inbounds %LSlice, ptr %t12866, i32 0, i32 1 %t12868 = getelementptr inbounds %LSlice, ptr %t12866, i32 0, i32 2 %t12869 = getelementptr inbounds %LSlice, ptr %t12866, i32 0, i32 0 %t12870 = load i32, ptr %t12867 %t12871 = load i32, ptr %t12868 %t12872 = icmp sge i32 %t12870, %t12871 br i1 %t12872, label %grow2636, label %put2637 grow2636: %t12873 = mul i32 %t12871, 2 %t12874 = icmp eq i32 %t12871, 0 %t12875 = select i1 %t12874, i32 8, i32 %t12873 %t12876 = getelementptr ptr, ptr null, i32 1 %t12877 = ptrtoint ptr %t12876 to i64 %t12878 = zext i32 %t12875 to i64 %t12879 = mul i64 %t12878, %t12877 %t12880 = load ptr, ptr %t12869 %t12881 = call ptr @realloc(ptr %t12880, i64 %t12879) store ptr %t12881, ptr %t12869 store i32 %t12875, ptr %t12868 br label %put2637 put2637: %t12882 = load ptr, ptr %t12869 %t12883 = getelementptr inbounds ptr, ptr %t12882, i32 %t12870 store ptr @.str9397, ptr %t12883 %t12884 = add i32 %t12870, 1 store i32 %t12884, ptr %t12867 br label %ifend2635 ifend2635: %t12885 = load ptr, ptr %t1 %t12886 = call i32 @lp_str_eq(ptr %t12885, ptr @.str9398) %t12887 = icmp ne i32 %t12886, 0 br i1 %t12887, label %then2638, label %ifend2640 then2638: store ptr @.str9399, ptr %t452 %t12888 = load ptr, ptr %t459 %t12889 = getelementptr inbounds %LSlice, ptr %t12888, i32 0, i32 1 %t12890 = getelementptr inbounds %LSlice, ptr %t12888, i32 0, i32 2 %t12891 = getelementptr inbounds %LSlice, ptr %t12888, i32 0, i32 0 %t12892 = load i32, ptr %t12889 %t12893 = load i32, ptr %t12890 %t12894 = icmp sge i32 %t12892, %t12893 br i1 %t12894, label %grow2641, label %put2642 grow2641: %t12895 = mul i32 %t12893, 2 %t12896 = icmp eq i32 %t12893, 0 %t12897 = select i1 %t12896, i32 8, i32 %t12895 %t12898 = getelementptr ptr, ptr null, i32 1 %t12899 = ptrtoint ptr %t12898 to i64 %t12900 = zext i32 %t12897 to i64 %t12901 = mul i64 %t12900, %t12899 %t12902 = load ptr, ptr %t12891 %t12903 = call ptr @realloc(ptr %t12902, i64 %t12901) store ptr %t12903, ptr %t12891 store i32 %t12897, ptr %t12890 br label %put2642 put2642: %t12904 = load ptr, ptr %t12891 %t12905 = getelementptr inbounds ptr, ptr %t12904, i32 %t12892 store ptr @.str9400, ptr %t12905 %t12906 = add i32 %t12892, 1 store i32 %t12906, ptr %t12889 %t12907 = load ptr, ptr %t459 %t12908 = getelementptr inbounds %LSlice, ptr %t12907, i32 0, i32 1 %t12909 = getelementptr inbounds %LSlice, ptr %t12907, i32 0, i32 2 %t12910 = getelementptr inbounds %LSlice, ptr %t12907, i32 0, i32 0 %t12911 = load i32, ptr %t12908 %t12912 = load i32, ptr %t12909 %t12913 = icmp sge i32 %t12911, %t12912 br i1 %t12913, label %grow2643, label %put2644 grow2643: %t12914 = mul i32 %t12912, 2 %t12915 = icmp eq i32 %t12912, 0 %t12916 = select i1 %t12915, i32 8, i32 %t12914 %t12917 = getelementptr ptr, ptr null, i32 1 %t12918 = ptrtoint ptr %t12917 to i64 %t12919 = zext i32 %t12916 to i64 %t12920 = mul i64 %t12919, %t12918 %t12921 = load ptr, ptr %t12910 %t12922 = call ptr @realloc(ptr %t12921, i64 %t12920) store ptr %t12922, ptr %t12910 store i32 %t12916, ptr %t12909 br label %put2644 put2644: %t12923 = load ptr, ptr %t12910 %t12924 = getelementptr inbounds ptr, ptr %t12923, i32 %t12911 store ptr @.str9401, ptr %t12924 %t12925 = add i32 %t12911, 1 store i32 %t12925, ptr %t12908 br label %ifend2640 ifend2640: %t12926 = load ptr, ptr %t1 %t12927 = call i32 @lp_str_eq(ptr %t12926, ptr @.str9402) %t12928 = icmp ne i32 %t12927, 0 br i1 %t12928, label %then2645, label %ifend2647 then2645: store ptr @.str9403, ptr %t452 %t12929 = load ptr, ptr %t459 %t12930 = getelementptr inbounds %LSlice, ptr %t12929, i32 0, i32 1 %t12931 = getelementptr inbounds %LSlice, ptr %t12929, i32 0, i32 2 %t12932 = getelementptr inbounds %LSlice, ptr %t12929, i32 0, i32 0 %t12933 = load i32, ptr %t12930 %t12934 = load i32, ptr %t12931 %t12935 = icmp sge i32 %t12933, %t12934 br i1 %t12935, label %grow2648, label %put2649 grow2648: %t12936 = mul i32 %t12934, 2 %t12937 = icmp eq i32 %t12934, 0 %t12938 = select i1 %t12937, i32 8, i32 %t12936 %t12939 = getelementptr ptr, ptr null, i32 1 %t12940 = ptrtoint ptr %t12939 to i64 %t12941 = zext i32 %t12938 to i64 %t12942 = mul i64 %t12941, %t12940 %t12943 = load ptr, ptr %t12932 %t12944 = call ptr @realloc(ptr %t12943, i64 %t12942) store ptr %t12944, ptr %t12932 store i32 %t12938, ptr %t12931 br label %put2649 put2649: %t12945 = load ptr, ptr %t12932 %t12946 = getelementptr inbounds ptr, ptr %t12945, i32 %t12933 store ptr @.str9404, ptr %t12946 %t12947 = add i32 %t12933, 1 store i32 %t12947, ptr %t12930 %t12948 = load ptr, ptr %t459 %t12949 = getelementptr inbounds %LSlice, ptr %t12948, i32 0, i32 1 %t12950 = getelementptr inbounds %LSlice, ptr %t12948, i32 0, i32 2 %t12951 = getelementptr inbounds %LSlice, ptr %t12948, i32 0, i32 0 %t12952 = load i32, ptr %t12949 %t12953 = load i32, ptr %t12950 %t12954 = icmp sge i32 %t12952, %t12953 br i1 %t12954, label %grow2650, label %put2651 grow2650: %t12955 = mul i32 %t12953, 2 %t12956 = icmp eq i32 %t12953, 0 %t12957 = select i1 %t12956, i32 8, i32 %t12955 %t12958 = getelementptr ptr, ptr null, i32 1 %t12959 = ptrtoint ptr %t12958 to i64 %t12960 = zext i32 %t12957 to i64 %t12961 = mul i64 %t12960, %t12959 %t12962 = load ptr, ptr %t12951 %t12963 = call ptr @realloc(ptr %t12962, i64 %t12961) store ptr %t12963, ptr %t12951 store i32 %t12957, ptr %t12950 br label %put2651 put2651: %t12964 = load ptr, ptr %t12951 %t12965 = getelementptr inbounds ptr, ptr %t12964, i32 %t12952 store ptr @.str9405, ptr %t12965 %t12966 = add i32 %t12952, 1 store i32 %t12966, ptr %t12949 br label %ifend2647 ifend2647: %t12967 = load ptr, ptr %t1 %t12968 = call i32 @lp_str_eq(ptr %t12967, ptr @.str9406) %t12969 = icmp ne i32 %t12968, 0 br i1 %t12969, label %then2652, label %ifend2654 then2652: store ptr @.str9407, ptr %t452 %t12970 = load ptr, ptr %t459 %t12971 = getelementptr inbounds %LSlice, ptr %t12970, i32 0, i32 1 %t12972 = getelementptr inbounds %LSlice, ptr %t12970, i32 0, i32 2 %t12973 = getelementptr inbounds %LSlice, ptr %t12970, i32 0, i32 0 %t12974 = load i32, ptr %t12971 %t12975 = load i32, ptr %t12972 %t12976 = icmp sge i32 %t12974, %t12975 br i1 %t12976, label %grow2655, label %put2656 grow2655: %t12977 = mul i32 %t12975, 2 %t12978 = icmp eq i32 %t12975, 0 %t12979 = select i1 %t12978, i32 8, i32 %t12977 %t12980 = getelementptr ptr, ptr null, i32 1 %t12981 = ptrtoint ptr %t12980 to i64 %t12982 = zext i32 %t12979 to i64 %t12983 = mul i64 %t12982, %t12981 %t12984 = load ptr, ptr %t12973 %t12985 = call ptr @realloc(ptr %t12984, i64 %t12983) store ptr %t12985, ptr %t12973 store i32 %t12979, ptr %t12972 br label %put2656 put2656: %t12986 = load ptr, ptr %t12973 %t12987 = getelementptr inbounds ptr, ptr %t12986, i32 %t12974 store ptr @.str9408, ptr %t12987 %t12988 = add i32 %t12974, 1 store i32 %t12988, ptr %t12971 %t12989 = load ptr, ptr %t459 %t12990 = getelementptr inbounds %LSlice, ptr %t12989, i32 0, i32 1 %t12991 = getelementptr inbounds %LSlice, ptr %t12989, i32 0, i32 2 %t12992 = getelementptr inbounds %LSlice, ptr %t12989, i32 0, i32 0 %t12993 = load i32, ptr %t12990 %t12994 = load i32, ptr %t12991 %t12995 = icmp sge i32 %t12993, %t12994 br i1 %t12995, label %grow2657, label %put2658 grow2657: %t12996 = mul i32 %t12994, 2 %t12997 = icmp eq i32 %t12994, 0 %t12998 = select i1 %t12997, i32 8, i32 %t12996 %t12999 = getelementptr ptr, ptr null, i32 1 %t13000 = ptrtoint ptr %t12999 to i64 %t13001 = zext i32 %t12998 to i64 %t13002 = mul i64 %t13001, %t13000 %t13003 = load ptr, ptr %t12992 %t13004 = call ptr @realloc(ptr %t13003, i64 %t13002) store ptr %t13004, ptr %t12992 store i32 %t12998, ptr %t12991 br label %put2658 put2658: %t13005 = load ptr, ptr %t12992 %t13006 = getelementptr inbounds ptr, ptr %t13005, i32 %t12993 store ptr @.str9409, ptr %t13006 %t13007 = add i32 %t12993, 1 store i32 %t13007, ptr %t12990 %t13008 = load ptr, ptr %t459 %t13009 = getelementptr inbounds %LSlice, ptr %t13008, i32 0, i32 1 %t13010 = getelementptr inbounds %LSlice, ptr %t13008, i32 0, i32 2 %t13011 = getelementptr inbounds %LSlice, ptr %t13008, i32 0, i32 0 %t13012 = load i32, ptr %t13009 %t13013 = load i32, ptr %t13010 %t13014 = icmp sge i32 %t13012, %t13013 br i1 %t13014, label %grow2659, label %put2660 grow2659: %t13015 = mul i32 %t13013, 2 %t13016 = icmp eq i32 %t13013, 0 %t13017 = select i1 %t13016, i32 8, i32 %t13015 %t13018 = getelementptr ptr, ptr null, i32 1 %t13019 = ptrtoint ptr %t13018 to i64 %t13020 = zext i32 %t13017 to i64 %t13021 = mul i64 %t13020, %t13019 %t13022 = load ptr, ptr %t13011 %t13023 = call ptr @realloc(ptr %t13022, i64 %t13021) store ptr %t13023, ptr %t13011 store i32 %t13017, ptr %t13010 br label %put2660 put2660: %t13024 = load ptr, ptr %t13011 %t13025 = getelementptr inbounds ptr, ptr %t13024, i32 %t13012 store ptr @.str9410, ptr %t13025 %t13026 = add i32 %t13012, 1 store i32 %t13026, ptr %t13009 br label %ifend2654 ifend2654: %t13027 = load ptr, ptr %t1 %t13028 = call i32 @lp_str_eq(ptr %t13027, ptr @.str9411) %t13029 = icmp ne i32 %t13028, 0 br i1 %t13029, label %then2661, label %ifend2663 then2661: store ptr @.str9412, ptr %t452 %t13030 = load ptr, ptr %t459 %t13031 = getelementptr inbounds %LSlice, ptr %t13030, i32 0, i32 1 %t13032 = getelementptr inbounds %LSlice, ptr %t13030, i32 0, i32 2 %t13033 = getelementptr inbounds %LSlice, ptr %t13030, i32 0, i32 0 %t13034 = load i32, ptr %t13031 %t13035 = load i32, ptr %t13032 %t13036 = icmp sge i32 %t13034, %t13035 br i1 %t13036, label %grow2664, label %put2665 grow2664: %t13037 = mul i32 %t13035, 2 %t13038 = icmp eq i32 %t13035, 0 %t13039 = select i1 %t13038, i32 8, i32 %t13037 %t13040 = getelementptr ptr, ptr null, i32 1 %t13041 = ptrtoint ptr %t13040 to i64 %t13042 = zext i32 %t13039 to i64 %t13043 = mul i64 %t13042, %t13041 %t13044 = load ptr, ptr %t13033 %t13045 = call ptr @realloc(ptr %t13044, i64 %t13043) store ptr %t13045, ptr %t13033 store i32 %t13039, ptr %t13032 br label %put2665 put2665: %t13046 = load ptr, ptr %t13033 %t13047 = getelementptr inbounds ptr, ptr %t13046, i32 %t13034 store ptr @.str9413, ptr %t13047 %t13048 = add i32 %t13034, 1 store i32 %t13048, ptr %t13031 %t13049 = load ptr, ptr %t459 %t13050 = getelementptr inbounds %LSlice, ptr %t13049, i32 0, i32 1 %t13051 = getelementptr inbounds %LSlice, ptr %t13049, i32 0, i32 2 %t13052 = getelementptr inbounds %LSlice, ptr %t13049, i32 0, i32 0 %t13053 = load i32, ptr %t13050 %t13054 = load i32, ptr %t13051 %t13055 = icmp sge i32 %t13053, %t13054 br i1 %t13055, label %grow2666, label %put2667 grow2666: %t13056 = mul i32 %t13054, 2 %t13057 = icmp eq i32 %t13054, 0 %t13058 = select i1 %t13057, i32 8, i32 %t13056 %t13059 = getelementptr ptr, ptr null, i32 1 %t13060 = ptrtoint ptr %t13059 to i64 %t13061 = zext i32 %t13058 to i64 %t13062 = mul i64 %t13061, %t13060 %t13063 = load ptr, ptr %t13052 %t13064 = call ptr @realloc(ptr %t13063, i64 %t13062) store ptr %t13064, ptr %t13052 store i32 %t13058, ptr %t13051 br label %put2667 put2667: %t13065 = load ptr, ptr %t13052 %t13066 = getelementptr inbounds ptr, ptr %t13065, i32 %t13053 store ptr @.str9414, ptr %t13066 %t13067 = add i32 %t13053, 1 store i32 %t13067, ptr %t13050 %t13068 = load ptr, ptr %t459 %t13069 = getelementptr inbounds %LSlice, ptr %t13068, i32 0, i32 1 %t13070 = getelementptr inbounds %LSlice, ptr %t13068, i32 0, i32 2 %t13071 = getelementptr inbounds %LSlice, ptr %t13068, i32 0, i32 0 %t13072 = load i32, ptr %t13069 %t13073 = load i32, ptr %t13070 %t13074 = icmp sge i32 %t13072, %t13073 br i1 %t13074, label %grow2668, label %put2669 grow2668: %t13075 = mul i32 %t13073, 2 %t13076 = icmp eq i32 %t13073, 0 %t13077 = select i1 %t13076, i32 8, i32 %t13075 %t13078 = getelementptr ptr, ptr null, i32 1 %t13079 = ptrtoint ptr %t13078 to i64 %t13080 = zext i32 %t13077 to i64 %t13081 = mul i64 %t13080, %t13079 %t13082 = load ptr, ptr %t13071 %t13083 = call ptr @realloc(ptr %t13082, i64 %t13081) store ptr %t13083, ptr %t13071 store i32 %t13077, ptr %t13070 br label %put2669 put2669: %t13084 = load ptr, ptr %t13071 %t13085 = getelementptr inbounds ptr, ptr %t13084, i32 %t13072 store ptr @.str9415, ptr %t13085 %t13086 = add i32 %t13072, 1 store i32 %t13086, ptr %t13069 %t13087 = load ptr, ptr %t459 %t13088 = getelementptr inbounds %LSlice, ptr %t13087, i32 0, i32 1 %t13089 = getelementptr inbounds %LSlice, ptr %t13087, i32 0, i32 2 %t13090 = getelementptr inbounds %LSlice, ptr %t13087, i32 0, i32 0 %t13091 = load i32, ptr %t13088 %t13092 = load i32, ptr %t13089 %t13093 = icmp sge i32 %t13091, %t13092 br i1 %t13093, label %grow2670, label %put2671 grow2670: %t13094 = mul i32 %t13092, 2 %t13095 = icmp eq i32 %t13092, 0 %t13096 = select i1 %t13095, i32 8, i32 %t13094 %t13097 = getelementptr ptr, ptr null, i32 1 %t13098 = ptrtoint ptr %t13097 to i64 %t13099 = zext i32 %t13096 to i64 %t13100 = mul i64 %t13099, %t13098 %t13101 = load ptr, ptr %t13090 %t13102 = call ptr @realloc(ptr %t13101, i64 %t13100) store ptr %t13102, ptr %t13090 store i32 %t13096, ptr %t13089 br label %put2671 put2671: %t13103 = load ptr, ptr %t13090 %t13104 = getelementptr inbounds ptr, ptr %t13103, i32 %t13091 store ptr @.str9416, ptr %t13104 %t13105 = add i32 %t13091, 1 store i32 %t13105, ptr %t13088 br label %ifend2663 ifend2663: %t13106 = load ptr, ptr %t1 %t13107 = call i32 @lp_str_eq(ptr %t13106, ptr @.str9417) %t13108 = icmp ne i32 %t13107, 0 br i1 %t13108, label %then2672, label %ifend2674 then2672: store ptr @.str9418, ptr %t452 %t13109 = load ptr, ptr %t459 %t13110 = getelementptr inbounds %LSlice, ptr %t13109, i32 0, i32 1 %t13111 = getelementptr inbounds %LSlice, ptr %t13109, i32 0, i32 2 %t13112 = getelementptr inbounds %LSlice, ptr %t13109, i32 0, i32 0 %t13113 = load i32, ptr %t13110 %t13114 = load i32, ptr %t13111 %t13115 = icmp sge i32 %t13113, %t13114 br i1 %t13115, label %grow2675, label %put2676 grow2675: %t13116 = mul i32 %t13114, 2 %t13117 = icmp eq i32 %t13114, 0 %t13118 = select i1 %t13117, i32 8, i32 %t13116 %t13119 = getelementptr ptr, ptr null, i32 1 %t13120 = ptrtoint ptr %t13119 to i64 %t13121 = zext i32 %t13118 to i64 %t13122 = mul i64 %t13121, %t13120 %t13123 = load ptr, ptr %t13112 %t13124 = call ptr @realloc(ptr %t13123, i64 %t13122) store ptr %t13124, ptr %t13112 store i32 %t13118, ptr %t13111 br label %put2676 put2676: %t13125 = load ptr, ptr %t13112 %t13126 = getelementptr inbounds ptr, ptr %t13125, i32 %t13113 store ptr @.str9419, ptr %t13126 %t13127 = add i32 %t13113, 1 store i32 %t13127, ptr %t13110 %t13128 = load ptr, ptr %t459 %t13129 = getelementptr inbounds %LSlice, ptr %t13128, i32 0, i32 1 %t13130 = getelementptr inbounds %LSlice, ptr %t13128, i32 0, i32 2 %t13131 = getelementptr inbounds %LSlice, ptr %t13128, i32 0, i32 0 %t13132 = load i32, ptr %t13129 %t13133 = load i32, ptr %t13130 %t13134 = icmp sge i32 %t13132, %t13133 br i1 %t13134, label %grow2677, label %put2678 grow2677: %t13135 = mul i32 %t13133, 2 %t13136 = icmp eq i32 %t13133, 0 %t13137 = select i1 %t13136, i32 8, i32 %t13135 %t13138 = getelementptr ptr, ptr null, i32 1 %t13139 = ptrtoint ptr %t13138 to i64 %t13140 = zext i32 %t13137 to i64 %t13141 = mul i64 %t13140, %t13139 %t13142 = load ptr, ptr %t13131 %t13143 = call ptr @realloc(ptr %t13142, i64 %t13141) store ptr %t13143, ptr %t13131 store i32 %t13137, ptr %t13130 br label %put2678 put2678: %t13144 = load ptr, ptr %t13131 %t13145 = getelementptr inbounds ptr, ptr %t13144, i32 %t13132 store ptr @.str9420, ptr %t13145 %t13146 = add i32 %t13132, 1 store i32 %t13146, ptr %t13129 br label %ifend2674 ifend2674: %t13147 = load ptr, ptr %t1 %t13148 = call i32 @lp_str_eq(ptr %t13147, ptr @.str9421) %t13149 = icmp ne i32 %t13148, 0 br i1 %t13149, label %then2679, label %ifend2681 then2679: store ptr @.str9422, ptr %t452 %t13150 = load ptr, ptr %t459 %t13151 = getelementptr inbounds %LSlice, ptr %t13150, i32 0, i32 1 %t13152 = getelementptr inbounds %LSlice, ptr %t13150, i32 0, i32 2 %t13153 = getelementptr inbounds %LSlice, ptr %t13150, i32 0, i32 0 %t13154 = load i32, ptr %t13151 %t13155 = load i32, ptr %t13152 %t13156 = icmp sge i32 %t13154, %t13155 br i1 %t13156, label %grow2682, label %put2683 grow2682: %t13157 = mul i32 %t13155, 2 %t13158 = icmp eq i32 %t13155, 0 %t13159 = select i1 %t13158, i32 8, i32 %t13157 %t13160 = getelementptr ptr, ptr null, i32 1 %t13161 = ptrtoint ptr %t13160 to i64 %t13162 = zext i32 %t13159 to i64 %t13163 = mul i64 %t13162, %t13161 %t13164 = load ptr, ptr %t13153 %t13165 = call ptr @realloc(ptr %t13164, i64 %t13163) store ptr %t13165, ptr %t13153 store i32 %t13159, ptr %t13152 br label %put2683 put2683: %t13166 = load ptr, ptr %t13153 %t13167 = getelementptr inbounds ptr, ptr %t13166, i32 %t13154 store ptr @.str9423, ptr %t13167 %t13168 = add i32 %t13154, 1 store i32 %t13168, ptr %t13151 br label %ifend2681 ifend2681: %t13169 = load ptr, ptr %t1 %t13170 = call i32 @lp_str_eq(ptr %t13169, ptr @.str9424) %t13171 = icmp ne i32 %t13170, 0 br i1 %t13171, label %then2684, label %ifend2686 then2684: store ptr @.str9425, ptr %t452 %t13172 = load ptr, ptr %t459 %t13173 = getelementptr inbounds %LSlice, ptr %t13172, i32 0, i32 1 %t13174 = getelementptr inbounds %LSlice, ptr %t13172, i32 0, i32 2 %t13175 = getelementptr inbounds %LSlice, ptr %t13172, i32 0, i32 0 %t13176 = load i32, ptr %t13173 %t13177 = load i32, ptr %t13174 %t13178 = icmp sge i32 %t13176, %t13177 br i1 %t13178, label %grow2687, label %put2688 grow2687: %t13179 = mul i32 %t13177, 2 %t13180 = icmp eq i32 %t13177, 0 %t13181 = select i1 %t13180, i32 8, i32 %t13179 %t13182 = getelementptr ptr, ptr null, i32 1 %t13183 = ptrtoint ptr %t13182 to i64 %t13184 = zext i32 %t13181 to i64 %t13185 = mul i64 %t13184, %t13183 %t13186 = load ptr, ptr %t13175 %t13187 = call ptr @realloc(ptr %t13186, i64 %t13185) store ptr %t13187, ptr %t13175 store i32 %t13181, ptr %t13174 br label %put2688 put2688: %t13188 = load ptr, ptr %t13175 %t13189 = getelementptr inbounds ptr, ptr %t13188, i32 %t13176 store ptr @.str9426, ptr %t13189 %t13190 = add i32 %t13176, 1 store i32 %t13190, ptr %t13173 br label %ifend2686 ifend2686: %t13191 = load ptr, ptr %t1 %t13192 = call i32 @lp_str_eq(ptr %t13191, ptr @.str9427) %t13193 = icmp ne i32 %t13192, 0 br i1 %t13193, label %then2689, label %ifend2691 then2689: store ptr @.str9428, ptr %t452 %t13194 = load ptr, ptr %t459 %t13195 = getelementptr inbounds %LSlice, ptr %t13194, i32 0, i32 1 %t13196 = getelementptr inbounds %LSlice, ptr %t13194, i32 0, i32 2 %t13197 = getelementptr inbounds %LSlice, ptr %t13194, i32 0, i32 0 %t13198 = load i32, ptr %t13195 %t13199 = load i32, ptr %t13196 %t13200 = icmp sge i32 %t13198, %t13199 br i1 %t13200, label %grow2692, label %put2693 grow2692: %t13201 = mul i32 %t13199, 2 %t13202 = icmp eq i32 %t13199, 0 %t13203 = select i1 %t13202, i32 8, i32 %t13201 %t13204 = getelementptr ptr, ptr null, i32 1 %t13205 = ptrtoint ptr %t13204 to i64 %t13206 = zext i32 %t13203 to i64 %t13207 = mul i64 %t13206, %t13205 %t13208 = load ptr, ptr %t13197 %t13209 = call ptr @realloc(ptr %t13208, i64 %t13207) store ptr %t13209, ptr %t13197 store i32 %t13203, ptr %t13196 br label %put2693 put2693: %t13210 = load ptr, ptr %t13197 %t13211 = getelementptr inbounds ptr, ptr %t13210, i32 %t13198 store ptr @.str9429, ptr %t13211 %t13212 = add i32 %t13198, 1 store i32 %t13212, ptr %t13195 br label %ifend2691 ifend2691: %t13213 = load ptr, ptr %t1 %t13214 = call i32 @lp_str_eq(ptr %t13213, ptr @.str9430) %t13215 = icmp ne i32 %t13214, 0 br i1 %t13215, label %then2694, label %ifend2696 then2694: store ptr @.str9431, ptr %t452 %t13216 = load ptr, ptr %t459 %t13217 = getelementptr inbounds %LSlice, ptr %t13216, i32 0, i32 1 %t13218 = getelementptr inbounds %LSlice, ptr %t13216, i32 0, i32 2 %t13219 = getelementptr inbounds %LSlice, ptr %t13216, i32 0, i32 0 %t13220 = load i32, ptr %t13217 %t13221 = load i32, ptr %t13218 %t13222 = icmp sge i32 %t13220, %t13221 br i1 %t13222, label %grow2697, label %put2698 grow2697: %t13223 = mul i32 %t13221, 2 %t13224 = icmp eq i32 %t13221, 0 %t13225 = select i1 %t13224, i32 8, i32 %t13223 %t13226 = getelementptr ptr, ptr null, i32 1 %t13227 = ptrtoint ptr %t13226 to i64 %t13228 = zext i32 %t13225 to i64 %t13229 = mul i64 %t13228, %t13227 %t13230 = load ptr, ptr %t13219 %t13231 = call ptr @realloc(ptr %t13230, i64 %t13229) store ptr %t13231, ptr %t13219 store i32 %t13225, ptr %t13218 br label %put2698 put2698: %t13232 = load ptr, ptr %t13219 %t13233 = getelementptr inbounds ptr, ptr %t13232, i32 %t13220 store ptr @.str9432, ptr %t13233 %t13234 = add i32 %t13220, 1 store i32 %t13234, ptr %t13217 %t13235 = load ptr, ptr %t459 %t13236 = getelementptr inbounds %LSlice, ptr %t13235, i32 0, i32 1 %t13237 = getelementptr inbounds %LSlice, ptr %t13235, i32 0, i32 2 %t13238 = getelementptr inbounds %LSlice, ptr %t13235, i32 0, i32 0 %t13239 = load i32, ptr %t13236 %t13240 = load i32, ptr %t13237 %t13241 = icmp sge i32 %t13239, %t13240 br i1 %t13241, label %grow2699, label %put2700 grow2699: %t13242 = mul i32 %t13240, 2 %t13243 = icmp eq i32 %t13240, 0 %t13244 = select i1 %t13243, i32 8, i32 %t13242 %t13245 = getelementptr ptr, ptr null, i32 1 %t13246 = ptrtoint ptr %t13245 to i64 %t13247 = zext i32 %t13244 to i64 %t13248 = mul i64 %t13247, %t13246 %t13249 = load ptr, ptr %t13238 %t13250 = call ptr @realloc(ptr %t13249, i64 %t13248) store ptr %t13250, ptr %t13238 store i32 %t13244, ptr %t13237 br label %put2700 put2700: %t13251 = load ptr, ptr %t13238 %t13252 = getelementptr inbounds ptr, ptr %t13251, i32 %t13239 store ptr @.str9433, ptr %t13252 %t13253 = add i32 %t13239, 1 store i32 %t13253, ptr %t13236 br label %ifend2696 ifend2696: br label %ifend2612 ifend2612: %t13254 = load ptr, ptr %t0 %t13255 = call i32 @lp_str_eq(ptr %t13254, ptr @.str9434) %t13256 = icmp ne i32 %t13255, 0 br i1 %t13256, label %then2701, label %ifend2703 then2701: %t13257 = load ptr, ptr %t1 %t13258 = call i32 @lp_str_eq(ptr %t13257, ptr @.str9435) %t13259 = icmp ne i32 %t13258, 0 br i1 %t13259, label %then2704, label %ifend2706 then2704: store ptr @.str9436, ptr %t452 br label %ifend2706 ifend2706: %t13260 = load ptr, ptr %t1 %t13261 = call i32 @lp_str_eq(ptr %t13260, ptr @.str9437) %t13262 = icmp ne i32 %t13261, 0 br i1 %t13262, label %then2707, label %ifend2709 then2707: store ptr @.str9438, ptr %t452 %t13263 = load ptr, ptr %t459 %t13264 = getelementptr inbounds %LSlice, ptr %t13263, i32 0, i32 1 %t13265 = getelementptr inbounds %LSlice, ptr %t13263, i32 0, i32 2 %t13266 = getelementptr inbounds %LSlice, ptr %t13263, i32 0, i32 0 %t13267 = load i32, ptr %t13264 %t13268 = load i32, ptr %t13265 %t13269 = icmp sge i32 %t13267, %t13268 br i1 %t13269, label %grow2710, label %put2711 grow2710: %t13270 = mul i32 %t13268, 2 %t13271 = icmp eq i32 %t13268, 0 %t13272 = select i1 %t13271, i32 8, i32 %t13270 %t13273 = getelementptr ptr, ptr null, i32 1 %t13274 = ptrtoint ptr %t13273 to i64 %t13275 = zext i32 %t13272 to i64 %t13276 = mul i64 %t13275, %t13274 %t13277 = load ptr, ptr %t13266 %t13278 = call ptr @realloc(ptr %t13277, i64 %t13276) store ptr %t13278, ptr %t13266 store i32 %t13272, ptr %t13265 br label %put2711 put2711: %t13279 = load ptr, ptr %t13266 %t13280 = getelementptr inbounds ptr, ptr %t13279, i32 %t13267 store ptr @.str9439, ptr %t13280 %t13281 = add i32 %t13267, 1 store i32 %t13281, ptr %t13264 br label %ifend2709 ifend2709: %t13282 = load ptr, ptr %t1 %t13283 = call i32 @lp_str_eq(ptr %t13282, ptr @.str9440) %t13284 = icmp ne i32 %t13283, 0 br i1 %t13284, label %then2712, label %ifend2714 then2712: store ptr @.str9441, ptr %t452 %t13285 = load ptr, ptr %t459 %t13286 = getelementptr inbounds %LSlice, ptr %t13285, i32 0, i32 1 %t13287 = getelementptr inbounds %LSlice, ptr %t13285, i32 0, i32 2 %t13288 = getelementptr inbounds %LSlice, ptr %t13285, i32 0, i32 0 %t13289 = load i32, ptr %t13286 %t13290 = load i32, ptr %t13287 %t13291 = icmp sge i32 %t13289, %t13290 br i1 %t13291, label %grow2715, label %put2716 grow2715: %t13292 = mul i32 %t13290, 2 %t13293 = icmp eq i32 %t13290, 0 %t13294 = select i1 %t13293, i32 8, i32 %t13292 %t13295 = getelementptr ptr, ptr null, i32 1 %t13296 = ptrtoint ptr %t13295 to i64 %t13297 = zext i32 %t13294 to i64 %t13298 = mul i64 %t13297, %t13296 %t13299 = load ptr, ptr %t13288 %t13300 = call ptr @realloc(ptr %t13299, i64 %t13298) store ptr %t13300, ptr %t13288 store i32 %t13294, ptr %t13287 br label %put2716 put2716: %t13301 = load ptr, ptr %t13288 %t13302 = getelementptr inbounds ptr, ptr %t13301, i32 %t13289 store ptr @.str9442, ptr %t13302 %t13303 = add i32 %t13289, 1 store i32 %t13303, ptr %t13286 br label %ifend2714 ifend2714: %t13304 = load ptr, ptr %t1 %t13305 = call i32 @lp_str_eq(ptr %t13304, ptr @.str9443) %t13306 = icmp ne i32 %t13305, 0 br i1 %t13306, label %then2717, label %ifend2719 then2717: store ptr @.str9444, ptr %t452 %t13307 = load ptr, ptr %t459 %t13308 = getelementptr inbounds %LSlice, ptr %t13307, i32 0, i32 1 %t13309 = getelementptr inbounds %LSlice, ptr %t13307, i32 0, i32 2 %t13310 = getelementptr inbounds %LSlice, ptr %t13307, i32 0, i32 0 %t13311 = load i32, ptr %t13308 %t13312 = load i32, ptr %t13309 %t13313 = icmp sge i32 %t13311, %t13312 br i1 %t13313, label %grow2720, label %put2721 grow2720: %t13314 = mul i32 %t13312, 2 %t13315 = icmp eq i32 %t13312, 0 %t13316 = select i1 %t13315, i32 8, i32 %t13314 %t13317 = getelementptr ptr, ptr null, i32 1 %t13318 = ptrtoint ptr %t13317 to i64 %t13319 = zext i32 %t13316 to i64 %t13320 = mul i64 %t13319, %t13318 %t13321 = load ptr, ptr %t13310 %t13322 = call ptr @realloc(ptr %t13321, i64 %t13320) store ptr %t13322, ptr %t13310 store i32 %t13316, ptr %t13309 br label %put2721 put2721: %t13323 = load ptr, ptr %t13310 %t13324 = getelementptr inbounds ptr, ptr %t13323, i32 %t13311 store ptr @.str9445, ptr %t13324 %t13325 = add i32 %t13311, 1 store i32 %t13325, ptr %t13308 br label %ifend2719 ifend2719: %t13326 = load ptr, ptr %t1 %t13327 = call i32 @lp_str_eq(ptr %t13326, ptr @.str9446) %t13328 = icmp ne i32 %t13327, 0 br i1 %t13328, label %then2722, label %ifend2724 then2722: store ptr @.str9447, ptr %t452 %t13329 = load ptr, ptr %t459 %t13330 = getelementptr inbounds %LSlice, ptr %t13329, i32 0, i32 1 %t13331 = getelementptr inbounds %LSlice, ptr %t13329, i32 0, i32 2 %t13332 = getelementptr inbounds %LSlice, ptr %t13329, i32 0, i32 0 %t13333 = load i32, ptr %t13330 %t13334 = load i32, ptr %t13331 %t13335 = icmp sge i32 %t13333, %t13334 br i1 %t13335, label %grow2725, label %put2726 grow2725: %t13336 = mul i32 %t13334, 2 %t13337 = icmp eq i32 %t13334, 0 %t13338 = select i1 %t13337, i32 8, i32 %t13336 %t13339 = getelementptr ptr, ptr null, i32 1 %t13340 = ptrtoint ptr %t13339 to i64 %t13341 = zext i32 %t13338 to i64 %t13342 = mul i64 %t13341, %t13340 %t13343 = load ptr, ptr %t13332 %t13344 = call ptr @realloc(ptr %t13343, i64 %t13342) store ptr %t13344, ptr %t13332 store i32 %t13338, ptr %t13331 br label %put2726 put2726: %t13345 = load ptr, ptr %t13332 %t13346 = getelementptr inbounds ptr, ptr %t13345, i32 %t13333 store ptr @.str9448, ptr %t13346 %t13347 = add i32 %t13333, 1 store i32 %t13347, ptr %t13330 br label %ifend2724 ifend2724: %t13348 = load ptr, ptr %t1 %t13349 = call i32 @lp_str_eq(ptr %t13348, ptr @.str9449) %t13350 = icmp ne i32 %t13349, 0 br i1 %t13350, label %then2727, label %ifend2729 then2727: store ptr @.str9450, ptr %t452 br label %ifend2729 ifend2729: %t13351 = load ptr, ptr %t1 %t13352 = call i32 @lp_str_eq(ptr %t13351, ptr @.str9451) %t13353 = icmp ne i32 %t13352, 0 br i1 %t13353, label %then2730, label %ifend2732 then2730: store ptr @.str9452, ptr %t452 br label %ifend2732 ifend2732: %t13354 = load ptr, ptr %t1 %t13355 = call i32 @lp_str_eq(ptr %t13354, ptr @.str9453) %t13356 = icmp ne i32 %t13355, 0 br i1 %t13356, label %then2733, label %ifend2735 then2733: store ptr @.str9454, ptr %t452 %t13357 = load ptr, ptr %t459 %t13358 = getelementptr inbounds %LSlice, ptr %t13357, i32 0, i32 1 %t13359 = getelementptr inbounds %LSlice, ptr %t13357, i32 0, i32 2 %t13360 = getelementptr inbounds %LSlice, ptr %t13357, i32 0, i32 0 %t13361 = load i32, ptr %t13358 %t13362 = load i32, ptr %t13359 %t13363 = icmp sge i32 %t13361, %t13362 br i1 %t13363, label %grow2736, label %put2737 grow2736: %t13364 = mul i32 %t13362, 2 %t13365 = icmp eq i32 %t13362, 0 %t13366 = select i1 %t13365, i32 8, i32 %t13364 %t13367 = getelementptr ptr, ptr null, i32 1 %t13368 = ptrtoint ptr %t13367 to i64 %t13369 = zext i32 %t13366 to i64 %t13370 = mul i64 %t13369, %t13368 %t13371 = load ptr, ptr %t13360 %t13372 = call ptr @realloc(ptr %t13371, i64 %t13370) store ptr %t13372, ptr %t13360 store i32 %t13366, ptr %t13359 br label %put2737 put2737: %t13373 = load ptr, ptr %t13360 %t13374 = getelementptr inbounds ptr, ptr %t13373, i32 %t13361 store ptr @.str9455, ptr %t13374 %t13375 = add i32 %t13361, 1 store i32 %t13375, ptr %t13358 %t13376 = load ptr, ptr %t459 %t13377 = getelementptr inbounds %LSlice, ptr %t13376, i32 0, i32 1 %t13378 = getelementptr inbounds %LSlice, ptr %t13376, i32 0, i32 2 %t13379 = getelementptr inbounds %LSlice, ptr %t13376, i32 0, i32 0 %t13380 = load i32, ptr %t13377 %t13381 = load i32, ptr %t13378 %t13382 = icmp sge i32 %t13380, %t13381 br i1 %t13382, label %grow2738, label %put2739 grow2738: %t13383 = mul i32 %t13381, 2 %t13384 = icmp eq i32 %t13381, 0 %t13385 = select i1 %t13384, i32 8, i32 %t13383 %t13386 = getelementptr ptr, ptr null, i32 1 %t13387 = ptrtoint ptr %t13386 to i64 %t13388 = zext i32 %t13385 to i64 %t13389 = mul i64 %t13388, %t13387 %t13390 = load ptr, ptr %t13379 %t13391 = call ptr @realloc(ptr %t13390, i64 %t13389) store ptr %t13391, ptr %t13379 store i32 %t13385, ptr %t13378 br label %put2739 put2739: %t13392 = load ptr, ptr %t13379 %t13393 = getelementptr inbounds ptr, ptr %t13392, i32 %t13380 store ptr @.str9456, ptr %t13393 %t13394 = add i32 %t13380, 1 store i32 %t13394, ptr %t13377 br label %ifend2735 ifend2735: %t13395 = load ptr, ptr %t1 %t13396 = call i32 @lp_str_eq(ptr %t13395, ptr @.str9457) %t13397 = icmp ne i32 %t13396, 0 br i1 %t13397, label %then2740, label %ifend2742 then2740: store ptr @.str9458, ptr %t452 %t13398 = load ptr, ptr %t459 %t13399 = getelementptr inbounds %LSlice, ptr %t13398, i32 0, i32 1 %t13400 = getelementptr inbounds %LSlice, ptr %t13398, i32 0, i32 2 %t13401 = getelementptr inbounds %LSlice, ptr %t13398, i32 0, i32 0 %t13402 = load i32, ptr %t13399 %t13403 = load i32, ptr %t13400 %t13404 = icmp sge i32 %t13402, %t13403 br i1 %t13404, label %grow2743, label %put2744 grow2743: %t13405 = mul i32 %t13403, 2 %t13406 = icmp eq i32 %t13403, 0 %t13407 = select i1 %t13406, i32 8, i32 %t13405 %t13408 = getelementptr ptr, ptr null, i32 1 %t13409 = ptrtoint ptr %t13408 to i64 %t13410 = zext i32 %t13407 to i64 %t13411 = mul i64 %t13410, %t13409 %t13412 = load ptr, ptr %t13401 %t13413 = call ptr @realloc(ptr %t13412, i64 %t13411) store ptr %t13413, ptr %t13401 store i32 %t13407, ptr %t13400 br label %put2744 put2744: %t13414 = load ptr, ptr %t13401 %t13415 = getelementptr inbounds ptr, ptr %t13414, i32 %t13402 store ptr @.str9459, ptr %t13415 %t13416 = add i32 %t13402, 1 store i32 %t13416, ptr %t13399 %t13417 = load ptr, ptr %t459 %t13418 = getelementptr inbounds %LSlice, ptr %t13417, i32 0, i32 1 %t13419 = getelementptr inbounds %LSlice, ptr %t13417, i32 0, i32 2 %t13420 = getelementptr inbounds %LSlice, ptr %t13417, i32 0, i32 0 %t13421 = load i32, ptr %t13418 %t13422 = load i32, ptr %t13419 %t13423 = icmp sge i32 %t13421, %t13422 br i1 %t13423, label %grow2745, label %put2746 grow2745: %t13424 = mul i32 %t13422, 2 %t13425 = icmp eq i32 %t13422, 0 %t13426 = select i1 %t13425, i32 8, i32 %t13424 %t13427 = getelementptr ptr, ptr null, i32 1 %t13428 = ptrtoint ptr %t13427 to i64 %t13429 = zext i32 %t13426 to i64 %t13430 = mul i64 %t13429, %t13428 %t13431 = load ptr, ptr %t13420 %t13432 = call ptr @realloc(ptr %t13431, i64 %t13430) store ptr %t13432, ptr %t13420 store i32 %t13426, ptr %t13419 br label %put2746 put2746: %t13433 = load ptr, ptr %t13420 %t13434 = getelementptr inbounds ptr, ptr %t13433, i32 %t13421 store ptr @.str9460, ptr %t13434 %t13435 = add i32 %t13421, 1 store i32 %t13435, ptr %t13418 %t13436 = load ptr, ptr %t459 %t13437 = getelementptr inbounds %LSlice, ptr %t13436, i32 0, i32 1 %t13438 = getelementptr inbounds %LSlice, ptr %t13436, i32 0, i32 2 %t13439 = getelementptr inbounds %LSlice, ptr %t13436, i32 0, i32 0 %t13440 = load i32, ptr %t13437 %t13441 = load i32, ptr %t13438 %t13442 = icmp sge i32 %t13440, %t13441 br i1 %t13442, label %grow2747, label %put2748 grow2747: %t13443 = mul i32 %t13441, 2 %t13444 = icmp eq i32 %t13441, 0 %t13445 = select i1 %t13444, i32 8, i32 %t13443 %t13446 = getelementptr ptr, ptr null, i32 1 %t13447 = ptrtoint ptr %t13446 to i64 %t13448 = zext i32 %t13445 to i64 %t13449 = mul i64 %t13448, %t13447 %t13450 = load ptr, ptr %t13439 %t13451 = call ptr @realloc(ptr %t13450, i64 %t13449) store ptr %t13451, ptr %t13439 store i32 %t13445, ptr %t13438 br label %put2748 put2748: %t13452 = load ptr, ptr %t13439 %t13453 = getelementptr inbounds ptr, ptr %t13452, i32 %t13440 store ptr @.str9461, ptr %t13453 %t13454 = add i32 %t13440, 1 store i32 %t13454, ptr %t13437 br label %ifend2742 ifend2742: %t13455 = load ptr, ptr %t1 %t13456 = call i32 @lp_str_eq(ptr %t13455, ptr @.str9462) %t13457 = icmp ne i32 %t13456, 0 br i1 %t13457, label %then2749, label %ifend2751 then2749: store ptr @.str9463, ptr %t452 %t13458 = load ptr, ptr %t459 %t13459 = getelementptr inbounds %LSlice, ptr %t13458, i32 0, i32 1 %t13460 = getelementptr inbounds %LSlice, ptr %t13458, i32 0, i32 2 %t13461 = getelementptr inbounds %LSlice, ptr %t13458, i32 0, i32 0 %t13462 = load i32, ptr %t13459 %t13463 = load i32, ptr %t13460 %t13464 = icmp sge i32 %t13462, %t13463 br i1 %t13464, label %grow2752, label %put2753 grow2752: %t13465 = mul i32 %t13463, 2 %t13466 = icmp eq i32 %t13463, 0 %t13467 = select i1 %t13466, i32 8, i32 %t13465 %t13468 = getelementptr ptr, ptr null, i32 1 %t13469 = ptrtoint ptr %t13468 to i64 %t13470 = zext i32 %t13467 to i64 %t13471 = mul i64 %t13470, %t13469 %t13472 = load ptr, ptr %t13461 %t13473 = call ptr @realloc(ptr %t13472, i64 %t13471) store ptr %t13473, ptr %t13461 store i32 %t13467, ptr %t13460 br label %put2753 put2753: %t13474 = load ptr, ptr %t13461 %t13475 = getelementptr inbounds ptr, ptr %t13474, i32 %t13462 store ptr @.str9464, ptr %t13475 %t13476 = add i32 %t13462, 1 store i32 %t13476, ptr %t13459 %t13477 = load ptr, ptr %t459 %t13478 = getelementptr inbounds %LSlice, ptr %t13477, i32 0, i32 1 %t13479 = getelementptr inbounds %LSlice, ptr %t13477, i32 0, i32 2 %t13480 = getelementptr inbounds %LSlice, ptr %t13477, i32 0, i32 0 %t13481 = load i32, ptr %t13478 %t13482 = load i32, ptr %t13479 %t13483 = icmp sge i32 %t13481, %t13482 br i1 %t13483, label %grow2754, label %put2755 grow2754: %t13484 = mul i32 %t13482, 2 %t13485 = icmp eq i32 %t13482, 0 %t13486 = select i1 %t13485, i32 8, i32 %t13484 %t13487 = getelementptr ptr, ptr null, i32 1 %t13488 = ptrtoint ptr %t13487 to i64 %t13489 = zext i32 %t13486 to i64 %t13490 = mul i64 %t13489, %t13488 %t13491 = load ptr, ptr %t13480 %t13492 = call ptr @realloc(ptr %t13491, i64 %t13490) store ptr %t13492, ptr %t13480 store i32 %t13486, ptr %t13479 br label %put2755 put2755: %t13493 = load ptr, ptr %t13480 %t13494 = getelementptr inbounds ptr, ptr %t13493, i32 %t13481 store ptr @.str9465, ptr %t13494 %t13495 = add i32 %t13481, 1 store i32 %t13495, ptr %t13478 br label %ifend2751 ifend2751: %t13496 = load ptr, ptr %t1 %t13497 = call i32 @lp_str_eq(ptr %t13496, ptr @.str9466) %t13498 = icmp ne i32 %t13497, 0 br i1 %t13498, label %then2756, label %ifend2758 then2756: store ptr @.str9467, ptr %t452 %t13499 = load ptr, ptr %t459 %t13500 = getelementptr inbounds %LSlice, ptr %t13499, i32 0, i32 1 %t13501 = getelementptr inbounds %LSlice, ptr %t13499, i32 0, i32 2 %t13502 = getelementptr inbounds %LSlice, ptr %t13499, i32 0, i32 0 %t13503 = load i32, ptr %t13500 %t13504 = load i32, ptr %t13501 %t13505 = icmp sge i32 %t13503, %t13504 br i1 %t13505, label %grow2759, label %put2760 grow2759: %t13506 = mul i32 %t13504, 2 %t13507 = icmp eq i32 %t13504, 0 %t13508 = select i1 %t13507, i32 8, i32 %t13506 %t13509 = getelementptr ptr, ptr null, i32 1 %t13510 = ptrtoint ptr %t13509 to i64 %t13511 = zext i32 %t13508 to i64 %t13512 = mul i64 %t13511, %t13510 %t13513 = load ptr, ptr %t13502 %t13514 = call ptr @realloc(ptr %t13513, i64 %t13512) store ptr %t13514, ptr %t13502 store i32 %t13508, ptr %t13501 br label %put2760 put2760: %t13515 = load ptr, ptr %t13502 %t13516 = getelementptr inbounds ptr, ptr %t13515, i32 %t13503 store ptr @.str9468, ptr %t13516 %t13517 = add i32 %t13503, 1 store i32 %t13517, ptr %t13500 %t13518 = load ptr, ptr %t459 %t13519 = getelementptr inbounds %LSlice, ptr %t13518, i32 0, i32 1 %t13520 = getelementptr inbounds %LSlice, ptr %t13518, i32 0, i32 2 %t13521 = getelementptr inbounds %LSlice, ptr %t13518, i32 0, i32 0 %t13522 = load i32, ptr %t13519 %t13523 = load i32, ptr %t13520 %t13524 = icmp sge i32 %t13522, %t13523 br i1 %t13524, label %grow2761, label %put2762 grow2761: %t13525 = mul i32 %t13523, 2 %t13526 = icmp eq i32 %t13523, 0 %t13527 = select i1 %t13526, i32 8, i32 %t13525 %t13528 = getelementptr ptr, ptr null, i32 1 %t13529 = ptrtoint ptr %t13528 to i64 %t13530 = zext i32 %t13527 to i64 %t13531 = mul i64 %t13530, %t13529 %t13532 = load ptr, ptr %t13521 %t13533 = call ptr @realloc(ptr %t13532, i64 %t13531) store ptr %t13533, ptr %t13521 store i32 %t13527, ptr %t13520 br label %put2762 put2762: %t13534 = load ptr, ptr %t13521 %t13535 = getelementptr inbounds ptr, ptr %t13534, i32 %t13522 store ptr @.str9469, ptr %t13535 %t13536 = add i32 %t13522, 1 store i32 %t13536, ptr %t13519 br label %ifend2758 ifend2758: %t13537 = load ptr, ptr %t1 %t13538 = call i32 @lp_str_eq(ptr %t13537, ptr @.str9470) %t13539 = icmp ne i32 %t13538, 0 br i1 %t13539, label %then2763, label %ifend2765 then2763: store ptr @.str9471, ptr %t452 %t13540 = load ptr, ptr %t459 %t13541 = getelementptr inbounds %LSlice, ptr %t13540, i32 0, i32 1 %t13542 = getelementptr inbounds %LSlice, ptr %t13540, i32 0, i32 2 %t13543 = getelementptr inbounds %LSlice, ptr %t13540, i32 0, i32 0 %t13544 = load i32, ptr %t13541 %t13545 = load i32, ptr %t13542 %t13546 = icmp sge i32 %t13544, %t13545 br i1 %t13546, label %grow2766, label %put2767 grow2766: %t13547 = mul i32 %t13545, 2 %t13548 = icmp eq i32 %t13545, 0 %t13549 = select i1 %t13548, i32 8, i32 %t13547 %t13550 = getelementptr ptr, ptr null, i32 1 %t13551 = ptrtoint ptr %t13550 to i64 %t13552 = zext i32 %t13549 to i64 %t13553 = mul i64 %t13552, %t13551 %t13554 = load ptr, ptr %t13543 %t13555 = call ptr @realloc(ptr %t13554, i64 %t13553) store ptr %t13555, ptr %t13543 store i32 %t13549, ptr %t13542 br label %put2767 put2767: %t13556 = load ptr, ptr %t13543 %t13557 = getelementptr inbounds ptr, ptr %t13556, i32 %t13544 store ptr @.str9472, ptr %t13557 %t13558 = add i32 %t13544, 1 store i32 %t13558, ptr %t13541 %t13559 = load ptr, ptr %t459 %t13560 = getelementptr inbounds %LSlice, ptr %t13559, i32 0, i32 1 %t13561 = getelementptr inbounds %LSlice, ptr %t13559, i32 0, i32 2 %t13562 = getelementptr inbounds %LSlice, ptr %t13559, i32 0, i32 0 %t13563 = load i32, ptr %t13560 %t13564 = load i32, ptr %t13561 %t13565 = icmp sge i32 %t13563, %t13564 br i1 %t13565, label %grow2768, label %put2769 grow2768: %t13566 = mul i32 %t13564, 2 %t13567 = icmp eq i32 %t13564, 0 %t13568 = select i1 %t13567, i32 8, i32 %t13566 %t13569 = getelementptr ptr, ptr null, i32 1 %t13570 = ptrtoint ptr %t13569 to i64 %t13571 = zext i32 %t13568 to i64 %t13572 = mul i64 %t13571, %t13570 %t13573 = load ptr, ptr %t13562 %t13574 = call ptr @realloc(ptr %t13573, i64 %t13572) store ptr %t13574, ptr %t13562 store i32 %t13568, ptr %t13561 br label %put2769 put2769: %t13575 = load ptr, ptr %t13562 %t13576 = getelementptr inbounds ptr, ptr %t13575, i32 %t13563 store ptr @.str9473, ptr %t13576 %t13577 = add i32 %t13563, 1 store i32 %t13577, ptr %t13560 br label %ifend2765 ifend2765: %t13578 = load ptr, ptr %t1 %t13579 = call i32 @lp_str_eq(ptr %t13578, ptr @.str9474) %t13580 = icmp ne i32 %t13579, 0 br i1 %t13580, label %then2770, label %ifend2772 then2770: store ptr @.str9475, ptr %t452 %t13581 = load ptr, ptr %t459 %t13582 = getelementptr inbounds %LSlice, ptr %t13581, i32 0, i32 1 %t13583 = getelementptr inbounds %LSlice, ptr %t13581, i32 0, i32 2 %t13584 = getelementptr inbounds %LSlice, ptr %t13581, i32 0, i32 0 %t13585 = load i32, ptr %t13582 %t13586 = load i32, ptr %t13583 %t13587 = icmp sge i32 %t13585, %t13586 br i1 %t13587, label %grow2773, label %put2774 grow2773: %t13588 = mul i32 %t13586, 2 %t13589 = icmp eq i32 %t13586, 0 %t13590 = select i1 %t13589, i32 8, i32 %t13588 %t13591 = getelementptr ptr, ptr null, i32 1 %t13592 = ptrtoint ptr %t13591 to i64 %t13593 = zext i32 %t13590 to i64 %t13594 = mul i64 %t13593, %t13592 %t13595 = load ptr, ptr %t13584 %t13596 = call ptr @realloc(ptr %t13595, i64 %t13594) store ptr %t13596, ptr %t13584 store i32 %t13590, ptr %t13583 br label %put2774 put2774: %t13597 = load ptr, ptr %t13584 %t13598 = getelementptr inbounds ptr, ptr %t13597, i32 %t13585 store ptr @.str9476, ptr %t13598 %t13599 = add i32 %t13585, 1 store i32 %t13599, ptr %t13582 %t13600 = load ptr, ptr %t459 %t13601 = getelementptr inbounds %LSlice, ptr %t13600, i32 0, i32 1 %t13602 = getelementptr inbounds %LSlice, ptr %t13600, i32 0, i32 2 %t13603 = getelementptr inbounds %LSlice, ptr %t13600, i32 0, i32 0 %t13604 = load i32, ptr %t13601 %t13605 = load i32, ptr %t13602 %t13606 = icmp sge i32 %t13604, %t13605 br i1 %t13606, label %grow2775, label %put2776 grow2775: %t13607 = mul i32 %t13605, 2 %t13608 = icmp eq i32 %t13605, 0 %t13609 = select i1 %t13608, i32 8, i32 %t13607 %t13610 = getelementptr ptr, ptr null, i32 1 %t13611 = ptrtoint ptr %t13610 to i64 %t13612 = zext i32 %t13609 to i64 %t13613 = mul i64 %t13612, %t13611 %t13614 = load ptr, ptr %t13603 %t13615 = call ptr @realloc(ptr %t13614, i64 %t13613) store ptr %t13615, ptr %t13603 store i32 %t13609, ptr %t13602 br label %put2776 put2776: %t13616 = load ptr, ptr %t13603 %t13617 = getelementptr inbounds ptr, ptr %t13616, i32 %t13604 store ptr @.str9477, ptr %t13617 %t13618 = add i32 %t13604, 1 store i32 %t13618, ptr %t13601 br label %ifend2772 ifend2772: %t13619 = load ptr, ptr %t1 %t13620 = call i32 @lp_str_eq(ptr %t13619, ptr @.str9478) %t13621 = icmp ne i32 %t13620, 0 br i1 %t13621, label %then2777, label %ifend2779 then2777: store ptr @.str9479, ptr %t452 %t13622 = load ptr, ptr %t459 %t13623 = getelementptr inbounds %LSlice, ptr %t13622, i32 0, i32 1 %t13624 = getelementptr inbounds %LSlice, ptr %t13622, i32 0, i32 2 %t13625 = getelementptr inbounds %LSlice, ptr %t13622, i32 0, i32 0 %t13626 = load i32, ptr %t13623 %t13627 = load i32, ptr %t13624 %t13628 = icmp sge i32 %t13626, %t13627 br i1 %t13628, label %grow2780, label %put2781 grow2780: %t13629 = mul i32 %t13627, 2 %t13630 = icmp eq i32 %t13627, 0 %t13631 = select i1 %t13630, i32 8, i32 %t13629 %t13632 = getelementptr ptr, ptr null, i32 1 %t13633 = ptrtoint ptr %t13632 to i64 %t13634 = zext i32 %t13631 to i64 %t13635 = mul i64 %t13634, %t13633 %t13636 = load ptr, ptr %t13625 %t13637 = call ptr @realloc(ptr %t13636, i64 %t13635) store ptr %t13637, ptr %t13625 store i32 %t13631, ptr %t13624 br label %put2781 put2781: %t13638 = load ptr, ptr %t13625 %t13639 = getelementptr inbounds ptr, ptr %t13638, i32 %t13626 store ptr @.str9480, ptr %t13639 %t13640 = add i32 %t13626, 1 store i32 %t13640, ptr %t13623 br label %ifend2779 ifend2779: %t13641 = load ptr, ptr %t1 %t13642 = call i32 @lp_str_eq(ptr %t13641, ptr @.str9481) %t13643 = icmp ne i32 %t13642, 0 br i1 %t13643, label %then2782, label %ifend2784 then2782: store ptr @.str9482, ptr %t452 %t13644 = load ptr, ptr %t459 %t13645 = getelementptr inbounds %LSlice, ptr %t13644, i32 0, i32 1 %t13646 = getelementptr inbounds %LSlice, ptr %t13644, i32 0, i32 2 %t13647 = getelementptr inbounds %LSlice, ptr %t13644, i32 0, i32 0 %t13648 = load i32, ptr %t13645 %t13649 = load i32, ptr %t13646 %t13650 = icmp sge i32 %t13648, %t13649 br i1 %t13650, label %grow2785, label %put2786 grow2785: %t13651 = mul i32 %t13649, 2 %t13652 = icmp eq i32 %t13649, 0 %t13653 = select i1 %t13652, i32 8, i32 %t13651 %t13654 = getelementptr ptr, ptr null, i32 1 %t13655 = ptrtoint ptr %t13654 to i64 %t13656 = zext i32 %t13653 to i64 %t13657 = mul i64 %t13656, %t13655 %t13658 = load ptr, ptr %t13647 %t13659 = call ptr @realloc(ptr %t13658, i64 %t13657) store ptr %t13659, ptr %t13647 store i32 %t13653, ptr %t13646 br label %put2786 put2786: %t13660 = load ptr, ptr %t13647 %t13661 = getelementptr inbounds ptr, ptr %t13660, i32 %t13648 store ptr @.str9483, ptr %t13661 %t13662 = add i32 %t13648, 1 store i32 %t13662, ptr %t13645 br label %ifend2784 ifend2784: %t13663 = load ptr, ptr %t1 %t13664 = call i32 @lp_str_eq(ptr %t13663, ptr @.str9484) %t13665 = icmp ne i32 %t13664, 0 br i1 %t13665, label %then2787, label %ifend2789 then2787: store ptr @.str9485, ptr %t452 %t13666 = load ptr, ptr %t459 %t13667 = getelementptr inbounds %LSlice, ptr %t13666, i32 0, i32 1 %t13668 = getelementptr inbounds %LSlice, ptr %t13666, i32 0, i32 2 %t13669 = getelementptr inbounds %LSlice, ptr %t13666, i32 0, i32 0 %t13670 = load i32, ptr %t13667 %t13671 = load i32, ptr %t13668 %t13672 = icmp sge i32 %t13670, %t13671 br i1 %t13672, label %grow2790, label %put2791 grow2790: %t13673 = mul i32 %t13671, 2 %t13674 = icmp eq i32 %t13671, 0 %t13675 = select i1 %t13674, i32 8, i32 %t13673 %t13676 = getelementptr ptr, ptr null, i32 1 %t13677 = ptrtoint ptr %t13676 to i64 %t13678 = zext i32 %t13675 to i64 %t13679 = mul i64 %t13678, %t13677 %t13680 = load ptr, ptr %t13669 %t13681 = call ptr @realloc(ptr %t13680, i64 %t13679) store ptr %t13681, ptr %t13669 store i32 %t13675, ptr %t13668 br label %put2791 put2791: %t13682 = load ptr, ptr %t13669 %t13683 = getelementptr inbounds ptr, ptr %t13682, i32 %t13670 store ptr @.str9486, ptr %t13683 %t13684 = add i32 %t13670, 1 store i32 %t13684, ptr %t13667 br label %ifend2789 ifend2789: %t13685 = load ptr, ptr %t1 %t13686 = call i32 @lp_str_eq(ptr %t13685, ptr @.str9487) %t13687 = icmp ne i32 %t13686, 0 br i1 %t13687, label %then2792, label %ifend2794 then2792: store ptr @.str9488, ptr %t452 %t13688 = load ptr, ptr %t459 %t13689 = getelementptr inbounds %LSlice, ptr %t13688, i32 0, i32 1 %t13690 = getelementptr inbounds %LSlice, ptr %t13688, i32 0, i32 2 %t13691 = getelementptr inbounds %LSlice, ptr %t13688, i32 0, i32 0 %t13692 = load i32, ptr %t13689 %t13693 = load i32, ptr %t13690 %t13694 = icmp sge i32 %t13692, %t13693 br i1 %t13694, label %grow2795, label %put2796 grow2795: %t13695 = mul i32 %t13693, 2 %t13696 = icmp eq i32 %t13693, 0 %t13697 = select i1 %t13696, i32 8, i32 %t13695 %t13698 = getelementptr ptr, ptr null, i32 1 %t13699 = ptrtoint ptr %t13698 to i64 %t13700 = zext i32 %t13697 to i64 %t13701 = mul i64 %t13700, %t13699 %t13702 = load ptr, ptr %t13691 %t13703 = call ptr @realloc(ptr %t13702, i64 %t13701) store ptr %t13703, ptr %t13691 store i32 %t13697, ptr %t13690 br label %put2796 put2796: %t13704 = load ptr, ptr %t13691 %t13705 = getelementptr inbounds ptr, ptr %t13704, i32 %t13692 store ptr @.str9489, ptr %t13705 %t13706 = add i32 %t13692, 1 store i32 %t13706, ptr %t13689 br label %ifend2794 ifend2794: br label %ifend2703 ifend2703: %t13707 = load ptr, ptr %t0 %t13708 = call i32 @lp_str_eq(ptr %t13707, ptr @.str9490) %t13709 = icmp ne i32 %t13708, 0 br i1 %t13709, label %then2797, label %ifend2799 then2797: %t13710 = load ptr, ptr %t1 %t13711 = call i32 @lp_str_eq(ptr %t13710, ptr @.str9491) %t13712 = icmp ne i32 %t13711, 0 br i1 %t13712, label %then2800, label %ifend2802 then2800: store ptr @.str9492, ptr %t452 %t13713 = load ptr, ptr %t459 %t13714 = getelementptr inbounds %LSlice, ptr %t13713, i32 0, i32 1 %t13715 = getelementptr inbounds %LSlice, ptr %t13713, i32 0, i32 2 %t13716 = getelementptr inbounds %LSlice, ptr %t13713, i32 0, i32 0 %t13717 = load i32, ptr %t13714 %t13718 = load i32, ptr %t13715 %t13719 = icmp sge i32 %t13717, %t13718 br i1 %t13719, label %grow2803, label %put2804 grow2803: %t13720 = mul i32 %t13718, 2 %t13721 = icmp eq i32 %t13718, 0 %t13722 = select i1 %t13721, i32 8, i32 %t13720 %t13723 = getelementptr ptr, ptr null, i32 1 %t13724 = ptrtoint ptr %t13723 to i64 %t13725 = zext i32 %t13722 to i64 %t13726 = mul i64 %t13725, %t13724 %t13727 = load ptr, ptr %t13716 %t13728 = call ptr @realloc(ptr %t13727, i64 %t13726) store ptr %t13728, ptr %t13716 store i32 %t13722, ptr %t13715 br label %put2804 put2804: %t13729 = load ptr, ptr %t13716 %t13730 = getelementptr inbounds ptr, ptr %t13729, i32 %t13717 store ptr @.str9493, ptr %t13730 %t13731 = add i32 %t13717, 1 store i32 %t13731, ptr %t13714 br label %ifend2802 ifend2802: %t13732 = load ptr, ptr %t1 %t13733 = call i32 @lp_str_eq(ptr %t13732, ptr @.str9494) %t13734 = icmp ne i32 %t13733, 0 br i1 %t13734, label %then2805, label %ifend2807 then2805: store ptr @.str9495, ptr %t452 %t13735 = load ptr, ptr %t459 %t13736 = getelementptr inbounds %LSlice, ptr %t13735, i32 0, i32 1 %t13737 = getelementptr inbounds %LSlice, ptr %t13735, i32 0, i32 2 %t13738 = getelementptr inbounds %LSlice, ptr %t13735, i32 0, i32 0 %t13739 = load i32, ptr %t13736 %t13740 = load i32, ptr %t13737 %t13741 = icmp sge i32 %t13739, %t13740 br i1 %t13741, label %grow2808, label %put2809 grow2808: %t13742 = mul i32 %t13740, 2 %t13743 = icmp eq i32 %t13740, 0 %t13744 = select i1 %t13743, i32 8, i32 %t13742 %t13745 = getelementptr ptr, ptr null, i32 1 %t13746 = ptrtoint ptr %t13745 to i64 %t13747 = zext i32 %t13744 to i64 %t13748 = mul i64 %t13747, %t13746 %t13749 = load ptr, ptr %t13738 %t13750 = call ptr @realloc(ptr %t13749, i64 %t13748) store ptr %t13750, ptr %t13738 store i32 %t13744, ptr %t13737 br label %put2809 put2809: %t13751 = load ptr, ptr %t13738 %t13752 = getelementptr inbounds ptr, ptr %t13751, i32 %t13739 store ptr @.str9496, ptr %t13752 %t13753 = add i32 %t13739, 1 store i32 %t13753, ptr %t13736 br label %ifend2807 ifend2807: br label %ifend2799 ifend2799: %t13754 = load ptr, ptr %t0 %t13755 = call i32 @lp_str_eq(ptr %t13754, ptr @.str9497) %t13756 = icmp ne i32 %t13755, 0 br i1 %t13756, label %then2810, label %ifend2812 then2810: %t13757 = load ptr, ptr %t1 %t13758 = call i32 @lp_str_eq(ptr %t13757, ptr @.str9498) %t13759 = icmp ne i32 %t13758, 0 br i1 %t13759, label %then2813, label %ifend2815 then2813: store ptr @.str9499, ptr %t452 %t13760 = load ptr, ptr %t459 %t13761 = getelementptr inbounds %LSlice, ptr %t13760, i32 0, i32 1 %t13762 = getelementptr inbounds %LSlice, ptr %t13760, i32 0, i32 2 %t13763 = getelementptr inbounds %LSlice, ptr %t13760, i32 0, i32 0 %t13764 = load i32, ptr %t13761 %t13765 = load i32, ptr %t13762 %t13766 = icmp sge i32 %t13764, %t13765 br i1 %t13766, label %grow2816, label %put2817 grow2816: %t13767 = mul i32 %t13765, 2 %t13768 = icmp eq i32 %t13765, 0 %t13769 = select i1 %t13768, i32 8, i32 %t13767 %t13770 = getelementptr ptr, ptr null, i32 1 %t13771 = ptrtoint ptr %t13770 to i64 %t13772 = zext i32 %t13769 to i64 %t13773 = mul i64 %t13772, %t13771 %t13774 = load ptr, ptr %t13763 %t13775 = call ptr @realloc(ptr %t13774, i64 %t13773) store ptr %t13775, ptr %t13763 store i32 %t13769, ptr %t13762 br label %put2817 put2817: %t13776 = load ptr, ptr %t13763 %t13777 = getelementptr inbounds ptr, ptr %t13776, i32 %t13764 store ptr @.str9500, ptr %t13777 %t13778 = add i32 %t13764, 1 store i32 %t13778, ptr %t13761 br label %ifend2815 ifend2815: %t13779 = load ptr, ptr %t1 %t13780 = call i32 @lp_str_eq(ptr %t13779, ptr @.str9501) %t13781 = icmp ne i32 %t13780, 0 br i1 %t13781, label %then2818, label %ifend2820 then2818: store ptr @.str9502, ptr %t452 %t13782 = load ptr, ptr %t459 %t13783 = getelementptr inbounds %LSlice, ptr %t13782, i32 0, i32 1 %t13784 = getelementptr inbounds %LSlice, ptr %t13782, i32 0, i32 2 %t13785 = getelementptr inbounds %LSlice, ptr %t13782, i32 0, i32 0 %t13786 = load i32, ptr %t13783 %t13787 = load i32, ptr %t13784 %t13788 = icmp sge i32 %t13786, %t13787 br i1 %t13788, label %grow2821, label %put2822 grow2821: %t13789 = mul i32 %t13787, 2 %t13790 = icmp eq i32 %t13787, 0 %t13791 = select i1 %t13790, i32 8, i32 %t13789 %t13792 = getelementptr ptr, ptr null, i32 1 %t13793 = ptrtoint ptr %t13792 to i64 %t13794 = zext i32 %t13791 to i64 %t13795 = mul i64 %t13794, %t13793 %t13796 = load ptr, ptr %t13785 %t13797 = call ptr @realloc(ptr %t13796, i64 %t13795) store ptr %t13797, ptr %t13785 store i32 %t13791, ptr %t13784 br label %put2822 put2822: %t13798 = load ptr, ptr %t13785 %t13799 = getelementptr inbounds ptr, ptr %t13798, i32 %t13786 store ptr @.str9503, ptr %t13799 %t13800 = add i32 %t13786, 1 store i32 %t13800, ptr %t13783 br label %ifend2820 ifend2820: %t13801 = load ptr, ptr %t1 %t13802 = call i32 @lp_str_eq(ptr %t13801, ptr @.str9504) %t13803 = icmp ne i32 %t13802, 0 br i1 %t13803, label %then2823, label %ifend2825 then2823: store ptr @.str9505, ptr %t452 %t13804 = load ptr, ptr %t459 %t13805 = getelementptr inbounds %LSlice, ptr %t13804, i32 0, i32 1 %t13806 = getelementptr inbounds %LSlice, ptr %t13804, i32 0, i32 2 %t13807 = getelementptr inbounds %LSlice, ptr %t13804, i32 0, i32 0 %t13808 = load i32, ptr %t13805 %t13809 = load i32, ptr %t13806 %t13810 = icmp sge i32 %t13808, %t13809 br i1 %t13810, label %grow2826, label %put2827 grow2826: %t13811 = mul i32 %t13809, 2 %t13812 = icmp eq i32 %t13809, 0 %t13813 = select i1 %t13812, i32 8, i32 %t13811 %t13814 = getelementptr ptr, ptr null, i32 1 %t13815 = ptrtoint ptr %t13814 to i64 %t13816 = zext i32 %t13813 to i64 %t13817 = mul i64 %t13816, %t13815 %t13818 = load ptr, ptr %t13807 %t13819 = call ptr @realloc(ptr %t13818, i64 %t13817) store ptr %t13819, ptr %t13807 store i32 %t13813, ptr %t13806 br label %put2827 put2827: %t13820 = load ptr, ptr %t13807 %t13821 = getelementptr inbounds ptr, ptr %t13820, i32 %t13808 store ptr @.str9506, ptr %t13821 %t13822 = add i32 %t13808, 1 store i32 %t13822, ptr %t13805 br label %ifend2825 ifend2825: %t13823 = load ptr, ptr %t1 %t13824 = call i32 @lp_str_eq(ptr %t13823, ptr @.str9507) %t13825 = icmp ne i32 %t13824, 0 br i1 %t13825, label %then2828, label %ifend2830 then2828: store ptr @.str9508, ptr %t452 %t13826 = load ptr, ptr %t459 %t13827 = getelementptr inbounds %LSlice, ptr %t13826, i32 0, i32 1 %t13828 = getelementptr inbounds %LSlice, ptr %t13826, i32 0, i32 2 %t13829 = getelementptr inbounds %LSlice, ptr %t13826, i32 0, i32 0 %t13830 = load i32, ptr %t13827 %t13831 = load i32, ptr %t13828 %t13832 = icmp sge i32 %t13830, %t13831 br i1 %t13832, label %grow2831, label %put2832 grow2831: %t13833 = mul i32 %t13831, 2 %t13834 = icmp eq i32 %t13831, 0 %t13835 = select i1 %t13834, i32 8, i32 %t13833 %t13836 = getelementptr ptr, ptr null, i32 1 %t13837 = ptrtoint ptr %t13836 to i64 %t13838 = zext i32 %t13835 to i64 %t13839 = mul i64 %t13838, %t13837 %t13840 = load ptr, ptr %t13829 %t13841 = call ptr @realloc(ptr %t13840, i64 %t13839) store ptr %t13841, ptr %t13829 store i32 %t13835, ptr %t13828 br label %put2832 put2832: %t13842 = load ptr, ptr %t13829 %t13843 = getelementptr inbounds ptr, ptr %t13842, i32 %t13830 store ptr @.str9509, ptr %t13843 %t13844 = add i32 %t13830, 1 store i32 %t13844, ptr %t13827 %t13845 = load ptr, ptr %t459 %t13846 = getelementptr inbounds %LSlice, ptr %t13845, i32 0, i32 1 %t13847 = getelementptr inbounds %LSlice, ptr %t13845, i32 0, i32 2 %t13848 = getelementptr inbounds %LSlice, ptr %t13845, i32 0, i32 0 %t13849 = load i32, ptr %t13846 %t13850 = load i32, ptr %t13847 %t13851 = icmp sge i32 %t13849, %t13850 br i1 %t13851, label %grow2833, label %put2834 grow2833: %t13852 = mul i32 %t13850, 2 %t13853 = icmp eq i32 %t13850, 0 %t13854 = select i1 %t13853, i32 8, i32 %t13852 %t13855 = getelementptr ptr, ptr null, i32 1 %t13856 = ptrtoint ptr %t13855 to i64 %t13857 = zext i32 %t13854 to i64 %t13858 = mul i64 %t13857, %t13856 %t13859 = load ptr, ptr %t13848 %t13860 = call ptr @realloc(ptr %t13859, i64 %t13858) store ptr %t13860, ptr %t13848 store i32 %t13854, ptr %t13847 br label %put2834 put2834: %t13861 = load ptr, ptr %t13848 %t13862 = getelementptr inbounds ptr, ptr %t13861, i32 %t13849 store ptr @.str9510, ptr %t13862 %t13863 = add i32 %t13849, 1 store i32 %t13863, ptr %t13846 br label %ifend2830 ifend2830: %t13864 = load ptr, ptr %t1 %t13865 = call i32 @lp_str_eq(ptr %t13864, ptr @.str9511) %t13866 = icmp ne i32 %t13865, 0 br i1 %t13866, label %then2835, label %ifend2837 then2835: store ptr @.str9512, ptr %t452 %t13867 = load ptr, ptr %t459 %t13868 = getelementptr inbounds %LSlice, ptr %t13867, i32 0, i32 1 %t13869 = getelementptr inbounds %LSlice, ptr %t13867, i32 0, i32 2 %t13870 = getelementptr inbounds %LSlice, ptr %t13867, i32 0, i32 0 %t13871 = load i32, ptr %t13868 %t13872 = load i32, ptr %t13869 %t13873 = icmp sge i32 %t13871, %t13872 br i1 %t13873, label %grow2838, label %put2839 grow2838: %t13874 = mul i32 %t13872, 2 %t13875 = icmp eq i32 %t13872, 0 %t13876 = select i1 %t13875, i32 8, i32 %t13874 %t13877 = getelementptr ptr, ptr null, i32 1 %t13878 = ptrtoint ptr %t13877 to i64 %t13879 = zext i32 %t13876 to i64 %t13880 = mul i64 %t13879, %t13878 %t13881 = load ptr, ptr %t13870 %t13882 = call ptr @realloc(ptr %t13881, i64 %t13880) store ptr %t13882, ptr %t13870 store i32 %t13876, ptr %t13869 br label %put2839 put2839: %t13883 = load ptr, ptr %t13870 %t13884 = getelementptr inbounds ptr, ptr %t13883, i32 %t13871 store ptr @.str9513, ptr %t13884 %t13885 = add i32 %t13871, 1 store i32 %t13885, ptr %t13868 %t13886 = load ptr, ptr %t459 %t13887 = getelementptr inbounds %LSlice, ptr %t13886, i32 0, i32 1 %t13888 = getelementptr inbounds %LSlice, ptr %t13886, i32 0, i32 2 %t13889 = getelementptr inbounds %LSlice, ptr %t13886, i32 0, i32 0 %t13890 = load i32, ptr %t13887 %t13891 = load i32, ptr %t13888 %t13892 = icmp sge i32 %t13890, %t13891 br i1 %t13892, label %grow2840, label %put2841 grow2840: %t13893 = mul i32 %t13891, 2 %t13894 = icmp eq i32 %t13891, 0 %t13895 = select i1 %t13894, i32 8, i32 %t13893 %t13896 = getelementptr ptr, ptr null, i32 1 %t13897 = ptrtoint ptr %t13896 to i64 %t13898 = zext i32 %t13895 to i64 %t13899 = mul i64 %t13898, %t13897 %t13900 = load ptr, ptr %t13889 %t13901 = call ptr @realloc(ptr %t13900, i64 %t13899) store ptr %t13901, ptr %t13889 store i32 %t13895, ptr %t13888 br label %put2841 put2841: %t13902 = load ptr, ptr %t13889 %t13903 = getelementptr inbounds ptr, ptr %t13902, i32 %t13890 store ptr @.str9514, ptr %t13903 %t13904 = add i32 %t13890, 1 store i32 %t13904, ptr %t13887 %t13905 = load ptr, ptr %t459 %t13906 = getelementptr inbounds %LSlice, ptr %t13905, i32 0, i32 1 %t13907 = getelementptr inbounds %LSlice, ptr %t13905, i32 0, i32 2 %t13908 = getelementptr inbounds %LSlice, ptr %t13905, i32 0, i32 0 %t13909 = load i32, ptr %t13906 %t13910 = load i32, ptr %t13907 %t13911 = icmp sge i32 %t13909, %t13910 br i1 %t13911, label %grow2842, label %put2843 grow2842: %t13912 = mul i32 %t13910, 2 %t13913 = icmp eq i32 %t13910, 0 %t13914 = select i1 %t13913, i32 8, i32 %t13912 %t13915 = getelementptr ptr, ptr null, i32 1 %t13916 = ptrtoint ptr %t13915 to i64 %t13917 = zext i32 %t13914 to i64 %t13918 = mul i64 %t13917, %t13916 %t13919 = load ptr, ptr %t13908 %t13920 = call ptr @realloc(ptr %t13919, i64 %t13918) store ptr %t13920, ptr %t13908 store i32 %t13914, ptr %t13907 br label %put2843 put2843: %t13921 = load ptr, ptr %t13908 %t13922 = getelementptr inbounds ptr, ptr %t13921, i32 %t13909 store ptr @.str9515, ptr %t13922 %t13923 = add i32 %t13909, 1 store i32 %t13923, ptr %t13906 br label %ifend2837 ifend2837: %t13924 = load ptr, ptr %t1 %t13925 = call i32 @lp_str_eq(ptr %t13924, ptr @.str9516) %t13926 = icmp ne i32 %t13925, 0 br i1 %t13926, label %then2844, label %ifend2846 then2844: store ptr @.str9517, ptr %t452 %t13927 = load ptr, ptr %t459 %t13928 = getelementptr inbounds %LSlice, ptr %t13927, i32 0, i32 1 %t13929 = getelementptr inbounds %LSlice, ptr %t13927, i32 0, i32 2 %t13930 = getelementptr inbounds %LSlice, ptr %t13927, i32 0, i32 0 %t13931 = load i32, ptr %t13928 %t13932 = load i32, ptr %t13929 %t13933 = icmp sge i32 %t13931, %t13932 br i1 %t13933, label %grow2847, label %put2848 grow2847: %t13934 = mul i32 %t13932, 2 %t13935 = icmp eq i32 %t13932, 0 %t13936 = select i1 %t13935, i32 8, i32 %t13934 %t13937 = getelementptr ptr, ptr null, i32 1 %t13938 = ptrtoint ptr %t13937 to i64 %t13939 = zext i32 %t13936 to i64 %t13940 = mul i64 %t13939, %t13938 %t13941 = load ptr, ptr %t13930 %t13942 = call ptr @realloc(ptr %t13941, i64 %t13940) store ptr %t13942, ptr %t13930 store i32 %t13936, ptr %t13929 br label %put2848 put2848: %t13943 = load ptr, ptr %t13930 %t13944 = getelementptr inbounds ptr, ptr %t13943, i32 %t13931 store ptr @.str9518, ptr %t13944 %t13945 = add i32 %t13931, 1 store i32 %t13945, ptr %t13928 %t13946 = load ptr, ptr %t459 %t13947 = getelementptr inbounds %LSlice, ptr %t13946, i32 0, i32 1 %t13948 = getelementptr inbounds %LSlice, ptr %t13946, i32 0, i32 2 %t13949 = getelementptr inbounds %LSlice, ptr %t13946, i32 0, i32 0 %t13950 = load i32, ptr %t13947 %t13951 = load i32, ptr %t13948 %t13952 = icmp sge i32 %t13950, %t13951 br i1 %t13952, label %grow2849, label %put2850 grow2849: %t13953 = mul i32 %t13951, 2 %t13954 = icmp eq i32 %t13951, 0 %t13955 = select i1 %t13954, i32 8, i32 %t13953 %t13956 = getelementptr ptr, ptr null, i32 1 %t13957 = ptrtoint ptr %t13956 to i64 %t13958 = zext i32 %t13955 to i64 %t13959 = mul i64 %t13958, %t13957 %t13960 = load ptr, ptr %t13949 %t13961 = call ptr @realloc(ptr %t13960, i64 %t13959) store ptr %t13961, ptr %t13949 store i32 %t13955, ptr %t13948 br label %put2850 put2850: %t13962 = load ptr, ptr %t13949 %t13963 = getelementptr inbounds ptr, ptr %t13962, i32 %t13950 store ptr @.str9519, ptr %t13963 %t13964 = add i32 %t13950, 1 store i32 %t13964, ptr %t13947 br label %ifend2846 ifend2846: %t13965 = load ptr, ptr %t1 %t13966 = call i32 @lp_str_eq(ptr %t13965, ptr @.str9520) %t13967 = icmp ne i32 %t13966, 0 br i1 %t13967, label %then2851, label %ifend2853 then2851: store ptr @.str9521, ptr %t452 %t13968 = load ptr, ptr %t459 %t13969 = getelementptr inbounds %LSlice, ptr %t13968, i32 0, i32 1 %t13970 = getelementptr inbounds %LSlice, ptr %t13968, i32 0, i32 2 %t13971 = getelementptr inbounds %LSlice, ptr %t13968, i32 0, i32 0 %t13972 = load i32, ptr %t13969 %t13973 = load i32, ptr %t13970 %t13974 = icmp sge i32 %t13972, %t13973 br i1 %t13974, label %grow2854, label %put2855 grow2854: %t13975 = mul i32 %t13973, 2 %t13976 = icmp eq i32 %t13973, 0 %t13977 = select i1 %t13976, i32 8, i32 %t13975 %t13978 = getelementptr ptr, ptr null, i32 1 %t13979 = ptrtoint ptr %t13978 to i64 %t13980 = zext i32 %t13977 to i64 %t13981 = mul i64 %t13980, %t13979 %t13982 = load ptr, ptr %t13971 %t13983 = call ptr @realloc(ptr %t13982, i64 %t13981) store ptr %t13983, ptr %t13971 store i32 %t13977, ptr %t13970 br label %put2855 put2855: %t13984 = load ptr, ptr %t13971 %t13985 = getelementptr inbounds ptr, ptr %t13984, i32 %t13972 store ptr @.str9522, ptr %t13985 %t13986 = add i32 %t13972, 1 store i32 %t13986, ptr %t13969 br label %ifend2853 ifend2853: %t13987 = load ptr, ptr %t1 %t13988 = call i32 @lp_str_eq(ptr %t13987, ptr @.str9523) %t13989 = icmp ne i32 %t13988, 0 br i1 %t13989, label %then2856, label %ifend2858 then2856: store ptr @.str9524, ptr %t452 %t13990 = load ptr, ptr %t459 %t13991 = getelementptr inbounds %LSlice, ptr %t13990, i32 0, i32 1 %t13992 = getelementptr inbounds %LSlice, ptr %t13990, i32 0, i32 2 %t13993 = getelementptr inbounds %LSlice, ptr %t13990, i32 0, i32 0 %t13994 = load i32, ptr %t13991 %t13995 = load i32, ptr %t13992 %t13996 = icmp sge i32 %t13994, %t13995 br i1 %t13996, label %grow2859, label %put2860 grow2859: %t13997 = mul i32 %t13995, 2 %t13998 = icmp eq i32 %t13995, 0 %t13999 = select i1 %t13998, i32 8, i32 %t13997 %t14000 = getelementptr ptr, ptr null, i32 1 %t14001 = ptrtoint ptr %t14000 to i64 %t14002 = zext i32 %t13999 to i64 %t14003 = mul i64 %t14002, %t14001 %t14004 = load ptr, ptr %t13993 %t14005 = call ptr @realloc(ptr %t14004, i64 %t14003) store ptr %t14005, ptr %t13993 store i32 %t13999, ptr %t13992 br label %put2860 put2860: %t14006 = load ptr, ptr %t13993 %t14007 = getelementptr inbounds ptr, ptr %t14006, i32 %t13994 store ptr @.str9525, ptr %t14007 %t14008 = add i32 %t13994, 1 store i32 %t14008, ptr %t13991 br label %ifend2858 ifend2858: %t14009 = load ptr, ptr %t1 %t14010 = call i32 @lp_str_eq(ptr %t14009, ptr @.str9526) %t14011 = icmp ne i32 %t14010, 0 br i1 %t14011, label %then2861, label %ifend2863 then2861: store ptr @.str9527, ptr %t452 %t14012 = load ptr, ptr %t459 %t14013 = getelementptr inbounds %LSlice, ptr %t14012, i32 0, i32 1 %t14014 = getelementptr inbounds %LSlice, ptr %t14012, i32 0, i32 2 %t14015 = getelementptr inbounds %LSlice, ptr %t14012, i32 0, i32 0 %t14016 = load i32, ptr %t14013 %t14017 = load i32, ptr %t14014 %t14018 = icmp sge i32 %t14016, %t14017 br i1 %t14018, label %grow2864, label %put2865 grow2864: %t14019 = mul i32 %t14017, 2 %t14020 = icmp eq i32 %t14017, 0 %t14021 = select i1 %t14020, i32 8, i32 %t14019 %t14022 = getelementptr ptr, ptr null, i32 1 %t14023 = ptrtoint ptr %t14022 to i64 %t14024 = zext i32 %t14021 to i64 %t14025 = mul i64 %t14024, %t14023 %t14026 = load ptr, ptr %t14015 %t14027 = call ptr @realloc(ptr %t14026, i64 %t14025) store ptr %t14027, ptr %t14015 store i32 %t14021, ptr %t14014 br label %put2865 put2865: %t14028 = load ptr, ptr %t14015 %t14029 = getelementptr inbounds ptr, ptr %t14028, i32 %t14016 store ptr @.str9528, ptr %t14029 %t14030 = add i32 %t14016, 1 store i32 %t14030, ptr %t14013 %t14031 = load ptr, ptr %t459 %t14032 = getelementptr inbounds %LSlice, ptr %t14031, i32 0, i32 1 %t14033 = getelementptr inbounds %LSlice, ptr %t14031, i32 0, i32 2 %t14034 = getelementptr inbounds %LSlice, ptr %t14031, i32 0, i32 0 %t14035 = load i32, ptr %t14032 %t14036 = load i32, ptr %t14033 %t14037 = icmp sge i32 %t14035, %t14036 br i1 %t14037, label %grow2866, label %put2867 grow2866: %t14038 = mul i32 %t14036, 2 %t14039 = icmp eq i32 %t14036, 0 %t14040 = select i1 %t14039, i32 8, i32 %t14038 %t14041 = getelementptr ptr, ptr null, i32 1 %t14042 = ptrtoint ptr %t14041 to i64 %t14043 = zext i32 %t14040 to i64 %t14044 = mul i64 %t14043, %t14042 %t14045 = load ptr, ptr %t14034 %t14046 = call ptr @realloc(ptr %t14045, i64 %t14044) store ptr %t14046, ptr %t14034 store i32 %t14040, ptr %t14033 br label %put2867 put2867: %t14047 = load ptr, ptr %t14034 %t14048 = getelementptr inbounds ptr, ptr %t14047, i32 %t14035 store ptr @.str9529, ptr %t14048 %t14049 = add i32 %t14035, 1 store i32 %t14049, ptr %t14032 br label %ifend2863 ifend2863: %t14050 = load ptr, ptr %t1 %t14051 = call i32 @lp_str_eq(ptr %t14050, ptr @.str9530) %t14052 = icmp ne i32 %t14051, 0 br i1 %t14052, label %then2868, label %ifend2870 then2868: store ptr @.str9531, ptr %t452 %t14053 = load ptr, ptr %t459 %t14054 = getelementptr inbounds %LSlice, ptr %t14053, i32 0, i32 1 %t14055 = getelementptr inbounds %LSlice, ptr %t14053, i32 0, i32 2 %t14056 = getelementptr inbounds %LSlice, ptr %t14053, i32 0, i32 0 %t14057 = load i32, ptr %t14054 %t14058 = load i32, ptr %t14055 %t14059 = icmp sge i32 %t14057, %t14058 br i1 %t14059, label %grow2871, label %put2872 grow2871: %t14060 = mul i32 %t14058, 2 %t14061 = icmp eq i32 %t14058, 0 %t14062 = select i1 %t14061, i32 8, i32 %t14060 %t14063 = getelementptr ptr, ptr null, i32 1 %t14064 = ptrtoint ptr %t14063 to i64 %t14065 = zext i32 %t14062 to i64 %t14066 = mul i64 %t14065, %t14064 %t14067 = load ptr, ptr %t14056 %t14068 = call ptr @realloc(ptr %t14067, i64 %t14066) store ptr %t14068, ptr %t14056 store i32 %t14062, ptr %t14055 br label %put2872 put2872: %t14069 = load ptr, ptr %t14056 %t14070 = getelementptr inbounds ptr, ptr %t14069, i32 %t14057 store ptr @.str9532, ptr %t14070 %t14071 = add i32 %t14057, 1 store i32 %t14071, ptr %t14054 %t14072 = load ptr, ptr %t459 %t14073 = getelementptr inbounds %LSlice, ptr %t14072, i32 0, i32 1 %t14074 = getelementptr inbounds %LSlice, ptr %t14072, i32 0, i32 2 %t14075 = getelementptr inbounds %LSlice, ptr %t14072, i32 0, i32 0 %t14076 = load i32, ptr %t14073 %t14077 = load i32, ptr %t14074 %t14078 = icmp sge i32 %t14076, %t14077 br i1 %t14078, label %grow2873, label %put2874 grow2873: %t14079 = mul i32 %t14077, 2 %t14080 = icmp eq i32 %t14077, 0 %t14081 = select i1 %t14080, i32 8, i32 %t14079 %t14082 = getelementptr ptr, ptr null, i32 1 %t14083 = ptrtoint ptr %t14082 to i64 %t14084 = zext i32 %t14081 to i64 %t14085 = mul i64 %t14084, %t14083 %t14086 = load ptr, ptr %t14075 %t14087 = call ptr @realloc(ptr %t14086, i64 %t14085) store ptr %t14087, ptr %t14075 store i32 %t14081, ptr %t14074 br label %put2874 put2874: %t14088 = load ptr, ptr %t14075 %t14089 = getelementptr inbounds ptr, ptr %t14088, i32 %t14076 store ptr @.str9533, ptr %t14089 %t14090 = add i32 %t14076, 1 store i32 %t14090, ptr %t14073 br label %ifend2870 ifend2870: %t14091 = load ptr, ptr %t1 %t14092 = call i32 @lp_str_eq(ptr %t14091, ptr @.str9534) %t14093 = icmp ne i32 %t14092, 0 br i1 %t14093, label %then2875, label %ifend2877 then2875: store ptr @.str9535, ptr %t452 %t14094 = load ptr, ptr %t459 %t14095 = getelementptr inbounds %LSlice, ptr %t14094, i32 0, i32 1 %t14096 = getelementptr inbounds %LSlice, ptr %t14094, i32 0, i32 2 %t14097 = getelementptr inbounds %LSlice, ptr %t14094, i32 0, i32 0 %t14098 = load i32, ptr %t14095 %t14099 = load i32, ptr %t14096 %t14100 = icmp sge i32 %t14098, %t14099 br i1 %t14100, label %grow2878, label %put2879 grow2878: %t14101 = mul i32 %t14099, 2 %t14102 = icmp eq i32 %t14099, 0 %t14103 = select i1 %t14102, i32 8, i32 %t14101 %t14104 = getelementptr ptr, ptr null, i32 1 %t14105 = ptrtoint ptr %t14104 to i64 %t14106 = zext i32 %t14103 to i64 %t14107 = mul i64 %t14106, %t14105 %t14108 = load ptr, ptr %t14097 %t14109 = call ptr @realloc(ptr %t14108, i64 %t14107) store ptr %t14109, ptr %t14097 store i32 %t14103, ptr %t14096 br label %put2879 put2879: %t14110 = load ptr, ptr %t14097 %t14111 = getelementptr inbounds ptr, ptr %t14110, i32 %t14098 store ptr @.str9536, ptr %t14111 %t14112 = add i32 %t14098, 1 store i32 %t14112, ptr %t14095 %t14113 = load ptr, ptr %t459 %t14114 = getelementptr inbounds %LSlice, ptr %t14113, i32 0, i32 1 %t14115 = getelementptr inbounds %LSlice, ptr %t14113, i32 0, i32 2 %t14116 = getelementptr inbounds %LSlice, ptr %t14113, i32 0, i32 0 %t14117 = load i32, ptr %t14114 %t14118 = load i32, ptr %t14115 %t14119 = icmp sge i32 %t14117, %t14118 br i1 %t14119, label %grow2880, label %put2881 grow2880: %t14120 = mul i32 %t14118, 2 %t14121 = icmp eq i32 %t14118, 0 %t14122 = select i1 %t14121, i32 8, i32 %t14120 %t14123 = getelementptr ptr, ptr null, i32 1 %t14124 = ptrtoint ptr %t14123 to i64 %t14125 = zext i32 %t14122 to i64 %t14126 = mul i64 %t14125, %t14124 %t14127 = load ptr, ptr %t14116 %t14128 = call ptr @realloc(ptr %t14127, i64 %t14126) store ptr %t14128, ptr %t14116 store i32 %t14122, ptr %t14115 br label %put2881 put2881: %t14129 = load ptr, ptr %t14116 %t14130 = getelementptr inbounds ptr, ptr %t14129, i32 %t14117 store ptr @.str9537, ptr %t14130 %t14131 = add i32 %t14117, 1 store i32 %t14131, ptr %t14114 br label %ifend2877 ifend2877: br label %ifend2812 ifend2812: %t14132 = load ptr, ptr %t0 %t14133 = call i32 @lp_str_eq(ptr %t14132, ptr @.str9538) %t14134 = icmp ne i32 %t14133, 0 br i1 %t14134, label %then2882, label %ifend2884 then2882: %t14135 = load ptr, ptr %t1 %t14136 = call i32 @lp_str_eq(ptr %t14135, ptr @.str9539) %t14137 = icmp ne i32 %t14136, 0 br i1 %t14137, label %then2885, label %ifend2887 then2885: store ptr @.str9540, ptr %t452 %t14138 = load ptr, ptr %t459 %t14139 = getelementptr inbounds %LSlice, ptr %t14138, i32 0, i32 1 %t14140 = getelementptr inbounds %LSlice, ptr %t14138, i32 0, i32 2 %t14141 = getelementptr inbounds %LSlice, ptr %t14138, i32 0, i32 0 %t14142 = load i32, ptr %t14139 %t14143 = load i32, ptr %t14140 %t14144 = icmp sge i32 %t14142, %t14143 br i1 %t14144, label %grow2888, label %put2889 grow2888: %t14145 = mul i32 %t14143, 2 %t14146 = icmp eq i32 %t14143, 0 %t14147 = select i1 %t14146, i32 8, i32 %t14145 %t14148 = getelementptr ptr, ptr null, i32 1 %t14149 = ptrtoint ptr %t14148 to i64 %t14150 = zext i32 %t14147 to i64 %t14151 = mul i64 %t14150, %t14149 %t14152 = load ptr, ptr %t14141 %t14153 = call ptr @realloc(ptr %t14152, i64 %t14151) store ptr %t14153, ptr %t14141 store i32 %t14147, ptr %t14140 br label %put2889 put2889: %t14154 = load ptr, ptr %t14141 %t14155 = getelementptr inbounds ptr, ptr %t14154, i32 %t14142 store ptr @.str9541, ptr %t14155 %t14156 = add i32 %t14142, 1 store i32 %t14156, ptr %t14139 br label %ifend2887 ifend2887: %t14157 = load ptr, ptr %t1 %t14158 = call i32 @lp_str_eq(ptr %t14157, ptr @.str9542) %t14159 = icmp ne i32 %t14158, 0 br i1 %t14159, label %then2890, label %ifend2892 then2890: store ptr @.str9543, ptr %t452 %t14160 = load ptr, ptr %t459 %t14161 = getelementptr inbounds %LSlice, ptr %t14160, i32 0, i32 1 %t14162 = getelementptr inbounds %LSlice, ptr %t14160, i32 0, i32 2 %t14163 = getelementptr inbounds %LSlice, ptr %t14160, i32 0, i32 0 %t14164 = load i32, ptr %t14161 %t14165 = load i32, ptr %t14162 %t14166 = icmp sge i32 %t14164, %t14165 br i1 %t14166, label %grow2893, label %put2894 grow2893: %t14167 = mul i32 %t14165, 2 %t14168 = icmp eq i32 %t14165, 0 %t14169 = select i1 %t14168, i32 8, i32 %t14167 %t14170 = getelementptr ptr, ptr null, i32 1 %t14171 = ptrtoint ptr %t14170 to i64 %t14172 = zext i32 %t14169 to i64 %t14173 = mul i64 %t14172, %t14171 %t14174 = load ptr, ptr %t14163 %t14175 = call ptr @realloc(ptr %t14174, i64 %t14173) store ptr %t14175, ptr %t14163 store i32 %t14169, ptr %t14162 br label %put2894 put2894: %t14176 = load ptr, ptr %t14163 %t14177 = getelementptr inbounds ptr, ptr %t14176, i32 %t14164 store ptr @.str9544, ptr %t14177 %t14178 = add i32 %t14164, 1 store i32 %t14178, ptr %t14161 br label %ifend2892 ifend2892: br label %ifend2884 ifend2884: %t14179 = load ptr, ptr %t0 %t14180 = call i32 @lp_str_eq(ptr %t14179, ptr @.str9545) %t14181 = icmp ne i32 %t14180, 0 br i1 %t14181, label %then2895, label %ifend2897 then2895: %t14182 = load ptr, ptr %t1 %t14183 = call i32 @lp_str_eq(ptr %t14182, ptr @.str9546) %t14184 = icmp ne i32 %t14183, 0 br i1 %t14184, label %then2898, label %ifend2900 then2898: store ptr @.str9547, ptr %t452 %t14185 = load ptr, ptr %t459 %t14186 = getelementptr inbounds %LSlice, ptr %t14185, i32 0, i32 1 %t14187 = getelementptr inbounds %LSlice, ptr %t14185, i32 0, i32 2 %t14188 = getelementptr inbounds %LSlice, ptr %t14185, i32 0, i32 0 %t14189 = load i32, ptr %t14186 %t14190 = load i32, ptr %t14187 %t14191 = icmp sge i32 %t14189, %t14190 br i1 %t14191, label %grow2901, label %put2902 grow2901: %t14192 = mul i32 %t14190, 2 %t14193 = icmp eq i32 %t14190, 0 %t14194 = select i1 %t14193, i32 8, i32 %t14192 %t14195 = getelementptr ptr, ptr null, i32 1 %t14196 = ptrtoint ptr %t14195 to i64 %t14197 = zext i32 %t14194 to i64 %t14198 = mul i64 %t14197, %t14196 %t14199 = load ptr, ptr %t14188 %t14200 = call ptr @realloc(ptr %t14199, i64 %t14198) store ptr %t14200, ptr %t14188 store i32 %t14194, ptr %t14187 br label %put2902 put2902: %t14201 = load ptr, ptr %t14188 %t14202 = getelementptr inbounds ptr, ptr %t14201, i32 %t14189 store ptr @.str9548, ptr %t14202 %t14203 = add i32 %t14189, 1 store i32 %t14203, ptr %t14186 br label %ifend2900 ifend2900: %t14204 = load ptr, ptr %t1 %t14205 = call i32 @lp_str_eq(ptr %t14204, ptr @.str9549) %t14206 = icmp ne i32 %t14205, 0 br i1 %t14206, label %then2903, label %ifend2905 then2903: store ptr @.str9550, ptr %t452 %t14207 = load ptr, ptr %t459 %t14208 = getelementptr inbounds %LSlice, ptr %t14207, i32 0, i32 1 %t14209 = getelementptr inbounds %LSlice, ptr %t14207, i32 0, i32 2 %t14210 = getelementptr inbounds %LSlice, ptr %t14207, i32 0, i32 0 %t14211 = load i32, ptr %t14208 %t14212 = load i32, ptr %t14209 %t14213 = icmp sge i32 %t14211, %t14212 br i1 %t14213, label %grow2906, label %put2907 grow2906: %t14214 = mul i32 %t14212, 2 %t14215 = icmp eq i32 %t14212, 0 %t14216 = select i1 %t14215, i32 8, i32 %t14214 %t14217 = getelementptr ptr, ptr null, i32 1 %t14218 = ptrtoint ptr %t14217 to i64 %t14219 = zext i32 %t14216 to i64 %t14220 = mul i64 %t14219, %t14218 %t14221 = load ptr, ptr %t14210 %t14222 = call ptr @realloc(ptr %t14221, i64 %t14220) store ptr %t14222, ptr %t14210 store i32 %t14216, ptr %t14209 br label %put2907 put2907: %t14223 = load ptr, ptr %t14210 %t14224 = getelementptr inbounds ptr, ptr %t14223, i32 %t14211 store ptr @.str9551, ptr %t14224 %t14225 = add i32 %t14211, 1 store i32 %t14225, ptr %t14208 br label %ifend2905 ifend2905: %t14226 = load ptr, ptr %t1 %t14227 = call i32 @lp_str_eq(ptr %t14226, ptr @.str9552) %t14228 = icmp ne i32 %t14227, 0 br i1 %t14228, label %then2908, label %ifend2910 then2908: store ptr @.str9553, ptr %t452 %t14229 = load ptr, ptr %t459 %t14230 = getelementptr inbounds %LSlice, ptr %t14229, i32 0, i32 1 %t14231 = getelementptr inbounds %LSlice, ptr %t14229, i32 0, i32 2 %t14232 = getelementptr inbounds %LSlice, ptr %t14229, i32 0, i32 0 %t14233 = load i32, ptr %t14230 %t14234 = load i32, ptr %t14231 %t14235 = icmp sge i32 %t14233, %t14234 br i1 %t14235, label %grow2911, label %put2912 grow2911: %t14236 = mul i32 %t14234, 2 %t14237 = icmp eq i32 %t14234, 0 %t14238 = select i1 %t14237, i32 8, i32 %t14236 %t14239 = getelementptr ptr, ptr null, i32 1 %t14240 = ptrtoint ptr %t14239 to i64 %t14241 = zext i32 %t14238 to i64 %t14242 = mul i64 %t14241, %t14240 %t14243 = load ptr, ptr %t14232 %t14244 = call ptr @realloc(ptr %t14243, i64 %t14242) store ptr %t14244, ptr %t14232 store i32 %t14238, ptr %t14231 br label %put2912 put2912: %t14245 = load ptr, ptr %t14232 %t14246 = getelementptr inbounds ptr, ptr %t14245, i32 %t14233 store ptr @.str9554, ptr %t14246 %t14247 = add i32 %t14233, 1 store i32 %t14247, ptr %t14230 br label %ifend2910 ifend2910: %t14248 = load ptr, ptr %t1 %t14249 = call i32 @lp_str_eq(ptr %t14248, ptr @.str9555) %t14250 = icmp ne i32 %t14249, 0 br i1 %t14250, label %then2913, label %ifend2915 then2913: store ptr @.str9556, ptr %t452 %t14251 = load ptr, ptr %t459 %t14252 = getelementptr inbounds %LSlice, ptr %t14251, i32 0, i32 1 %t14253 = getelementptr inbounds %LSlice, ptr %t14251, i32 0, i32 2 %t14254 = getelementptr inbounds %LSlice, ptr %t14251, i32 0, i32 0 %t14255 = load i32, ptr %t14252 %t14256 = load i32, ptr %t14253 %t14257 = icmp sge i32 %t14255, %t14256 br i1 %t14257, label %grow2916, label %put2917 grow2916: %t14258 = mul i32 %t14256, 2 %t14259 = icmp eq i32 %t14256, 0 %t14260 = select i1 %t14259, i32 8, i32 %t14258 %t14261 = getelementptr ptr, ptr null, i32 1 %t14262 = ptrtoint ptr %t14261 to i64 %t14263 = zext i32 %t14260 to i64 %t14264 = mul i64 %t14263, %t14262 %t14265 = load ptr, ptr %t14254 %t14266 = call ptr @realloc(ptr %t14265, i64 %t14264) store ptr %t14266, ptr %t14254 store i32 %t14260, ptr %t14253 br label %put2917 put2917: %t14267 = load ptr, ptr %t14254 %t14268 = getelementptr inbounds ptr, ptr %t14267, i32 %t14255 store ptr @.str9557, ptr %t14268 %t14269 = add i32 %t14255, 1 store i32 %t14269, ptr %t14252 %t14270 = load ptr, ptr %t459 %t14271 = getelementptr inbounds %LSlice, ptr %t14270, i32 0, i32 1 %t14272 = getelementptr inbounds %LSlice, ptr %t14270, i32 0, i32 2 %t14273 = getelementptr inbounds %LSlice, ptr %t14270, i32 0, i32 0 %t14274 = load i32, ptr %t14271 %t14275 = load i32, ptr %t14272 %t14276 = icmp sge i32 %t14274, %t14275 br i1 %t14276, label %grow2918, label %put2919 grow2918: %t14277 = mul i32 %t14275, 2 %t14278 = icmp eq i32 %t14275, 0 %t14279 = select i1 %t14278, i32 8, i32 %t14277 %t14280 = getelementptr ptr, ptr null, i32 1 %t14281 = ptrtoint ptr %t14280 to i64 %t14282 = zext i32 %t14279 to i64 %t14283 = mul i64 %t14282, %t14281 %t14284 = load ptr, ptr %t14273 %t14285 = call ptr @realloc(ptr %t14284, i64 %t14283) store ptr %t14285, ptr %t14273 store i32 %t14279, ptr %t14272 br label %put2919 put2919: %t14286 = load ptr, ptr %t14273 %t14287 = getelementptr inbounds ptr, ptr %t14286, i32 %t14274 store ptr @.str9558, ptr %t14287 %t14288 = add i32 %t14274, 1 store i32 %t14288, ptr %t14271 %t14289 = load ptr, ptr %t459 %t14290 = getelementptr inbounds %LSlice, ptr %t14289, i32 0, i32 1 %t14291 = getelementptr inbounds %LSlice, ptr %t14289, i32 0, i32 2 %t14292 = getelementptr inbounds %LSlice, ptr %t14289, i32 0, i32 0 %t14293 = load i32, ptr %t14290 %t14294 = load i32, ptr %t14291 %t14295 = icmp sge i32 %t14293, %t14294 br i1 %t14295, label %grow2920, label %put2921 grow2920: %t14296 = mul i32 %t14294, 2 %t14297 = icmp eq i32 %t14294, 0 %t14298 = select i1 %t14297, i32 8, i32 %t14296 %t14299 = getelementptr ptr, ptr null, i32 1 %t14300 = ptrtoint ptr %t14299 to i64 %t14301 = zext i32 %t14298 to i64 %t14302 = mul i64 %t14301, %t14300 %t14303 = load ptr, ptr %t14292 %t14304 = call ptr @realloc(ptr %t14303, i64 %t14302) store ptr %t14304, ptr %t14292 store i32 %t14298, ptr %t14291 br label %put2921 put2921: %t14305 = load ptr, ptr %t14292 %t14306 = getelementptr inbounds ptr, ptr %t14305, i32 %t14293 store ptr @.str9559, ptr %t14306 %t14307 = add i32 %t14293, 1 store i32 %t14307, ptr %t14290 %t14308 = load ptr, ptr %t459 %t14309 = getelementptr inbounds %LSlice, ptr %t14308, i32 0, i32 1 %t14310 = getelementptr inbounds %LSlice, ptr %t14308, i32 0, i32 2 %t14311 = getelementptr inbounds %LSlice, ptr %t14308, i32 0, i32 0 %t14312 = load i32, ptr %t14309 %t14313 = load i32, ptr %t14310 %t14314 = icmp sge i32 %t14312, %t14313 br i1 %t14314, label %grow2922, label %put2923 grow2922: %t14315 = mul i32 %t14313, 2 %t14316 = icmp eq i32 %t14313, 0 %t14317 = select i1 %t14316, i32 8, i32 %t14315 %t14318 = getelementptr ptr, ptr null, i32 1 %t14319 = ptrtoint ptr %t14318 to i64 %t14320 = zext i32 %t14317 to i64 %t14321 = mul i64 %t14320, %t14319 %t14322 = load ptr, ptr %t14311 %t14323 = call ptr @realloc(ptr %t14322, i64 %t14321) store ptr %t14323, ptr %t14311 store i32 %t14317, ptr %t14310 br label %put2923 put2923: %t14324 = load ptr, ptr %t14311 %t14325 = getelementptr inbounds ptr, ptr %t14324, i32 %t14312 store ptr @.str9560, ptr %t14325 %t14326 = add i32 %t14312, 1 store i32 %t14326, ptr %t14309 br label %ifend2915 ifend2915: %t14327 = load ptr, ptr %t1 %t14328 = call i32 @lp_str_eq(ptr %t14327, ptr @.str9561) %t14329 = icmp ne i32 %t14328, 0 br i1 %t14329, label %then2924, label %ifend2926 then2924: store ptr @.str9562, ptr %t452 %t14330 = load ptr, ptr %t459 %t14331 = getelementptr inbounds %LSlice, ptr %t14330, i32 0, i32 1 %t14332 = getelementptr inbounds %LSlice, ptr %t14330, i32 0, i32 2 %t14333 = getelementptr inbounds %LSlice, ptr %t14330, i32 0, i32 0 %t14334 = load i32, ptr %t14331 %t14335 = load i32, ptr %t14332 %t14336 = icmp sge i32 %t14334, %t14335 br i1 %t14336, label %grow2927, label %put2928 grow2927: %t14337 = mul i32 %t14335, 2 %t14338 = icmp eq i32 %t14335, 0 %t14339 = select i1 %t14338, i32 8, i32 %t14337 %t14340 = getelementptr ptr, ptr null, i32 1 %t14341 = ptrtoint ptr %t14340 to i64 %t14342 = zext i32 %t14339 to i64 %t14343 = mul i64 %t14342, %t14341 %t14344 = load ptr, ptr %t14333 %t14345 = call ptr @realloc(ptr %t14344, i64 %t14343) store ptr %t14345, ptr %t14333 store i32 %t14339, ptr %t14332 br label %put2928 put2928: %t14346 = load ptr, ptr %t14333 %t14347 = getelementptr inbounds ptr, ptr %t14346, i32 %t14334 store ptr @.str9563, ptr %t14347 %t14348 = add i32 %t14334, 1 store i32 %t14348, ptr %t14331 %t14349 = load ptr, ptr %t459 %t14350 = getelementptr inbounds %LSlice, ptr %t14349, i32 0, i32 1 %t14351 = getelementptr inbounds %LSlice, ptr %t14349, i32 0, i32 2 %t14352 = getelementptr inbounds %LSlice, ptr %t14349, i32 0, i32 0 %t14353 = load i32, ptr %t14350 %t14354 = load i32, ptr %t14351 %t14355 = icmp sge i32 %t14353, %t14354 br i1 %t14355, label %grow2929, label %put2930 grow2929: %t14356 = mul i32 %t14354, 2 %t14357 = icmp eq i32 %t14354, 0 %t14358 = select i1 %t14357, i32 8, i32 %t14356 %t14359 = getelementptr ptr, ptr null, i32 1 %t14360 = ptrtoint ptr %t14359 to i64 %t14361 = zext i32 %t14358 to i64 %t14362 = mul i64 %t14361, %t14360 %t14363 = load ptr, ptr %t14352 %t14364 = call ptr @realloc(ptr %t14363, i64 %t14362) store ptr %t14364, ptr %t14352 store i32 %t14358, ptr %t14351 br label %put2930 put2930: %t14365 = load ptr, ptr %t14352 %t14366 = getelementptr inbounds ptr, ptr %t14365, i32 %t14353 store ptr @.str9564, ptr %t14366 %t14367 = add i32 %t14353, 1 store i32 %t14367, ptr %t14350 br label %ifend2926 ifend2926: %t14368 = load ptr, ptr %t1 %t14369 = call i32 @lp_str_eq(ptr %t14368, ptr @.str9565) %t14370 = icmp ne i32 %t14369, 0 br i1 %t14370, label %then2931, label %ifend2933 then2931: store ptr @.str9566, ptr %t452 %t14371 = load ptr, ptr %t459 %t14372 = getelementptr inbounds %LSlice, ptr %t14371, i32 0, i32 1 %t14373 = getelementptr inbounds %LSlice, ptr %t14371, i32 0, i32 2 %t14374 = getelementptr inbounds %LSlice, ptr %t14371, i32 0, i32 0 %t14375 = load i32, ptr %t14372 %t14376 = load i32, ptr %t14373 %t14377 = icmp sge i32 %t14375, %t14376 br i1 %t14377, label %grow2934, label %put2935 grow2934: %t14378 = mul i32 %t14376, 2 %t14379 = icmp eq i32 %t14376, 0 %t14380 = select i1 %t14379, i32 8, i32 %t14378 %t14381 = getelementptr ptr, ptr null, i32 1 %t14382 = ptrtoint ptr %t14381 to i64 %t14383 = zext i32 %t14380 to i64 %t14384 = mul i64 %t14383, %t14382 %t14385 = load ptr, ptr %t14374 %t14386 = call ptr @realloc(ptr %t14385, i64 %t14384) store ptr %t14386, ptr %t14374 store i32 %t14380, ptr %t14373 br label %put2935 put2935: %t14387 = load ptr, ptr %t14374 %t14388 = getelementptr inbounds ptr, ptr %t14387, i32 %t14375 store ptr @.str9567, ptr %t14388 %t14389 = add i32 %t14375, 1 store i32 %t14389, ptr %t14372 br label %ifend2933 ifend2933: %t14390 = load ptr, ptr %t1 %t14391 = call i32 @lp_str_eq(ptr %t14390, ptr @.str9568) %t14392 = icmp ne i32 %t14391, 0 br i1 %t14392, label %then2936, label %ifend2938 then2936: store ptr @.str9569, ptr %t452 %t14393 = load ptr, ptr %t459 %t14394 = getelementptr inbounds %LSlice, ptr %t14393, i32 0, i32 1 %t14395 = getelementptr inbounds %LSlice, ptr %t14393, i32 0, i32 2 %t14396 = getelementptr inbounds %LSlice, ptr %t14393, i32 0, i32 0 %t14397 = load i32, ptr %t14394 %t14398 = load i32, ptr %t14395 %t14399 = icmp sge i32 %t14397, %t14398 br i1 %t14399, label %grow2939, label %put2940 grow2939: %t14400 = mul i32 %t14398, 2 %t14401 = icmp eq i32 %t14398, 0 %t14402 = select i1 %t14401, i32 8, i32 %t14400 %t14403 = getelementptr ptr, ptr null, i32 1 %t14404 = ptrtoint ptr %t14403 to i64 %t14405 = zext i32 %t14402 to i64 %t14406 = mul i64 %t14405, %t14404 %t14407 = load ptr, ptr %t14396 %t14408 = call ptr @realloc(ptr %t14407, i64 %t14406) store ptr %t14408, ptr %t14396 store i32 %t14402, ptr %t14395 br label %put2940 put2940: %t14409 = load ptr, ptr %t14396 %t14410 = getelementptr inbounds ptr, ptr %t14409, i32 %t14397 store ptr @.str9570, ptr %t14410 %t14411 = add i32 %t14397, 1 store i32 %t14411, ptr %t14394 br label %ifend2938 ifend2938: %t14412 = load ptr, ptr %t1 %t14413 = call i32 @lp_str_eq(ptr %t14412, ptr @.str9571) %t14414 = icmp ne i32 %t14413, 0 br i1 %t14414, label %then2941, label %ifend2943 then2941: store ptr @.str9572, ptr %t452 %t14415 = load ptr, ptr %t459 %t14416 = getelementptr inbounds %LSlice, ptr %t14415, i32 0, i32 1 %t14417 = getelementptr inbounds %LSlice, ptr %t14415, i32 0, i32 2 %t14418 = getelementptr inbounds %LSlice, ptr %t14415, i32 0, i32 0 %t14419 = load i32, ptr %t14416 %t14420 = load i32, ptr %t14417 %t14421 = icmp sge i32 %t14419, %t14420 br i1 %t14421, label %grow2944, label %put2945 grow2944: %t14422 = mul i32 %t14420, 2 %t14423 = icmp eq i32 %t14420, 0 %t14424 = select i1 %t14423, i32 8, i32 %t14422 %t14425 = getelementptr ptr, ptr null, i32 1 %t14426 = ptrtoint ptr %t14425 to i64 %t14427 = zext i32 %t14424 to i64 %t14428 = mul i64 %t14427, %t14426 %t14429 = load ptr, ptr %t14418 %t14430 = call ptr @realloc(ptr %t14429, i64 %t14428) store ptr %t14430, ptr %t14418 store i32 %t14424, ptr %t14417 br label %put2945 put2945: %t14431 = load ptr, ptr %t14418 %t14432 = getelementptr inbounds ptr, ptr %t14431, i32 %t14419 store ptr @.str9573, ptr %t14432 %t14433 = add i32 %t14419, 1 store i32 %t14433, ptr %t14416 br label %ifend2943 ifend2943: %t14434 = load ptr, ptr %t1 %t14435 = call i32 @lp_str_eq(ptr %t14434, ptr @.str9574) %t14436 = icmp ne i32 %t14435, 0 br i1 %t14436, label %then2946, label %ifend2948 then2946: store ptr @.str9575, ptr %t452 %t14437 = load ptr, ptr %t459 %t14438 = getelementptr inbounds %LSlice, ptr %t14437, i32 0, i32 1 %t14439 = getelementptr inbounds %LSlice, ptr %t14437, i32 0, i32 2 %t14440 = getelementptr inbounds %LSlice, ptr %t14437, i32 0, i32 0 %t14441 = load i32, ptr %t14438 %t14442 = load i32, ptr %t14439 %t14443 = icmp sge i32 %t14441, %t14442 br i1 %t14443, label %grow2949, label %put2950 grow2949: %t14444 = mul i32 %t14442, 2 %t14445 = icmp eq i32 %t14442, 0 %t14446 = select i1 %t14445, i32 8, i32 %t14444 %t14447 = getelementptr ptr, ptr null, i32 1 %t14448 = ptrtoint ptr %t14447 to i64 %t14449 = zext i32 %t14446 to i64 %t14450 = mul i64 %t14449, %t14448 %t14451 = load ptr, ptr %t14440 %t14452 = call ptr @realloc(ptr %t14451, i64 %t14450) store ptr %t14452, ptr %t14440 store i32 %t14446, ptr %t14439 br label %put2950 put2950: %t14453 = load ptr, ptr %t14440 %t14454 = getelementptr inbounds ptr, ptr %t14453, i32 %t14441 store ptr @.str9576, ptr %t14454 %t14455 = add i32 %t14441, 1 store i32 %t14455, ptr %t14438 %t14456 = load ptr, ptr %t459 %t14457 = getelementptr inbounds %LSlice, ptr %t14456, i32 0, i32 1 %t14458 = getelementptr inbounds %LSlice, ptr %t14456, i32 0, i32 2 %t14459 = getelementptr inbounds %LSlice, ptr %t14456, i32 0, i32 0 %t14460 = load i32, ptr %t14457 %t14461 = load i32, ptr %t14458 %t14462 = icmp sge i32 %t14460, %t14461 br i1 %t14462, label %grow2951, label %put2952 grow2951: %t14463 = mul i32 %t14461, 2 %t14464 = icmp eq i32 %t14461, 0 %t14465 = select i1 %t14464, i32 8, i32 %t14463 %t14466 = getelementptr ptr, ptr null, i32 1 %t14467 = ptrtoint ptr %t14466 to i64 %t14468 = zext i32 %t14465 to i64 %t14469 = mul i64 %t14468, %t14467 %t14470 = load ptr, ptr %t14459 %t14471 = call ptr @realloc(ptr %t14470, i64 %t14469) store ptr %t14471, ptr %t14459 store i32 %t14465, ptr %t14458 br label %put2952 put2952: %t14472 = load ptr, ptr %t14459 %t14473 = getelementptr inbounds ptr, ptr %t14472, i32 %t14460 store ptr @.str9577, ptr %t14473 %t14474 = add i32 %t14460, 1 store i32 %t14474, ptr %t14457 br label %ifend2948 ifend2948: %t14475 = load ptr, ptr %t1 %t14476 = call i32 @lp_str_eq(ptr %t14475, ptr @.str9578) %t14477 = icmp ne i32 %t14476, 0 br i1 %t14477, label %then2953, label %ifend2955 then2953: store ptr @.str9579, ptr %t452 %t14478 = load ptr, ptr %t459 %t14479 = getelementptr inbounds %LSlice, ptr %t14478, i32 0, i32 1 %t14480 = getelementptr inbounds %LSlice, ptr %t14478, i32 0, i32 2 %t14481 = getelementptr inbounds %LSlice, ptr %t14478, i32 0, i32 0 %t14482 = load i32, ptr %t14479 %t14483 = load i32, ptr %t14480 %t14484 = icmp sge i32 %t14482, %t14483 br i1 %t14484, label %grow2956, label %put2957 grow2956: %t14485 = mul i32 %t14483, 2 %t14486 = icmp eq i32 %t14483, 0 %t14487 = select i1 %t14486, i32 8, i32 %t14485 %t14488 = getelementptr ptr, ptr null, i32 1 %t14489 = ptrtoint ptr %t14488 to i64 %t14490 = zext i32 %t14487 to i64 %t14491 = mul i64 %t14490, %t14489 %t14492 = load ptr, ptr %t14481 %t14493 = call ptr @realloc(ptr %t14492, i64 %t14491) store ptr %t14493, ptr %t14481 store i32 %t14487, ptr %t14480 br label %put2957 put2957: %t14494 = load ptr, ptr %t14481 %t14495 = getelementptr inbounds ptr, ptr %t14494, i32 %t14482 store ptr @.str9580, ptr %t14495 %t14496 = add i32 %t14482, 1 store i32 %t14496, ptr %t14479 %t14497 = load ptr, ptr %t459 %t14498 = getelementptr inbounds %LSlice, ptr %t14497, i32 0, i32 1 %t14499 = getelementptr inbounds %LSlice, ptr %t14497, i32 0, i32 2 %t14500 = getelementptr inbounds %LSlice, ptr %t14497, i32 0, i32 0 %t14501 = load i32, ptr %t14498 %t14502 = load i32, ptr %t14499 %t14503 = icmp sge i32 %t14501, %t14502 br i1 %t14503, label %grow2958, label %put2959 grow2958: %t14504 = mul i32 %t14502, 2 %t14505 = icmp eq i32 %t14502, 0 %t14506 = select i1 %t14505, i32 8, i32 %t14504 %t14507 = getelementptr ptr, ptr null, i32 1 %t14508 = ptrtoint ptr %t14507 to i64 %t14509 = zext i32 %t14506 to i64 %t14510 = mul i64 %t14509, %t14508 %t14511 = load ptr, ptr %t14500 %t14512 = call ptr @realloc(ptr %t14511, i64 %t14510) store ptr %t14512, ptr %t14500 store i32 %t14506, ptr %t14499 br label %put2959 put2959: %t14513 = load ptr, ptr %t14500 %t14514 = getelementptr inbounds ptr, ptr %t14513, i32 %t14501 store ptr @.str9581, ptr %t14514 %t14515 = add i32 %t14501, 1 store i32 %t14515, ptr %t14498 %t14516 = load ptr, ptr %t459 %t14517 = getelementptr inbounds %LSlice, ptr %t14516, i32 0, i32 1 %t14518 = getelementptr inbounds %LSlice, ptr %t14516, i32 0, i32 2 %t14519 = getelementptr inbounds %LSlice, ptr %t14516, i32 0, i32 0 %t14520 = load i32, ptr %t14517 %t14521 = load i32, ptr %t14518 %t14522 = icmp sge i32 %t14520, %t14521 br i1 %t14522, label %grow2960, label %put2961 grow2960: %t14523 = mul i32 %t14521, 2 %t14524 = icmp eq i32 %t14521, 0 %t14525 = select i1 %t14524, i32 8, i32 %t14523 %t14526 = getelementptr ptr, ptr null, i32 1 %t14527 = ptrtoint ptr %t14526 to i64 %t14528 = zext i32 %t14525 to i64 %t14529 = mul i64 %t14528, %t14527 %t14530 = load ptr, ptr %t14519 %t14531 = call ptr @realloc(ptr %t14530, i64 %t14529) store ptr %t14531, ptr %t14519 store i32 %t14525, ptr %t14518 br label %put2961 put2961: %t14532 = load ptr, ptr %t14519 %t14533 = getelementptr inbounds ptr, ptr %t14532, i32 %t14520 store ptr @.str9582, ptr %t14533 %t14534 = add i32 %t14520, 1 store i32 %t14534, ptr %t14517 br label %ifend2955 ifend2955: %t14535 = load ptr, ptr %t1 %t14536 = call i32 @lp_str_eq(ptr %t14535, ptr @.str9583) %t14537 = icmp ne i32 %t14536, 0 br i1 %t14537, label %then2962, label %ifend2964 then2962: store ptr @.str9584, ptr %t452 %t14538 = load ptr, ptr %t459 %t14539 = getelementptr inbounds %LSlice, ptr %t14538, i32 0, i32 1 %t14540 = getelementptr inbounds %LSlice, ptr %t14538, i32 0, i32 2 %t14541 = getelementptr inbounds %LSlice, ptr %t14538, i32 0, i32 0 %t14542 = load i32, ptr %t14539 %t14543 = load i32, ptr %t14540 %t14544 = icmp sge i32 %t14542, %t14543 br i1 %t14544, label %grow2965, label %put2966 grow2965: %t14545 = mul i32 %t14543, 2 %t14546 = icmp eq i32 %t14543, 0 %t14547 = select i1 %t14546, i32 8, i32 %t14545 %t14548 = getelementptr ptr, ptr null, i32 1 %t14549 = ptrtoint ptr %t14548 to i64 %t14550 = zext i32 %t14547 to i64 %t14551 = mul i64 %t14550, %t14549 %t14552 = load ptr, ptr %t14541 %t14553 = call ptr @realloc(ptr %t14552, i64 %t14551) store ptr %t14553, ptr %t14541 store i32 %t14547, ptr %t14540 br label %put2966 put2966: %t14554 = load ptr, ptr %t14541 %t14555 = getelementptr inbounds ptr, ptr %t14554, i32 %t14542 store ptr @.str9585, ptr %t14555 %t14556 = add i32 %t14542, 1 store i32 %t14556, ptr %t14539 %t14557 = load ptr, ptr %t459 %t14558 = getelementptr inbounds %LSlice, ptr %t14557, i32 0, i32 1 %t14559 = getelementptr inbounds %LSlice, ptr %t14557, i32 0, i32 2 %t14560 = getelementptr inbounds %LSlice, ptr %t14557, i32 0, i32 0 %t14561 = load i32, ptr %t14558 %t14562 = load i32, ptr %t14559 %t14563 = icmp sge i32 %t14561, %t14562 br i1 %t14563, label %grow2967, label %put2968 grow2967: %t14564 = mul i32 %t14562, 2 %t14565 = icmp eq i32 %t14562, 0 %t14566 = select i1 %t14565, i32 8, i32 %t14564 %t14567 = getelementptr ptr, ptr null, i32 1 %t14568 = ptrtoint ptr %t14567 to i64 %t14569 = zext i32 %t14566 to i64 %t14570 = mul i64 %t14569, %t14568 %t14571 = load ptr, ptr %t14560 %t14572 = call ptr @realloc(ptr %t14571, i64 %t14570) store ptr %t14572, ptr %t14560 store i32 %t14566, ptr %t14559 br label %put2968 put2968: %t14573 = load ptr, ptr %t14560 %t14574 = getelementptr inbounds ptr, ptr %t14573, i32 %t14561 store ptr @.str9586, ptr %t14574 %t14575 = add i32 %t14561, 1 store i32 %t14575, ptr %t14558 %t14576 = load ptr, ptr %t459 %t14577 = getelementptr inbounds %LSlice, ptr %t14576, i32 0, i32 1 %t14578 = getelementptr inbounds %LSlice, ptr %t14576, i32 0, i32 2 %t14579 = getelementptr inbounds %LSlice, ptr %t14576, i32 0, i32 0 %t14580 = load i32, ptr %t14577 %t14581 = load i32, ptr %t14578 %t14582 = icmp sge i32 %t14580, %t14581 br i1 %t14582, label %grow2969, label %put2970 grow2969: %t14583 = mul i32 %t14581, 2 %t14584 = icmp eq i32 %t14581, 0 %t14585 = select i1 %t14584, i32 8, i32 %t14583 %t14586 = getelementptr ptr, ptr null, i32 1 %t14587 = ptrtoint ptr %t14586 to i64 %t14588 = zext i32 %t14585 to i64 %t14589 = mul i64 %t14588, %t14587 %t14590 = load ptr, ptr %t14579 %t14591 = call ptr @realloc(ptr %t14590, i64 %t14589) store ptr %t14591, ptr %t14579 store i32 %t14585, ptr %t14578 br label %put2970 put2970: %t14592 = load ptr, ptr %t14579 %t14593 = getelementptr inbounds ptr, ptr %t14592, i32 %t14580 store ptr @.str9587, ptr %t14593 %t14594 = add i32 %t14580, 1 store i32 %t14594, ptr %t14577 %t14595 = load ptr, ptr %t459 %t14596 = getelementptr inbounds %LSlice, ptr %t14595, i32 0, i32 1 %t14597 = getelementptr inbounds %LSlice, ptr %t14595, i32 0, i32 2 %t14598 = getelementptr inbounds %LSlice, ptr %t14595, i32 0, i32 0 %t14599 = load i32, ptr %t14596 %t14600 = load i32, ptr %t14597 %t14601 = icmp sge i32 %t14599, %t14600 br i1 %t14601, label %grow2971, label %put2972 grow2971: %t14602 = mul i32 %t14600, 2 %t14603 = icmp eq i32 %t14600, 0 %t14604 = select i1 %t14603, i32 8, i32 %t14602 %t14605 = getelementptr ptr, ptr null, i32 1 %t14606 = ptrtoint ptr %t14605 to i64 %t14607 = zext i32 %t14604 to i64 %t14608 = mul i64 %t14607, %t14606 %t14609 = load ptr, ptr %t14598 %t14610 = call ptr @realloc(ptr %t14609, i64 %t14608) store ptr %t14610, ptr %t14598 store i32 %t14604, ptr %t14597 br label %put2972 put2972: %t14611 = load ptr, ptr %t14598 %t14612 = getelementptr inbounds ptr, ptr %t14611, i32 %t14599 store ptr @.str9588, ptr %t14612 %t14613 = add i32 %t14599, 1 store i32 %t14613, ptr %t14596 br label %ifend2964 ifend2964: %t14614 = load ptr, ptr %t1 %t14615 = call i32 @lp_str_eq(ptr %t14614, ptr @.str9589) %t14616 = icmp ne i32 %t14615, 0 br i1 %t14616, label %then2973, label %ifend2975 then2973: store ptr @.str9590, ptr %t452 %t14617 = load ptr, ptr %t459 %t14618 = getelementptr inbounds %LSlice, ptr %t14617, i32 0, i32 1 %t14619 = getelementptr inbounds %LSlice, ptr %t14617, i32 0, i32 2 %t14620 = getelementptr inbounds %LSlice, ptr %t14617, i32 0, i32 0 %t14621 = load i32, ptr %t14618 %t14622 = load i32, ptr %t14619 %t14623 = icmp sge i32 %t14621, %t14622 br i1 %t14623, label %grow2976, label %put2977 grow2976: %t14624 = mul i32 %t14622, 2 %t14625 = icmp eq i32 %t14622, 0 %t14626 = select i1 %t14625, i32 8, i32 %t14624 %t14627 = getelementptr ptr, ptr null, i32 1 %t14628 = ptrtoint ptr %t14627 to i64 %t14629 = zext i32 %t14626 to i64 %t14630 = mul i64 %t14629, %t14628 %t14631 = load ptr, ptr %t14620 %t14632 = call ptr @realloc(ptr %t14631, i64 %t14630) store ptr %t14632, ptr %t14620 store i32 %t14626, ptr %t14619 br label %put2977 put2977: %t14633 = load ptr, ptr %t14620 %t14634 = getelementptr inbounds ptr, ptr %t14633, i32 %t14621 store ptr @.str9591, ptr %t14634 %t14635 = add i32 %t14621, 1 store i32 %t14635, ptr %t14618 %t14636 = load ptr, ptr %t459 %t14637 = getelementptr inbounds %LSlice, ptr %t14636, i32 0, i32 1 %t14638 = getelementptr inbounds %LSlice, ptr %t14636, i32 0, i32 2 %t14639 = getelementptr inbounds %LSlice, ptr %t14636, i32 0, i32 0 %t14640 = load i32, ptr %t14637 %t14641 = load i32, ptr %t14638 %t14642 = icmp sge i32 %t14640, %t14641 br i1 %t14642, label %grow2978, label %put2979 grow2978: %t14643 = mul i32 %t14641, 2 %t14644 = icmp eq i32 %t14641, 0 %t14645 = select i1 %t14644, i32 8, i32 %t14643 %t14646 = getelementptr ptr, ptr null, i32 1 %t14647 = ptrtoint ptr %t14646 to i64 %t14648 = zext i32 %t14645 to i64 %t14649 = mul i64 %t14648, %t14647 %t14650 = load ptr, ptr %t14639 %t14651 = call ptr @realloc(ptr %t14650, i64 %t14649) store ptr %t14651, ptr %t14639 store i32 %t14645, ptr %t14638 br label %put2979 put2979: %t14652 = load ptr, ptr %t14639 %t14653 = getelementptr inbounds ptr, ptr %t14652, i32 %t14640 store ptr @.str9592, ptr %t14653 %t14654 = add i32 %t14640, 1 store i32 %t14654, ptr %t14637 %t14655 = load ptr, ptr %t459 %t14656 = getelementptr inbounds %LSlice, ptr %t14655, i32 0, i32 1 %t14657 = getelementptr inbounds %LSlice, ptr %t14655, i32 0, i32 2 %t14658 = getelementptr inbounds %LSlice, ptr %t14655, i32 0, i32 0 %t14659 = load i32, ptr %t14656 %t14660 = load i32, ptr %t14657 %t14661 = icmp sge i32 %t14659, %t14660 br i1 %t14661, label %grow2980, label %put2981 grow2980: %t14662 = mul i32 %t14660, 2 %t14663 = icmp eq i32 %t14660, 0 %t14664 = select i1 %t14663, i32 8, i32 %t14662 %t14665 = getelementptr ptr, ptr null, i32 1 %t14666 = ptrtoint ptr %t14665 to i64 %t14667 = zext i32 %t14664 to i64 %t14668 = mul i64 %t14667, %t14666 %t14669 = load ptr, ptr %t14658 %t14670 = call ptr @realloc(ptr %t14669, i64 %t14668) store ptr %t14670, ptr %t14658 store i32 %t14664, ptr %t14657 br label %put2981 put2981: %t14671 = load ptr, ptr %t14658 %t14672 = getelementptr inbounds ptr, ptr %t14671, i32 %t14659 store ptr @.str9593, ptr %t14672 %t14673 = add i32 %t14659, 1 store i32 %t14673, ptr %t14656 br label %ifend2975 ifend2975: %t14674 = load ptr, ptr %t1 %t14675 = call i32 @lp_str_eq(ptr %t14674, ptr @.str9594) %t14676 = icmp ne i32 %t14675, 0 br i1 %t14676, label %then2982, label %ifend2984 then2982: store ptr @.str9595, ptr %t452 %t14677 = load ptr, ptr %t459 %t14678 = getelementptr inbounds %LSlice, ptr %t14677, i32 0, i32 1 %t14679 = getelementptr inbounds %LSlice, ptr %t14677, i32 0, i32 2 %t14680 = getelementptr inbounds %LSlice, ptr %t14677, i32 0, i32 0 %t14681 = load i32, ptr %t14678 %t14682 = load i32, ptr %t14679 %t14683 = icmp sge i32 %t14681, %t14682 br i1 %t14683, label %grow2985, label %put2986 grow2985: %t14684 = mul i32 %t14682, 2 %t14685 = icmp eq i32 %t14682, 0 %t14686 = select i1 %t14685, i32 8, i32 %t14684 %t14687 = getelementptr ptr, ptr null, i32 1 %t14688 = ptrtoint ptr %t14687 to i64 %t14689 = zext i32 %t14686 to i64 %t14690 = mul i64 %t14689, %t14688 %t14691 = load ptr, ptr %t14680 %t14692 = call ptr @realloc(ptr %t14691, i64 %t14690) store ptr %t14692, ptr %t14680 store i32 %t14686, ptr %t14679 br label %put2986 put2986: %t14693 = load ptr, ptr %t14680 %t14694 = getelementptr inbounds ptr, ptr %t14693, i32 %t14681 store ptr @.str9596, ptr %t14694 %t14695 = add i32 %t14681, 1 store i32 %t14695, ptr %t14678 %t14696 = load ptr, ptr %t459 %t14697 = getelementptr inbounds %LSlice, ptr %t14696, i32 0, i32 1 %t14698 = getelementptr inbounds %LSlice, ptr %t14696, i32 0, i32 2 %t14699 = getelementptr inbounds %LSlice, ptr %t14696, i32 0, i32 0 %t14700 = load i32, ptr %t14697 %t14701 = load i32, ptr %t14698 %t14702 = icmp sge i32 %t14700, %t14701 br i1 %t14702, label %grow2987, label %put2988 grow2987: %t14703 = mul i32 %t14701, 2 %t14704 = icmp eq i32 %t14701, 0 %t14705 = select i1 %t14704, i32 8, i32 %t14703 %t14706 = getelementptr ptr, ptr null, i32 1 %t14707 = ptrtoint ptr %t14706 to i64 %t14708 = zext i32 %t14705 to i64 %t14709 = mul i64 %t14708, %t14707 %t14710 = load ptr, ptr %t14699 %t14711 = call ptr @realloc(ptr %t14710, i64 %t14709) store ptr %t14711, ptr %t14699 store i32 %t14705, ptr %t14698 br label %put2988 put2988: %t14712 = load ptr, ptr %t14699 %t14713 = getelementptr inbounds ptr, ptr %t14712, i32 %t14700 store ptr @.str9597, ptr %t14713 %t14714 = add i32 %t14700, 1 store i32 %t14714, ptr %t14697 br label %ifend2984 ifend2984: %t14715 = load ptr, ptr %t1 %t14716 = call i32 @lp_str_eq(ptr %t14715, ptr @.str9598) %t14717 = icmp ne i32 %t14716, 0 br i1 %t14717, label %then2989, label %ifend2991 then2989: store ptr @.str9599, ptr %t452 %t14718 = load ptr, ptr %t459 %t14719 = getelementptr inbounds %LSlice, ptr %t14718, i32 0, i32 1 %t14720 = getelementptr inbounds %LSlice, ptr %t14718, i32 0, i32 2 %t14721 = getelementptr inbounds %LSlice, ptr %t14718, i32 0, i32 0 %t14722 = load i32, ptr %t14719 %t14723 = load i32, ptr %t14720 %t14724 = icmp sge i32 %t14722, %t14723 br i1 %t14724, label %grow2992, label %put2993 grow2992: %t14725 = mul i32 %t14723, 2 %t14726 = icmp eq i32 %t14723, 0 %t14727 = select i1 %t14726, i32 8, i32 %t14725 %t14728 = getelementptr ptr, ptr null, i32 1 %t14729 = ptrtoint ptr %t14728 to i64 %t14730 = zext i32 %t14727 to i64 %t14731 = mul i64 %t14730, %t14729 %t14732 = load ptr, ptr %t14721 %t14733 = call ptr @realloc(ptr %t14732, i64 %t14731) store ptr %t14733, ptr %t14721 store i32 %t14727, ptr %t14720 br label %put2993 put2993: %t14734 = load ptr, ptr %t14721 %t14735 = getelementptr inbounds ptr, ptr %t14734, i32 %t14722 store ptr @.str9600, ptr %t14735 %t14736 = add i32 %t14722, 1 store i32 %t14736, ptr %t14719 %t14737 = load ptr, ptr %t459 %t14738 = getelementptr inbounds %LSlice, ptr %t14737, i32 0, i32 1 %t14739 = getelementptr inbounds %LSlice, ptr %t14737, i32 0, i32 2 %t14740 = getelementptr inbounds %LSlice, ptr %t14737, i32 0, i32 0 %t14741 = load i32, ptr %t14738 %t14742 = load i32, ptr %t14739 %t14743 = icmp sge i32 %t14741, %t14742 br i1 %t14743, label %grow2994, label %put2995 grow2994: %t14744 = mul i32 %t14742, 2 %t14745 = icmp eq i32 %t14742, 0 %t14746 = select i1 %t14745, i32 8, i32 %t14744 %t14747 = getelementptr ptr, ptr null, i32 1 %t14748 = ptrtoint ptr %t14747 to i64 %t14749 = zext i32 %t14746 to i64 %t14750 = mul i64 %t14749, %t14748 %t14751 = load ptr, ptr %t14740 %t14752 = call ptr @realloc(ptr %t14751, i64 %t14750) store ptr %t14752, ptr %t14740 store i32 %t14746, ptr %t14739 br label %put2995 put2995: %t14753 = load ptr, ptr %t14740 %t14754 = getelementptr inbounds ptr, ptr %t14753, i32 %t14741 store ptr @.str9601, ptr %t14754 %t14755 = add i32 %t14741, 1 store i32 %t14755, ptr %t14738 br label %ifend2991 ifend2991: %t14756 = load ptr, ptr %t1 %t14757 = call i32 @lp_str_eq(ptr %t14756, ptr @.str9602) %t14758 = icmp ne i32 %t14757, 0 br i1 %t14758, label %then2996, label %ifend2998 then2996: store ptr @.str9603, ptr %t452 %t14759 = load ptr, ptr %t459 %t14760 = getelementptr inbounds %LSlice, ptr %t14759, i32 0, i32 1 %t14761 = getelementptr inbounds %LSlice, ptr %t14759, i32 0, i32 2 %t14762 = getelementptr inbounds %LSlice, ptr %t14759, i32 0, i32 0 %t14763 = load i32, ptr %t14760 %t14764 = load i32, ptr %t14761 %t14765 = icmp sge i32 %t14763, %t14764 br i1 %t14765, label %grow2999, label %put3000 grow2999: %t14766 = mul i32 %t14764, 2 %t14767 = icmp eq i32 %t14764, 0 %t14768 = select i1 %t14767, i32 8, i32 %t14766 %t14769 = getelementptr ptr, ptr null, i32 1 %t14770 = ptrtoint ptr %t14769 to i64 %t14771 = zext i32 %t14768 to i64 %t14772 = mul i64 %t14771, %t14770 %t14773 = load ptr, ptr %t14762 %t14774 = call ptr @realloc(ptr %t14773, i64 %t14772) store ptr %t14774, ptr %t14762 store i32 %t14768, ptr %t14761 br label %put3000 put3000: %t14775 = load ptr, ptr %t14762 %t14776 = getelementptr inbounds ptr, ptr %t14775, i32 %t14763 store ptr @.str9604, ptr %t14776 %t14777 = add i32 %t14763, 1 store i32 %t14777, ptr %t14760 %t14778 = load ptr, ptr %t459 %t14779 = getelementptr inbounds %LSlice, ptr %t14778, i32 0, i32 1 %t14780 = getelementptr inbounds %LSlice, ptr %t14778, i32 0, i32 2 %t14781 = getelementptr inbounds %LSlice, ptr %t14778, i32 0, i32 0 %t14782 = load i32, ptr %t14779 %t14783 = load i32, ptr %t14780 %t14784 = icmp sge i32 %t14782, %t14783 br i1 %t14784, label %grow3001, label %put3002 grow3001: %t14785 = mul i32 %t14783, 2 %t14786 = icmp eq i32 %t14783, 0 %t14787 = select i1 %t14786, i32 8, i32 %t14785 %t14788 = getelementptr ptr, ptr null, i32 1 %t14789 = ptrtoint ptr %t14788 to i64 %t14790 = zext i32 %t14787 to i64 %t14791 = mul i64 %t14790, %t14789 %t14792 = load ptr, ptr %t14781 %t14793 = call ptr @realloc(ptr %t14792, i64 %t14791) store ptr %t14793, ptr %t14781 store i32 %t14787, ptr %t14780 br label %put3002 put3002: %t14794 = load ptr, ptr %t14781 %t14795 = getelementptr inbounds ptr, ptr %t14794, i32 %t14782 store ptr @.str9605, ptr %t14795 %t14796 = add i32 %t14782, 1 store i32 %t14796, ptr %t14779 br label %ifend2998 ifend2998: %t14797 = load ptr, ptr %t1 %t14798 = call i32 @lp_str_eq(ptr %t14797, ptr @.str9606) %t14799 = icmp ne i32 %t14798, 0 br i1 %t14799, label %then3003, label %ifend3005 then3003: store ptr @.str9607, ptr %t452 %t14800 = load ptr, ptr %t459 %t14801 = getelementptr inbounds %LSlice, ptr %t14800, i32 0, i32 1 %t14802 = getelementptr inbounds %LSlice, ptr %t14800, i32 0, i32 2 %t14803 = getelementptr inbounds %LSlice, ptr %t14800, i32 0, i32 0 %t14804 = load i32, ptr %t14801 %t14805 = load i32, ptr %t14802 %t14806 = icmp sge i32 %t14804, %t14805 br i1 %t14806, label %grow3006, label %put3007 grow3006: %t14807 = mul i32 %t14805, 2 %t14808 = icmp eq i32 %t14805, 0 %t14809 = select i1 %t14808, i32 8, i32 %t14807 %t14810 = getelementptr ptr, ptr null, i32 1 %t14811 = ptrtoint ptr %t14810 to i64 %t14812 = zext i32 %t14809 to i64 %t14813 = mul i64 %t14812, %t14811 %t14814 = load ptr, ptr %t14803 %t14815 = call ptr @realloc(ptr %t14814, i64 %t14813) store ptr %t14815, ptr %t14803 store i32 %t14809, ptr %t14802 br label %put3007 put3007: %t14816 = load ptr, ptr %t14803 %t14817 = getelementptr inbounds ptr, ptr %t14816, i32 %t14804 store ptr @.str9608, ptr %t14817 %t14818 = add i32 %t14804, 1 store i32 %t14818, ptr %t14801 %t14819 = load ptr, ptr %t459 %t14820 = getelementptr inbounds %LSlice, ptr %t14819, i32 0, i32 1 %t14821 = getelementptr inbounds %LSlice, ptr %t14819, i32 0, i32 2 %t14822 = getelementptr inbounds %LSlice, ptr %t14819, i32 0, i32 0 %t14823 = load i32, ptr %t14820 %t14824 = load i32, ptr %t14821 %t14825 = icmp sge i32 %t14823, %t14824 br i1 %t14825, label %grow3008, label %put3009 grow3008: %t14826 = mul i32 %t14824, 2 %t14827 = icmp eq i32 %t14824, 0 %t14828 = select i1 %t14827, i32 8, i32 %t14826 %t14829 = getelementptr ptr, ptr null, i32 1 %t14830 = ptrtoint ptr %t14829 to i64 %t14831 = zext i32 %t14828 to i64 %t14832 = mul i64 %t14831, %t14830 %t14833 = load ptr, ptr %t14822 %t14834 = call ptr @realloc(ptr %t14833, i64 %t14832) store ptr %t14834, ptr %t14822 store i32 %t14828, ptr %t14821 br label %put3009 put3009: %t14835 = load ptr, ptr %t14822 %t14836 = getelementptr inbounds ptr, ptr %t14835, i32 %t14823 store ptr @.str9609, ptr %t14836 %t14837 = add i32 %t14823, 1 store i32 %t14837, ptr %t14820 br label %ifend3005 ifend3005: %t14838 = load ptr, ptr %t1 %t14839 = call i32 @lp_str_eq(ptr %t14838, ptr @.str9610) %t14840 = icmp ne i32 %t14839, 0 br i1 %t14840, label %then3010, label %ifend3012 then3010: store ptr @.str9611, ptr %t452 %t14841 = load ptr, ptr %t459 %t14842 = getelementptr inbounds %LSlice, ptr %t14841, i32 0, i32 1 %t14843 = getelementptr inbounds %LSlice, ptr %t14841, i32 0, i32 2 %t14844 = getelementptr inbounds %LSlice, ptr %t14841, i32 0, i32 0 %t14845 = load i32, ptr %t14842 %t14846 = load i32, ptr %t14843 %t14847 = icmp sge i32 %t14845, %t14846 br i1 %t14847, label %grow3013, label %put3014 grow3013: %t14848 = mul i32 %t14846, 2 %t14849 = icmp eq i32 %t14846, 0 %t14850 = select i1 %t14849, i32 8, i32 %t14848 %t14851 = getelementptr ptr, ptr null, i32 1 %t14852 = ptrtoint ptr %t14851 to i64 %t14853 = zext i32 %t14850 to i64 %t14854 = mul i64 %t14853, %t14852 %t14855 = load ptr, ptr %t14844 %t14856 = call ptr @realloc(ptr %t14855, i64 %t14854) store ptr %t14856, ptr %t14844 store i32 %t14850, ptr %t14843 br label %put3014 put3014: %t14857 = load ptr, ptr %t14844 %t14858 = getelementptr inbounds ptr, ptr %t14857, i32 %t14845 store ptr @.str9612, ptr %t14858 %t14859 = add i32 %t14845, 1 store i32 %t14859, ptr %t14842 br label %ifend3012 ifend3012: %t14860 = load ptr, ptr %t1 %t14861 = call i32 @lp_str_eq(ptr %t14860, ptr @.str9613) %t14862 = icmp ne i32 %t14861, 0 br i1 %t14862, label %then3015, label %ifend3017 then3015: store ptr @.str9614, ptr %t452 %t14863 = load ptr, ptr %t459 %t14864 = getelementptr inbounds %LSlice, ptr %t14863, i32 0, i32 1 %t14865 = getelementptr inbounds %LSlice, ptr %t14863, i32 0, i32 2 %t14866 = getelementptr inbounds %LSlice, ptr %t14863, i32 0, i32 0 %t14867 = load i32, ptr %t14864 %t14868 = load i32, ptr %t14865 %t14869 = icmp sge i32 %t14867, %t14868 br i1 %t14869, label %grow3018, label %put3019 grow3018: %t14870 = mul i32 %t14868, 2 %t14871 = icmp eq i32 %t14868, 0 %t14872 = select i1 %t14871, i32 8, i32 %t14870 %t14873 = getelementptr ptr, ptr null, i32 1 %t14874 = ptrtoint ptr %t14873 to i64 %t14875 = zext i32 %t14872 to i64 %t14876 = mul i64 %t14875, %t14874 %t14877 = load ptr, ptr %t14866 %t14878 = call ptr @realloc(ptr %t14877, i64 %t14876) store ptr %t14878, ptr %t14866 store i32 %t14872, ptr %t14865 br label %put3019 put3019: %t14879 = load ptr, ptr %t14866 %t14880 = getelementptr inbounds ptr, ptr %t14879, i32 %t14867 store ptr @.str9615, ptr %t14880 %t14881 = add i32 %t14867, 1 store i32 %t14881, ptr %t14864 %t14882 = load ptr, ptr %t459 %t14883 = getelementptr inbounds %LSlice, ptr %t14882, i32 0, i32 1 %t14884 = getelementptr inbounds %LSlice, ptr %t14882, i32 0, i32 2 %t14885 = getelementptr inbounds %LSlice, ptr %t14882, i32 0, i32 0 %t14886 = load i32, ptr %t14883 %t14887 = load i32, ptr %t14884 %t14888 = icmp sge i32 %t14886, %t14887 br i1 %t14888, label %grow3020, label %put3021 grow3020: %t14889 = mul i32 %t14887, 2 %t14890 = icmp eq i32 %t14887, 0 %t14891 = select i1 %t14890, i32 8, i32 %t14889 %t14892 = getelementptr ptr, ptr null, i32 1 %t14893 = ptrtoint ptr %t14892 to i64 %t14894 = zext i32 %t14891 to i64 %t14895 = mul i64 %t14894, %t14893 %t14896 = load ptr, ptr %t14885 %t14897 = call ptr @realloc(ptr %t14896, i64 %t14895) store ptr %t14897, ptr %t14885 store i32 %t14891, ptr %t14884 br label %put3021 put3021: %t14898 = load ptr, ptr %t14885 %t14899 = getelementptr inbounds ptr, ptr %t14898, i32 %t14886 store ptr @.str9616, ptr %t14899 %t14900 = add i32 %t14886, 1 store i32 %t14900, ptr %t14883 %t14901 = load ptr, ptr %t459 %t14902 = getelementptr inbounds %LSlice, ptr %t14901, i32 0, i32 1 %t14903 = getelementptr inbounds %LSlice, ptr %t14901, i32 0, i32 2 %t14904 = getelementptr inbounds %LSlice, ptr %t14901, i32 0, i32 0 %t14905 = load i32, ptr %t14902 %t14906 = load i32, ptr %t14903 %t14907 = icmp sge i32 %t14905, %t14906 br i1 %t14907, label %grow3022, label %put3023 grow3022: %t14908 = mul i32 %t14906, 2 %t14909 = icmp eq i32 %t14906, 0 %t14910 = select i1 %t14909, i32 8, i32 %t14908 %t14911 = getelementptr ptr, ptr null, i32 1 %t14912 = ptrtoint ptr %t14911 to i64 %t14913 = zext i32 %t14910 to i64 %t14914 = mul i64 %t14913, %t14912 %t14915 = load ptr, ptr %t14904 %t14916 = call ptr @realloc(ptr %t14915, i64 %t14914) store ptr %t14916, ptr %t14904 store i32 %t14910, ptr %t14903 br label %put3023 put3023: %t14917 = load ptr, ptr %t14904 %t14918 = getelementptr inbounds ptr, ptr %t14917, i32 %t14905 store ptr @.str9617, ptr %t14918 %t14919 = add i32 %t14905, 1 store i32 %t14919, ptr %t14902 br label %ifend3017 ifend3017: %t14920 = load ptr, ptr %t1 %t14921 = call i32 @lp_str_eq(ptr %t14920, ptr @.str9618) %t14922 = icmp ne i32 %t14921, 0 br i1 %t14922, label %then3024, label %ifend3026 then3024: store ptr @.str9619, ptr %t452 %t14923 = load ptr, ptr %t459 %t14924 = getelementptr inbounds %LSlice, ptr %t14923, i32 0, i32 1 %t14925 = getelementptr inbounds %LSlice, ptr %t14923, i32 0, i32 2 %t14926 = getelementptr inbounds %LSlice, ptr %t14923, i32 0, i32 0 %t14927 = load i32, ptr %t14924 %t14928 = load i32, ptr %t14925 %t14929 = icmp sge i32 %t14927, %t14928 br i1 %t14929, label %grow3027, label %put3028 grow3027: %t14930 = mul i32 %t14928, 2 %t14931 = icmp eq i32 %t14928, 0 %t14932 = select i1 %t14931, i32 8, i32 %t14930 %t14933 = getelementptr ptr, ptr null, i32 1 %t14934 = ptrtoint ptr %t14933 to i64 %t14935 = zext i32 %t14932 to i64 %t14936 = mul i64 %t14935, %t14934 %t14937 = load ptr, ptr %t14926 %t14938 = call ptr @realloc(ptr %t14937, i64 %t14936) store ptr %t14938, ptr %t14926 store i32 %t14932, ptr %t14925 br label %put3028 put3028: %t14939 = load ptr, ptr %t14926 %t14940 = getelementptr inbounds ptr, ptr %t14939, i32 %t14927 store ptr @.str9620, ptr %t14940 %t14941 = add i32 %t14927, 1 store i32 %t14941, ptr %t14924 %t14942 = load ptr, ptr %t459 %t14943 = getelementptr inbounds %LSlice, ptr %t14942, i32 0, i32 1 %t14944 = getelementptr inbounds %LSlice, ptr %t14942, i32 0, i32 2 %t14945 = getelementptr inbounds %LSlice, ptr %t14942, i32 0, i32 0 %t14946 = load i32, ptr %t14943 %t14947 = load i32, ptr %t14944 %t14948 = icmp sge i32 %t14946, %t14947 br i1 %t14948, label %grow3029, label %put3030 grow3029: %t14949 = mul i32 %t14947, 2 %t14950 = icmp eq i32 %t14947, 0 %t14951 = select i1 %t14950, i32 8, i32 %t14949 %t14952 = getelementptr ptr, ptr null, i32 1 %t14953 = ptrtoint ptr %t14952 to i64 %t14954 = zext i32 %t14951 to i64 %t14955 = mul i64 %t14954, %t14953 %t14956 = load ptr, ptr %t14945 %t14957 = call ptr @realloc(ptr %t14956, i64 %t14955) store ptr %t14957, ptr %t14945 store i32 %t14951, ptr %t14944 br label %put3030 put3030: %t14958 = load ptr, ptr %t14945 %t14959 = getelementptr inbounds ptr, ptr %t14958, i32 %t14946 store ptr @.str9621, ptr %t14959 %t14960 = add i32 %t14946, 1 store i32 %t14960, ptr %t14943 br label %ifend3026 ifend3026: %t14961 = load ptr, ptr %t1 %t14962 = call i32 @lp_str_eq(ptr %t14961, ptr @.str9622) %t14963 = icmp ne i32 %t14962, 0 br i1 %t14963, label %then3031, label %ifend3033 then3031: store ptr @.str9623, ptr %t452 %t14964 = load ptr, ptr %t459 %t14965 = getelementptr inbounds %LSlice, ptr %t14964, i32 0, i32 1 %t14966 = getelementptr inbounds %LSlice, ptr %t14964, i32 0, i32 2 %t14967 = getelementptr inbounds %LSlice, ptr %t14964, i32 0, i32 0 %t14968 = load i32, ptr %t14965 %t14969 = load i32, ptr %t14966 %t14970 = icmp sge i32 %t14968, %t14969 br i1 %t14970, label %grow3034, label %put3035 grow3034: %t14971 = mul i32 %t14969, 2 %t14972 = icmp eq i32 %t14969, 0 %t14973 = select i1 %t14972, i32 8, i32 %t14971 %t14974 = getelementptr ptr, ptr null, i32 1 %t14975 = ptrtoint ptr %t14974 to i64 %t14976 = zext i32 %t14973 to i64 %t14977 = mul i64 %t14976, %t14975 %t14978 = load ptr, ptr %t14967 %t14979 = call ptr @realloc(ptr %t14978, i64 %t14977) store ptr %t14979, ptr %t14967 store i32 %t14973, ptr %t14966 br label %put3035 put3035: %t14980 = load ptr, ptr %t14967 %t14981 = getelementptr inbounds ptr, ptr %t14980, i32 %t14968 store ptr @.str9624, ptr %t14981 %t14982 = add i32 %t14968, 1 store i32 %t14982, ptr %t14965 %t14983 = load ptr, ptr %t459 %t14984 = getelementptr inbounds %LSlice, ptr %t14983, i32 0, i32 1 %t14985 = getelementptr inbounds %LSlice, ptr %t14983, i32 0, i32 2 %t14986 = getelementptr inbounds %LSlice, ptr %t14983, i32 0, i32 0 %t14987 = load i32, ptr %t14984 %t14988 = load i32, ptr %t14985 %t14989 = icmp sge i32 %t14987, %t14988 br i1 %t14989, label %grow3036, label %put3037 grow3036: %t14990 = mul i32 %t14988, 2 %t14991 = icmp eq i32 %t14988, 0 %t14992 = select i1 %t14991, i32 8, i32 %t14990 %t14993 = getelementptr ptr, ptr null, i32 1 %t14994 = ptrtoint ptr %t14993 to i64 %t14995 = zext i32 %t14992 to i64 %t14996 = mul i64 %t14995, %t14994 %t14997 = load ptr, ptr %t14986 %t14998 = call ptr @realloc(ptr %t14997, i64 %t14996) store ptr %t14998, ptr %t14986 store i32 %t14992, ptr %t14985 br label %put3037 put3037: %t14999 = load ptr, ptr %t14986 %t15000 = getelementptr inbounds ptr, ptr %t14999, i32 %t14987 store ptr @.str9625, ptr %t15000 %t15001 = add i32 %t14987, 1 store i32 %t15001, ptr %t14984 br label %ifend3033 ifend3033: %t15002 = load ptr, ptr %t1 %t15003 = call i32 @lp_str_eq(ptr %t15002, ptr @.str9626) %t15004 = icmp ne i32 %t15003, 0 br i1 %t15004, label %then3038, label %ifend3040 then3038: store ptr @.str9627, ptr %t452 %t15005 = load ptr, ptr %t459 %t15006 = getelementptr inbounds %LSlice, ptr %t15005, i32 0, i32 1 %t15007 = getelementptr inbounds %LSlice, ptr %t15005, i32 0, i32 2 %t15008 = getelementptr inbounds %LSlice, ptr %t15005, i32 0, i32 0 %t15009 = load i32, ptr %t15006 %t15010 = load i32, ptr %t15007 %t15011 = icmp sge i32 %t15009, %t15010 br i1 %t15011, label %grow3041, label %put3042 grow3041: %t15012 = mul i32 %t15010, 2 %t15013 = icmp eq i32 %t15010, 0 %t15014 = select i1 %t15013, i32 8, i32 %t15012 %t15015 = getelementptr ptr, ptr null, i32 1 %t15016 = ptrtoint ptr %t15015 to i64 %t15017 = zext i32 %t15014 to i64 %t15018 = mul i64 %t15017, %t15016 %t15019 = load ptr, ptr %t15008 %t15020 = call ptr @realloc(ptr %t15019, i64 %t15018) store ptr %t15020, ptr %t15008 store i32 %t15014, ptr %t15007 br label %put3042 put3042: %t15021 = load ptr, ptr %t15008 %t15022 = getelementptr inbounds ptr, ptr %t15021, i32 %t15009 store ptr @.str9628, ptr %t15022 %t15023 = add i32 %t15009, 1 store i32 %t15023, ptr %t15006 %t15024 = load ptr, ptr %t459 %t15025 = getelementptr inbounds %LSlice, ptr %t15024, i32 0, i32 1 %t15026 = getelementptr inbounds %LSlice, ptr %t15024, i32 0, i32 2 %t15027 = getelementptr inbounds %LSlice, ptr %t15024, i32 0, i32 0 %t15028 = load i32, ptr %t15025 %t15029 = load i32, ptr %t15026 %t15030 = icmp sge i32 %t15028, %t15029 br i1 %t15030, label %grow3043, label %put3044 grow3043: %t15031 = mul i32 %t15029, 2 %t15032 = icmp eq i32 %t15029, 0 %t15033 = select i1 %t15032, i32 8, i32 %t15031 %t15034 = getelementptr ptr, ptr null, i32 1 %t15035 = ptrtoint ptr %t15034 to i64 %t15036 = zext i32 %t15033 to i64 %t15037 = mul i64 %t15036, %t15035 %t15038 = load ptr, ptr %t15027 %t15039 = call ptr @realloc(ptr %t15038, i64 %t15037) store ptr %t15039, ptr %t15027 store i32 %t15033, ptr %t15026 br label %put3044 put3044: %t15040 = load ptr, ptr %t15027 %t15041 = getelementptr inbounds ptr, ptr %t15040, i32 %t15028 store ptr @.str9629, ptr %t15041 %t15042 = add i32 %t15028, 1 store i32 %t15042, ptr %t15025 %t15043 = load ptr, ptr %t459 %t15044 = getelementptr inbounds %LSlice, ptr %t15043, i32 0, i32 1 %t15045 = getelementptr inbounds %LSlice, ptr %t15043, i32 0, i32 2 %t15046 = getelementptr inbounds %LSlice, ptr %t15043, i32 0, i32 0 %t15047 = load i32, ptr %t15044 %t15048 = load i32, ptr %t15045 %t15049 = icmp sge i32 %t15047, %t15048 br i1 %t15049, label %grow3045, label %put3046 grow3045: %t15050 = mul i32 %t15048, 2 %t15051 = icmp eq i32 %t15048, 0 %t15052 = select i1 %t15051, i32 8, i32 %t15050 %t15053 = getelementptr ptr, ptr null, i32 1 %t15054 = ptrtoint ptr %t15053 to i64 %t15055 = zext i32 %t15052 to i64 %t15056 = mul i64 %t15055, %t15054 %t15057 = load ptr, ptr %t15046 %t15058 = call ptr @realloc(ptr %t15057, i64 %t15056) store ptr %t15058, ptr %t15046 store i32 %t15052, ptr %t15045 br label %put3046 put3046: %t15059 = load ptr, ptr %t15046 %t15060 = getelementptr inbounds ptr, ptr %t15059, i32 %t15047 store ptr @.str9630, ptr %t15060 %t15061 = add i32 %t15047, 1 store i32 %t15061, ptr %t15044 br label %ifend3040 ifend3040: %t15062 = load ptr, ptr %t1 %t15063 = call i32 @lp_str_eq(ptr %t15062, ptr @.str9631) %t15064 = icmp ne i32 %t15063, 0 br i1 %t15064, label %then3047, label %ifend3049 then3047: store ptr @.str9632, ptr %t452 %t15065 = load ptr, ptr %t459 %t15066 = getelementptr inbounds %LSlice, ptr %t15065, i32 0, i32 1 %t15067 = getelementptr inbounds %LSlice, ptr %t15065, i32 0, i32 2 %t15068 = getelementptr inbounds %LSlice, ptr %t15065, i32 0, i32 0 %t15069 = load i32, ptr %t15066 %t15070 = load i32, ptr %t15067 %t15071 = icmp sge i32 %t15069, %t15070 br i1 %t15071, label %grow3050, label %put3051 grow3050: %t15072 = mul i32 %t15070, 2 %t15073 = icmp eq i32 %t15070, 0 %t15074 = select i1 %t15073, i32 8, i32 %t15072 %t15075 = getelementptr ptr, ptr null, i32 1 %t15076 = ptrtoint ptr %t15075 to i64 %t15077 = zext i32 %t15074 to i64 %t15078 = mul i64 %t15077, %t15076 %t15079 = load ptr, ptr %t15068 %t15080 = call ptr @realloc(ptr %t15079, i64 %t15078) store ptr %t15080, ptr %t15068 store i32 %t15074, ptr %t15067 br label %put3051 put3051: %t15081 = load ptr, ptr %t15068 %t15082 = getelementptr inbounds ptr, ptr %t15081, i32 %t15069 store ptr @.str9633, ptr %t15082 %t15083 = add i32 %t15069, 1 store i32 %t15083, ptr %t15066 br label %ifend3049 ifend3049: %t15084 = load ptr, ptr %t1 %t15085 = call i32 @lp_str_eq(ptr %t15084, ptr @.str9634) %t15086 = icmp ne i32 %t15085, 0 br i1 %t15086, label %then3052, label %ifend3054 then3052: store ptr @.str9635, ptr %t452 %t15087 = load ptr, ptr %t459 %t15088 = getelementptr inbounds %LSlice, ptr %t15087, i32 0, i32 1 %t15089 = getelementptr inbounds %LSlice, ptr %t15087, i32 0, i32 2 %t15090 = getelementptr inbounds %LSlice, ptr %t15087, i32 0, i32 0 %t15091 = load i32, ptr %t15088 %t15092 = load i32, ptr %t15089 %t15093 = icmp sge i32 %t15091, %t15092 br i1 %t15093, label %grow3055, label %put3056 grow3055: %t15094 = mul i32 %t15092, 2 %t15095 = icmp eq i32 %t15092, 0 %t15096 = select i1 %t15095, i32 8, i32 %t15094 %t15097 = getelementptr ptr, ptr null, i32 1 %t15098 = ptrtoint ptr %t15097 to i64 %t15099 = zext i32 %t15096 to i64 %t15100 = mul i64 %t15099, %t15098 %t15101 = load ptr, ptr %t15090 %t15102 = call ptr @realloc(ptr %t15101, i64 %t15100) store ptr %t15102, ptr %t15090 store i32 %t15096, ptr %t15089 br label %put3056 put3056: %t15103 = load ptr, ptr %t15090 %t15104 = getelementptr inbounds ptr, ptr %t15103, i32 %t15091 store ptr @.str9636, ptr %t15104 %t15105 = add i32 %t15091, 1 store i32 %t15105, ptr %t15088 %t15106 = load ptr, ptr %t459 %t15107 = getelementptr inbounds %LSlice, ptr %t15106, i32 0, i32 1 %t15108 = getelementptr inbounds %LSlice, ptr %t15106, i32 0, i32 2 %t15109 = getelementptr inbounds %LSlice, ptr %t15106, i32 0, i32 0 %t15110 = load i32, ptr %t15107 %t15111 = load i32, ptr %t15108 %t15112 = icmp sge i32 %t15110, %t15111 br i1 %t15112, label %grow3057, label %put3058 grow3057: %t15113 = mul i32 %t15111, 2 %t15114 = icmp eq i32 %t15111, 0 %t15115 = select i1 %t15114, i32 8, i32 %t15113 %t15116 = getelementptr ptr, ptr null, i32 1 %t15117 = ptrtoint ptr %t15116 to i64 %t15118 = zext i32 %t15115 to i64 %t15119 = mul i64 %t15118, %t15117 %t15120 = load ptr, ptr %t15109 %t15121 = call ptr @realloc(ptr %t15120, i64 %t15119) store ptr %t15121, ptr %t15109 store i32 %t15115, ptr %t15108 br label %put3058 put3058: %t15122 = load ptr, ptr %t15109 %t15123 = getelementptr inbounds ptr, ptr %t15122, i32 %t15110 store ptr @.str9637, ptr %t15123 %t15124 = add i32 %t15110, 1 store i32 %t15124, ptr %t15107 br label %ifend3054 ifend3054: %t15125 = load ptr, ptr %t1 %t15126 = call i32 @lp_str_eq(ptr %t15125, ptr @.str9638) %t15127 = icmp ne i32 %t15126, 0 br i1 %t15127, label %then3059, label %ifend3061 then3059: store ptr @.str9639, ptr %t452 %t15128 = load ptr, ptr %t459 %t15129 = getelementptr inbounds %LSlice, ptr %t15128, i32 0, i32 1 %t15130 = getelementptr inbounds %LSlice, ptr %t15128, i32 0, i32 2 %t15131 = getelementptr inbounds %LSlice, ptr %t15128, i32 0, i32 0 %t15132 = load i32, ptr %t15129 %t15133 = load i32, ptr %t15130 %t15134 = icmp sge i32 %t15132, %t15133 br i1 %t15134, label %grow3062, label %put3063 grow3062: %t15135 = mul i32 %t15133, 2 %t15136 = icmp eq i32 %t15133, 0 %t15137 = select i1 %t15136, i32 8, i32 %t15135 %t15138 = getelementptr ptr, ptr null, i32 1 %t15139 = ptrtoint ptr %t15138 to i64 %t15140 = zext i32 %t15137 to i64 %t15141 = mul i64 %t15140, %t15139 %t15142 = load ptr, ptr %t15131 %t15143 = call ptr @realloc(ptr %t15142, i64 %t15141) store ptr %t15143, ptr %t15131 store i32 %t15137, ptr %t15130 br label %put3063 put3063: %t15144 = load ptr, ptr %t15131 %t15145 = getelementptr inbounds ptr, ptr %t15144, i32 %t15132 store ptr @.str9640, ptr %t15145 %t15146 = add i32 %t15132, 1 store i32 %t15146, ptr %t15129 %t15147 = load ptr, ptr %t459 %t15148 = getelementptr inbounds %LSlice, ptr %t15147, i32 0, i32 1 %t15149 = getelementptr inbounds %LSlice, ptr %t15147, i32 0, i32 2 %t15150 = getelementptr inbounds %LSlice, ptr %t15147, i32 0, i32 0 %t15151 = load i32, ptr %t15148 %t15152 = load i32, ptr %t15149 %t15153 = icmp sge i32 %t15151, %t15152 br i1 %t15153, label %grow3064, label %put3065 grow3064: %t15154 = mul i32 %t15152, 2 %t15155 = icmp eq i32 %t15152, 0 %t15156 = select i1 %t15155, i32 8, i32 %t15154 %t15157 = getelementptr ptr, ptr null, i32 1 %t15158 = ptrtoint ptr %t15157 to i64 %t15159 = zext i32 %t15156 to i64 %t15160 = mul i64 %t15159, %t15158 %t15161 = load ptr, ptr %t15150 %t15162 = call ptr @realloc(ptr %t15161, i64 %t15160) store ptr %t15162, ptr %t15150 store i32 %t15156, ptr %t15149 br label %put3065 put3065: %t15163 = load ptr, ptr %t15150 %t15164 = getelementptr inbounds ptr, ptr %t15163, i32 %t15151 store ptr @.str9641, ptr %t15164 %t15165 = add i32 %t15151, 1 store i32 %t15165, ptr %t15148 br label %ifend3061 ifend3061: %t15166 = load ptr, ptr %t1 %t15167 = call i32 @lp_str_eq(ptr %t15166, ptr @.str9642) %t15168 = icmp ne i32 %t15167, 0 br i1 %t15168, label %then3066, label %ifend3068 then3066: store ptr @.str9643, ptr %t452 %t15169 = load ptr, ptr %t459 %t15170 = getelementptr inbounds %LSlice, ptr %t15169, i32 0, i32 1 %t15171 = getelementptr inbounds %LSlice, ptr %t15169, i32 0, i32 2 %t15172 = getelementptr inbounds %LSlice, ptr %t15169, i32 0, i32 0 %t15173 = load i32, ptr %t15170 %t15174 = load i32, ptr %t15171 %t15175 = icmp sge i32 %t15173, %t15174 br i1 %t15175, label %grow3069, label %put3070 grow3069: %t15176 = mul i32 %t15174, 2 %t15177 = icmp eq i32 %t15174, 0 %t15178 = select i1 %t15177, i32 8, i32 %t15176 %t15179 = getelementptr ptr, ptr null, i32 1 %t15180 = ptrtoint ptr %t15179 to i64 %t15181 = zext i32 %t15178 to i64 %t15182 = mul i64 %t15181, %t15180 %t15183 = load ptr, ptr %t15172 %t15184 = call ptr @realloc(ptr %t15183, i64 %t15182) store ptr %t15184, ptr %t15172 store i32 %t15178, ptr %t15171 br label %put3070 put3070: %t15185 = load ptr, ptr %t15172 %t15186 = getelementptr inbounds ptr, ptr %t15185, i32 %t15173 store ptr @.str9644, ptr %t15186 %t15187 = add i32 %t15173, 1 store i32 %t15187, ptr %t15170 %t15188 = load ptr, ptr %t459 %t15189 = getelementptr inbounds %LSlice, ptr %t15188, i32 0, i32 1 %t15190 = getelementptr inbounds %LSlice, ptr %t15188, i32 0, i32 2 %t15191 = getelementptr inbounds %LSlice, ptr %t15188, i32 0, i32 0 %t15192 = load i32, ptr %t15189 %t15193 = load i32, ptr %t15190 %t15194 = icmp sge i32 %t15192, %t15193 br i1 %t15194, label %grow3071, label %put3072 grow3071: %t15195 = mul i32 %t15193, 2 %t15196 = icmp eq i32 %t15193, 0 %t15197 = select i1 %t15196, i32 8, i32 %t15195 %t15198 = getelementptr ptr, ptr null, i32 1 %t15199 = ptrtoint ptr %t15198 to i64 %t15200 = zext i32 %t15197 to i64 %t15201 = mul i64 %t15200, %t15199 %t15202 = load ptr, ptr %t15191 %t15203 = call ptr @realloc(ptr %t15202, i64 %t15201) store ptr %t15203, ptr %t15191 store i32 %t15197, ptr %t15190 br label %put3072 put3072: %t15204 = load ptr, ptr %t15191 %t15205 = getelementptr inbounds ptr, ptr %t15204, i32 %t15192 store ptr @.str9645, ptr %t15205 %t15206 = add i32 %t15192, 1 store i32 %t15206, ptr %t15189 br label %ifend3068 ifend3068: %t15207 = load ptr, ptr %t1 %t15208 = call i32 @lp_str_eq(ptr %t15207, ptr @.str9646) %t15209 = icmp ne i32 %t15208, 0 br i1 %t15209, label %then3073, label %ifend3075 then3073: store ptr @.str9647, ptr %t452 %t15210 = load ptr, ptr %t459 %t15211 = getelementptr inbounds %LSlice, ptr %t15210, i32 0, i32 1 %t15212 = getelementptr inbounds %LSlice, ptr %t15210, i32 0, i32 2 %t15213 = getelementptr inbounds %LSlice, ptr %t15210, i32 0, i32 0 %t15214 = load i32, ptr %t15211 %t15215 = load i32, ptr %t15212 %t15216 = icmp sge i32 %t15214, %t15215 br i1 %t15216, label %grow3076, label %put3077 grow3076: %t15217 = mul i32 %t15215, 2 %t15218 = icmp eq i32 %t15215, 0 %t15219 = select i1 %t15218, i32 8, i32 %t15217 %t15220 = getelementptr ptr, ptr null, i32 1 %t15221 = ptrtoint ptr %t15220 to i64 %t15222 = zext i32 %t15219 to i64 %t15223 = mul i64 %t15222, %t15221 %t15224 = load ptr, ptr %t15213 %t15225 = call ptr @realloc(ptr %t15224, i64 %t15223) store ptr %t15225, ptr %t15213 store i32 %t15219, ptr %t15212 br label %put3077 put3077: %t15226 = load ptr, ptr %t15213 %t15227 = getelementptr inbounds ptr, ptr %t15226, i32 %t15214 store ptr @.str9648, ptr %t15227 %t15228 = add i32 %t15214, 1 store i32 %t15228, ptr %t15211 br label %ifend3075 ifend3075: %t15229 = load ptr, ptr %t1 %t15230 = call i32 @lp_str_eq(ptr %t15229, ptr @.str9649) %t15231 = icmp ne i32 %t15230, 0 br i1 %t15231, label %then3078, label %ifend3080 then3078: store ptr @.str9650, ptr %t452 %t15232 = load ptr, ptr %t459 %t15233 = getelementptr inbounds %LSlice, ptr %t15232, i32 0, i32 1 %t15234 = getelementptr inbounds %LSlice, ptr %t15232, i32 0, i32 2 %t15235 = getelementptr inbounds %LSlice, ptr %t15232, i32 0, i32 0 %t15236 = load i32, ptr %t15233 %t15237 = load i32, ptr %t15234 %t15238 = icmp sge i32 %t15236, %t15237 br i1 %t15238, label %grow3081, label %put3082 grow3081: %t15239 = mul i32 %t15237, 2 %t15240 = icmp eq i32 %t15237, 0 %t15241 = select i1 %t15240, i32 8, i32 %t15239 %t15242 = getelementptr ptr, ptr null, i32 1 %t15243 = ptrtoint ptr %t15242 to i64 %t15244 = zext i32 %t15241 to i64 %t15245 = mul i64 %t15244, %t15243 %t15246 = load ptr, ptr %t15235 %t15247 = call ptr @realloc(ptr %t15246, i64 %t15245) store ptr %t15247, ptr %t15235 store i32 %t15241, ptr %t15234 br label %put3082 put3082: %t15248 = load ptr, ptr %t15235 %t15249 = getelementptr inbounds ptr, ptr %t15248, i32 %t15236 store ptr @.str9651, ptr %t15249 %t15250 = add i32 %t15236, 1 store i32 %t15250, ptr %t15233 br label %ifend3080 ifend3080: %t15251 = load ptr, ptr %t1 %t15252 = call i32 @lp_str_eq(ptr %t15251, ptr @.str9652) %t15253 = icmp ne i32 %t15252, 0 br i1 %t15253, label %then3083, label %ifend3085 then3083: store ptr @.str9653, ptr %t452 %t15254 = load ptr, ptr %t459 %t15255 = getelementptr inbounds %LSlice, ptr %t15254, i32 0, i32 1 %t15256 = getelementptr inbounds %LSlice, ptr %t15254, i32 0, i32 2 %t15257 = getelementptr inbounds %LSlice, ptr %t15254, i32 0, i32 0 %t15258 = load i32, ptr %t15255 %t15259 = load i32, ptr %t15256 %t15260 = icmp sge i32 %t15258, %t15259 br i1 %t15260, label %grow3086, label %put3087 grow3086: %t15261 = mul i32 %t15259, 2 %t15262 = icmp eq i32 %t15259, 0 %t15263 = select i1 %t15262, i32 8, i32 %t15261 %t15264 = getelementptr ptr, ptr null, i32 1 %t15265 = ptrtoint ptr %t15264 to i64 %t15266 = zext i32 %t15263 to i64 %t15267 = mul i64 %t15266, %t15265 %t15268 = load ptr, ptr %t15257 %t15269 = call ptr @realloc(ptr %t15268, i64 %t15267) store ptr %t15269, ptr %t15257 store i32 %t15263, ptr %t15256 br label %put3087 put3087: %t15270 = load ptr, ptr %t15257 %t15271 = getelementptr inbounds ptr, ptr %t15270, i32 %t15258 store ptr @.str9654, ptr %t15271 %t15272 = add i32 %t15258, 1 store i32 %t15272, ptr %t15255 %t15273 = load ptr, ptr %t459 %t15274 = getelementptr inbounds %LSlice, ptr %t15273, i32 0, i32 1 %t15275 = getelementptr inbounds %LSlice, ptr %t15273, i32 0, i32 2 %t15276 = getelementptr inbounds %LSlice, ptr %t15273, i32 0, i32 0 %t15277 = load i32, ptr %t15274 %t15278 = load i32, ptr %t15275 %t15279 = icmp sge i32 %t15277, %t15278 br i1 %t15279, label %grow3088, label %put3089 grow3088: %t15280 = mul i32 %t15278, 2 %t15281 = icmp eq i32 %t15278, 0 %t15282 = select i1 %t15281, i32 8, i32 %t15280 %t15283 = getelementptr ptr, ptr null, i32 1 %t15284 = ptrtoint ptr %t15283 to i64 %t15285 = zext i32 %t15282 to i64 %t15286 = mul i64 %t15285, %t15284 %t15287 = load ptr, ptr %t15276 %t15288 = call ptr @realloc(ptr %t15287, i64 %t15286) store ptr %t15288, ptr %t15276 store i32 %t15282, ptr %t15275 br label %put3089 put3089: %t15289 = load ptr, ptr %t15276 %t15290 = getelementptr inbounds ptr, ptr %t15289, i32 %t15277 store ptr @.str9655, ptr %t15290 %t15291 = add i32 %t15277, 1 store i32 %t15291, ptr %t15274 %t15292 = load ptr, ptr %t459 %t15293 = getelementptr inbounds %LSlice, ptr %t15292, i32 0, i32 1 %t15294 = getelementptr inbounds %LSlice, ptr %t15292, i32 0, i32 2 %t15295 = getelementptr inbounds %LSlice, ptr %t15292, i32 0, i32 0 %t15296 = load i32, ptr %t15293 %t15297 = load i32, ptr %t15294 %t15298 = icmp sge i32 %t15296, %t15297 br i1 %t15298, label %grow3090, label %put3091 grow3090: %t15299 = mul i32 %t15297, 2 %t15300 = icmp eq i32 %t15297, 0 %t15301 = select i1 %t15300, i32 8, i32 %t15299 %t15302 = getelementptr ptr, ptr null, i32 1 %t15303 = ptrtoint ptr %t15302 to i64 %t15304 = zext i32 %t15301 to i64 %t15305 = mul i64 %t15304, %t15303 %t15306 = load ptr, ptr %t15295 %t15307 = call ptr @realloc(ptr %t15306, i64 %t15305) store ptr %t15307, ptr %t15295 store i32 %t15301, ptr %t15294 br label %put3091 put3091: %t15308 = load ptr, ptr %t15295 %t15309 = getelementptr inbounds ptr, ptr %t15308, i32 %t15296 store ptr @.str9656, ptr %t15309 %t15310 = add i32 %t15296, 1 store i32 %t15310, ptr %t15293 br label %ifend3085 ifend3085: %t15311 = load ptr, ptr %t1 %t15312 = call i32 @lp_str_eq(ptr %t15311, ptr @.str9657) %t15313 = icmp ne i32 %t15312, 0 br i1 %t15313, label %then3092, label %ifend3094 then3092: store ptr @.str9658, ptr %t452 %t15314 = load ptr, ptr %t459 %t15315 = getelementptr inbounds %LSlice, ptr %t15314, i32 0, i32 1 %t15316 = getelementptr inbounds %LSlice, ptr %t15314, i32 0, i32 2 %t15317 = getelementptr inbounds %LSlice, ptr %t15314, i32 0, i32 0 %t15318 = load i32, ptr %t15315 %t15319 = load i32, ptr %t15316 %t15320 = icmp sge i32 %t15318, %t15319 br i1 %t15320, label %grow3095, label %put3096 grow3095: %t15321 = mul i32 %t15319, 2 %t15322 = icmp eq i32 %t15319, 0 %t15323 = select i1 %t15322, i32 8, i32 %t15321 %t15324 = getelementptr ptr, ptr null, i32 1 %t15325 = ptrtoint ptr %t15324 to i64 %t15326 = zext i32 %t15323 to i64 %t15327 = mul i64 %t15326, %t15325 %t15328 = load ptr, ptr %t15317 %t15329 = call ptr @realloc(ptr %t15328, i64 %t15327) store ptr %t15329, ptr %t15317 store i32 %t15323, ptr %t15316 br label %put3096 put3096: %t15330 = load ptr, ptr %t15317 %t15331 = getelementptr inbounds ptr, ptr %t15330, i32 %t15318 store ptr @.str9659, ptr %t15331 %t15332 = add i32 %t15318, 1 store i32 %t15332, ptr %t15315 %t15333 = load ptr, ptr %t459 %t15334 = getelementptr inbounds %LSlice, ptr %t15333, i32 0, i32 1 %t15335 = getelementptr inbounds %LSlice, ptr %t15333, i32 0, i32 2 %t15336 = getelementptr inbounds %LSlice, ptr %t15333, i32 0, i32 0 %t15337 = load i32, ptr %t15334 %t15338 = load i32, ptr %t15335 %t15339 = icmp sge i32 %t15337, %t15338 br i1 %t15339, label %grow3097, label %put3098 grow3097: %t15340 = mul i32 %t15338, 2 %t15341 = icmp eq i32 %t15338, 0 %t15342 = select i1 %t15341, i32 8, i32 %t15340 %t15343 = getelementptr ptr, ptr null, i32 1 %t15344 = ptrtoint ptr %t15343 to i64 %t15345 = zext i32 %t15342 to i64 %t15346 = mul i64 %t15345, %t15344 %t15347 = load ptr, ptr %t15336 %t15348 = call ptr @realloc(ptr %t15347, i64 %t15346) store ptr %t15348, ptr %t15336 store i32 %t15342, ptr %t15335 br label %put3098 put3098: %t15349 = load ptr, ptr %t15336 %t15350 = getelementptr inbounds ptr, ptr %t15349, i32 %t15337 store ptr @.str9660, ptr %t15350 %t15351 = add i32 %t15337, 1 store i32 %t15351, ptr %t15334 %t15352 = load ptr, ptr %t459 %t15353 = getelementptr inbounds %LSlice, ptr %t15352, i32 0, i32 1 %t15354 = getelementptr inbounds %LSlice, ptr %t15352, i32 0, i32 2 %t15355 = getelementptr inbounds %LSlice, ptr %t15352, i32 0, i32 0 %t15356 = load i32, ptr %t15353 %t15357 = load i32, ptr %t15354 %t15358 = icmp sge i32 %t15356, %t15357 br i1 %t15358, label %grow3099, label %put3100 grow3099: %t15359 = mul i32 %t15357, 2 %t15360 = icmp eq i32 %t15357, 0 %t15361 = select i1 %t15360, i32 8, i32 %t15359 %t15362 = getelementptr ptr, ptr null, i32 1 %t15363 = ptrtoint ptr %t15362 to i64 %t15364 = zext i32 %t15361 to i64 %t15365 = mul i64 %t15364, %t15363 %t15366 = load ptr, ptr %t15355 %t15367 = call ptr @realloc(ptr %t15366, i64 %t15365) store ptr %t15367, ptr %t15355 store i32 %t15361, ptr %t15354 br label %put3100 put3100: %t15368 = load ptr, ptr %t15355 %t15369 = getelementptr inbounds ptr, ptr %t15368, i32 %t15356 store ptr @.str9661, ptr %t15369 %t15370 = add i32 %t15356, 1 store i32 %t15370, ptr %t15353 br label %ifend3094 ifend3094: %t15371 = load ptr, ptr %t1 %t15372 = call i32 @lp_str_eq(ptr %t15371, ptr @.str9662) %t15373 = icmp ne i32 %t15372, 0 br i1 %t15373, label %then3101, label %ifend3103 then3101: store ptr @.str9663, ptr %t452 %t15374 = load ptr, ptr %t459 %t15375 = getelementptr inbounds %LSlice, ptr %t15374, i32 0, i32 1 %t15376 = getelementptr inbounds %LSlice, ptr %t15374, i32 0, i32 2 %t15377 = getelementptr inbounds %LSlice, ptr %t15374, i32 0, i32 0 %t15378 = load i32, ptr %t15375 %t15379 = load i32, ptr %t15376 %t15380 = icmp sge i32 %t15378, %t15379 br i1 %t15380, label %grow3104, label %put3105 grow3104: %t15381 = mul i32 %t15379, 2 %t15382 = icmp eq i32 %t15379, 0 %t15383 = select i1 %t15382, i32 8, i32 %t15381 %t15384 = getelementptr ptr, ptr null, i32 1 %t15385 = ptrtoint ptr %t15384 to i64 %t15386 = zext i32 %t15383 to i64 %t15387 = mul i64 %t15386, %t15385 %t15388 = load ptr, ptr %t15377 %t15389 = call ptr @realloc(ptr %t15388, i64 %t15387) store ptr %t15389, ptr %t15377 store i32 %t15383, ptr %t15376 br label %put3105 put3105: %t15390 = load ptr, ptr %t15377 %t15391 = getelementptr inbounds ptr, ptr %t15390, i32 %t15378 store ptr @.str9664, ptr %t15391 %t15392 = add i32 %t15378, 1 store i32 %t15392, ptr %t15375 %t15393 = load ptr, ptr %t459 %t15394 = getelementptr inbounds %LSlice, ptr %t15393, i32 0, i32 1 %t15395 = getelementptr inbounds %LSlice, ptr %t15393, i32 0, i32 2 %t15396 = getelementptr inbounds %LSlice, ptr %t15393, i32 0, i32 0 %t15397 = load i32, ptr %t15394 %t15398 = load i32, ptr %t15395 %t15399 = icmp sge i32 %t15397, %t15398 br i1 %t15399, label %grow3106, label %put3107 grow3106: %t15400 = mul i32 %t15398, 2 %t15401 = icmp eq i32 %t15398, 0 %t15402 = select i1 %t15401, i32 8, i32 %t15400 %t15403 = getelementptr ptr, ptr null, i32 1 %t15404 = ptrtoint ptr %t15403 to i64 %t15405 = zext i32 %t15402 to i64 %t15406 = mul i64 %t15405, %t15404 %t15407 = load ptr, ptr %t15396 %t15408 = call ptr @realloc(ptr %t15407, i64 %t15406) store ptr %t15408, ptr %t15396 store i32 %t15402, ptr %t15395 br label %put3107 put3107: %t15409 = load ptr, ptr %t15396 %t15410 = getelementptr inbounds ptr, ptr %t15409, i32 %t15397 store ptr @.str9665, ptr %t15410 %t15411 = add i32 %t15397, 1 store i32 %t15411, ptr %t15394 %t15412 = load ptr, ptr %t459 %t15413 = getelementptr inbounds %LSlice, ptr %t15412, i32 0, i32 1 %t15414 = getelementptr inbounds %LSlice, ptr %t15412, i32 0, i32 2 %t15415 = getelementptr inbounds %LSlice, ptr %t15412, i32 0, i32 0 %t15416 = load i32, ptr %t15413 %t15417 = load i32, ptr %t15414 %t15418 = icmp sge i32 %t15416, %t15417 br i1 %t15418, label %grow3108, label %put3109 grow3108: %t15419 = mul i32 %t15417, 2 %t15420 = icmp eq i32 %t15417, 0 %t15421 = select i1 %t15420, i32 8, i32 %t15419 %t15422 = getelementptr ptr, ptr null, i32 1 %t15423 = ptrtoint ptr %t15422 to i64 %t15424 = zext i32 %t15421 to i64 %t15425 = mul i64 %t15424, %t15423 %t15426 = load ptr, ptr %t15415 %t15427 = call ptr @realloc(ptr %t15426, i64 %t15425) store ptr %t15427, ptr %t15415 store i32 %t15421, ptr %t15414 br label %put3109 put3109: %t15428 = load ptr, ptr %t15415 %t15429 = getelementptr inbounds ptr, ptr %t15428, i32 %t15416 store ptr @.str9666, ptr %t15429 %t15430 = add i32 %t15416, 1 store i32 %t15430, ptr %t15413 br label %ifend3103 ifend3103: %t15431 = load ptr, ptr %t1 %t15432 = call i32 @lp_str_eq(ptr %t15431, ptr @.str9667) %t15433 = icmp ne i32 %t15432, 0 br i1 %t15433, label %then3110, label %ifend3112 then3110: store ptr @.str9668, ptr %t452 %t15434 = load ptr, ptr %t459 %t15435 = getelementptr inbounds %LSlice, ptr %t15434, i32 0, i32 1 %t15436 = getelementptr inbounds %LSlice, ptr %t15434, i32 0, i32 2 %t15437 = getelementptr inbounds %LSlice, ptr %t15434, i32 0, i32 0 %t15438 = load i32, ptr %t15435 %t15439 = load i32, ptr %t15436 %t15440 = icmp sge i32 %t15438, %t15439 br i1 %t15440, label %grow3113, label %put3114 grow3113: %t15441 = mul i32 %t15439, 2 %t15442 = icmp eq i32 %t15439, 0 %t15443 = select i1 %t15442, i32 8, i32 %t15441 %t15444 = getelementptr ptr, ptr null, i32 1 %t15445 = ptrtoint ptr %t15444 to i64 %t15446 = zext i32 %t15443 to i64 %t15447 = mul i64 %t15446, %t15445 %t15448 = load ptr, ptr %t15437 %t15449 = call ptr @realloc(ptr %t15448, i64 %t15447) store ptr %t15449, ptr %t15437 store i32 %t15443, ptr %t15436 br label %put3114 put3114: %t15450 = load ptr, ptr %t15437 %t15451 = getelementptr inbounds ptr, ptr %t15450, i32 %t15438 store ptr @.str9669, ptr %t15451 %t15452 = add i32 %t15438, 1 store i32 %t15452, ptr %t15435 %t15453 = load ptr, ptr %t459 %t15454 = getelementptr inbounds %LSlice, ptr %t15453, i32 0, i32 1 %t15455 = getelementptr inbounds %LSlice, ptr %t15453, i32 0, i32 2 %t15456 = getelementptr inbounds %LSlice, ptr %t15453, i32 0, i32 0 %t15457 = load i32, ptr %t15454 %t15458 = load i32, ptr %t15455 %t15459 = icmp sge i32 %t15457, %t15458 br i1 %t15459, label %grow3115, label %put3116 grow3115: %t15460 = mul i32 %t15458, 2 %t15461 = icmp eq i32 %t15458, 0 %t15462 = select i1 %t15461, i32 8, i32 %t15460 %t15463 = getelementptr ptr, ptr null, i32 1 %t15464 = ptrtoint ptr %t15463 to i64 %t15465 = zext i32 %t15462 to i64 %t15466 = mul i64 %t15465, %t15464 %t15467 = load ptr, ptr %t15456 %t15468 = call ptr @realloc(ptr %t15467, i64 %t15466) store ptr %t15468, ptr %t15456 store i32 %t15462, ptr %t15455 br label %put3116 put3116: %t15469 = load ptr, ptr %t15456 %t15470 = getelementptr inbounds ptr, ptr %t15469, i32 %t15457 store ptr @.str9670, ptr %t15470 %t15471 = add i32 %t15457, 1 store i32 %t15471, ptr %t15454 %t15472 = load ptr, ptr %t459 %t15473 = getelementptr inbounds %LSlice, ptr %t15472, i32 0, i32 1 %t15474 = getelementptr inbounds %LSlice, ptr %t15472, i32 0, i32 2 %t15475 = getelementptr inbounds %LSlice, ptr %t15472, i32 0, i32 0 %t15476 = load i32, ptr %t15473 %t15477 = load i32, ptr %t15474 %t15478 = icmp sge i32 %t15476, %t15477 br i1 %t15478, label %grow3117, label %put3118 grow3117: %t15479 = mul i32 %t15477, 2 %t15480 = icmp eq i32 %t15477, 0 %t15481 = select i1 %t15480, i32 8, i32 %t15479 %t15482 = getelementptr ptr, ptr null, i32 1 %t15483 = ptrtoint ptr %t15482 to i64 %t15484 = zext i32 %t15481 to i64 %t15485 = mul i64 %t15484, %t15483 %t15486 = load ptr, ptr %t15475 %t15487 = call ptr @realloc(ptr %t15486, i64 %t15485) store ptr %t15487, ptr %t15475 store i32 %t15481, ptr %t15474 br label %put3118 put3118: %t15488 = load ptr, ptr %t15475 %t15489 = getelementptr inbounds ptr, ptr %t15488, i32 %t15476 store ptr @.str9671, ptr %t15489 %t15490 = add i32 %t15476, 1 store i32 %t15490, ptr %t15473 br label %ifend3112 ifend3112: %t15491 = load ptr, ptr %t1 %t15492 = call i32 @lp_str_eq(ptr %t15491, ptr @.str9672) %t15493 = icmp ne i32 %t15492, 0 br i1 %t15493, label %then3119, label %ifend3121 then3119: store ptr @.str9673, ptr %t452 %t15494 = load ptr, ptr %t459 %t15495 = getelementptr inbounds %LSlice, ptr %t15494, i32 0, i32 1 %t15496 = getelementptr inbounds %LSlice, ptr %t15494, i32 0, i32 2 %t15497 = getelementptr inbounds %LSlice, ptr %t15494, i32 0, i32 0 %t15498 = load i32, ptr %t15495 %t15499 = load i32, ptr %t15496 %t15500 = icmp sge i32 %t15498, %t15499 br i1 %t15500, label %grow3122, label %put3123 grow3122: %t15501 = mul i32 %t15499, 2 %t15502 = icmp eq i32 %t15499, 0 %t15503 = select i1 %t15502, i32 8, i32 %t15501 %t15504 = getelementptr ptr, ptr null, i32 1 %t15505 = ptrtoint ptr %t15504 to i64 %t15506 = zext i32 %t15503 to i64 %t15507 = mul i64 %t15506, %t15505 %t15508 = load ptr, ptr %t15497 %t15509 = call ptr @realloc(ptr %t15508, i64 %t15507) store ptr %t15509, ptr %t15497 store i32 %t15503, ptr %t15496 br label %put3123 put3123: %t15510 = load ptr, ptr %t15497 %t15511 = getelementptr inbounds ptr, ptr %t15510, i32 %t15498 store ptr @.str9674, ptr %t15511 %t15512 = add i32 %t15498, 1 store i32 %t15512, ptr %t15495 %t15513 = load ptr, ptr %t459 %t15514 = getelementptr inbounds %LSlice, ptr %t15513, i32 0, i32 1 %t15515 = getelementptr inbounds %LSlice, ptr %t15513, i32 0, i32 2 %t15516 = getelementptr inbounds %LSlice, ptr %t15513, i32 0, i32 0 %t15517 = load i32, ptr %t15514 %t15518 = load i32, ptr %t15515 %t15519 = icmp sge i32 %t15517, %t15518 br i1 %t15519, label %grow3124, label %put3125 grow3124: %t15520 = mul i32 %t15518, 2 %t15521 = icmp eq i32 %t15518, 0 %t15522 = select i1 %t15521, i32 8, i32 %t15520 %t15523 = getelementptr ptr, ptr null, i32 1 %t15524 = ptrtoint ptr %t15523 to i64 %t15525 = zext i32 %t15522 to i64 %t15526 = mul i64 %t15525, %t15524 %t15527 = load ptr, ptr %t15516 %t15528 = call ptr @realloc(ptr %t15527, i64 %t15526) store ptr %t15528, ptr %t15516 store i32 %t15522, ptr %t15515 br label %put3125 put3125: %t15529 = load ptr, ptr %t15516 %t15530 = getelementptr inbounds ptr, ptr %t15529, i32 %t15517 store ptr @.str9675, ptr %t15530 %t15531 = add i32 %t15517, 1 store i32 %t15531, ptr %t15514 br label %ifend3121 ifend3121: %t15532 = load ptr, ptr %t1 %t15533 = call i32 @lp_str_eq(ptr %t15532, ptr @.str9676) %t15534 = icmp ne i32 %t15533, 0 br i1 %t15534, label %then3126, label %ifend3128 then3126: store ptr @.str9677, ptr %t452 %t15535 = load ptr, ptr %t459 %t15536 = getelementptr inbounds %LSlice, ptr %t15535, i32 0, i32 1 %t15537 = getelementptr inbounds %LSlice, ptr %t15535, i32 0, i32 2 %t15538 = getelementptr inbounds %LSlice, ptr %t15535, i32 0, i32 0 %t15539 = load i32, ptr %t15536 %t15540 = load i32, ptr %t15537 %t15541 = icmp sge i32 %t15539, %t15540 br i1 %t15541, label %grow3129, label %put3130 grow3129: %t15542 = mul i32 %t15540, 2 %t15543 = icmp eq i32 %t15540, 0 %t15544 = select i1 %t15543, i32 8, i32 %t15542 %t15545 = getelementptr ptr, ptr null, i32 1 %t15546 = ptrtoint ptr %t15545 to i64 %t15547 = zext i32 %t15544 to i64 %t15548 = mul i64 %t15547, %t15546 %t15549 = load ptr, ptr %t15538 %t15550 = call ptr @realloc(ptr %t15549, i64 %t15548) store ptr %t15550, ptr %t15538 store i32 %t15544, ptr %t15537 br label %put3130 put3130: %t15551 = load ptr, ptr %t15538 %t15552 = getelementptr inbounds ptr, ptr %t15551, i32 %t15539 store ptr @.str9678, ptr %t15552 %t15553 = add i32 %t15539, 1 store i32 %t15553, ptr %t15536 %t15554 = load ptr, ptr %t459 %t15555 = getelementptr inbounds %LSlice, ptr %t15554, i32 0, i32 1 %t15556 = getelementptr inbounds %LSlice, ptr %t15554, i32 0, i32 2 %t15557 = getelementptr inbounds %LSlice, ptr %t15554, i32 0, i32 0 %t15558 = load i32, ptr %t15555 %t15559 = load i32, ptr %t15556 %t15560 = icmp sge i32 %t15558, %t15559 br i1 %t15560, label %grow3131, label %put3132 grow3131: %t15561 = mul i32 %t15559, 2 %t15562 = icmp eq i32 %t15559, 0 %t15563 = select i1 %t15562, i32 8, i32 %t15561 %t15564 = getelementptr ptr, ptr null, i32 1 %t15565 = ptrtoint ptr %t15564 to i64 %t15566 = zext i32 %t15563 to i64 %t15567 = mul i64 %t15566, %t15565 %t15568 = load ptr, ptr %t15557 %t15569 = call ptr @realloc(ptr %t15568, i64 %t15567) store ptr %t15569, ptr %t15557 store i32 %t15563, ptr %t15556 br label %put3132 put3132: %t15570 = load ptr, ptr %t15557 %t15571 = getelementptr inbounds ptr, ptr %t15570, i32 %t15558 store ptr @.str9679, ptr %t15571 %t15572 = add i32 %t15558, 1 store i32 %t15572, ptr %t15555 br label %ifend3128 ifend3128: %t15573 = load ptr, ptr %t1 %t15574 = call i32 @lp_str_eq(ptr %t15573, ptr @.str9680) %t15575 = icmp ne i32 %t15574, 0 br i1 %t15575, label %then3133, label %ifend3135 then3133: store ptr @.str9681, ptr %t452 %t15576 = load ptr, ptr %t459 %t15577 = getelementptr inbounds %LSlice, ptr %t15576, i32 0, i32 1 %t15578 = getelementptr inbounds %LSlice, ptr %t15576, i32 0, i32 2 %t15579 = getelementptr inbounds %LSlice, ptr %t15576, i32 0, i32 0 %t15580 = load i32, ptr %t15577 %t15581 = load i32, ptr %t15578 %t15582 = icmp sge i32 %t15580, %t15581 br i1 %t15582, label %grow3136, label %put3137 grow3136: %t15583 = mul i32 %t15581, 2 %t15584 = icmp eq i32 %t15581, 0 %t15585 = select i1 %t15584, i32 8, i32 %t15583 %t15586 = getelementptr ptr, ptr null, i32 1 %t15587 = ptrtoint ptr %t15586 to i64 %t15588 = zext i32 %t15585 to i64 %t15589 = mul i64 %t15588, %t15587 %t15590 = load ptr, ptr %t15579 %t15591 = call ptr @realloc(ptr %t15590, i64 %t15589) store ptr %t15591, ptr %t15579 store i32 %t15585, ptr %t15578 br label %put3137 put3137: %t15592 = load ptr, ptr %t15579 %t15593 = getelementptr inbounds ptr, ptr %t15592, i32 %t15580 store ptr @.str9682, ptr %t15593 %t15594 = add i32 %t15580, 1 store i32 %t15594, ptr %t15577 %t15595 = load ptr, ptr %t459 %t15596 = getelementptr inbounds %LSlice, ptr %t15595, i32 0, i32 1 %t15597 = getelementptr inbounds %LSlice, ptr %t15595, i32 0, i32 2 %t15598 = getelementptr inbounds %LSlice, ptr %t15595, i32 0, i32 0 %t15599 = load i32, ptr %t15596 %t15600 = load i32, ptr %t15597 %t15601 = icmp sge i32 %t15599, %t15600 br i1 %t15601, label %grow3138, label %put3139 grow3138: %t15602 = mul i32 %t15600, 2 %t15603 = icmp eq i32 %t15600, 0 %t15604 = select i1 %t15603, i32 8, i32 %t15602 %t15605 = getelementptr ptr, ptr null, i32 1 %t15606 = ptrtoint ptr %t15605 to i64 %t15607 = zext i32 %t15604 to i64 %t15608 = mul i64 %t15607, %t15606 %t15609 = load ptr, ptr %t15598 %t15610 = call ptr @realloc(ptr %t15609, i64 %t15608) store ptr %t15610, ptr %t15598 store i32 %t15604, ptr %t15597 br label %put3139 put3139: %t15611 = load ptr, ptr %t15598 %t15612 = getelementptr inbounds ptr, ptr %t15611, i32 %t15599 store ptr @.str9683, ptr %t15612 %t15613 = add i32 %t15599, 1 store i32 %t15613, ptr %t15596 br label %ifend3135 ifend3135: %t15614 = load ptr, ptr %t1 %t15615 = call i32 @lp_str_eq(ptr %t15614, ptr @.str9684) %t15616 = icmp ne i32 %t15615, 0 br i1 %t15616, label %then3140, label %ifend3142 then3140: store ptr @.str9685, ptr %t452 %t15617 = load ptr, ptr %t459 %t15618 = getelementptr inbounds %LSlice, ptr %t15617, i32 0, i32 1 %t15619 = getelementptr inbounds %LSlice, ptr %t15617, i32 0, i32 2 %t15620 = getelementptr inbounds %LSlice, ptr %t15617, i32 0, i32 0 %t15621 = load i32, ptr %t15618 %t15622 = load i32, ptr %t15619 %t15623 = icmp sge i32 %t15621, %t15622 br i1 %t15623, label %grow3143, label %put3144 grow3143: %t15624 = mul i32 %t15622, 2 %t15625 = icmp eq i32 %t15622, 0 %t15626 = select i1 %t15625, i32 8, i32 %t15624 %t15627 = getelementptr ptr, ptr null, i32 1 %t15628 = ptrtoint ptr %t15627 to i64 %t15629 = zext i32 %t15626 to i64 %t15630 = mul i64 %t15629, %t15628 %t15631 = load ptr, ptr %t15620 %t15632 = call ptr @realloc(ptr %t15631, i64 %t15630) store ptr %t15632, ptr %t15620 store i32 %t15626, ptr %t15619 br label %put3144 put3144: %t15633 = load ptr, ptr %t15620 %t15634 = getelementptr inbounds ptr, ptr %t15633, i32 %t15621 store ptr @.str9686, ptr %t15634 %t15635 = add i32 %t15621, 1 store i32 %t15635, ptr %t15618 %t15636 = load ptr, ptr %t459 %t15637 = getelementptr inbounds %LSlice, ptr %t15636, i32 0, i32 1 %t15638 = getelementptr inbounds %LSlice, ptr %t15636, i32 0, i32 2 %t15639 = getelementptr inbounds %LSlice, ptr %t15636, i32 0, i32 0 %t15640 = load i32, ptr %t15637 %t15641 = load i32, ptr %t15638 %t15642 = icmp sge i32 %t15640, %t15641 br i1 %t15642, label %grow3145, label %put3146 grow3145: %t15643 = mul i32 %t15641, 2 %t15644 = icmp eq i32 %t15641, 0 %t15645 = select i1 %t15644, i32 8, i32 %t15643 %t15646 = getelementptr ptr, ptr null, i32 1 %t15647 = ptrtoint ptr %t15646 to i64 %t15648 = zext i32 %t15645 to i64 %t15649 = mul i64 %t15648, %t15647 %t15650 = load ptr, ptr %t15639 %t15651 = call ptr @realloc(ptr %t15650, i64 %t15649) store ptr %t15651, ptr %t15639 store i32 %t15645, ptr %t15638 br label %put3146 put3146: %t15652 = load ptr, ptr %t15639 %t15653 = getelementptr inbounds ptr, ptr %t15652, i32 %t15640 store ptr @.str9687, ptr %t15653 %t15654 = add i32 %t15640, 1 store i32 %t15654, ptr %t15637 br label %ifend3142 ifend3142: %t15655 = load ptr, ptr %t1 %t15656 = call i32 @lp_str_eq(ptr %t15655, ptr @.str9688) %t15657 = icmp ne i32 %t15656, 0 br i1 %t15657, label %then3147, label %ifend3149 then3147: store ptr @.str9689, ptr %t452 %t15658 = load ptr, ptr %t459 %t15659 = getelementptr inbounds %LSlice, ptr %t15658, i32 0, i32 1 %t15660 = getelementptr inbounds %LSlice, ptr %t15658, i32 0, i32 2 %t15661 = getelementptr inbounds %LSlice, ptr %t15658, i32 0, i32 0 %t15662 = load i32, ptr %t15659 %t15663 = load i32, ptr %t15660 %t15664 = icmp sge i32 %t15662, %t15663 br i1 %t15664, label %grow3150, label %put3151 grow3150: %t15665 = mul i32 %t15663, 2 %t15666 = icmp eq i32 %t15663, 0 %t15667 = select i1 %t15666, i32 8, i32 %t15665 %t15668 = getelementptr ptr, ptr null, i32 1 %t15669 = ptrtoint ptr %t15668 to i64 %t15670 = zext i32 %t15667 to i64 %t15671 = mul i64 %t15670, %t15669 %t15672 = load ptr, ptr %t15661 %t15673 = call ptr @realloc(ptr %t15672, i64 %t15671) store ptr %t15673, ptr %t15661 store i32 %t15667, ptr %t15660 br label %put3151 put3151: %t15674 = load ptr, ptr %t15661 %t15675 = getelementptr inbounds ptr, ptr %t15674, i32 %t15662 store ptr @.str9690, ptr %t15675 %t15676 = add i32 %t15662, 1 store i32 %t15676, ptr %t15659 %t15677 = load ptr, ptr %t459 %t15678 = getelementptr inbounds %LSlice, ptr %t15677, i32 0, i32 1 %t15679 = getelementptr inbounds %LSlice, ptr %t15677, i32 0, i32 2 %t15680 = getelementptr inbounds %LSlice, ptr %t15677, i32 0, i32 0 %t15681 = load i32, ptr %t15678 %t15682 = load i32, ptr %t15679 %t15683 = icmp sge i32 %t15681, %t15682 br i1 %t15683, label %grow3152, label %put3153 grow3152: %t15684 = mul i32 %t15682, 2 %t15685 = icmp eq i32 %t15682, 0 %t15686 = select i1 %t15685, i32 8, i32 %t15684 %t15687 = getelementptr ptr, ptr null, i32 1 %t15688 = ptrtoint ptr %t15687 to i64 %t15689 = zext i32 %t15686 to i64 %t15690 = mul i64 %t15689, %t15688 %t15691 = load ptr, ptr %t15680 %t15692 = call ptr @realloc(ptr %t15691, i64 %t15690) store ptr %t15692, ptr %t15680 store i32 %t15686, ptr %t15679 br label %put3153 put3153: %t15693 = load ptr, ptr %t15680 %t15694 = getelementptr inbounds ptr, ptr %t15693, i32 %t15681 store ptr @.str9691, ptr %t15694 %t15695 = add i32 %t15681, 1 store i32 %t15695, ptr %t15678 br label %ifend3149 ifend3149: %t15696 = load ptr, ptr %t1 %t15697 = call i32 @lp_str_eq(ptr %t15696, ptr @.str9692) %t15698 = icmp ne i32 %t15697, 0 br i1 %t15698, label %then3154, label %ifend3156 then3154: store ptr @.str9693, ptr %t452 %t15699 = load ptr, ptr %t459 %t15700 = getelementptr inbounds %LSlice, ptr %t15699, i32 0, i32 1 %t15701 = getelementptr inbounds %LSlice, ptr %t15699, i32 0, i32 2 %t15702 = getelementptr inbounds %LSlice, ptr %t15699, i32 0, i32 0 %t15703 = load i32, ptr %t15700 %t15704 = load i32, ptr %t15701 %t15705 = icmp sge i32 %t15703, %t15704 br i1 %t15705, label %grow3157, label %put3158 grow3157: %t15706 = mul i32 %t15704, 2 %t15707 = icmp eq i32 %t15704, 0 %t15708 = select i1 %t15707, i32 8, i32 %t15706 %t15709 = getelementptr ptr, ptr null, i32 1 %t15710 = ptrtoint ptr %t15709 to i64 %t15711 = zext i32 %t15708 to i64 %t15712 = mul i64 %t15711, %t15710 %t15713 = load ptr, ptr %t15702 %t15714 = call ptr @realloc(ptr %t15713, i64 %t15712) store ptr %t15714, ptr %t15702 store i32 %t15708, ptr %t15701 br label %put3158 put3158: %t15715 = load ptr, ptr %t15702 %t15716 = getelementptr inbounds ptr, ptr %t15715, i32 %t15703 store ptr @.str9694, ptr %t15716 %t15717 = add i32 %t15703, 1 store i32 %t15717, ptr %t15700 br label %ifend3156 ifend3156: %t15718 = load ptr, ptr %t1 %t15719 = call i32 @lp_str_eq(ptr %t15718, ptr @.str9695) %t15720 = icmp ne i32 %t15719, 0 br i1 %t15720, label %then3159, label %ifend3161 then3159: store ptr @.str9696, ptr %t452 %t15721 = load ptr, ptr %t459 %t15722 = getelementptr inbounds %LSlice, ptr %t15721, i32 0, i32 1 %t15723 = getelementptr inbounds %LSlice, ptr %t15721, i32 0, i32 2 %t15724 = getelementptr inbounds %LSlice, ptr %t15721, i32 0, i32 0 %t15725 = load i32, ptr %t15722 %t15726 = load i32, ptr %t15723 %t15727 = icmp sge i32 %t15725, %t15726 br i1 %t15727, label %grow3162, label %put3163 grow3162: %t15728 = mul i32 %t15726, 2 %t15729 = icmp eq i32 %t15726, 0 %t15730 = select i1 %t15729, i32 8, i32 %t15728 %t15731 = getelementptr ptr, ptr null, i32 1 %t15732 = ptrtoint ptr %t15731 to i64 %t15733 = zext i32 %t15730 to i64 %t15734 = mul i64 %t15733, %t15732 %t15735 = load ptr, ptr %t15724 %t15736 = call ptr @realloc(ptr %t15735, i64 %t15734) store ptr %t15736, ptr %t15724 store i32 %t15730, ptr %t15723 br label %put3163 put3163: %t15737 = load ptr, ptr %t15724 %t15738 = getelementptr inbounds ptr, ptr %t15737, i32 %t15725 store ptr @.str9697, ptr %t15738 %t15739 = add i32 %t15725, 1 store i32 %t15739, ptr %t15722 br label %ifend3161 ifend3161: %t15740 = load ptr, ptr %t1 %t15741 = call i32 @lp_str_eq(ptr %t15740, ptr @.str9698) %t15742 = icmp ne i32 %t15741, 0 br i1 %t15742, label %then3164, label %ifend3166 then3164: store ptr @.str9699, ptr %t452 %t15743 = load ptr, ptr %t459 %t15744 = getelementptr inbounds %LSlice, ptr %t15743, i32 0, i32 1 %t15745 = getelementptr inbounds %LSlice, ptr %t15743, i32 0, i32 2 %t15746 = getelementptr inbounds %LSlice, ptr %t15743, i32 0, i32 0 %t15747 = load i32, ptr %t15744 %t15748 = load i32, ptr %t15745 %t15749 = icmp sge i32 %t15747, %t15748 br i1 %t15749, label %grow3167, label %put3168 grow3167: %t15750 = mul i32 %t15748, 2 %t15751 = icmp eq i32 %t15748, 0 %t15752 = select i1 %t15751, i32 8, i32 %t15750 %t15753 = getelementptr ptr, ptr null, i32 1 %t15754 = ptrtoint ptr %t15753 to i64 %t15755 = zext i32 %t15752 to i64 %t15756 = mul i64 %t15755, %t15754 %t15757 = load ptr, ptr %t15746 %t15758 = call ptr @realloc(ptr %t15757, i64 %t15756) store ptr %t15758, ptr %t15746 store i32 %t15752, ptr %t15745 br label %put3168 put3168: %t15759 = load ptr, ptr %t15746 %t15760 = getelementptr inbounds ptr, ptr %t15759, i32 %t15747 store ptr @.str9700, ptr %t15760 %t15761 = add i32 %t15747, 1 store i32 %t15761, ptr %t15744 %t15762 = load ptr, ptr %t459 %t15763 = getelementptr inbounds %LSlice, ptr %t15762, i32 0, i32 1 %t15764 = getelementptr inbounds %LSlice, ptr %t15762, i32 0, i32 2 %t15765 = getelementptr inbounds %LSlice, ptr %t15762, i32 0, i32 0 %t15766 = load i32, ptr %t15763 %t15767 = load i32, ptr %t15764 %t15768 = icmp sge i32 %t15766, %t15767 br i1 %t15768, label %grow3169, label %put3170 grow3169: %t15769 = mul i32 %t15767, 2 %t15770 = icmp eq i32 %t15767, 0 %t15771 = select i1 %t15770, i32 8, i32 %t15769 %t15772 = getelementptr ptr, ptr null, i32 1 %t15773 = ptrtoint ptr %t15772 to i64 %t15774 = zext i32 %t15771 to i64 %t15775 = mul i64 %t15774, %t15773 %t15776 = load ptr, ptr %t15765 %t15777 = call ptr @realloc(ptr %t15776, i64 %t15775) store ptr %t15777, ptr %t15765 store i32 %t15771, ptr %t15764 br label %put3170 put3170: %t15778 = load ptr, ptr %t15765 %t15779 = getelementptr inbounds ptr, ptr %t15778, i32 %t15766 store ptr @.str9701, ptr %t15779 %t15780 = add i32 %t15766, 1 store i32 %t15780, ptr %t15763 br label %ifend3166 ifend3166: br label %ifend2897 ifend2897: %t15782 = load ptr, ptr %t0 %t15783 = call i32 @lp_str_eq(ptr %t15782, ptr @.str9702) %t15784 = icmp ne i32 %t15783, 0 %t15785 = zext i1 %t15784 to i32 store i32 %t15785, ptr %t15781 br i1 %t15784, label %sc3171, label %scend3172 sc3171: %t15786 = load ptr, ptr %t452 %t15787 = icmp eq ptr %t15786, null %t15788 = zext i1 %t15787 to i32 %t15789 = icmp ne i32 %t15788, 0 %t15790 = zext i1 %t15789 to i32 store i32 %t15790, ptr %t15781 br label %scend3172 scend3172: %t15791 = load i32, ptr %t15781 %t15792 = icmp ne i32 %t15791, 0 br i1 %t15792, label %then3173, label %ifend3175 then3173: %t15793 = load ptr, ptr %t1 %t15794 = call ptr @lp_str_concat(ptr @.str9703, ptr %t15793) store ptr %t15794, ptr %t452 %t15795 = load ptr, ptr %t452 %t15796 = call ptr @fn_find_fn(ptr %t15795) store ptr %t15796, ptr %t15797 %t15798 = load ptr, ptr %t15797 %t15799 = icmp eq ptr %t15798, null %t15800 = zext i1 %t15799 to i32 %t15801 = icmp ne i32 %t15800, 0 br i1 %t15801, label %then3176, label %ifend3178 then3176: %t15802 = load ptr, ptr %t452 %t15803 = call ptr @fn_find_extern(ptr %t15802) store ptr %t15803, ptr %t15797 br label %ifend3178 ifend3178: %t15804 = load ptr, ptr %t15797 %t15805 = icmp ne ptr %t15804, null %t15806 = zext i1 %t15805 to i32 %t15807 = icmp ne i32 %t15806, 0 br i1 %t15807, label %then3179, label %ifend3181 then3179: %t15808 = load ptr, ptr %t15797 %t15809 = call ptr @fn_param_labels(ptr %t15808) store ptr %t15809, ptr %t15810 store i32 0, ptr %t15811 br label %wcond3182 wcond3182: %t15812 = load i32, ptr %t15811 %t15813 = load ptr, ptr %t15810 %t15814 = getelementptr inbounds %LSlice, ptr %t15813, i32 0, i32 1 %t15815 = load i32, ptr %t15814 %t15816 = icmp slt i32 %t15812, %t15815 %t15817 = zext i1 %t15816 to i32 %t15818 = icmp ne i32 %t15817, 0 br i1 %t15818, label %wbody3183, label %wend3184 wbody3183: %t15819 = load ptr, ptr %t459 %t15820 = load ptr, ptr %t15810 %t15821 = getelementptr inbounds %LSlice, ptr %t15820, i32 0, i32 0 %t15822 = load ptr, ptr %t15821 %t15823 = load i32, ptr %t15811 %t15824 = getelementptr inbounds %LSlice, ptr %t15820, i32 0, i32 1 %t15825 = load i32, ptr %t15824 %t15826 = icmp ult i32 %t15823, %t15825 br i1 %t15826, label %ixok3185, label %ixbad3186 ixbad3186: %t15827 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15827, ptr @.fmt_bounds, ptr @.str9704, i32 %t15823, i32 %t15825) call void @exit(i32 1) unreachable ixok3185: %t15828 = getelementptr inbounds ptr, ptr %t15822, i32 %t15823 %t15829 = load ptr, ptr %t15828 %t15830 = getelementptr inbounds %LSlice, ptr %t15819, i32 0, i32 1 %t15831 = getelementptr inbounds %LSlice, ptr %t15819, i32 0, i32 2 %t15832 = getelementptr inbounds %LSlice, ptr %t15819, i32 0, i32 0 %t15833 = load i32, ptr %t15830 %t15834 = load i32, ptr %t15831 %t15835 = icmp sge i32 %t15833, %t15834 br i1 %t15835, label %grow3187, label %put3188 grow3187: %t15836 = mul i32 %t15834, 2 %t15837 = icmp eq i32 %t15834, 0 %t15838 = select i1 %t15837, i32 8, i32 %t15836 %t15839 = getelementptr ptr, ptr null, i32 1 %t15840 = ptrtoint ptr %t15839 to i64 %t15841 = zext i32 %t15838 to i64 %t15842 = mul i64 %t15841, %t15840 %t15843 = load ptr, ptr %t15832 %t15844 = call ptr @realloc(ptr %t15843, i64 %t15842) store ptr %t15844, ptr %t15832 store i32 %t15838, ptr %t15831 br label %put3188 put3188: %t15845 = load ptr, ptr %t15832 %t15846 = getelementptr inbounds ptr, ptr %t15845, i32 %t15833 store ptr %t15829, ptr %t15846 %t15847 = add i32 %t15833, 1 store i32 %t15847, ptr %t15830 %t15848 = load i32, ptr %t15811 %t15849 = add i32 %t15848, 1 store i32 %t15849, ptr %t15811 br label %wcond3182 wend3184: br label %ifend3181 ifend3181: br label %ifend3175 ifend3175: %t15851 = load ptr, ptr %t0 %t15852 = call i32 @lp_str_eq(ptr %t15851, ptr @.str9705) %t15853 = icmp ne i32 %t15852, 0 %t15854 = zext i1 %t15853 to i32 store i32 %t15854, ptr %t15850 br i1 %t15853, label %sc3189, label %scend3190 sc3189: %t15855 = load ptr, ptr %t452 %t15856 = icmp eq ptr %t15855, null %t15857 = zext i1 %t15856 to i32 %t15858 = icmp ne i32 %t15857, 0 %t15859 = zext i1 %t15858 to i32 store i32 %t15859, ptr %t15850 br label %scend3190 scend3190: %t15860 = load i32, ptr %t15850 %t15861 = icmp ne i32 %t15860, 0 br i1 %t15861, label %then3191, label %ifend3193 then3191: %t15862 = load ptr, ptr %t1 %t15863 = call ptr @lp_str_concat(ptr @.str9706, ptr %t15862) store ptr %t15863, ptr %t452 %t15864 = load ptr, ptr %t452 %t15865 = call ptr @fn_find_fn(ptr %t15864) store ptr %t15865, ptr %t15866 %t15867 = load ptr, ptr %t15866 %t15868 = icmp eq ptr %t15867, null %t15869 = zext i1 %t15868 to i32 %t15870 = icmp ne i32 %t15869, 0 br i1 %t15870, label %then3194, label %ifend3196 then3194: %t15871 = load ptr, ptr %t452 %t15872 = call ptr @fn_find_extern(ptr %t15871) store ptr %t15872, ptr %t15866 br label %ifend3196 ifend3196: %t15873 = load ptr, ptr %t15866 %t15874 = icmp ne ptr %t15873, null %t15875 = zext i1 %t15874 to i32 %t15876 = icmp ne i32 %t15875, 0 br i1 %t15876, label %then3197, label %ifend3199 then3197: %t15877 = load ptr, ptr %t15866 %t15878 = call ptr @fn_param_labels(ptr %t15877) store ptr %t15878, ptr %t15879 store i32 0, ptr %t15880 br label %wcond3200 wcond3200: %t15881 = load i32, ptr %t15880 %t15882 = load ptr, ptr %t15879 %t15883 = getelementptr inbounds %LSlice, ptr %t15882, i32 0, i32 1 %t15884 = load i32, ptr %t15883 %t15885 = icmp slt i32 %t15881, %t15884 %t15886 = zext i1 %t15885 to i32 %t15887 = icmp ne i32 %t15886, 0 br i1 %t15887, label %wbody3201, label %wend3202 wbody3201: %t15888 = load ptr, ptr %t459 %t15889 = load ptr, ptr %t15879 %t15890 = getelementptr inbounds %LSlice, ptr %t15889, i32 0, i32 0 %t15891 = load ptr, ptr %t15890 %t15892 = load i32, ptr %t15880 %t15893 = getelementptr inbounds %LSlice, ptr %t15889, i32 0, i32 1 %t15894 = load i32, ptr %t15893 %t15895 = icmp ult i32 %t15892, %t15894 br i1 %t15895, label %ixok3203, label %ixbad3204 ixbad3204: %t15896 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15896, ptr @.fmt_bounds, ptr @.str9707, i32 %t15892, i32 %t15894) call void @exit(i32 1) unreachable ixok3203: %t15897 = getelementptr inbounds ptr, ptr %t15891, i32 %t15892 %t15898 = load ptr, ptr %t15897 %t15899 = getelementptr inbounds %LSlice, ptr %t15888, i32 0, i32 1 %t15900 = getelementptr inbounds %LSlice, ptr %t15888, i32 0, i32 2 %t15901 = getelementptr inbounds %LSlice, ptr %t15888, i32 0, i32 0 %t15902 = load i32, ptr %t15899 %t15903 = load i32, ptr %t15900 %t15904 = icmp sge i32 %t15902, %t15903 br i1 %t15904, label %grow3205, label %put3206 grow3205: %t15905 = mul i32 %t15903, 2 %t15906 = icmp eq i32 %t15903, 0 %t15907 = select i1 %t15906, i32 8, i32 %t15905 %t15908 = getelementptr ptr, ptr null, i32 1 %t15909 = ptrtoint ptr %t15908 to i64 %t15910 = zext i32 %t15907 to i64 %t15911 = mul i64 %t15910, %t15909 %t15912 = load ptr, ptr %t15901 %t15913 = call ptr @realloc(ptr %t15912, i64 %t15911) store ptr %t15913, ptr %t15901 store i32 %t15907, ptr %t15900 br label %put3206 put3206: %t15914 = load ptr, ptr %t15901 %t15915 = getelementptr inbounds ptr, ptr %t15914, i32 %t15902 store ptr %t15898, ptr %t15915 %t15916 = add i32 %t15902, 1 store i32 %t15916, ptr %t15899 %t15917 = load i32, ptr %t15880 %t15918 = add i32 %t15917, 1 store i32 %t15918, ptr %t15880 br label %wcond3200 wend3202: br label %ifend3199 ifend3199: br label %ifend3193 ifend3193: %t15920 = load ptr, ptr %t452 %t15921 = icmp eq ptr %t15920, null %t15922 = zext i1 %t15921 to i32 %t15923 = icmp ne i32 %t15922, 0 %t15924 = zext i1 %t15923 to i32 store i32 %t15924, ptr %t15919 br i1 %t15923, label %sc3207, label %scend3208 sc3207: %t15925 = load ptr, ptr %t0 %t15926 = call i32 @fn_is_registered_namespace(ptr %t15925) %t15927 = icmp ne i32 %t15926, 0 %t15928 = zext i1 %t15927 to i32 store i32 %t15928, ptr %t15919 br label %scend3208 scend3208: %t15929 = load i32, ptr %t15919 %t15930 = icmp ne i32 %t15929, 0 br i1 %t15930, label %then3209, label %ifend3211 then3209: %t15931 = load ptr, ptr %t0 %t15932 = call ptr @fn_ns_lower(ptr %t15931) %t15933 = call ptr @lp_str_concat(ptr %t15932, ptr @.str9708) %t15934 = load ptr, ptr %t1 %t15935 = call ptr @lp_str_concat(ptr %t15933, ptr %t15934) store ptr %t15935, ptr %t452 %t15937 = load ptr, ptr %t0 %t15938 = call i32 @fn_is_ns_block(ptr %t15937) %t15939 = icmp ne i32 %t15938, 0 %t15940 = zext i1 %t15939 to i32 store i32 %t15940, ptr %t15936 br i1 %t15939, label %sc3212, label %scend3213 sc3212: %t15941 = load ptr, ptr %t452 %t15942 = call i32 @fn_ns_export_has(ptr %t15941) %t15943 = icmp eq i32 %t15942, 0 %t15944 = zext i1 %t15943 to i32 %t15945 = icmp ne i32 %t15944, 0 %t15946 = zext i1 %t15945 to i32 store i32 %t15946, ptr %t15936 br label %scend3213 scend3213: %t15947 = load i32, ptr %t15936 %t15948 = icmp ne i32 %t15947, 0 br i1 %t15948, label %then3214, label %ifend3216 then3214: %t15949 = load ptr, ptr %t0 %t15950 = call ptr @lp_str_concat(ptr %t15949, ptr @.str9709) %t15951 = load ptr, ptr %t1 %t15952 = call ptr @lp_str_concat(ptr %t15950, ptr %t15951) %t15953 = call ptr @lp_str_concat(ptr %t15952, ptr @.str9710) %t15954 = load ptr, ptr %t0 %t15955 = call ptr @lp_str_concat(ptr %t15953, ptr %t15954) call void @fn_perr(ptr %t15955) br label %ifend3216 ifend3216: %t15956 = load ptr, ptr %t452 %t15957 = call ptr @fn_find_fn(ptr %t15956) store ptr %t15957, ptr %t15958 %t15959 = load ptr, ptr %t15958 %t15960 = icmp ne ptr %t15959, null %t15961 = zext i1 %t15960 to i32 %t15962 = icmp ne i32 %t15961, 0 br i1 %t15962, label %then3217, label %ifend3219 then3217: %t15963 = load ptr, ptr %t15958 %t15964 = call ptr @fn_param_labels(ptr %t15963) store ptr %t15964, ptr %t15965 store i32 0, ptr %t15966 br label %wcond3220 wcond3220: %t15967 = load i32, ptr %t15966 %t15968 = load ptr, ptr %t15965 %t15969 = getelementptr inbounds %LSlice, ptr %t15968, i32 0, i32 1 %t15970 = load i32, ptr %t15969 %t15971 = icmp slt i32 %t15967, %t15970 %t15972 = zext i1 %t15971 to i32 %t15973 = icmp ne i32 %t15972, 0 br i1 %t15973, label %wbody3221, label %wend3222 wbody3221: %t15974 = load ptr, ptr %t459 %t15975 = load ptr, ptr %t15965 %t15976 = getelementptr inbounds %LSlice, ptr %t15975, i32 0, i32 0 %t15977 = load ptr, ptr %t15976 %t15978 = load i32, ptr %t15966 %t15979 = getelementptr inbounds %LSlice, ptr %t15975, i32 0, i32 1 %t15980 = load i32, ptr %t15979 %t15981 = icmp ult i32 %t15978, %t15980 br i1 %t15981, label %ixok3223, label %ixbad3224 ixbad3224: %t15982 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15982, ptr @.fmt_bounds, ptr @.str9711, i32 %t15978, i32 %t15980) call void @exit(i32 1) unreachable ixok3223: %t15983 = getelementptr inbounds ptr, ptr %t15977, i32 %t15978 %t15984 = load ptr, ptr %t15983 %t15985 = getelementptr inbounds %LSlice, ptr %t15974, i32 0, i32 1 %t15986 = getelementptr inbounds %LSlice, ptr %t15974, i32 0, i32 2 %t15987 = getelementptr inbounds %LSlice, ptr %t15974, i32 0, i32 0 %t15988 = load i32, ptr %t15985 %t15989 = load i32, ptr %t15986 %t15990 = icmp sge i32 %t15988, %t15989 br i1 %t15990, label %grow3225, label %put3226 grow3225: %t15991 = mul i32 %t15989, 2 %t15992 = icmp eq i32 %t15989, 0 %t15993 = select i1 %t15992, i32 8, i32 %t15991 %t15994 = getelementptr ptr, ptr null, i32 1 %t15995 = ptrtoint ptr %t15994 to i64 %t15996 = zext i32 %t15993 to i64 %t15997 = mul i64 %t15996, %t15995 %t15998 = load ptr, ptr %t15987 %t15999 = call ptr @realloc(ptr %t15998, i64 %t15997) store ptr %t15999, ptr %t15987 store i32 %t15993, ptr %t15986 br label %put3226 put3226: %t16000 = load ptr, ptr %t15987 %t16001 = getelementptr inbounds ptr, ptr %t16000, i32 %t15988 store ptr %t15984, ptr %t16001 %t16002 = add i32 %t15988, 1 store i32 %t16002, ptr %t15985 %t16003 = load i32, ptr %t15966 %t16004 = add i32 %t16003, 1 store i32 %t16004, ptr %t15966 br label %wcond3220 wend3222: br label %ifend3219 ifend3219: br label %ifend3211 ifend3211: %t16005 = load ptr, ptr %t452 %t16006 = icmp eq ptr %t16005, null %t16007 = zext i1 %t16006 to i32 %t16008 = icmp ne i32 %t16007, 0 br i1 %t16008, label %then3227, label %ifend3229 then3227: %t16009 = load ptr, ptr %t0 %t16010 = call ptr @lp_str_concat(ptr @.str9712, ptr %t16009) %t16011 = call ptr @lp_str_concat(ptr %t16010, ptr @.str9713) %t16012 = load ptr, ptr %t1 %t16013 = call ptr @lp_str_concat(ptr %t16011, ptr %t16012) call void @fn_perr(ptr %t16013) br label %ifend3229 ifend3229: %t16014 = load ptr, ptr %t2 %t16015 = load ptr, ptr %t459 call void @fn_reorder_named(ptr %t16014, ptr %t16015) %t16016 = call ptr @fn_node(i32 33) store ptr %t16016, ptr %t16017 %t16018 = load ptr, ptr %t16017 %t16019 = getelementptr inbounds %Cmp_Node, ptr %t16018, i32 0, i32 1 %t16020 = load ptr, ptr %t452 store ptr %t16020, ptr %t16019 %t16021 = load ptr, ptr %t2 %t16022 = getelementptr inbounds %Cmp_Node, ptr %t16021, i32 0, i32 4 %t16023 = load ptr, ptr %t16017 store ptr %t16023, ptr %t16022 %t16024 = load ptr, ptr %t2 %t16025 = call ptr @fn_emit_call(ptr %t16024) store ptr %t16025, ptr %retval br label %ret ret: %t16026 = load ptr, ptr %retval ret ptr %t16026 } define ptr @fn_emit_variant_new(ptr %arg_en, i32 %arg_ord, ptr %arg_args) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca ptr %t15 = alloca ptr %t21 = alloca i32 %t49 = alloca ptr %t53 = alloca i32 %t73 = alloca ptr %t85 = alloca ptr %t89 = alloca ptr %t91 = alloca ptr store ptr %arg_en, ptr %t0 store i32 %arg_ord, ptr %t1 store ptr %arg_args, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 %t7 = load ptr, ptr %t6 %t8 = load i32, ptr %t1 %t9 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t10 = load i32, ptr %t9 %t11 = icmp ult i32 %t8, %t10 br i1 %t11, label %ixok0, label %ixbad1 ixbad1: %t12 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t12, ptr @.fmt_bounds, ptr @.str9714, i32 %t8, i32 %t10) call void @exit(i32 1) unreachable ixok0: %t13 = getelementptr inbounds ptr, ptr %t7, i32 %t8 %t14 = load ptr, ptr %t13 store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t20 = load i32, ptr %t19 store i32 %t20, ptr %t21 %t22 = load ptr, ptr %t2 %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = load i32, ptr %t21 %t26 = icmp ne i32 %t24, %t25 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then2, label %ifend4 then2: %t29 = load ptr, ptr %t15 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 %t32 = call ptr @lp_str_concat(ptr @.str9715, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str9716) %t34 = load i32, ptr %t21 %t35 = call ptr @fn_itoa(i32 %t34) %t36 = call ptr @lp_str_concat(ptr %t33, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str9717) %t38 = load ptr, ptr %t2 %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = call ptr @fn_itoa(i32 %t40) %t42 = call ptr @lp_str_concat(ptr %t37, ptr %t41) call void @fn_perr(ptr %t42) br label %ifend4 ifend4: %t43 = load ptr, ptr %t0 %t44 = call i32 @fn_enum_box_size(ptr %t43) %t45 = call ptr @fn_itoa(i32 %t44) %t46 = call ptr @lp_str_concat(ptr @.str9718, ptr %t45) %t47 = call ptr @lp_str_concat(ptr %t46, ptr @.str9719) %t48 = call ptr @fn_emit_bind(ptr %t47) store ptr %t48, ptr %t49 call void @fn_emit(ptr @.str9720) %t50 = load i32, ptr %t1 %t51 = call ptr @fn_itoa(i32 %t50) call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str9721) %t52 = load ptr, ptr %t49 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str9722) store i32 0, ptr %t53 br label %wcond5 wcond5: %t54 = load i32, ptr %t53 %t55 = load i32, ptr %t21 %t56 = icmp slt i32 %t54, %t55 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %wbody6, label %wend7 wbody6: %t59 = load ptr, ptr %t15 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 7 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = load i32, ptr %t53 %t65 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 1 %t66 = load i32, ptr %t65 %t67 = icmp ult i32 %t64, %t66 br i1 %t67, label %ixok8, label %ixbad9 ixbad9: %t68 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str9723, i32 %t64, i32 %t66) call void @exit(i32 1) unreachable ixok8: %t69 = getelementptr inbounds ptr, ptr %t63, i32 %t64 %t70 = load ptr, ptr %t69 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 3 %t72 = load ptr, ptr %t71 store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t2 %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 %t76 = load ptr, ptr %t75 %t77 = load i32, ptr %t53 %t78 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 %t79 = load i32, ptr %t78 %t80 = icmp ult i32 %t77, %t79 br i1 %t80, label %ixok10, label %ixbad11 ixbad11: %t81 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str9724, i32 %t77, i32 %t79) call void @exit(i32 1) unreachable ixok10: %t82 = getelementptr inbounds ptr, ptr %t76, i32 %t77 %t83 = load ptr, ptr %t82 %t84 = call ptr @fn_emit_expr(ptr %t83) store ptr %t84, ptr %t85 %t86 = load ptr, ptr %t85 %t87 = load ptr, ptr %t73 %t88 = call ptr @fn_coerce_code(ptr %t86, ptr %t87) store ptr %t88, ptr %t89 %t90 = call ptr @fn_nreg() store ptr %t90, ptr %t91 call void @fn_emit(ptr @.str9725) %t92 = load ptr, ptr %t91 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str9726) %t93 = load ptr, ptr %t49 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str9727) %t94 = load i32, ptr %t53 %t95 = add i32 %t94, 1 %t96 = mul i32 8, %t95 %t97 = call ptr @fn_itoa(i32 %t96) call void @fn_emit(ptr %t97) call void @fn_emit(ptr @.str9728) call void @fn_emit(ptr @.str9729) %t98 = load ptr, ptr %t73 %t99 = call ptr @fn_llty(ptr %t98) call void @fn_emit(ptr %t99) call void @fn_emit(ptr @.str9730) %t100 = load ptr, ptr %t89 call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str9731) %t101 = load ptr, ptr %t91 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str9732) %t102 = load i32, ptr %t53 %t103 = add i32 %t102, 1 store i32 %t103, ptr %t53 br label %wcond5 wend7: %t104 = load ptr, ptr %t49 %t105 = load ptr, ptr %t0 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 1 %t107 = load ptr, ptr %t106 %t108 = call ptr @fn_val(ptr %t104, ptr %t107) store ptr %t108, ptr %retval br label %ret ret: %t109 = load ptr, ptr %retval ret ptr %t109 } define ptr @fn_emit_call(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t38 = alloca ptr %t99 = alloca ptr %t122 = alloca ptr %t135 = alloca ptr %t162 = alloca ptr %t175 = alloca ptr %t203 = alloca ptr %t216 = alloca ptr %t229 = alloca ptr %t255 = alloca ptr %t278 = alloca ptr %t301 = alloca ptr %t314 = alloca ptr %t337 = alloca ptr %t349 = alloca ptr %t354 = alloca ptr %t392 = alloca ptr %t412 = alloca ptr %t417 = alloca i32 %t441 = alloca ptr %t454 = alloca ptr %t467 = alloca ptr %t478 = alloca i32 %t502 = alloca ptr %t515 = alloca ptr %t553 = alloca ptr %t603 = alloca ptr %t654 = alloca ptr %t661 = alloca ptr %t682 = alloca ptr %t689 = alloca ptr %t694 = alloca ptr %t715 = alloca ptr %t740 = alloca i32 %t741 = alloca i32 %t742 = alloca i32 %t788 = alloca i32 %t789 = alloca i32 %t826 = alloca ptr %t863 = alloca i32 %t864 = alloca i32 %t901 = alloca ptr %t912 = alloca i32 %t938 = alloca i32 %t964 = alloca i32 %t990 = alloca i32 %t1016 = alloca i32 %t1017 = alloca i32 %t1037 = alloca ptr %t1070 = alloca ptr %t1093 = alloca ptr %t1100 = alloca ptr %t1110 = alloca ptr %t1129 = alloca ptr %t1142 = alloca ptr %t1153 = alloca ptr %t1163 = alloca ptr %t1188 = alloca ptr %t1201 = alloca ptr %t1214 = alloca ptr %t1225 = alloca ptr %t1229 = alloca ptr %t1234 = alloca ptr %t1244 = alloca ptr %t1253 = alloca ptr %t1263 = alloca ptr %t1288 = alloca ptr %t1298 = alloca ptr %t1301 = alloca ptr %t1329 = alloca ptr %t1336 = alloca ptr %t1338 = alloca ptr %t1340 = alloca ptr %t1364 = alloca ptr %t1374 = alloca ptr %t1377 = alloca ptr %t1392 = alloca i32 %t1416 = alloca ptr %t1418 = alloca ptr %t1423 = alloca ptr %t1431 = alloca ptr %t1443 = alloca ptr %t1449 = alloca i32 %t1473 = alloca ptr %t1475 = alloca ptr %t1480 = alloca ptr %t1488 = alloca ptr %t1496 = alloca ptr %t1507 = alloca i32 %t1531 = alloca ptr %t1538 = alloca ptr %t1542 = alloca ptr %t1547 = alloca ptr %t1553 = alloca i32 %t1577 = alloca ptr %t1584 = alloca ptr %t1588 = alloca ptr %t1593 = alloca ptr %t1599 = alloca i32 %t1623 = alloca ptr %t1625 = alloca ptr %t1630 = alloca ptr %t1638 = alloca ptr %t1648 = alloca i32 %t1661 = alloca ptr %t1666 = alloca ptr %t1674 = alloca ptr %t1680 = alloca i32 %t1704 = alloca ptr %t1711 = alloca ptr %t1715 = alloca ptr %t1720 = alloca ptr %t1726 = alloca i32 %t1750 = alloca ptr %t1757 = alloca ptr %t1761 = alloca ptr %t1766 = alloca ptr %t1772 = alloca i32 %t1796 = alloca ptr %t1809 = alloca ptr %t1816 = alloca ptr %t1820 = alloca ptr %t1827 = alloca ptr %t1831 = alloca ptr %t1836 = alloca ptr %t1863 = alloca ptr %t1886 = alloca ptr %t1899 = alloca ptr %t1927 = alloca ptr %t1940 = alloca ptr %t1953 = alloca ptr %t1970 = alloca ptr %t1991 = alloca ptr %t2004 = alloca ptr %t2017 = alloca ptr %t2030 = alloca ptr %t2037 = alloca ptr %t2064 = alloca ptr %t2077 = alloca ptr %t2110 = alloca ptr %t2133 = alloca ptr %t2156 = alloca ptr %t2169 = alloca ptr %t2197 = alloca ptr %t2210 = alloca ptr %t2238 = alloca ptr %t2251 = alloca ptr %t2274 = alloca ptr %t2287 = alloca ptr %t2310 = alloca ptr %t2338 = alloca ptr %t2361 = alloca ptr %t2384 = alloca ptr %t2397 = alloca ptr %t2425 = alloca ptr %t2438 = alloca ptr %t2471 = alloca ptr %t2485 = alloca ptr %t2492 = alloca ptr %t2493 = alloca i32 %t2516 = alloca ptr %t2567 = alloca ptr %t2568 = alloca ptr %t2623 = alloca ptr %t2636 = alloca ptr %t2638 = alloca ptr %t2645 = alloca ptr %t2660 = alloca ptr %t2667 = alloca ptr %t2674 = alloca ptr %t2675 = alloca i32 %t2698 = alloca ptr %t2702 = alloca ptr %t2768 = alloca ptr %t2769 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 %t3 = load ptr, ptr %t2 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 0 %t5 = load i32, ptr %t4 %t6 = icmp eq i32 %t5, 35 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0 %t15 = load i32, ptr %t14 %t16 = icmp eq i32 %t15, 33 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4 %t21 = load ptr, ptr %t20 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 4 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1 %t25 = load ptr, ptr %t24 %t26 = load ptr, ptr %t0 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 4 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t0 %t32 = call ptr @fn_emit_ns_call(ptr %t25, ptr %t30, ptr %t31) store ptr %t32, ptr %retval br label %ret ifend5: call void @fn_perr(ptr @.str9733) br label %ifend2 ifend2: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 %t40 = call i32 @lp_str_eq(ptr %t39, ptr @.str9734) %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then6, label %ifend8 then6: %t42 = load i32, ptr @g_nself %t43 = icmp eq i32 %t42, 0 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then9, label %ifend11 then9: %t46 = call ptr @fn_val(ptr @.str9735, ptr @.str9736) store ptr %t46, ptr %retval br label %ret ifend11: %t47 = load ptr, ptr @g_self_stk %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0 %t49 = load ptr, ptr %t48 %t50 = load i32, ptr @g_nself %t51 = sub i32 %t50, 1 %t52 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t53 = load i32, ptr %t52 %t54 = icmp ult i32 %t51, %t53 br i1 %t54, label %ixok12, label %ixbad13 ixbad13: %t55 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str9738, i32 %t51, i32 %t53) call void @exit(i32 1) unreachable ixok12: %t56 = getelementptr inbounds ptr, ptr %t49, i32 %t51 %t57 = load ptr, ptr %t56 %t58 = call ptr @lp_str_concat(ptr @.str9737, ptr %t57) %t59 = call ptr @fn_emit_bind(ptr %t58) %t60 = call ptr @fn_val(ptr %t59, ptr @.str9739) store ptr %t60, ptr %retval br label %ret ifend8: %t61 = load ptr, ptr %t38 %t62 = call i32 @lp_str_eq(ptr %t61, ptr @.str9740) %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %then14, label %ifend16 then14: %t64 = call ptr @fn_emit_bind(ptr @.str9741) %t65 = call ptr @fn_val(ptr %t64, ptr @.str9742) store ptr %t65, ptr %retval br label %ret ifend16: %t66 = load ptr, ptr %t38 %t67 = call i32 @lp_str_eq(ptr %t66, ptr @.str9743) %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %then17, label %ifend19 then17: call void @fn_emit(ptr @.str9744) %t69 = call ptr @fn_val(ptr @.str9745, ptr @.str9746) store ptr %t69, ptr %retval br label %ret ifend19: %t70 = load ptr, ptr %t38 %t71 = call i32 @lp_str_eq(ptr %t70, ptr @.str9747) %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then20, label %ifend22 then20: call void @fn_emit(ptr @.str9748) %t73 = call ptr @fn_val(ptr @.str9749, ptr @.str9750) store ptr %t73, ptr %retval br label %ret ifend22: %t74 = load ptr, ptr %t38 %t75 = call i32 @lp_str_eq(ptr %t74, ptr @.str9751) %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %then23, label %ifend25 then23: %t77 = call ptr @fn_emit_bind(ptr @.str9752) %t78 = call ptr @fn_val(ptr %t77, ptr @.str9753) store ptr %t78, ptr %retval br label %ret ifend25: %t79 = load ptr, ptr %t38 %t80 = call i32 @lp_str_eq(ptr %t79, ptr @.str9754) %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then26, label %ifend28 then26: %t82 = call ptr @fn_emit_bind(ptr @.str9755) %t83 = call ptr @fn_val(ptr %t82, ptr @.str9756) store ptr %t83, ptr %retval br label %ret ifend28: %t84 = load ptr, ptr %t38 %t85 = call i32 @lp_str_eq(ptr %t84, ptr @.str9757) %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then29, label %ifend31 then29: %t87 = load ptr, ptr %t0 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 7 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t91 = load ptr, ptr %t90 %t92 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t93 = load i32, ptr %t92 %t94 = icmp ult i32 0, %t93 br i1 %t94, label %ixok32, label %ixbad33 ixbad33: %t95 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t95, ptr @.fmt_bounds, ptr @.str9758, i32 0, i32 %t93) call void @exit(i32 1) unreachable ixok32: %t96 = getelementptr inbounds ptr, ptr %t91, i32 0 %t97 = load ptr, ptr %t96 %t98 = call ptr @fn_emit_expr(ptr %t97) store ptr %t98, ptr %t99 %t100 = load ptr, ptr %t99 %t101 = getelementptr inbounds %Cmp_Val, ptr %t100, i32 0, i32 0 %t102 = load ptr, ptr %t101 %t103 = call ptr @lp_str_concat(ptr @.str9759, ptr %t102) %t104 = call ptr @lp_str_concat(ptr %t103, ptr @.str9760) %t105 = call ptr @fn_emit_bind(ptr %t104) %t106 = call ptr @fn_val(ptr %t105, ptr @.str9761) store ptr %t106, ptr %retval br label %ret ifend31: %t107 = load ptr, ptr %t38 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str9762) %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then34, label %ifend36 then34: %t110 = load ptr, ptr %t0 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 7 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0 %t114 = load ptr, ptr %t113 %t115 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 %t116 = load i32, ptr %t115 %t117 = icmp ult i32 0, %t116 br i1 %t117, label %ixok37, label %ixbad38 ixbad38: %t118 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str9763, i32 0, i32 %t116) call void @exit(i32 1) unreachable ixok37: %t119 = getelementptr inbounds ptr, ptr %t114, i32 0 %t120 = load ptr, ptr %t119 %t121 = call ptr @fn_emit_expr(ptr %t120) store ptr %t121, ptr %t122 %t123 = load ptr, ptr %t0 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 7 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 %t127 = load ptr, ptr %t126 %t128 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t129 = load i32, ptr %t128 %t130 = icmp ult i32 1, %t129 br i1 %t130, label %ixok39, label %ixbad40 ixbad40: %t131 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t131, ptr @.fmt_bounds, ptr @.str9764, i32 1, i32 %t129) call void @exit(i32 1) unreachable ixok39: %t132 = getelementptr inbounds ptr, ptr %t127, i32 1 %t133 = load ptr, ptr %t132 %t134 = call ptr @fn_emit_expr(ptr %t133) store ptr %t134, ptr %t135 call void @fn_emit(ptr @.str9765) %t136 = load ptr, ptr %t122 %t137 = getelementptr inbounds %Cmp_Val, ptr %t136, i32 0, i32 0 %t138 = load ptr, ptr %t137 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str9766) %t139 = load ptr, ptr %t135 %t140 = getelementptr inbounds %Cmp_Val, ptr %t139, i32 0, i32 0 %t141 = load ptr, ptr %t140 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str9767) %t142 = call ptr @fn_val(ptr @.str9768, ptr @.str9769) store ptr %t142, ptr %retval br label %ret ifend36: %t143 = load ptr, ptr %t38 %t144 = call i32 @lp_str_eq(ptr %t143, ptr @.str9770) %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then41, label %ifend43 then41: call void @fn_emit(ptr @.str9771) %t146 = call ptr @fn_val(ptr @.str9772, ptr @.str9773) store ptr %t146, ptr %retval br label %ret ifend43: %t147 = load ptr, ptr %t38 %t148 = call i32 @lp_str_eq(ptr %t147, ptr @.str9774) %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then44, label %ifend46 then44: %t150 = load ptr, ptr %t0 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 7 %t152 = load ptr, ptr %t151 %t153 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 0 %t154 = load ptr, ptr %t153 %t155 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t156 = load i32, ptr %t155 %t157 = icmp ult i32 0, %t156 br i1 %t157, label %ixok47, label %ixbad48 ixbad48: %t158 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t158, ptr @.fmt_bounds, ptr @.str9775, i32 0, i32 %t156) call void @exit(i32 1) unreachable ixok47: %t159 = getelementptr inbounds ptr, ptr %t154, i32 0 %t160 = load ptr, ptr %t159 %t161 = call ptr @fn_emit_expr(ptr %t160) store ptr %t161, ptr %t162 %t163 = load ptr, ptr %t0 %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 7 %t165 = load ptr, ptr %t164 %t166 = getelementptr inbounds %LSlice, ptr %t165, i32 0, i32 0 %t167 = load ptr, ptr %t166 %t168 = getelementptr inbounds %LSlice, ptr %t165, i32 0, i32 1 %t169 = load i32, ptr %t168 %t170 = icmp ult i32 1, %t169 br i1 %t170, label %ixok49, label %ixbad50 ixbad50: %t171 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t171, ptr @.fmt_bounds, ptr @.str9776, i32 1, i32 %t169) call void @exit(i32 1) unreachable ixok49: %t172 = getelementptr inbounds ptr, ptr %t167, i32 1 %t173 = load ptr, ptr %t172 %t174 = call ptr @fn_emit_expr(ptr %t173) store ptr %t174, ptr %t175 %t176 = load ptr, ptr %t162 %t177 = getelementptr inbounds %Cmp_Val, ptr %t176, i32 0, i32 0 %t178 = load ptr, ptr %t177 %t179 = call ptr @lp_str_concat(ptr @.str9777, ptr %t178) %t180 = call ptr @lp_str_concat(ptr %t179, ptr @.str9778) %t181 = load ptr, ptr %t175 %t182 = getelementptr inbounds %Cmp_Val, ptr %t181, i32 0, i32 0 %t183 = load ptr, ptr %t182 %t184 = call ptr @lp_str_concat(ptr %t180, ptr %t183) %t185 = call ptr @lp_str_concat(ptr %t184, ptr @.str9779) %t186 = call ptr @fn_emit_bind(ptr %t185) %t187 = call ptr @fn_val(ptr %t186, ptr @.str9780) store ptr %t187, ptr %retval br label %ret ifend46: %t188 = load ptr, ptr %t38 %t189 = call i32 @lp_str_eq(ptr %t188, ptr @.str9781) %t190 = icmp ne i32 %t189, 0 br i1 %t190, label %then51, label %ifend53 then51: %t191 = load ptr, ptr %t0 %t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 7 %t193 = load ptr, ptr %t192 %t194 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 0 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 1 %t197 = load i32, ptr %t196 %t198 = icmp ult i32 0, %t197 br i1 %t198, label %ixok54, label %ixbad55 ixbad55: %t199 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t199, ptr @.fmt_bounds, ptr @.str9782, i32 0, i32 %t197) call void @exit(i32 1) unreachable ixok54: %t200 = getelementptr inbounds ptr, ptr %t195, i32 0 %t201 = load ptr, ptr %t200 %t202 = call ptr @fn_emit_expr(ptr %t201) store ptr %t202, ptr %t203 %t204 = load ptr, ptr %t0 %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 7 %t206 = load ptr, ptr %t205 %t207 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 0 %t208 = load ptr, ptr %t207 %t209 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 1 %t210 = load i32, ptr %t209 %t211 = icmp ult i32 1, %t210 br i1 %t211, label %ixok56, label %ixbad57 ixbad57: %t212 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t212, ptr @.fmt_bounds, ptr @.str9783, i32 1, i32 %t210) call void @exit(i32 1) unreachable ixok56: %t213 = getelementptr inbounds ptr, ptr %t208, i32 1 %t214 = load ptr, ptr %t213 %t215 = call ptr @fn_emit_expr(ptr %t214) store ptr %t215, ptr %t216 %t217 = load ptr, ptr %t0 %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 7 %t219 = load ptr, ptr %t218 %t220 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 0 %t221 = load ptr, ptr %t220 %t222 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 1 %t223 = load i32, ptr %t222 %t224 = icmp ult i32 2, %t223 br i1 %t224, label %ixok58, label %ixbad59 ixbad59: %t225 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t225, ptr @.fmt_bounds, ptr @.str9784, i32 2, i32 %t223) call void @exit(i32 1) unreachable ixok58: %t226 = getelementptr inbounds ptr, ptr %t221, i32 2 %t227 = load ptr, ptr %t226 %t228 = call ptr @fn_emit_expr(ptr %t227) store ptr %t228, ptr %t229 call void @fn_emit(ptr @.str9785) %t230 = load ptr, ptr %t203 %t231 = getelementptr inbounds %Cmp_Val, ptr %t230, i32 0, i32 0 %t232 = load ptr, ptr %t231 call void @fn_emit(ptr %t232) call void @fn_emit(ptr @.str9786) %t233 = load ptr, ptr %t216 %t234 = getelementptr inbounds %Cmp_Val, ptr %t233, i32 0, i32 0 %t235 = load ptr, ptr %t234 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str9787) %t236 = load ptr, ptr %t229 %t237 = getelementptr inbounds %Cmp_Val, ptr %t236, i32 0, i32 0 %t238 = load ptr, ptr %t237 call void @fn_emit(ptr %t238) call void @fn_emit(ptr @.str9788) %t239 = call ptr @fn_val(ptr @.str9789, ptr @.str9790) store ptr %t239, ptr %retval br label %ret ifend53: %t240 = load ptr, ptr %t38 %t241 = call i32 @lp_str_eq(ptr %t240, ptr @.str9791) %t242 = icmp ne i32 %t241, 0 br i1 %t242, label %then60, label %ifend62 then60: %t243 = load ptr, ptr %t0 %t244 = getelementptr inbounds %Cmp_Node, ptr %t243, i32 0, i32 7 %t245 = load ptr, ptr %t244 %t246 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 0 %t247 = load ptr, ptr %t246 %t248 = getelementptr inbounds %LSlice, ptr %t245, i32 0, i32 1 %t249 = load i32, ptr %t248 %t250 = icmp ult i32 0, %t249 br i1 %t250, label %ixok63, label %ixbad64 ixbad64: %t251 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t251, ptr @.fmt_bounds, ptr @.str9792, i32 0, i32 %t249) call void @exit(i32 1) unreachable ixok63: %t252 = getelementptr inbounds ptr, ptr %t247, i32 0 %t253 = load ptr, ptr %t252 %t254 = call ptr @fn_emit_expr(ptr %t253) store ptr %t254, ptr %t255 %t256 = load ptr, ptr %t255 %t257 = getelementptr inbounds %Cmp_Val, ptr %t256, i32 0, i32 0 %t258 = load ptr, ptr %t257 %t259 = call ptr @lp_str_concat(ptr @.str9793, ptr %t258) %t260 = call ptr @lp_str_concat(ptr %t259, ptr @.str9794) %t261 = call ptr @fn_emit_bind(ptr %t260) %t262 = call ptr @fn_val(ptr %t261, ptr @.str9795) store ptr %t262, ptr %retval br label %ret ifend62: %t263 = load ptr, ptr %t38 %t264 = call i32 @lp_str_eq(ptr %t263, ptr @.str9796) %t265 = icmp ne i32 %t264, 0 br i1 %t265, label %then65, label %ifend67 then65: %t266 = load ptr, ptr %t0 %t267 = getelementptr inbounds %Cmp_Node, ptr %t266, i32 0, i32 7 %t268 = load ptr, ptr %t267 %t269 = getelementptr inbounds %LSlice, ptr %t268, i32 0, i32 0 %t270 = load ptr, ptr %t269 %t271 = getelementptr inbounds %LSlice, ptr %t268, i32 0, i32 1 %t272 = load i32, ptr %t271 %t273 = icmp ult i32 0, %t272 br i1 %t273, label %ixok68, label %ixbad69 ixbad69: %t274 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t274, ptr @.fmt_bounds, ptr @.str9797, i32 0, i32 %t272) call void @exit(i32 1) unreachable ixok68: %t275 = getelementptr inbounds ptr, ptr %t270, i32 0 %t276 = load ptr, ptr %t275 %t277 = call ptr @fn_emit_expr(ptr %t276) store ptr %t277, ptr %t278 %t279 = load ptr, ptr %t278 %t280 = getelementptr inbounds %Cmp_Val, ptr %t279, i32 0, i32 0 %t281 = load ptr, ptr %t280 %t282 = call ptr @lp_str_concat(ptr @.str9798, ptr %t281) %t283 = call ptr @lp_str_concat(ptr %t282, ptr @.str9799) %t284 = call ptr @fn_emit_bind(ptr %t283) %t285 = call ptr @fn_val(ptr %t284, ptr @.str9800) store ptr %t285, ptr %retval br label %ret ifend67: %t286 = load ptr, ptr %t38 %t287 = call i32 @lp_str_eq(ptr %t286, ptr @.str9801) %t288 = icmp ne i32 %t287, 0 br i1 %t288, label %then70, label %ifend72 then70: %t289 = load ptr, ptr %t0 %t290 = getelementptr inbounds %Cmp_Node, ptr %t289, i32 0, i32 7 %t291 = load ptr, ptr %t290 %t292 = getelementptr inbounds %LSlice, ptr %t291, i32 0, i32 0 %t293 = load ptr, ptr %t292 %t294 = getelementptr inbounds %LSlice, ptr %t291, i32 0, i32 1 %t295 = load i32, ptr %t294 %t296 = icmp ult i32 0, %t295 br i1 %t296, label %ixok73, label %ixbad74 ixbad74: %t297 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t297, ptr @.fmt_bounds, ptr @.str9802, i32 0, i32 %t295) call void @exit(i32 1) unreachable ixok73: %t298 = getelementptr inbounds ptr, ptr %t293, i32 0 %t299 = load ptr, ptr %t298 %t300 = call ptr @fn_emit_expr(ptr %t299) store ptr %t300, ptr %t301 %t302 = load ptr, ptr %t0 %t303 = getelementptr inbounds %Cmp_Node, ptr %t302, i32 0, i32 7 %t304 = load ptr, ptr %t303 %t305 = getelementptr inbounds %LSlice, ptr %t304, i32 0, i32 0 %t306 = load ptr, ptr %t305 %t307 = getelementptr inbounds %LSlice, ptr %t304, i32 0, i32 1 %t308 = load i32, ptr %t307 %t309 = icmp ult i32 1, %t308 br i1 %t309, label %ixok75, label %ixbad76 ixbad76: %t310 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t310, ptr @.fmt_bounds, ptr @.str9803, i32 1, i32 %t308) call void @exit(i32 1) unreachable ixok75: %t311 = getelementptr inbounds ptr, ptr %t306, i32 1 %t312 = load ptr, ptr %t311 %t313 = call ptr @fn_emit_expr(ptr %t312) store ptr %t313, ptr %t314 call void @fn_emit(ptr @.str9804) %t315 = load ptr, ptr %t301 %t316 = getelementptr inbounds %Cmp_Val, ptr %t315, i32 0, i32 0 %t317 = load ptr, ptr %t316 call void @fn_emit(ptr %t317) call void @fn_emit(ptr @.str9805) %t318 = load ptr, ptr %t314 %t319 = getelementptr inbounds %Cmp_Val, ptr %t318, i32 0, i32 0 %t320 = load ptr, ptr %t319 call void @fn_emit(ptr %t320) call void @fn_emit(ptr @.str9806) %t321 = call ptr @fn_val(ptr @.str9807, ptr @.str9808) store ptr %t321, ptr %retval br label %ret ifend72: %t322 = load ptr, ptr %t38 %t323 = call i32 @lp_str_eq(ptr %t322, ptr @.str9809) %t324 = icmp ne i32 %t323, 0 br i1 %t324, label %then77, label %ifend79 then77: %t325 = load ptr, ptr %t0 %t326 = getelementptr inbounds %Cmp_Node, ptr %t325, i32 0, i32 7 %t327 = load ptr, ptr %t326 %t328 = getelementptr inbounds %LSlice, ptr %t327, i32 0, i32 0 %t329 = load ptr, ptr %t328 %t330 = getelementptr inbounds %LSlice, ptr %t327, i32 0, i32 1 %t331 = load i32, ptr %t330 %t332 = icmp ult i32 0, %t331 br i1 %t332, label %ixok80, label %ixbad81 ixbad81: %t333 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t333, ptr @.fmt_bounds, ptr @.str9810, i32 0, i32 %t331) call void @exit(i32 1) unreachable ixok80: %t334 = getelementptr inbounds ptr, ptr %t329, i32 0 %t335 = load ptr, ptr %t334 %t336 = call ptr @fn_emit_expr(ptr %t335) store ptr %t336, ptr %t337 %t338 = load ptr, ptr %t337 %t339 = getelementptr inbounds %Cmp_Val, ptr %t338, i32 0, i32 0 %t340 = load ptr, ptr %t339 %t341 = call ptr @lp_str_concat(ptr @.str9811, ptr %t340) %t342 = call ptr @lp_str_concat(ptr %t341, ptr @.str9812) %t343 = call ptr @fn_emit_bind(ptr %t342) %t344 = call ptr @fn_val(ptr %t343, ptr @.str9813) store ptr %t344, ptr %retval br label %ret ifend79: %t345 = load ptr, ptr %t38 %t346 = call i32 @lp_str_eq(ptr %t345, ptr @.str9814) %t347 = icmp ne i32 %t346, 0 br i1 %t347, label %then82, label %ifend84 then82: %t348 = call ptr @fn_emit_bind(ptr @.str9815) store ptr %t348, ptr %t349 %t350 = load ptr, ptr %t349 %t351 = call ptr @lp_str_concat(ptr @.str9816, ptr %t350) %t352 = call ptr @lp_str_concat(ptr %t351, ptr @.str9817) %t353 = call ptr @fn_emit_bind(ptr %t352) store ptr %t353, ptr %t354 %t355 = load ptr, ptr %t354 %t356 = call ptr @lp_str_concat(ptr @.str9818, ptr %t355) %t357 = call ptr @lp_str_concat(ptr %t356, ptr @.str9819) %t358 = call ptr @fn_emit_bind(ptr %t357) %t359 = call ptr @fn_val(ptr %t358, ptr @.str9820) store ptr %t359, ptr %retval br label %ret ifend84: %t360 = load ptr, ptr %t38 %t361 = call i32 @lp_str_eq(ptr %t360, ptr @.str9821) %t362 = icmp ne i32 %t361, 0 br i1 %t362, label %then85, label %ifend87 then85: %t363 = call ptr @fn_emit_bind(ptr @.str9822) %t364 = call ptr @fn_val(ptr %t363, ptr @.str9823) store ptr %t364, ptr %retval br label %ret ifend87: %t365 = load ptr, ptr %t38 %t366 = call i32 @lp_str_eq(ptr %t365, ptr @.str9824) %t367 = icmp ne i32 %t366, 0 br i1 %t367, label %then88, label %ifend90 then88: call void @fn_emit(ptr @.str9825) %t368 = call ptr @fn_val(ptr @.str9826, ptr @.str9827) store ptr %t368, ptr %retval br label %ret ifend90: %t369 = load ptr, ptr %t38 %t370 = call i32 @lp_str_eq(ptr %t369, ptr @.str9828) %t371 = icmp ne i32 %t370, 0 br i1 %t371, label %then91, label %ifend93 then91: call void @fn_emit(ptr @.str9829) %t372 = call ptr @fn_val(ptr @.str9830, ptr @.str9831) store ptr %t372, ptr %retval br label %ret ifend93: %t373 = load ptr, ptr %t38 %t374 = call i32 @lp_str_eq(ptr %t373, ptr @.str9832) %t375 = icmp ne i32 %t374, 0 br i1 %t375, label %then94, label %ifend96 then94: call void @fn_emit(ptr @.str9833) %t376 = call ptr @fn_val(ptr @.str9834, ptr @.str9835) store ptr %t376, ptr %retval br label %ret ifend96: %t377 = load ptr, ptr %t38 %t378 = call i32 @lp_str_eq(ptr %t377, ptr @.str9836) %t379 = icmp ne i32 %t378, 0 br i1 %t379, label %then97, label %ifend99 then97: %t380 = load ptr, ptr %t0 %t381 = getelementptr inbounds %Cmp_Node, ptr %t380, i32 0, i32 7 %t382 = load ptr, ptr %t381 %t383 = getelementptr inbounds %LSlice, ptr %t382, i32 0, i32 0 %t384 = load ptr, ptr %t383 %t385 = getelementptr inbounds %LSlice, ptr %t382, i32 0, i32 1 %t386 = load i32, ptr %t385 %t387 = icmp ult i32 0, %t386 br i1 %t387, label %ixok100, label %ixbad101 ixbad101: %t388 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t388, ptr @.fmt_bounds, ptr @.str9837, i32 0, i32 %t386) call void @exit(i32 1) unreachable ixok100: %t389 = getelementptr inbounds ptr, ptr %t384, i32 0 %t390 = load ptr, ptr %t389 %t391 = call ptr @fn_emit_expr(ptr %t390) store ptr %t391, ptr %t392 call void @fn_emit(ptr @.str9838) %t393 = load ptr, ptr %t392 %t394 = getelementptr inbounds %Cmp_Val, ptr %t393, i32 0, i32 0 %t395 = load ptr, ptr %t394 call void @fn_emit(ptr %t395) call void @fn_emit(ptr @.str9839) %t396 = call ptr @fn_val(ptr @.str9840, ptr @.str9841) store ptr %t396, ptr %retval br label %ret ifend99: %t397 = load ptr, ptr %t38 %t398 = call i32 @lp_str_eq(ptr %t397, ptr @.str9842) %t399 = icmp ne i32 %t398, 0 br i1 %t399, label %then102, label %ifend104 then102: %t400 = load ptr, ptr %t0 %t401 = getelementptr inbounds %Cmp_Node, ptr %t400, i32 0, i32 7 %t402 = load ptr, ptr %t401 %t403 = getelementptr inbounds %LSlice, ptr %t402, i32 0, i32 0 %t404 = load ptr, ptr %t403 %t405 = getelementptr inbounds %LSlice, ptr %t402, i32 0, i32 1 %t406 = load i32, ptr %t405 %t407 = icmp ult i32 0, %t406 br i1 %t407, label %ixok105, label %ixbad106 ixbad106: %t408 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t408, ptr @.fmt_bounds, ptr @.str9843, i32 0, i32 %t406) call void @exit(i32 1) unreachable ixok105: %t409 = getelementptr inbounds ptr, ptr %t404, i32 0 %t410 = load ptr, ptr %t409 %t411 = call ptr @fn_emit_expr(ptr %t410) store ptr %t411, ptr %t412 call void @fn_emit(ptr @.str9844) %t413 = load ptr, ptr %t412 %t414 = getelementptr inbounds %Cmp_Val, ptr %t413, i32 0, i32 0 %t415 = load ptr, ptr %t414 call void @fn_emit(ptr %t415) call void @fn_emit(ptr @.str9845) %t416 = call ptr @fn_val(ptr @.str9846, ptr @.str9847) store ptr %t416, ptr %retval br label %ret ifend104: %t418 = load ptr, ptr %t38 %t419 = call i32 @lp_str_eq(ptr %t418, ptr @.str9848) %t420 = icmp ne i32 %t419, 0 %t421 = zext i1 %t420 to i32 store i32 %t421, ptr %t417 br i1 %t420, label %sc107, label %scend108 sc107: %t422 = call ptr @fn_find_extern(ptr @.str9849) %t423 = icmp eq ptr %t422, null %t424 = zext i1 %t423 to i32 %t425 = icmp ne i32 %t424, 0 %t426 = zext i1 %t425 to i32 store i32 %t426, ptr %t417 br label %scend108 scend108: %t427 = load i32, ptr %t417 %t428 = icmp ne i32 %t427, 0 br i1 %t428, label %then109, label %ifend111 then109: store i32 1, ptr @g_g_uses_loopback %t429 = load ptr, ptr %t0 %t430 = getelementptr inbounds %Cmp_Node, ptr %t429, i32 0, i32 7 %t431 = load ptr, ptr %t430 %t432 = getelementptr inbounds %LSlice, ptr %t431, i32 0, i32 0 %t433 = load ptr, ptr %t432 %t434 = getelementptr inbounds %LSlice, ptr %t431, i32 0, i32 1 %t435 = load i32, ptr %t434 %t436 = icmp ult i32 0, %t435 br i1 %t436, label %ixok112, label %ixbad113 ixbad113: %t437 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t437, ptr @.fmt_bounds, ptr @.str9850, i32 0, i32 %t435) call void @exit(i32 1) unreachable ixok112: %t438 = getelementptr inbounds ptr, ptr %t433, i32 0 %t439 = load ptr, ptr %t438 %t440 = call ptr @fn_emit_expr(ptr %t439) store ptr %t440, ptr %t441 %t442 = load ptr, ptr %t0 %t443 = getelementptr inbounds %Cmp_Node, ptr %t442, i32 0, i32 7 %t444 = load ptr, ptr %t443 %t445 = getelementptr inbounds %LSlice, ptr %t444, i32 0, i32 0 %t446 = load ptr, ptr %t445 %t447 = getelementptr inbounds %LSlice, ptr %t444, i32 0, i32 1 %t448 = load i32, ptr %t447 %t449 = icmp ult i32 1, %t448 br i1 %t449, label %ixok114, label %ixbad115 ixbad115: %t450 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t450, ptr @.fmt_bounds, ptr @.str9851, i32 1, i32 %t448) call void @exit(i32 1) unreachable ixok114: %t451 = getelementptr inbounds ptr, ptr %t446, i32 1 %t452 = load ptr, ptr %t451 %t453 = call ptr @fn_emit_expr(ptr %t452) store ptr %t453, ptr %t454 %t455 = load ptr, ptr %t0 %t456 = getelementptr inbounds %Cmp_Node, ptr %t455, i32 0, i32 7 %t457 = load ptr, ptr %t456 %t458 = getelementptr inbounds %LSlice, ptr %t457, i32 0, i32 0 %t459 = load ptr, ptr %t458 %t460 = getelementptr inbounds %LSlice, ptr %t457, i32 0, i32 1 %t461 = load i32, ptr %t460 %t462 = icmp ult i32 2, %t461 br i1 %t462, label %ixok116, label %ixbad117 ixbad117: %t463 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t463, ptr @.fmt_bounds, ptr @.str9852, i32 2, i32 %t461) call void @exit(i32 1) unreachable ixok116: %t464 = getelementptr inbounds ptr, ptr %t459, i32 2 %t465 = load ptr, ptr %t464 %t466 = call ptr @fn_emit_expr(ptr %t465) store ptr %t466, ptr %t467 call void @fn_emit(ptr @.str9853) %t468 = load ptr, ptr %t441 %t469 = getelementptr inbounds %Cmp_Val, ptr %t468, i32 0, i32 0 %t470 = load ptr, ptr %t469 call void @fn_emit(ptr %t470) call void @fn_emit(ptr @.str9854) %t471 = load ptr, ptr %t454 %t472 = getelementptr inbounds %Cmp_Val, ptr %t471, i32 0, i32 0 %t473 = load ptr, ptr %t472 call void @fn_emit(ptr %t473) call void @fn_emit(ptr @.str9855) %t474 = load ptr, ptr %t467 %t475 = getelementptr inbounds %Cmp_Val, ptr %t474, i32 0, i32 0 %t476 = load ptr, ptr %t475 call void @fn_emit(ptr %t476) call void @fn_emit(ptr @.str9856) %t477 = call ptr @fn_val(ptr @.str9857, ptr @.str9858) store ptr %t477, ptr %retval br label %ret ifend111: %t479 = load ptr, ptr %t38 %t480 = call i32 @lp_str_eq(ptr %t479, ptr @.str9859) %t481 = icmp ne i32 %t480, 0 %t482 = zext i1 %t481 to i32 store i32 %t482, ptr %t478 br i1 %t481, label %sc118, label %scend119 sc118: %t483 = call ptr @fn_find_extern(ptr @.str9860) %t484 = icmp eq ptr %t483, null %t485 = zext i1 %t484 to i32 %t486 = icmp ne i32 %t485, 0 %t487 = zext i1 %t486 to i32 store i32 %t487, ptr %t478 br label %scend119 scend119: %t488 = load i32, ptr %t478 %t489 = icmp ne i32 %t488, 0 br i1 %t489, label %then120, label %ifend122 then120: store i32 1, ptr @g_g_uses_loopback %t490 = load ptr, ptr %t0 %t491 = getelementptr inbounds %Cmp_Node, ptr %t490, i32 0, i32 7 %t492 = load ptr, ptr %t491 %t493 = getelementptr inbounds %LSlice, ptr %t492, i32 0, i32 0 %t494 = load ptr, ptr %t493 %t495 = getelementptr inbounds %LSlice, ptr %t492, i32 0, i32 1 %t496 = load i32, ptr %t495 %t497 = icmp ult i32 0, %t496 br i1 %t497, label %ixok123, label %ixbad124 ixbad124: %t498 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t498, ptr @.fmt_bounds, ptr @.str9861, i32 0, i32 %t496) call void @exit(i32 1) unreachable ixok123: %t499 = getelementptr inbounds ptr, ptr %t494, i32 0 %t500 = load ptr, ptr %t499 %t501 = call ptr @fn_emit_expr(ptr %t500) store ptr %t501, ptr %t502 %t503 = load ptr, ptr %t0 %t504 = getelementptr inbounds %Cmp_Node, ptr %t503, i32 0, i32 7 %t505 = load ptr, ptr %t504 %t506 = getelementptr inbounds %LSlice, ptr %t505, i32 0, i32 0 %t507 = load ptr, ptr %t506 %t508 = getelementptr inbounds %LSlice, ptr %t505, i32 0, i32 1 %t509 = load i32, ptr %t508 %t510 = icmp ult i32 1, %t509 br i1 %t510, label %ixok125, label %ixbad126 ixbad126: %t511 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t511, ptr @.fmt_bounds, ptr @.str9862, i32 1, i32 %t509) call void @exit(i32 1) unreachable ixok125: %t512 = getelementptr inbounds ptr, ptr %t507, i32 1 %t513 = load ptr, ptr %t512 %t514 = call ptr @fn_emit_expr(ptr %t513) store ptr %t514, ptr %t515 %t516 = load ptr, ptr %t502 %t517 = getelementptr inbounds %Cmp_Val, ptr %t516, i32 0, i32 0 %t518 = load ptr, ptr %t517 %t519 = call ptr @lp_str_concat(ptr @.str9863, ptr %t518) %t520 = call ptr @lp_str_concat(ptr %t519, ptr @.str9864) %t521 = load ptr, ptr %t515 %t522 = getelementptr inbounds %Cmp_Val, ptr %t521, i32 0, i32 0 %t523 = load ptr, ptr %t522 %t524 = call ptr @lp_str_concat(ptr %t520, ptr %t523) %t525 = call ptr @lp_str_concat(ptr %t524, ptr @.str9865) %t526 = call ptr @fn_emit_bind(ptr %t525) %t527 = call ptr @fn_val(ptr %t526, ptr @.str9866) store ptr %t527, ptr %retval br label %ret ifend122: %t528 = load ptr, ptr %t38 %t529 = call i32 @lp_str_eq(ptr %t528, ptr @.str9867) %t530 = icmp ne i32 %t529, 0 br i1 %t530, label %then127, label %ifend129 then127: %t531 = load ptr, ptr %t0 %t532 = call ptr @fn_emit_len(ptr %t531) store ptr %t532, ptr %retval br label %ret ifend129: %t533 = load ptr, ptr %t38 %t534 = call i32 @lp_str_eq(ptr %t533, ptr @.str9868) %t535 = icmp ne i32 %t534, 0 br i1 %t535, label %then130, label %ifend132 then130: %t536 = load ptr, ptr %t0 %t537 = call ptr @fn_emit_push(ptr %t536) store ptr %t537, ptr %retval br label %ret ifend132: %t538 = load ptr, ptr %t38 %t539 = call i32 @lp_str_eq(ptr %t538, ptr @.str9869) %t540 = icmp ne i32 %t539, 0 br i1 %t540, label %then133, label %ifend135 then133: %t541 = load ptr, ptr %t0 %t542 = getelementptr inbounds %Cmp_Node, ptr %t541, i32 0, i32 7 %t543 = load ptr, ptr %t542 %t544 = getelementptr inbounds %LSlice, ptr %t543, i32 0, i32 0 %t545 = load ptr, ptr %t544 %t546 = getelementptr inbounds %LSlice, ptr %t543, i32 0, i32 1 %t547 = load i32, ptr %t546 %t548 = icmp ult i32 0, %t547 br i1 %t548, label %ixok136, label %ixbad137 ixbad137: %t549 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t549, ptr @.fmt_bounds, ptr @.str9870, i32 0, i32 %t547) call void @exit(i32 1) unreachable ixok136: %t550 = getelementptr inbounds ptr, ptr %t545, i32 0 %t551 = load ptr, ptr %t550 %t552 = call ptr @fn_emit_expr(ptr %t551) store ptr %t552, ptr %t553 %t554 = load ptr, ptr %t553 %t555 = getelementptr inbounds %Cmp_Val, ptr %t554, i32 0, i32 1 %t556 = load ptr, ptr %t555 %t557 = call ptr @fn_llty(ptr %t556) %t558 = call i32 @lp_str_eq(ptr %t557, ptr @.str9871) %t559 = icmp ne i32 %t558, 0 br i1 %t559, label %then138, label %ifend140 then138: %t560 = load ptr, ptr %t553 store ptr %t560, ptr %retval br label %ret ifend140: %t561 = load ptr, ptr %t553 %t562 = getelementptr inbounds %Cmp_Val, ptr %t561, i32 0, i32 1 %t563 = load ptr, ptr %t562 %t564 = call i32 @fn_is_fp(ptr %t563) %t565 = icmp ne i32 %t564, 0 br i1 %t565, label %then141, label %ifend143 then141: %t566 = load ptr, ptr %t553 %t567 = call ptr @fn_emit_fp_str(ptr %t566) store ptr %t567, ptr %retval br label %ret ifend143: %t568 = load ptr, ptr %t553 %t569 = getelementptr inbounds %Cmp_Val, ptr %t568, i32 0, i32 1 %t570 = load ptr, ptr %t569 %t571 = call ptr @fn_llty(ptr %t570) %t572 = call i32 @lp_str_eq(ptr %t571, ptr @.str9872) %t573 = icmp ne i32 %t572, 0 br i1 %t573, label %then144, label %ifend146 then144: store i32 1, ptr @g_g_uses_longstr %t574 = load ptr, ptr %t553 %t575 = getelementptr inbounds %Cmp_Val, ptr %t574, i32 0, i32 0 %t576 = load ptr, ptr %t575 %t577 = call ptr @lp_str_concat(ptr @.str9873, ptr %t576) %t578 = call ptr @lp_str_concat(ptr %t577, ptr @.str9874) %t579 = call ptr @fn_emit_bind(ptr %t578) %t580 = call ptr @fn_val(ptr %t579, ptr @.str9875) store ptr %t580, ptr %retval br label %ret ifend146: store i32 1, ptr @g_g_uses_intstr %t581 = load ptr, ptr %t553 %t582 = getelementptr inbounds %Cmp_Val, ptr %t581, i32 0, i32 0 %t583 = load ptr, ptr %t582 %t584 = call ptr @lp_str_concat(ptr @.str9876, ptr %t583) %t585 = call ptr @lp_str_concat(ptr %t584, ptr @.str9877) %t586 = call ptr @fn_emit_bind(ptr %t585) %t587 = call ptr @fn_val(ptr %t586, ptr @.str9878) store ptr %t587, ptr %retval br label %ret ifend135: %t588 = load ptr, ptr %t38 %t589 = call i32 @lp_str_eq(ptr %t588, ptr @.str9879) %t590 = icmp ne i32 %t589, 0 br i1 %t590, label %then147, label %ifend149 then147: %t591 = load ptr, ptr %t0 %t592 = getelementptr inbounds %Cmp_Node, ptr %t591, i32 0, i32 7 %t593 = load ptr, ptr %t592 %t594 = getelementptr inbounds %LSlice, ptr %t593, i32 0, i32 0 %t595 = load ptr, ptr %t594 %t596 = getelementptr inbounds %LSlice, ptr %t593, i32 0, i32 1 %t597 = load i32, ptr %t596 %t598 = icmp ult i32 0, %t597 br i1 %t598, label %ixok150, label %ixbad151 ixbad151: %t599 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t599, ptr @.fmt_bounds, ptr @.str9880, i32 0, i32 %t597) call void @exit(i32 1) unreachable ixok150: %t600 = getelementptr inbounds ptr, ptr %t595, i32 0 %t601 = load ptr, ptr %t600 %t602 = call ptr @fn_emit_expr(ptr %t601) store ptr %t602, ptr %t603 %t604 = load ptr, ptr %t603 %t605 = getelementptr inbounds %Cmp_Val, ptr %t604, i32 0, i32 1 %t606 = load ptr, ptr %t605 %t607 = call i32 @fn_is_fp(ptr %t606) %t608 = icmp ne i32 %t607, 0 br i1 %t608, label %then152, label %ifend154 then152: %t609 = load ptr, ptr %t603 %t610 = call ptr @fn_emit_fp_str(ptr %t609) store ptr %t610, ptr %t603 br label %ifend154 ifend154: %t611 = load ptr, ptr %t603 %t612 = getelementptr inbounds %Cmp_Val, ptr %t611, i32 0, i32 1 %t613 = load ptr, ptr %t612 %t614 = call ptr @fn_llty(ptr %t613) %t615 = call i32 @lp_str_eq(ptr %t614, ptr @.str9881) %t616 = icmp ne i32 %t615, 0 br i1 %t616, label %then155, label %else156 then155: %t617 = load ptr, ptr %t603 %t618 = getelementptr inbounds %Cmp_Val, ptr %t617, i32 0, i32 0 %t619 = load ptr, ptr %t618 %t620 = call ptr @lp_str_concat(ptr %t619, ptr @.str9883) %t621 = call ptr @lp_str_concat(ptr @.str9882, ptr %t620) call void @fn_emit(ptr %t621) br label %ifend157 else156: %t622 = load ptr, ptr %t603 %t623 = getelementptr inbounds %Cmp_Val, ptr %t622, i32 0, i32 1 %t624 = load ptr, ptr %t623 %t625 = call ptr @fn_llty(ptr %t624) %t626 = call i32 @lp_str_eq(ptr %t625, ptr @.str9884) %t627 = icmp ne i32 %t626, 0 br i1 %t627, label %then158, label %else159 then158: %t628 = load ptr, ptr %t603 %t629 = getelementptr inbounds %Cmp_Val, ptr %t628, i32 0, i32 0 %t630 = load ptr, ptr %t629 %t631 = call ptr @lp_str_concat(ptr %t630, ptr @.str9886) %t632 = call ptr @lp_str_concat(ptr @.str9885, ptr %t631) call void @fn_emit(ptr %t632) br label %ifend160 else159: %t633 = load ptr, ptr %t603 %t634 = getelementptr inbounds %Cmp_Val, ptr %t633, i32 0, i32 0 %t635 = load ptr, ptr %t634 %t636 = call ptr @lp_str_concat(ptr %t635, ptr @.str9888) %t637 = call ptr @lp_str_concat(ptr @.str9887, ptr %t636) call void @fn_emit(ptr %t637) br label %ifend160 ifend160: br label %ifend157 ifend157: %t638 = call ptr @fn_val(ptr @.str9889, ptr @.str9890) store ptr %t638, ptr %retval br label %ret ifend149: %t639 = load ptr, ptr %t38 %t640 = call i32 @lp_str_eq(ptr %t639, ptr @.str9891) %t641 = icmp ne i32 %t640, 0 br i1 %t641, label %then161, label %ifend163 then161: %t642 = load ptr, ptr %t0 %t643 = getelementptr inbounds %Cmp_Node, ptr %t642, i32 0, i32 7 %t644 = load ptr, ptr %t643 %t645 = getelementptr inbounds %LSlice, ptr %t644, i32 0, i32 0 %t646 = load ptr, ptr %t645 %t647 = getelementptr inbounds %LSlice, ptr %t644, i32 0, i32 1 %t648 = load i32, ptr %t647 %t649 = icmp ult i32 0, %t648 br i1 %t649, label %ixok164, label %ixbad165 ixbad165: %t650 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t650, ptr @.fmt_bounds, ptr @.str9892, i32 0, i32 %t648) call void @exit(i32 1) unreachable ixok164: %t651 = getelementptr inbounds ptr, ptr %t646, i32 0 %t652 = load ptr, ptr %t651 %t653 = call ptr @fn_emit_expr(ptr %t652) store ptr %t653, ptr %t654 %t655 = load ptr, ptr %t654 %t656 = getelementptr inbounds %Cmp_Val, ptr %t655, i32 0, i32 0 %t657 = load ptr, ptr %t656 %t658 = call ptr @lp_str_concat(ptr @.str9893, ptr %t657) %t659 = call ptr @lp_str_concat(ptr %t658, ptr @.str9894) %t660 = call ptr @fn_emit_bind(ptr %t659) store ptr %t660, ptr %t661 %t662 = load ptr, ptr %t661 %t663 = call ptr @lp_str_concat(ptr @.str9895, ptr %t662) %t664 = call ptr @lp_str_concat(ptr %t663, ptr @.str9896) %t665 = call ptr @fn_emit_bind(ptr %t664) %t666 = call ptr @fn_val(ptr %t665, ptr @.str9897) store ptr %t666, ptr %retval br label %ret ifend163: %t667 = load ptr, ptr %t38 %t668 = call i32 @lp_str_eq(ptr %t667, ptr @.str9898) %t669 = icmp ne i32 %t668, 0 br i1 %t669, label %then166, label %ifend168 then166: %t670 = load ptr, ptr %t0 %t671 = getelementptr inbounds %Cmp_Node, ptr %t670, i32 0, i32 7 %t672 = load ptr, ptr %t671 %t673 = getelementptr inbounds %LSlice, ptr %t672, i32 0, i32 0 %t674 = load ptr, ptr %t673 %t675 = getelementptr inbounds %LSlice, ptr %t672, i32 0, i32 1 %t676 = load i32, ptr %t675 %t677 = icmp ult i32 0, %t676 br i1 %t677, label %ixok169, label %ixbad170 ixbad170: %t678 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t678, ptr @.fmt_bounds, ptr @.str9899, i32 0, i32 %t676) call void @exit(i32 1) unreachable ixok169: %t679 = getelementptr inbounds ptr, ptr %t674, i32 0 %t680 = load ptr, ptr %t679 %t681 = call ptr @fn_emit_expr(ptr %t680) store ptr %t681, ptr %t682 %t683 = load ptr, ptr %t682 %t684 = getelementptr inbounds %Cmp_Val, ptr %t683, i32 0, i32 0 %t685 = load ptr, ptr %t684 %t686 = call ptr @lp_str_concat(ptr @.str9900, ptr %t685) %t687 = call ptr @lp_str_concat(ptr %t686, ptr @.str9901) %t688 = call ptr @fn_emit_bind(ptr %t687) store ptr %t688, ptr %t689 %t690 = load ptr, ptr %t689 %t691 = call ptr @lp_str_concat(ptr @.str9902, ptr %t690) %t692 = call ptr @lp_str_concat(ptr %t691, ptr @.str9903) %t693 = call ptr @fn_emit_bind(ptr %t692) store ptr %t693, ptr %t694 %t695 = load ptr, ptr %t694 %t696 = call ptr @lp_str_concat(ptr @.str9904, ptr %t695) %t697 = call ptr @lp_str_concat(ptr %t696, ptr @.str9905) %t698 = call ptr @fn_emit_bind(ptr %t697) %t699 = call ptr @fn_val(ptr %t698, ptr @.str9906) store ptr %t699, ptr %retval br label %ret ifend168: %t700 = load ptr, ptr %t38 %t701 = call i32 @lp_str_eq(ptr %t700, ptr @.str9907) %t702 = icmp ne i32 %t701, 0 br i1 %t702, label %then171, label %ifend173 then171: %t703 = load ptr, ptr %t0 %t704 = getelementptr inbounds %Cmp_Node, ptr %t703, i32 0, i32 7 %t705 = load ptr, ptr %t704 %t706 = getelementptr inbounds %LSlice, ptr %t705, i32 0, i32 0 %t707 = load ptr, ptr %t706 %t708 = getelementptr inbounds %LSlice, ptr %t705, i32 0, i32 1 %t709 = load i32, ptr %t708 %t710 = icmp ult i32 0, %t709 br i1 %t710, label %ixok174, label %ixbad175 ixbad175: %t711 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t711, ptr @.fmt_bounds, ptr @.str9908, i32 0, i32 %t709) call void @exit(i32 1) unreachable ixok174: %t712 = getelementptr inbounds ptr, ptr %t707, i32 0 %t713 = load ptr, ptr %t712 %t714 = call ptr @fn_emit_expr(ptr %t713) store ptr %t714, ptr %t715 %t716 = load ptr, ptr %t715 %t717 = getelementptr inbounds %Cmp_Val, ptr %t716, i32 0, i32 1 %t718 = load ptr, ptr %t717 %t719 = call i32 @fn_is_fp(ptr %t718) %t720 = icmp ne i32 %t719, 0 br i1 %t720, label %then176, label %ifend178 then176: %t721 = load ptr, ptr %t715 %t722 = call ptr @fn_emit_fp_to_fixed(ptr %t721) store ptr %t722, ptr %retval br label %ret ifend178: %t723 = load ptr, ptr %t715 %t724 = getelementptr inbounds %Cmp_Val, ptr %t723, i32 0, i32 2 %t725 = load ptr, ptr %t724 %t726 = icmp ne ptr %t725, null %t727 = zext i1 %t726 to i32 %t728 = icmp ne i32 %t727, 0 br i1 %t728, label %then179, label %ifend181 then179: %t729 = load ptr, ptr %t715 %t730 = getelementptr inbounds %Cmp_Val, ptr %t729, i32 0, i32 0 %t731 = load ptr, ptr %t730 %t732 = call ptr @fn_val(ptr %t731, ptr @.str9909) store ptr %t732, ptr %retval br label %ret ifend181: %t733 = load ptr, ptr %t715 %t734 = getelementptr inbounds %Cmp_Val, ptr %t733, i32 0, i32 0 %t735 = load ptr, ptr %t734 %t736 = call ptr @lp_str_concat(ptr @.str9910, ptr %t735) %t737 = call ptr @lp_str_concat(ptr %t736, ptr @.str9911) %t738 = call ptr @fn_emit_bind(ptr %t737) %t739 = call ptr @fn_val(ptr %t738, ptr @.str9912) store ptr %t739, ptr %retval br label %ret ifend173: %t743 = load ptr, ptr %t38 %t744 = call i32 @lp_str_eq(ptr %t743, ptr @.str9913) %t745 = icmp ne i32 %t744, 0 %t746 = zext i1 %t745 to i32 store i32 %t746, ptr %t742 br i1 %t745, label %scend183, label %sc182 sc182: %t747 = load ptr, ptr %t38 %t748 = call i32 @lp_str_eq(ptr %t747, ptr @.str9914) %t749 = icmp ne i32 %t748, 0 %t750 = zext i1 %t749 to i32 store i32 %t750, ptr %t742 br label %scend183 scend183: %t751 = load i32, ptr %t742 %t752 = icmp ne i32 %t751, 0 %t753 = zext i1 %t752 to i32 store i32 %t753, ptr %t741 br i1 %t752, label %sc184, label %scend185 sc184: %t754 = load ptr, ptr %t38 %t755 = call ptr @fn_find_fn(ptr %t754) %t756 = icmp eq ptr %t755, null %t757 = zext i1 %t756 to i32 %t758 = icmp ne i32 %t757, 0 %t759 = zext i1 %t758 to i32 store i32 %t759, ptr %t741 br label %scend185 scend185: %t760 = load i32, ptr %t741 %t761 = icmp ne i32 %t760, 0 %t762 = zext i1 %t761 to i32 store i32 %t762, ptr %t740 br i1 %t761, label %sc186, label %scend187 sc186: %t763 = load ptr, ptr %t0 %t764 = getelementptr inbounds %Cmp_Node, ptr %t763, i32 0, i32 7 %t765 = load ptr, ptr %t764 %t766 = getelementptr inbounds %LSlice, ptr %t765, i32 0, i32 1 %t767 = load i32, ptr %t766 %t768 = icmp eq i32 %t767, 1 %t769 = zext i1 %t768 to i32 %t770 = icmp ne i32 %t769, 0 %t771 = zext i1 %t770 to i32 store i32 %t771, ptr %t740 br label %scend187 scend187: %t772 = load i32, ptr %t740 %t773 = icmp ne i32 %t772, 0 br i1 %t773, label %then188, label %ifend190 then188: %t774 = load ptr, ptr %t38 %t775 = load ptr, ptr %t0 %t776 = getelementptr inbounds %Cmp_Node, ptr %t775, i32 0, i32 7 %t777 = load ptr, ptr %t776 %t778 = getelementptr inbounds %LSlice, ptr %t777, i32 0, i32 0 %t779 = load ptr, ptr %t778 %t780 = getelementptr inbounds %LSlice, ptr %t777, i32 0, i32 1 %t781 = load i32, ptr %t780 %t782 = icmp ult i32 0, %t781 br i1 %t782, label %ixok191, label %ixbad192 ixbad192: %t783 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t783, ptr @.fmt_bounds, ptr @.str9915, i32 0, i32 %t781) call void @exit(i32 1) unreachable ixok191: %t784 = getelementptr inbounds ptr, ptr %t779, i32 0 %t785 = load ptr, ptr %t784 %t786 = call ptr @fn_emit_expr(ptr %t785) %t787 = call ptr @fn_emit_fp_convert(ptr %t774, ptr %t786) store ptr %t787, ptr %retval br label %ret ifend190: %t790 = load ptr, ptr %t38 %t791 = call i32 @lp_str_eq(ptr %t790, ptr @.str9916) %t792 = icmp ne i32 %t791, 0 %t793 = zext i1 %t792 to i32 store i32 %t793, ptr %t789 br i1 %t792, label %sc193, label %scend194 sc193: %t794 = load ptr, ptr %t38 %t795 = call ptr @fn_find_fn(ptr %t794) %t796 = icmp eq ptr %t795, null %t797 = zext i1 %t796 to i32 %t798 = icmp ne i32 %t797, 0 %t799 = zext i1 %t798 to i32 store i32 %t799, ptr %t789 br label %scend194 scend194: %t800 = load i32, ptr %t789 %t801 = icmp ne i32 %t800, 0 %t802 = zext i1 %t801 to i32 store i32 %t802, ptr %t788 br i1 %t801, label %sc195, label %scend196 sc195: %t803 = load ptr, ptr %t0 %t804 = getelementptr inbounds %Cmp_Node, ptr %t803, i32 0, i32 7 %t805 = load ptr, ptr %t804 %t806 = getelementptr inbounds %LSlice, ptr %t805, i32 0, i32 1 %t807 = load i32, ptr %t806 %t808 = icmp eq i32 %t807, 1 %t809 = zext i1 %t808 to i32 %t810 = icmp ne i32 %t809, 0 %t811 = zext i1 %t810 to i32 store i32 %t811, ptr %t788 br label %scend196 scend196: %t812 = load i32, ptr %t788 %t813 = icmp ne i32 %t812, 0 br i1 %t813, label %then197, label %ifend199 then197: %t814 = load ptr, ptr %t0 %t815 = getelementptr inbounds %Cmp_Node, ptr %t814, i32 0, i32 7 %t816 = load ptr, ptr %t815 %t817 = getelementptr inbounds %LSlice, ptr %t816, i32 0, i32 0 %t818 = load ptr, ptr %t817 %t819 = getelementptr inbounds %LSlice, ptr %t816, i32 0, i32 1 %t820 = load i32, ptr %t819 %t821 = icmp ult i32 0, %t820 br i1 %t821, label %ixok200, label %ixbad201 ixbad201: %t822 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t822, ptr @.fmt_bounds, ptr @.str9917, i32 0, i32 %t820) call void @exit(i32 1) unreachable ixok200: %t823 = getelementptr inbounds ptr, ptr %t818, i32 0 %t824 = load ptr, ptr %t823 %t825 = call ptr @fn_emit_expr(ptr %t824) store ptr %t825, ptr %t826 %t827 = load ptr, ptr %t826 %t828 = getelementptr inbounds %Cmp_Val, ptr %t827, i32 0, i32 1 %t829 = load ptr, ptr %t828 %t830 = call i32 @fn_is_fp(ptr %t829) %t831 = icmp ne i32 %t830, 0 br i1 %t831, label %then202, label %ifend204 then202: %t832 = load ptr, ptr %t826 %t833 = call ptr @fn_emit_fp_to_int(ptr %t832) store ptr %t833, ptr %retval br label %ret ifend204: %t834 = load ptr, ptr %t826 %t835 = getelementptr inbounds %Cmp_Val, ptr %t834, i32 0, i32 1 %t836 = load ptr, ptr %t835 %t837 = call i32 @lp_str_eq(ptr %t836, ptr @.str9918) %t838 = icmp ne i32 %t837, 0 br i1 %t838, label %then205, label %ifend207 then205: %t839 = load ptr, ptr %t826 %t840 = getelementptr inbounds %Cmp_Val, ptr %t839, i32 0, i32 0 %t841 = load ptr, ptr %t840 %t842 = call ptr @lp_str_concat(ptr @.str9919, ptr %t841) %t843 = call ptr @lp_str_concat(ptr %t842, ptr @.str9920) %t844 = call ptr @fn_emit_bind(ptr %t843) %t845 = call ptr @fn_val(ptr %t844, ptr @.str9921) store ptr %t845, ptr %retval br label %ret ifend207: %t846 = load ptr, ptr %t826 %t847 = getelementptr inbounds %Cmp_Val, ptr %t846, i32 0, i32 1 %t848 = load ptr, ptr %t847 %t849 = call ptr @fn_llty(ptr %t848) %t850 = call i32 @lp_str_eq(ptr %t849, ptr @.str9922) %t851 = icmp ne i32 %t850, 0 br i1 %t851, label %then208, label %ifend210 then208: %t852 = load ptr, ptr %t826 %t853 = getelementptr inbounds %Cmp_Val, ptr %t852, i32 0, i32 0 %t854 = load ptr, ptr %t853 %t855 = call ptr @lp_str_concat(ptr @.str9923, ptr %t854) %t856 = call ptr @lp_str_concat(ptr %t855, ptr @.str9924) %t857 = call ptr @fn_emit_bind(ptr %t856) %t858 = call ptr @fn_val(ptr %t857, ptr @.str9925) store ptr %t858, ptr %retval br label %ret ifend210: %t859 = load ptr, ptr %t826 %t860 = getelementptr inbounds %Cmp_Val, ptr %t859, i32 0, i32 0 %t861 = load ptr, ptr %t860 %t862 = call ptr @fn_val(ptr %t861, ptr @.str9926) store ptr %t862, ptr %retval br label %ret ifend199: %t865 = load ptr, ptr %t38 %t866 = call i32 @lp_str_eq(ptr %t865, ptr @.str9927) %t867 = icmp ne i32 %t866, 0 %t868 = zext i1 %t867 to i32 store i32 %t868, ptr %t864 br i1 %t867, label %sc211, label %scend212 sc211: %t869 = load ptr, ptr %t38 %t870 = call ptr @fn_find_fn(ptr %t869) %t871 = icmp eq ptr %t870, null %t872 = zext i1 %t871 to i32 %t873 = icmp ne i32 %t872, 0 %t874 = zext i1 %t873 to i32 store i32 %t874, ptr %t864 br label %scend212 scend212: %t875 = load i32, ptr %t864 %t876 = icmp ne i32 %t875, 0 %t877 = zext i1 %t876 to i32 store i32 %t877, ptr %t863 br i1 %t876, label %sc213, label %scend214 sc213: %t878 = load ptr, ptr %t0 %t879 = getelementptr inbounds %Cmp_Node, ptr %t878, i32 0, i32 7 %t880 = load ptr, ptr %t879 %t881 = getelementptr inbounds %LSlice, ptr %t880, i32 0, i32 1 %t882 = load i32, ptr %t881 %t883 = icmp eq i32 %t882, 1 %t884 = zext i1 %t883 to i32 %t885 = icmp ne i32 %t884, 0 %t886 = zext i1 %t885 to i32 store i32 %t886, ptr %t863 br label %scend214 scend214: %t887 = load i32, ptr %t863 %t888 = icmp ne i32 %t887, 0 br i1 %t888, label %then215, label %ifend217 then215: %t889 = load ptr, ptr %t0 %t890 = getelementptr inbounds %Cmp_Node, ptr %t889, i32 0, i32 7 %t891 = load ptr, ptr %t890 %t892 = getelementptr inbounds %LSlice, ptr %t891, i32 0, i32 0 %t893 = load ptr, ptr %t892 %t894 = getelementptr inbounds %LSlice, ptr %t891, i32 0, i32 1 %t895 = load i32, ptr %t894 %t896 = icmp ult i32 0, %t895 br i1 %t896, label %ixok218, label %ixbad219 ixbad219: %t897 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t897, ptr @.fmt_bounds, ptr @.str9928, i32 0, i32 %t895) call void @exit(i32 1) unreachable ixok218: %t898 = getelementptr inbounds ptr, ptr %t893, i32 0 %t899 = load ptr, ptr %t898 %t900 = call ptr @fn_emit_expr(ptr %t899) store ptr %t900, ptr %t901 %t902 = load ptr, ptr %t901 %t903 = getelementptr inbounds %Cmp_Val, ptr %t902, i32 0, i32 1 %t904 = load ptr, ptr %t903 %t905 = call i32 @fn_is_fp(ptr %t904) %t906 = icmp ne i32 %t905, 0 br i1 %t906, label %then220, label %ifend222 then220: %t907 = load ptr, ptr %t901 %t908 = call ptr @fn_emit_fp_to_long(ptr %t907) store ptr %t908, ptr %retval br label %ret ifend222: %t909 = load ptr, ptr %t901 %t910 = call ptr @fn_to_long(ptr %t909) %t911 = call ptr @fn_val(ptr %t910, ptr @.str9929) store ptr %t911, ptr %retval br label %ret ifend217: %t913 = load ptr, ptr %t38 %t914 = call i32 @lp_str_eq(ptr %t913, ptr @.str9930) %t915 = icmp ne i32 %t914, 0 %t916 = zext i1 %t915 to i32 store i32 %t916, ptr %t912 br i1 %t915, label %sc223, label %scend224 sc223: %t917 = load ptr, ptr %t38 %t918 = call ptr @fn_find_fn(ptr %t917) %t919 = icmp eq ptr %t918, null %t920 = zext i1 %t919 to i32 %t921 = icmp ne i32 %t920, 0 %t922 = zext i1 %t921 to i32 store i32 %t922, ptr %t912 br label %scend224 scend224: %t923 = load i32, ptr %t912 %t924 = icmp ne i32 %t923, 0 br i1 %t924, label %then225, label %ifend227 then225: %t925 = load ptr, ptr %t0 %t926 = getelementptr inbounds %Cmp_Node, ptr %t925, i32 0, i32 7 %t927 = load ptr, ptr %t926 %t928 = getelementptr inbounds %LSlice, ptr %t927, i32 0, i32 0 %t929 = load ptr, ptr %t928 %t930 = getelementptr inbounds %LSlice, ptr %t927, i32 0, i32 1 %t931 = load i32, ptr %t930 %t932 = icmp ult i32 0, %t931 br i1 %t932, label %ixok228, label %ixbad229 ixbad229: %t933 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t933, ptr @.fmt_bounds, ptr @.str9931, i32 0, i32 %t931) call void @exit(i32 1) unreachable ixok228: %t934 = getelementptr inbounds ptr, ptr %t929, i32 0 %t935 = load ptr, ptr %t934 %t936 = call ptr @fn_emit_expr(ptr %t935) %t937 = call ptr @fn_emit_float_bits(ptr %t936) store ptr %t937, ptr %retval br label %ret ifend227: %t939 = load ptr, ptr %t38 %t940 = call i32 @lp_str_eq(ptr %t939, ptr @.str9932) %t941 = icmp ne i32 %t940, 0 %t942 = zext i1 %t941 to i32 store i32 %t942, ptr %t938 br i1 %t941, label %sc230, label %scend231 sc230: %t943 = load ptr, ptr %t38 %t944 = call ptr @fn_find_fn(ptr %t943) %t945 = icmp eq ptr %t944, null %t946 = zext i1 %t945 to i32 %t947 = icmp ne i32 %t946, 0 %t948 = zext i1 %t947 to i32 store i32 %t948, ptr %t938 br label %scend231 scend231: %t949 = load i32, ptr %t938 %t950 = icmp ne i32 %t949, 0 br i1 %t950, label %then232, label %ifend234 then232: %t951 = load ptr, ptr %t0 %t952 = getelementptr inbounds %Cmp_Node, ptr %t951, i32 0, i32 7 %t953 = load ptr, ptr %t952 %t954 = getelementptr inbounds %LSlice, ptr %t953, i32 0, i32 0 %t955 = load ptr, ptr %t954 %t956 = getelementptr inbounds %LSlice, ptr %t953, i32 0, i32 1 %t957 = load i32, ptr %t956 %t958 = icmp ult i32 0, %t957 br i1 %t958, label %ixok235, label %ixbad236 ixbad236: %t959 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t959, ptr @.fmt_bounds, ptr @.str9933, i32 0, i32 %t957) call void @exit(i32 1) unreachable ixok235: %t960 = getelementptr inbounds ptr, ptr %t955, i32 0 %t961 = load ptr, ptr %t960 %t962 = call ptr @fn_emit_expr(ptr %t961) %t963 = call ptr @fn_emit_float_from_bits(ptr %t962) store ptr %t963, ptr %retval br label %ret ifend234: %t965 = load ptr, ptr %t38 %t966 = call i32 @lp_str_eq(ptr %t965, ptr @.str9934) %t967 = icmp ne i32 %t966, 0 %t968 = zext i1 %t967 to i32 store i32 %t968, ptr %t964 br i1 %t967, label %sc237, label %scend238 sc237: %t969 = load ptr, ptr %t38 %t970 = call ptr @fn_find_fn(ptr %t969) %t971 = icmp eq ptr %t970, null %t972 = zext i1 %t971 to i32 %t973 = icmp ne i32 %t972, 0 %t974 = zext i1 %t973 to i32 store i32 %t974, ptr %t964 br label %scend238 scend238: %t975 = load i32, ptr %t964 %t976 = icmp ne i32 %t975, 0 br i1 %t976, label %then239, label %ifend241 then239: %t977 = load ptr, ptr %t0 %t978 = getelementptr inbounds %Cmp_Node, ptr %t977, i32 0, i32 7 %t979 = load ptr, ptr %t978 %t980 = getelementptr inbounds %LSlice, ptr %t979, i32 0, i32 0 %t981 = load ptr, ptr %t980 %t982 = getelementptr inbounds %LSlice, ptr %t979, i32 0, i32 1 %t983 = load i32, ptr %t982 %t984 = icmp ult i32 0, %t983 br i1 %t984, label %ixok242, label %ixbad243 ixbad243: %t985 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t985, ptr @.fmt_bounds, ptr @.str9935, i32 0, i32 %t983) call void @exit(i32 1) unreachable ixok242: %t986 = getelementptr inbounds ptr, ptr %t981, i32 0 %t987 = load ptr, ptr %t986 %t988 = call ptr @fn_emit_expr(ptr %t987) %t989 = call ptr @fn_emit_double_bits(ptr %t988) store ptr %t989, ptr %retval br label %ret ifend241: %t991 = load ptr, ptr %t38 %t992 = call i32 @lp_str_eq(ptr %t991, ptr @.str9936) %t993 = icmp ne i32 %t992, 0 %t994 = zext i1 %t993 to i32 store i32 %t994, ptr %t990 br i1 %t993, label %sc244, label %scend245 sc244: %t995 = load ptr, ptr %t38 %t996 = call ptr @fn_find_fn(ptr %t995) %t997 = icmp eq ptr %t996, null %t998 = zext i1 %t997 to i32 %t999 = icmp ne i32 %t998, 0 %t1000 = zext i1 %t999 to i32 store i32 %t1000, ptr %t990 br label %scend245 scend245: %t1001 = load i32, ptr %t990 %t1002 = icmp ne i32 %t1001, 0 br i1 %t1002, label %then246, label %ifend248 then246: %t1003 = load ptr, ptr %t0 %t1004 = getelementptr inbounds %Cmp_Node, ptr %t1003, i32 0, i32 7 %t1005 = load ptr, ptr %t1004 %t1006 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 0 %t1007 = load ptr, ptr %t1006 %t1008 = getelementptr inbounds %LSlice, ptr %t1005, i32 0, i32 1 %t1009 = load i32, ptr %t1008 %t1010 = icmp ult i32 0, %t1009 br i1 %t1010, label %ixok249, label %ixbad250 ixbad250: %t1011 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1011, ptr @.fmt_bounds, ptr @.str9937, i32 0, i32 %t1009) call void @exit(i32 1) unreachable ixok249: %t1012 = getelementptr inbounds ptr, ptr %t1007, i32 0 %t1013 = load ptr, ptr %t1012 %t1014 = call ptr @fn_emit_expr(ptr %t1013) %t1015 = call ptr @fn_emit_double_from_bits(ptr %t1014) store ptr %t1015, ptr %retval br label %ret ifend248: %t1018 = load ptr, ptr %t38 %t1019 = call i32 @lp_str_eq(ptr %t1018, ptr @.str9938) %t1020 = icmp ne i32 %t1019, 0 %t1021 = zext i1 %t1020 to i32 store i32 %t1021, ptr %t1017 br i1 %t1020, label %scend252, label %sc251 sc251: %t1022 = load ptr, ptr %t38 %t1023 = call i32 @lp_str_eq(ptr %t1022, ptr @.str9939) %t1024 = icmp ne i32 %t1023, 0 %t1025 = zext i1 %t1024 to i32 store i32 %t1025, ptr %t1017 br label %scend252 scend252: %t1026 = load i32, ptr %t1017 %t1027 = icmp ne i32 %t1026, 0 %t1028 = zext i1 %t1027 to i32 store i32 %t1028, ptr %t1016 br i1 %t1027, label %sc253, label %scend254 sc253: %t1029 = load ptr, ptr %t38 %t1030 = call ptr @fn_find_fn(ptr %t1029) %t1031 = icmp eq ptr %t1030, null %t1032 = zext i1 %t1031 to i32 %t1033 = icmp ne i32 %t1032, 0 %t1034 = zext i1 %t1033 to i32 store i32 %t1034, ptr %t1016 br label %scend254 scend254: %t1035 = load i32, ptr %t1016 %t1036 = icmp ne i32 %t1035, 0 br i1 %t1036, label %then255, label %ifend257 then255: store ptr @.str9940, ptr %t1037 %t1038 = load ptr, ptr %t38 %t1039 = call i32 @lp_str_eq(ptr %t1038, ptr @.str9941) %t1040 = icmp ne i32 %t1039, 0 br i1 %t1040, label %then258, label %ifend260 then258: store ptr @.str9942, ptr %t1037 br label %ifend260 ifend260: %t1041 = load ptr, ptr %t1037 %t1042 = load ptr, ptr %t0 %t1043 = getelementptr inbounds %Cmp_Node, ptr %t1042, i32 0, i32 7 %t1044 = load ptr, ptr %t1043 %t1045 = getelementptr inbounds %LSlice, ptr %t1044, i32 0, i32 0 %t1046 = load ptr, ptr %t1045 %t1047 = getelementptr inbounds %LSlice, ptr %t1044, i32 0, i32 1 %t1048 = load i32, ptr %t1047 %t1049 = icmp ult i32 0, %t1048 br i1 %t1049, label %ixok261, label %ixbad262 ixbad262: %t1050 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1050, ptr @.fmt_bounds, ptr @.str9943, i32 0, i32 %t1048) call void @exit(i32 1) unreachable ixok261: %t1051 = getelementptr inbounds ptr, ptr %t1046, i32 0 %t1052 = load ptr, ptr %t1051 %t1053 = call ptr @fn_emit_expr(ptr %t1052) %t1054 = call ptr @fn_emit_fp_buffer(ptr %t1041, ptr %t1053) store ptr %t1054, ptr %retval br label %ret ifend257: %t1055 = load ptr, ptr %t38 %t1056 = call i32 @lp_str_eq(ptr %t1055, ptr @.str9944) %t1057 = icmp ne i32 %t1056, 0 br i1 %t1057, label %then263, label %ifend265 then263: %t1058 = load ptr, ptr %t0 %t1059 = getelementptr inbounds %Cmp_Node, ptr %t1058, i32 0, i32 7 %t1060 = load ptr, ptr %t1059 %t1061 = getelementptr inbounds %LSlice, ptr %t1060, i32 0, i32 0 %t1062 = load ptr, ptr %t1061 %t1063 = getelementptr inbounds %LSlice, ptr %t1060, i32 0, i32 1 %t1064 = load i32, ptr %t1063 %t1065 = icmp ult i32 0, %t1064 br i1 %t1065, label %ixok266, label %ixbad267 ixbad267: %t1066 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1066, ptr @.fmt_bounds, ptr @.str9945, i32 0, i32 %t1064) call void @exit(i32 1) unreachable ixok266: %t1067 = getelementptr inbounds ptr, ptr %t1062, i32 0 %t1068 = load ptr, ptr %t1067 %t1069 = call ptr @fn_emit_expr(ptr %t1068) store ptr %t1069, ptr %t1070 %t1071 = load ptr, ptr %t1070 %t1072 = getelementptr inbounds %Cmp_Val, ptr %t1071, i32 0, i32 0 %t1073 = load ptr, ptr %t1072 %t1074 = call ptr @lp_str_concat(ptr @.str9946, ptr %t1073) %t1075 = call ptr @lp_str_concat(ptr %t1074, ptr @.str9947) %t1076 = call ptr @fn_emit_bind(ptr %t1075) %t1077 = call ptr @fn_val(ptr %t1076, ptr @.str9948) store ptr %t1077, ptr %retval br label %ret ifend265: %t1078 = load ptr, ptr %t38 %t1079 = call i32 @lp_str_eq(ptr %t1078, ptr @.str9949) %t1080 = icmp ne i32 %t1079, 0 br i1 %t1080, label %then268, label %ifend270 then268: store i32 1, ptr @g_g_uses_expect %t1081 = load ptr, ptr %t0 %t1082 = getelementptr inbounds %Cmp_Node, ptr %t1081, i32 0, i32 7 %t1083 = load ptr, ptr %t1082 %t1084 = getelementptr inbounds %LSlice, ptr %t1083, i32 0, i32 0 %t1085 = load ptr, ptr %t1084 %t1086 = getelementptr inbounds %LSlice, ptr %t1083, i32 0, i32 1 %t1087 = load i32, ptr %t1086 %t1088 = icmp ult i32 0, %t1087 br i1 %t1088, label %ixok271, label %ixbad272 ixbad272: %t1089 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1089, ptr @.fmt_bounds, ptr @.str9950, i32 0, i32 %t1087) call void @exit(i32 1) unreachable ixok271: %t1090 = getelementptr inbounds ptr, ptr %t1085, i32 0 %t1091 = load ptr, ptr %t1090 %t1092 = call ptr @fn_emit_expr(ptr %t1091) store ptr %t1092, ptr %t1093 %t1094 = load ptr, ptr %t1093 %t1095 = getelementptr inbounds %Cmp_Val, ptr %t1094, i32 0, i32 0 %t1096 = load ptr, ptr %t1095 %t1097 = call ptr @lp_str_concat(ptr @.str9951, ptr %t1096) %t1098 = call ptr @lp_str_concat(ptr %t1097, ptr @.str9952) %t1099 = call ptr @fn_emit_bind(ptr %t1098) store ptr %t1099, ptr %t1100 %t1101 = load ptr, ptr @g_g_src_name %t1102 = call ptr @lp_str_concat(ptr %t1101, ptr @.str9953) %t1103 = load ptr, ptr %t0 %t1104 = getelementptr inbounds %Cmp_Node, ptr %t1103, i32 0, i32 8 %t1105 = load i32, ptr %t1104 %t1106 = call ptr @fn_itoa(i32 %t1105) %t1107 = call ptr @lp_str_concat(ptr %t1102, ptr %t1106) %t1108 = call ptr @lp_str_concat(ptr %t1107, ptr @.str9954) %t1109 = call ptr @fn_emit_str_const(ptr %t1108) store ptr %t1109, ptr %t1110 %t1111 = load ptr, ptr %t1100 %t1112 = load ptr, ptr %t1110 call void @fn_emit_expect_fail(ptr %t1111, ptr %t1112, ptr @.str9955, ptr @.str9956) %t1113 = call ptr @fn_val(ptr @.str9957, ptr @.str9958) store ptr %t1113, ptr %retval br label %ret ifend270: %t1114 = load ptr, ptr %t38 %t1115 = call i32 @lp_str_eq(ptr %t1114, ptr @.str9959) %t1116 = icmp ne i32 %t1115, 0 br i1 %t1116, label %then273, label %ifend275 then273: store i32 1, ptr @g_g_uses_expect %t1117 = load ptr, ptr %t0 %t1118 = getelementptr inbounds %Cmp_Node, ptr %t1117, i32 0, i32 7 %t1119 = load ptr, ptr %t1118 %t1120 = getelementptr inbounds %LSlice, ptr %t1119, i32 0, i32 0 %t1121 = load ptr, ptr %t1120 %t1122 = getelementptr inbounds %LSlice, ptr %t1119, i32 0, i32 1 %t1123 = load i32, ptr %t1122 %t1124 = icmp ult i32 0, %t1123 br i1 %t1124, label %ixok276, label %ixbad277 ixbad277: %t1125 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1125, ptr @.fmt_bounds, ptr @.str9960, i32 0, i32 %t1123) call void @exit(i32 1) unreachable ixok276: %t1126 = getelementptr inbounds ptr, ptr %t1121, i32 0 %t1127 = load ptr, ptr %t1126 %t1128 = call ptr @fn_emit_expr(ptr %t1127) store ptr %t1128, ptr %t1129 %t1130 = load ptr, ptr %t0 %t1131 = getelementptr inbounds %Cmp_Node, ptr %t1130, i32 0, i32 7 %t1132 = load ptr, ptr %t1131 %t1133 = getelementptr inbounds %LSlice, ptr %t1132, i32 0, i32 0 %t1134 = load ptr, ptr %t1133 %t1135 = getelementptr inbounds %LSlice, ptr %t1132, i32 0, i32 1 %t1136 = load i32, ptr %t1135 %t1137 = icmp ult i32 1, %t1136 br i1 %t1137, label %ixok278, label %ixbad279 ixbad279: %t1138 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1138, ptr @.fmt_bounds, ptr @.str9961, i32 1, i32 %t1136) call void @exit(i32 1) unreachable ixok278: %t1139 = getelementptr inbounds ptr, ptr %t1134, i32 1 %t1140 = load ptr, ptr %t1139 %t1141 = call ptr @fn_emit_expr(ptr %t1140) store ptr %t1141, ptr %t1142 %t1143 = load ptr, ptr %t1129 %t1144 = getelementptr inbounds %Cmp_Val, ptr %t1143, i32 0, i32 0 %t1145 = load ptr, ptr %t1144 %t1146 = call ptr @lp_str_concat(ptr @.str9962, ptr %t1145) %t1147 = call ptr @lp_str_concat(ptr %t1146, ptr @.str9963) %t1148 = load ptr, ptr %t1142 %t1149 = getelementptr inbounds %Cmp_Val, ptr %t1148, i32 0, i32 0 %t1150 = load ptr, ptr %t1149 %t1151 = call ptr @lp_str_concat(ptr %t1147, ptr %t1150) %t1152 = call ptr @fn_emit_bind(ptr %t1151) store ptr %t1152, ptr %t1153 %t1154 = load ptr, ptr @g_g_src_name %t1155 = call ptr @lp_str_concat(ptr %t1154, ptr @.str9964) %t1156 = load ptr, ptr %t0 %t1157 = getelementptr inbounds %Cmp_Node, ptr %t1156, i32 0, i32 8 %t1158 = load i32, ptr %t1157 %t1159 = call ptr @fn_itoa(i32 %t1158) %t1160 = call ptr @lp_str_concat(ptr %t1155, ptr %t1159) %t1161 = call ptr @lp_str_concat(ptr %t1160, ptr @.str9965) %t1162 = call ptr @fn_emit_str_const(ptr %t1161) store ptr %t1162, ptr %t1163 %t1164 = load ptr, ptr %t1153 %t1165 = load ptr, ptr %t1163 %t1166 = load ptr, ptr %t1129 %t1167 = getelementptr inbounds %Cmp_Val, ptr %t1166, i32 0, i32 0 %t1168 = load ptr, ptr %t1167 %t1169 = load ptr, ptr %t1142 %t1170 = getelementptr inbounds %Cmp_Val, ptr %t1169, i32 0, i32 0 %t1171 = load ptr, ptr %t1170 call void @fn_emit_expect_fail(ptr %t1164, ptr %t1165, ptr %t1168, ptr %t1171) %t1172 = call ptr @fn_val(ptr @.str9966, ptr @.str9967) store ptr %t1172, ptr %retval br label %ret ifend275: %t1173 = load ptr, ptr %t38 %t1174 = call i32 @lp_str_eq(ptr %t1173, ptr @.str9968) %t1175 = icmp ne i32 %t1174, 0 br i1 %t1175, label %then280, label %ifend282 then280: store i32 1, ptr @g_g_uses_expect %t1176 = load ptr, ptr %t0 %t1177 = getelementptr inbounds %Cmp_Node, ptr %t1176, i32 0, i32 7 %t1178 = load ptr, ptr %t1177 %t1179 = getelementptr inbounds %LSlice, ptr %t1178, i32 0, i32 0 %t1180 = load ptr, ptr %t1179 %t1181 = getelementptr inbounds %LSlice, ptr %t1178, i32 0, i32 1 %t1182 = load i32, ptr %t1181 %t1183 = icmp ult i32 0, %t1182 br i1 %t1183, label %ixok283, label %ixbad284 ixbad284: %t1184 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1184, ptr @.fmt_bounds, ptr @.str9969, i32 0, i32 %t1182) call void @exit(i32 1) unreachable ixok283: %t1185 = getelementptr inbounds ptr, ptr %t1180, i32 0 %t1186 = load ptr, ptr %t1185 %t1187 = call ptr @fn_emit_expr(ptr %t1186) store ptr %t1187, ptr %t1188 %t1189 = load ptr, ptr %t0 %t1190 = getelementptr inbounds %Cmp_Node, ptr %t1189, i32 0, i32 7 %t1191 = load ptr, ptr %t1190 %t1192 = getelementptr inbounds %LSlice, ptr %t1191, i32 0, i32 0 %t1193 = load ptr, ptr %t1192 %t1194 = getelementptr inbounds %LSlice, ptr %t1191, i32 0, i32 1 %t1195 = load i32, ptr %t1194 %t1196 = icmp ult i32 1, %t1195 br i1 %t1196, label %ixok285, label %ixbad286 ixbad286: %t1197 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1197, ptr @.fmt_bounds, ptr @.str9970, i32 1, i32 %t1195) call void @exit(i32 1) unreachable ixok285: %t1198 = getelementptr inbounds ptr, ptr %t1193, i32 1 %t1199 = load ptr, ptr %t1198 %t1200 = call ptr @fn_emit_expr(ptr %t1199) store ptr %t1200, ptr %t1201 %t1202 = load ptr, ptr %t0 %t1203 = getelementptr inbounds %Cmp_Node, ptr %t1202, i32 0, i32 7 %t1204 = load ptr, ptr %t1203 %t1205 = getelementptr inbounds %LSlice, ptr %t1204, i32 0, i32 0 %t1206 = load ptr, ptr %t1205 %t1207 = getelementptr inbounds %LSlice, ptr %t1204, i32 0, i32 1 %t1208 = load i32, ptr %t1207 %t1209 = icmp ult i32 2, %t1208 br i1 %t1209, label %ixok287, label %ixbad288 ixbad288: %t1210 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1210, ptr @.fmt_bounds, ptr @.str9971, i32 2, i32 %t1208) call void @exit(i32 1) unreachable ixok287: %t1211 = getelementptr inbounds ptr, ptr %t1206, i32 2 %t1212 = load ptr, ptr %t1211 %t1213 = call ptr @fn_emit_expr(ptr %t1212) store ptr %t1213, ptr %t1214 %t1215 = load ptr, ptr %t1188 %t1216 = getelementptr inbounds %Cmp_Val, ptr %t1215, i32 0, i32 0 %t1217 = load ptr, ptr %t1216 %t1218 = call ptr @lp_str_concat(ptr @.str9972, ptr %t1217) %t1219 = call ptr @lp_str_concat(ptr %t1218, ptr @.str9973) %t1220 = load ptr, ptr %t1201 %t1221 = getelementptr inbounds %Cmp_Val, ptr %t1220, i32 0, i32 0 %t1222 = load ptr, ptr %t1221 %t1223 = call ptr @lp_str_concat(ptr %t1219, ptr %t1222) %t1224 = call ptr @fn_emit_bind(ptr %t1223) store ptr %t1224, ptr %t1225 %t1226 = load ptr, ptr %t1225 %t1227 = call ptr @lp_str_concat(ptr @.str9974, ptr %t1226) %t1228 = call ptr @fn_emit_bind(ptr %t1227) store ptr %t1228, ptr %t1229 %t1230 = load ptr, ptr %t1225 %t1231 = call ptr @lp_str_concat(ptr @.str9975, ptr %t1230) %t1232 = call ptr @lp_str_concat(ptr %t1231, ptr @.str9976) %t1233 = call ptr @fn_emit_bind(ptr %t1232) store ptr %t1233, ptr %t1234 %t1235 = load ptr, ptr %t1234 %t1236 = call ptr @lp_str_concat(ptr @.str9977, ptr %t1235) %t1237 = call ptr @lp_str_concat(ptr %t1236, ptr @.str9978) %t1238 = load ptr, ptr %t1229 %t1239 = call ptr @lp_str_concat(ptr %t1237, ptr %t1238) %t1240 = call ptr @lp_str_concat(ptr %t1239, ptr @.str9979) %t1241 = load ptr, ptr %t1225 %t1242 = call ptr @lp_str_concat(ptr %t1240, ptr %t1241) %t1243 = call ptr @fn_emit_bind(ptr %t1242) store ptr %t1243, ptr %t1244 %t1245 = load ptr, ptr %t1244 %t1246 = call ptr @lp_str_concat(ptr @.str9980, ptr %t1245) %t1247 = call ptr @lp_str_concat(ptr %t1246, ptr @.str9981) %t1248 = load ptr, ptr %t1214 %t1249 = getelementptr inbounds %Cmp_Val, ptr %t1248, i32 0, i32 0 %t1250 = load ptr, ptr %t1249 %t1251 = call ptr @lp_str_concat(ptr %t1247, ptr %t1250) %t1252 = call ptr @fn_emit_bind(ptr %t1251) store ptr %t1252, ptr %t1253 %t1254 = load ptr, ptr @g_g_src_name %t1255 = call ptr @lp_str_concat(ptr %t1254, ptr @.str9982) %t1256 = load ptr, ptr %t0 %t1257 = getelementptr inbounds %Cmp_Node, ptr %t1256, i32 0, i32 8 %t1258 = load i32, ptr %t1257 %t1259 = call ptr @fn_itoa(i32 %t1258) %t1260 = call ptr @lp_str_concat(ptr %t1255, ptr %t1259) %t1261 = call ptr @lp_str_concat(ptr %t1260, ptr @.str9983) %t1262 = call ptr @fn_emit_str_const(ptr %t1261) store ptr %t1262, ptr %t1263 %t1264 = load ptr, ptr %t1253 %t1265 = load ptr, ptr %t1263 %t1266 = load ptr, ptr %t1188 %t1267 = getelementptr inbounds %Cmp_Val, ptr %t1266, i32 0, i32 0 %t1268 = load ptr, ptr %t1267 %t1269 = load ptr, ptr %t1201 %t1270 = getelementptr inbounds %Cmp_Val, ptr %t1269, i32 0, i32 0 %t1271 = load ptr, ptr %t1270 call void @fn_emit_expect_fail(ptr %t1264, ptr %t1265, ptr %t1268, ptr %t1271) %t1272 = call ptr @fn_val(ptr @.str9984, ptr @.str9985) store ptr %t1272, ptr %retval br label %ret ifend282: %t1273 = load ptr, ptr %t38 %t1274 = call i32 @lp_str_eq(ptr %t1273, ptr @.str9986) %t1275 = icmp ne i32 %t1274, 0 br i1 %t1275, label %then289, label %ifend291 then289: store i32 1, ptr @g_g_uses_panic %t1276 = load ptr, ptr %t0 %t1277 = getelementptr inbounds %Cmp_Node, ptr %t1276, i32 0, i32 7 %t1278 = load ptr, ptr %t1277 %t1279 = getelementptr inbounds %LSlice, ptr %t1278, i32 0, i32 0 %t1280 = load ptr, ptr %t1279 %t1281 = getelementptr inbounds %LSlice, ptr %t1278, i32 0, i32 1 %t1282 = load i32, ptr %t1281 %t1283 = icmp ult i32 0, %t1282 br i1 %t1283, label %ixok292, label %ixbad293 ixbad293: %t1284 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1284, ptr @.fmt_bounds, ptr @.str9987, i32 0, i32 %t1282) call void @exit(i32 1) unreachable ixok292: %t1285 = getelementptr inbounds ptr, ptr %t1280, i32 0 %t1286 = load ptr, ptr %t1285 %t1287 = call ptr @fn_emit_expr(ptr %t1286) store ptr %t1287, ptr %t1288 %t1289 = load ptr, ptr @g_g_src_name %t1290 = call ptr @lp_str_concat(ptr %t1289, ptr @.str9988) %t1291 = load ptr, ptr %t0 %t1292 = getelementptr inbounds %Cmp_Node, ptr %t1291, i32 0, i32 8 %t1293 = load i32, ptr %t1292 %t1294 = call ptr @fn_itoa(i32 %t1293) %t1295 = call ptr @lp_str_concat(ptr %t1290, ptr %t1294) %t1296 = call ptr @lp_str_concat(ptr %t1295, ptr @.str9989) %t1297 = call ptr @fn_emit_str_const(ptr %t1296) store ptr %t1297, ptr %t1298 %t1299 = call ptr @fn_stdstream_rhs(i32 2) %t1300 = call ptr @fn_emit_bind(ptr %t1299) store ptr %t1300, ptr %t1301 %t1302 = load ptr, ptr %t1301 %t1303 = call ptr @lp_str_concat(ptr @.str9990, ptr %t1302) %t1304 = call ptr @lp_str_concat(ptr %t1303, ptr @.str9991) %t1305 = load ptr, ptr %t1298 %t1306 = call ptr @lp_str_concat(ptr %t1304, ptr %t1305) %t1307 = call ptr @lp_str_concat(ptr %t1306, ptr @.str9992) %t1308 = load ptr, ptr %t1288 %t1309 = getelementptr inbounds %Cmp_Val, ptr %t1308, i32 0, i32 0 %t1310 = load ptr, ptr %t1309 %t1311 = call ptr @lp_str_concat(ptr %t1307, ptr %t1310) %t1312 = call ptr @lp_str_concat(ptr %t1311, ptr @.str9993) call void @fn_emit(ptr %t1312) call void @fn_emit(ptr @.str9994) store i32 1, ptr @g_g_term %t1313 = call ptr @fn_val(ptr @.str9995, ptr @.str9996) store ptr %t1313, ptr %retval br label %ret ifend291: %t1314 = load ptr, ptr %t38 %t1315 = call i32 @lp_str_eq(ptr %t1314, ptr @.str9997) %t1316 = icmp ne i32 %t1315, 0 br i1 %t1316, label %then294, label %ifend296 then294: store i32 1, ptr @g_g_uses_panic %t1317 = load ptr, ptr %t0 %t1318 = getelementptr inbounds %Cmp_Node, ptr %t1317, i32 0, i32 7 %t1319 = load ptr, ptr %t1318 %t1320 = getelementptr inbounds %LSlice, ptr %t1319, i32 0, i32 0 %t1321 = load ptr, ptr %t1320 %t1322 = getelementptr inbounds %LSlice, ptr %t1319, i32 0, i32 1 %t1323 = load i32, ptr %t1322 %t1324 = icmp ult i32 0, %t1323 br i1 %t1324, label %ixok297, label %ixbad298 ixbad298: %t1325 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1325, ptr @.fmt_bounds, ptr @.str9998, i32 0, i32 %t1323) call void @exit(i32 1) unreachable ixok297: %t1326 = getelementptr inbounds ptr, ptr %t1321, i32 0 %t1327 = load ptr, ptr %t1326 %t1328 = call ptr @fn_emit_expr(ptr %t1327) store ptr %t1328, ptr %t1329 %t1330 = load ptr, ptr %t1329 %t1331 = getelementptr inbounds %Cmp_Val, ptr %t1330, i32 0, i32 0 %t1332 = load ptr, ptr %t1331 %t1333 = call ptr @lp_str_concat(ptr @.str9999, ptr %t1332) %t1334 = call ptr @lp_str_concat(ptr %t1333, ptr @.str10000) %t1335 = call ptr @fn_emit_bind(ptr %t1334) store ptr %t1335, ptr %t1336 %t1337 = call ptr @fn_lbl(ptr @.str10001) store ptr %t1337, ptr %t1338 %t1339 = call ptr @fn_lbl(ptr @.str10002) store ptr %t1339, ptr %t1340 %t1341 = load ptr, ptr %t1336 %t1342 = call ptr @lp_str_concat(ptr @.str10003, ptr %t1341) %t1343 = call ptr @lp_str_concat(ptr %t1342, ptr @.str10004) %t1344 = load ptr, ptr %t1338 %t1345 = call ptr @lp_str_concat(ptr %t1343, ptr %t1344) %t1346 = call ptr @lp_str_concat(ptr %t1345, ptr @.str10005) %t1347 = load ptr, ptr %t1340 %t1348 = call ptr @lp_str_concat(ptr %t1346, ptr %t1347) %t1349 = call ptr @lp_str_concat(ptr %t1348, ptr @.str10006) call void @fn_emit(ptr %t1349) %t1350 = load ptr, ptr %t1340 %t1351 = call ptr @lp_str_concat(ptr %t1350, ptr @.str10007) call void @fn_emit(ptr %t1351) %t1352 = load ptr, ptr %t0 %t1353 = getelementptr inbounds %Cmp_Node, ptr %t1352, i32 0, i32 7 %t1354 = load ptr, ptr %t1353 %t1355 = getelementptr inbounds %LSlice, ptr %t1354, i32 0, i32 0 %t1356 = load ptr, ptr %t1355 %t1357 = getelementptr inbounds %LSlice, ptr %t1354, i32 0, i32 1 %t1358 = load i32, ptr %t1357 %t1359 = icmp ult i32 1, %t1358 br i1 %t1359, label %ixok299, label %ixbad300 ixbad300: %t1360 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1360, ptr @.fmt_bounds, ptr @.str10008, i32 1, i32 %t1358) call void @exit(i32 1) unreachable ixok299: %t1361 = getelementptr inbounds ptr, ptr %t1356, i32 1 %t1362 = load ptr, ptr %t1361 %t1363 = call ptr @fn_emit_expr(ptr %t1362) store ptr %t1363, ptr %t1364 %t1365 = load ptr, ptr @g_g_src_name %t1366 = call ptr @lp_str_concat(ptr %t1365, ptr @.str10009) %t1367 = load ptr, ptr %t0 %t1368 = getelementptr inbounds %Cmp_Node, ptr %t1367, i32 0, i32 8 %t1369 = load i32, ptr %t1368 %t1370 = call ptr @fn_itoa(i32 %t1369) %t1371 = call ptr @lp_str_concat(ptr %t1366, ptr %t1370) %t1372 = call ptr @lp_str_concat(ptr %t1371, ptr @.str10010) %t1373 = call ptr @fn_emit_str_const(ptr %t1372) store ptr %t1373, ptr %t1374 %t1375 = call ptr @fn_stdstream_rhs(i32 2) %t1376 = call ptr @fn_emit_bind(ptr %t1375) store ptr %t1376, ptr %t1377 %t1378 = load ptr, ptr %t1377 %t1379 = call ptr @lp_str_concat(ptr @.str10011, ptr %t1378) %t1380 = call ptr @lp_str_concat(ptr %t1379, ptr @.str10012) %t1381 = load ptr, ptr %t1374 %t1382 = call ptr @lp_str_concat(ptr %t1380, ptr %t1381) %t1383 = call ptr @lp_str_concat(ptr %t1382, ptr @.str10013) %t1384 = load ptr, ptr %t1364 %t1385 = getelementptr inbounds %Cmp_Val, ptr %t1384, i32 0, i32 0 %t1386 = load ptr, ptr %t1385 %t1387 = call ptr @lp_str_concat(ptr %t1383, ptr %t1386) %t1388 = call ptr @lp_str_concat(ptr %t1387, ptr @.str10014) call void @fn_emit(ptr %t1388) call void @fn_emit(ptr @.str10015) %t1389 = load ptr, ptr %t1338 %t1390 = call ptr @lp_str_concat(ptr %t1389, ptr @.str10016) call void @fn_emit(ptr %t1390) %t1391 = call ptr @fn_val(ptr @.str10017, ptr @.str10018) store ptr %t1391, ptr %retval br label %ret ifend296: %t1393 = load ptr, ptr %t38 %t1394 = call i32 @lp_str_eq(ptr %t1393, ptr @.str10019) %t1395 = icmp ne i32 %t1394, 0 %t1396 = zext i1 %t1395 to i32 store i32 %t1396, ptr %t1392 br i1 %t1395, label %sc301, label %scend302 sc301: %t1397 = call ptr @fn_find_fn(ptr @.str10020) %t1398 = icmp eq ptr %t1397, null %t1399 = zext i1 %t1398 to i32 %t1400 = icmp ne i32 %t1399, 0 %t1401 = zext i1 %t1400 to i32 store i32 %t1401, ptr %t1392 br label %scend302 scend302: %t1402 = load i32, ptr %t1392 %t1403 = icmp ne i32 %t1402, 0 br i1 %t1403, label %then303, label %ifend305 then303: store i32 1, ptr @g_g_uses_result %t1404 = load ptr, ptr %t0 %t1405 = getelementptr inbounds %Cmp_Node, ptr %t1404, i32 0, i32 7 %t1406 = load ptr, ptr %t1405 %t1407 = getelementptr inbounds %LSlice, ptr %t1406, i32 0, i32 0 %t1408 = load ptr, ptr %t1407 %t1409 = getelementptr inbounds %LSlice, ptr %t1406, i32 0, i32 1 %t1410 = load i32, ptr %t1409 %t1411 = icmp ult i32 0, %t1410 br i1 %t1411, label %ixok306, label %ixbad307 ixbad307: %t1412 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1412, ptr @.fmt_bounds, ptr @.str10021, i32 0, i32 %t1410) call void @exit(i32 1) unreachable ixok306: %t1413 = getelementptr inbounds ptr, ptr %t1408, i32 0 %t1414 = load ptr, ptr %t1413 %t1415 = call ptr @fn_emit_expr(ptr %t1414) store ptr %t1415, ptr %t1416 %t1417 = call ptr @fn_emit_bind(ptr @.str10022) store ptr %t1417, ptr %t1418 %t1419 = load ptr, ptr %t1418 %t1420 = call ptr @lp_str_concat(ptr @.str10023, ptr %t1419) %t1421 = call ptr @lp_str_concat(ptr %t1420, ptr @.str10024) %t1422 = call ptr @fn_emit_bind(ptr %t1421) store ptr %t1422, ptr %t1423 %t1424 = load ptr, ptr %t1423 %t1425 = call ptr @lp_str_concat(ptr @.str10025, ptr %t1424) %t1426 = call ptr @lp_str_concat(ptr %t1425, ptr @.str10026) call void @fn_emit(ptr %t1426) %t1427 = load ptr, ptr %t1418 %t1428 = call ptr @lp_str_concat(ptr @.str10027, ptr %t1427) %t1429 = call ptr @lp_str_concat(ptr %t1428, ptr @.str10028) %t1430 = call ptr @fn_emit_bind(ptr %t1429) store ptr %t1430, ptr %t1431 %t1432 = load ptr, ptr %t1416 %t1433 = call ptr @fn_coerce_code(ptr %t1432, ptr @.str10030) %t1434 = call ptr @lp_str_concat(ptr @.str10029, ptr %t1433) %t1435 = call ptr @lp_str_concat(ptr %t1434, ptr @.str10031) %t1436 = load ptr, ptr %t1431 %t1437 = call ptr @lp_str_concat(ptr %t1435, ptr %t1436) %t1438 = call ptr @lp_str_concat(ptr %t1437, ptr @.str10032) call void @fn_emit(ptr %t1438) %t1439 = load ptr, ptr %t1418 %t1440 = call ptr @lp_str_concat(ptr @.str10033, ptr %t1439) %t1441 = call ptr @lp_str_concat(ptr %t1440, ptr @.str10034) %t1442 = call ptr @fn_emit_bind(ptr %t1441) store ptr %t1442, ptr %t1443 %t1444 = load ptr, ptr %t1443 %t1445 = call ptr @lp_str_concat(ptr @.str10035, ptr %t1444) %t1446 = call ptr @lp_str_concat(ptr %t1445, ptr @.str10036) call void @fn_emit(ptr %t1446) %t1447 = load ptr, ptr %t1418 %t1448 = call ptr @fn_val(ptr %t1447, ptr @.str10037) store ptr %t1448, ptr %retval br label %ret ifend305: %t1450 = load ptr, ptr %t38 %t1451 = call i32 @lp_str_eq(ptr %t1450, ptr @.str10038) %t1452 = icmp ne i32 %t1451, 0 %t1453 = zext i1 %t1452 to i32 store i32 %t1453, ptr %t1449 br i1 %t1452, label %sc308, label %scend309 sc308: %t1454 = call ptr @fn_find_fn(ptr @.str10039) %t1455 = icmp eq ptr %t1454, null %t1456 = zext i1 %t1455 to i32 %t1457 = icmp ne i32 %t1456, 0 %t1458 = zext i1 %t1457 to i32 store i32 %t1458, ptr %t1449 br label %scend309 scend309: %t1459 = load i32, ptr %t1449 %t1460 = icmp ne i32 %t1459, 0 br i1 %t1460, label %then310, label %ifend312 then310: store i32 1, ptr @g_g_uses_result %t1461 = load ptr, ptr %t0 %t1462 = getelementptr inbounds %Cmp_Node, ptr %t1461, i32 0, i32 7 %t1463 = load ptr, ptr %t1462 %t1464 = getelementptr inbounds %LSlice, ptr %t1463, i32 0, i32 0 %t1465 = load ptr, ptr %t1464 %t1466 = getelementptr inbounds %LSlice, ptr %t1463, i32 0, i32 1 %t1467 = load i32, ptr %t1466 %t1468 = icmp ult i32 0, %t1467 br i1 %t1468, label %ixok313, label %ixbad314 ixbad314: %t1469 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1469, ptr @.fmt_bounds, ptr @.str10040, i32 0, i32 %t1467) call void @exit(i32 1) unreachable ixok313: %t1470 = getelementptr inbounds ptr, ptr %t1465, i32 0 %t1471 = load ptr, ptr %t1470 %t1472 = call ptr @fn_emit_expr(ptr %t1471) store ptr %t1472, ptr %t1473 %t1474 = call ptr @fn_emit_bind(ptr @.str10041) store ptr %t1474, ptr %t1475 %t1476 = load ptr, ptr %t1475 %t1477 = call ptr @lp_str_concat(ptr @.str10042, ptr %t1476) %t1478 = call ptr @lp_str_concat(ptr %t1477, ptr @.str10043) %t1479 = call ptr @fn_emit_bind(ptr %t1478) store ptr %t1479, ptr %t1480 %t1481 = load ptr, ptr %t1480 %t1482 = call ptr @lp_str_concat(ptr @.str10044, ptr %t1481) %t1483 = call ptr @lp_str_concat(ptr %t1482, ptr @.str10045) call void @fn_emit(ptr %t1483) %t1484 = load ptr, ptr %t1475 %t1485 = call ptr @lp_str_concat(ptr @.str10046, ptr %t1484) %t1486 = call ptr @lp_str_concat(ptr %t1485, ptr @.str10047) %t1487 = call ptr @fn_emit_bind(ptr %t1486) store ptr %t1487, ptr %t1488 %t1489 = load ptr, ptr %t1488 %t1490 = call ptr @lp_str_concat(ptr @.str10048, ptr %t1489) %t1491 = call ptr @lp_str_concat(ptr %t1490, ptr @.str10049) call void @fn_emit(ptr %t1491) %t1492 = load ptr, ptr %t1475 %t1493 = call ptr @lp_str_concat(ptr @.str10050, ptr %t1492) %t1494 = call ptr @lp_str_concat(ptr %t1493, ptr @.str10051) %t1495 = call ptr @fn_emit_bind(ptr %t1494) store ptr %t1495, ptr %t1496 %t1497 = load ptr, ptr %t1473 %t1498 = getelementptr inbounds %Cmp_Val, ptr %t1497, i32 0, i32 0 %t1499 = load ptr, ptr %t1498 %t1500 = call ptr @lp_str_concat(ptr @.str10052, ptr %t1499) %t1501 = call ptr @lp_str_concat(ptr %t1500, ptr @.str10053) %t1502 = load ptr, ptr %t1496 %t1503 = call ptr @lp_str_concat(ptr %t1501, ptr %t1502) %t1504 = call ptr @lp_str_concat(ptr %t1503, ptr @.str10054) call void @fn_emit(ptr %t1504) %t1505 = load ptr, ptr %t1475 %t1506 = call ptr @fn_val(ptr %t1505, ptr @.str10055) store ptr %t1506, ptr %retval br label %ret ifend312: %t1508 = load ptr, ptr %t38 %t1509 = call i32 @lp_str_eq(ptr %t1508, ptr @.str10056) %t1510 = icmp ne i32 %t1509, 0 %t1511 = zext i1 %t1510 to i32 store i32 %t1511, ptr %t1507 br i1 %t1510, label %sc315, label %scend316 sc315: %t1512 = call ptr @fn_find_fn(ptr @.str10057) %t1513 = icmp eq ptr %t1512, null %t1514 = zext i1 %t1513 to i32 %t1515 = icmp ne i32 %t1514, 0 %t1516 = zext i1 %t1515 to i32 store i32 %t1516, ptr %t1507 br label %scend316 scend316: %t1517 = load i32, ptr %t1507 %t1518 = icmp ne i32 %t1517, 0 br i1 %t1518, label %then317, label %ifend319 then317: %t1519 = load ptr, ptr %t0 %t1520 = getelementptr inbounds %Cmp_Node, ptr %t1519, i32 0, i32 7 %t1521 = load ptr, ptr %t1520 %t1522 = getelementptr inbounds %LSlice, ptr %t1521, i32 0, i32 0 %t1523 = load ptr, ptr %t1522 %t1524 = getelementptr inbounds %LSlice, ptr %t1521, i32 0, i32 1 %t1525 = load i32, ptr %t1524 %t1526 = icmp ult i32 0, %t1525 br i1 %t1526, label %ixok320, label %ixbad321 ixbad321: %t1527 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1527, ptr @.fmt_bounds, ptr @.str10058, i32 0, i32 %t1525) call void @exit(i32 1) unreachable ixok320: %t1528 = getelementptr inbounds ptr, ptr %t1523, i32 0 %t1529 = load ptr, ptr %t1528 %t1530 = call ptr @fn_emit_expr(ptr %t1529) store ptr %t1530, ptr %t1531 %t1532 = load ptr, ptr %t1531 %t1533 = getelementptr inbounds %Cmp_Val, ptr %t1532, i32 0, i32 0 %t1534 = load ptr, ptr %t1533 %t1535 = call ptr @lp_str_concat(ptr @.str10059, ptr %t1534) %t1536 = call ptr @lp_str_concat(ptr %t1535, ptr @.str10060) %t1537 = call ptr @fn_emit_bind(ptr %t1536) store ptr %t1537, ptr %t1538 %t1539 = load ptr, ptr %t1538 %t1540 = call ptr @lp_str_concat(ptr @.str10061, ptr %t1539) %t1541 = call ptr @fn_emit_bind(ptr %t1540) store ptr %t1541, ptr %t1542 %t1543 = load ptr, ptr %t1542 %t1544 = call ptr @lp_str_concat(ptr @.str10062, ptr %t1543) %t1545 = call ptr @lp_str_concat(ptr %t1544, ptr @.str10063) %t1546 = call ptr @fn_emit_bind(ptr %t1545) store ptr %t1546, ptr %t1547 %t1548 = load ptr, ptr %t1547 %t1549 = call ptr @lp_str_concat(ptr @.str10064, ptr %t1548) %t1550 = call ptr @lp_str_concat(ptr %t1549, ptr @.str10065) %t1551 = call ptr @fn_emit_bind(ptr %t1550) %t1552 = call ptr @fn_val(ptr %t1551, ptr @.str10066) store ptr %t1552, ptr %retval br label %ret ifend319: %t1554 = load ptr, ptr %t38 %t1555 = call i32 @lp_str_eq(ptr %t1554, ptr @.str10067) %t1556 = icmp ne i32 %t1555, 0 %t1557 = zext i1 %t1556 to i32 store i32 %t1557, ptr %t1553 br i1 %t1556, label %sc322, label %scend323 sc322: %t1558 = call ptr @fn_find_fn(ptr @.str10068) %t1559 = icmp eq ptr %t1558, null %t1560 = zext i1 %t1559 to i32 %t1561 = icmp ne i32 %t1560, 0 %t1562 = zext i1 %t1561 to i32 store i32 %t1562, ptr %t1553 br label %scend323 scend323: %t1563 = load i32, ptr %t1553 %t1564 = icmp ne i32 %t1563, 0 br i1 %t1564, label %then324, label %ifend326 then324: %t1565 = load ptr, ptr %t0 %t1566 = getelementptr inbounds %Cmp_Node, ptr %t1565, i32 0, i32 7 %t1567 = load ptr, ptr %t1566 %t1568 = getelementptr inbounds %LSlice, ptr %t1567, i32 0, i32 0 %t1569 = load ptr, ptr %t1568 %t1570 = getelementptr inbounds %LSlice, ptr %t1567, i32 0, i32 1 %t1571 = load i32, ptr %t1570 %t1572 = icmp ult i32 0, %t1571 br i1 %t1572, label %ixok327, label %ixbad328 ixbad328: %t1573 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1573, ptr @.fmt_bounds, ptr @.str10069, i32 0, i32 %t1571) call void @exit(i32 1) unreachable ixok327: %t1574 = getelementptr inbounds ptr, ptr %t1569, i32 0 %t1575 = load ptr, ptr %t1574 %t1576 = call ptr @fn_emit_expr(ptr %t1575) store ptr %t1576, ptr %t1577 %t1578 = load ptr, ptr %t1577 %t1579 = getelementptr inbounds %Cmp_Val, ptr %t1578, i32 0, i32 0 %t1580 = load ptr, ptr %t1579 %t1581 = call ptr @lp_str_concat(ptr @.str10070, ptr %t1580) %t1582 = call ptr @lp_str_concat(ptr %t1581, ptr @.str10071) %t1583 = call ptr @fn_emit_bind(ptr %t1582) store ptr %t1583, ptr %t1584 %t1585 = load ptr, ptr %t1584 %t1586 = call ptr @lp_str_concat(ptr @.str10072, ptr %t1585) %t1587 = call ptr @fn_emit_bind(ptr %t1586) store ptr %t1587, ptr %t1588 %t1589 = load ptr, ptr %t1588 %t1590 = call ptr @lp_str_concat(ptr @.str10073, ptr %t1589) %t1591 = call ptr @lp_str_concat(ptr %t1590, ptr @.str10074) %t1592 = call ptr @fn_emit_bind(ptr %t1591) store ptr %t1592, ptr %t1593 %t1594 = load ptr, ptr %t1593 %t1595 = call ptr @lp_str_concat(ptr @.str10075, ptr %t1594) %t1596 = call ptr @lp_str_concat(ptr %t1595, ptr @.str10076) %t1597 = call ptr @fn_emit_bind(ptr %t1596) %t1598 = call ptr @fn_val(ptr %t1597, ptr @.str10077) store ptr %t1598, ptr %retval br label %ret ifend326: %t1600 = load ptr, ptr %t38 %t1601 = call i32 @lp_str_eq(ptr %t1600, ptr @.str10078) %t1602 = icmp ne i32 %t1601, 0 %t1603 = zext i1 %t1602 to i32 store i32 %t1603, ptr %t1599 br i1 %t1602, label %sc329, label %scend330 sc329: %t1604 = call ptr @fn_find_fn(ptr @.str10079) %t1605 = icmp eq ptr %t1604, null %t1606 = zext i1 %t1605 to i32 %t1607 = icmp ne i32 %t1606, 0 %t1608 = zext i1 %t1607 to i32 store i32 %t1608, ptr %t1599 br label %scend330 scend330: %t1609 = load i32, ptr %t1599 %t1610 = icmp ne i32 %t1609, 0 br i1 %t1610, label %then331, label %ifend333 then331: store i32 1, ptr @g_g_uses_option %t1611 = load ptr, ptr %t0 %t1612 = getelementptr inbounds %Cmp_Node, ptr %t1611, i32 0, i32 7 %t1613 = load ptr, ptr %t1612 %t1614 = getelementptr inbounds %LSlice, ptr %t1613, i32 0, i32 0 %t1615 = load ptr, ptr %t1614 %t1616 = getelementptr inbounds %LSlice, ptr %t1613, i32 0, i32 1 %t1617 = load i32, ptr %t1616 %t1618 = icmp ult i32 0, %t1617 br i1 %t1618, label %ixok334, label %ixbad335 ixbad335: %t1619 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1619, ptr @.fmt_bounds, ptr @.str10080, i32 0, i32 %t1617) call void @exit(i32 1) unreachable ixok334: %t1620 = getelementptr inbounds ptr, ptr %t1615, i32 0 %t1621 = load ptr, ptr %t1620 %t1622 = call ptr @fn_emit_expr(ptr %t1621) store ptr %t1622, ptr %t1623 %t1624 = call ptr @fn_emit_bind(ptr @.str10081) store ptr %t1624, ptr %t1625 %t1626 = load ptr, ptr %t1625 %t1627 = call ptr @lp_str_concat(ptr @.str10082, ptr %t1626) %t1628 = call ptr @lp_str_concat(ptr %t1627, ptr @.str10083) %t1629 = call ptr @fn_emit_bind(ptr %t1628) store ptr %t1629, ptr %t1630 %t1631 = load ptr, ptr %t1630 %t1632 = call ptr @lp_str_concat(ptr @.str10084, ptr %t1631) %t1633 = call ptr @lp_str_concat(ptr %t1632, ptr @.str10085) call void @fn_emit(ptr %t1633) %t1634 = load ptr, ptr %t1625 %t1635 = call ptr @lp_str_concat(ptr @.str10086, ptr %t1634) %t1636 = call ptr @lp_str_concat(ptr %t1635, ptr @.str10087) %t1637 = call ptr @fn_emit_bind(ptr %t1636) store ptr %t1637, ptr %t1638 %t1639 = load ptr, ptr %t1623 %t1640 = call ptr @fn_coerce_code(ptr %t1639, ptr @.str10089) %t1641 = call ptr @lp_str_concat(ptr @.str10088, ptr %t1640) %t1642 = call ptr @lp_str_concat(ptr %t1641, ptr @.str10090) %t1643 = load ptr, ptr %t1638 %t1644 = call ptr @lp_str_concat(ptr %t1642, ptr %t1643) %t1645 = call ptr @lp_str_concat(ptr %t1644, ptr @.str10091) call void @fn_emit(ptr %t1645) %t1646 = load ptr, ptr %t1625 %t1647 = call ptr @fn_val(ptr %t1646, ptr @.str10092) store ptr %t1647, ptr %retval br label %ret ifend333: %t1649 = load ptr, ptr %t38 %t1650 = call i32 @lp_str_eq(ptr %t1649, ptr @.str10093) %t1651 = icmp ne i32 %t1650, 0 %t1652 = zext i1 %t1651 to i32 store i32 %t1652, ptr %t1648 br i1 %t1651, label %sc336, label %scend337 sc336: %t1653 = call ptr @fn_find_fn(ptr @.str10094) %t1654 = icmp eq ptr %t1653, null %t1655 = zext i1 %t1654 to i32 %t1656 = icmp ne i32 %t1655, 0 %t1657 = zext i1 %t1656 to i32 store i32 %t1657, ptr %t1648 br label %scend337 scend337: %t1658 = load i32, ptr %t1648 %t1659 = icmp ne i32 %t1658, 0 br i1 %t1659, label %then338, label %ifend340 then338: store i32 1, ptr @g_g_uses_option %t1660 = call ptr @fn_emit_bind(ptr @.str10095) store ptr %t1660, ptr %t1661 %t1662 = load ptr, ptr %t1661 %t1663 = call ptr @lp_str_concat(ptr @.str10096, ptr %t1662) %t1664 = call ptr @lp_str_concat(ptr %t1663, ptr @.str10097) %t1665 = call ptr @fn_emit_bind(ptr %t1664) store ptr %t1665, ptr %t1666 %t1667 = load ptr, ptr %t1666 %t1668 = call ptr @lp_str_concat(ptr @.str10098, ptr %t1667) %t1669 = call ptr @lp_str_concat(ptr %t1668, ptr @.str10099) call void @fn_emit(ptr %t1669) %t1670 = load ptr, ptr %t1661 %t1671 = call ptr @lp_str_concat(ptr @.str10100, ptr %t1670) %t1672 = call ptr @lp_str_concat(ptr %t1671, ptr @.str10101) %t1673 = call ptr @fn_emit_bind(ptr %t1672) store ptr %t1673, ptr %t1674 %t1675 = load ptr, ptr %t1674 %t1676 = call ptr @lp_str_concat(ptr @.str10102, ptr %t1675) %t1677 = call ptr @lp_str_concat(ptr %t1676, ptr @.str10103) call void @fn_emit(ptr %t1677) %t1678 = load ptr, ptr %t1661 %t1679 = call ptr @fn_val(ptr %t1678, ptr @.str10104) store ptr %t1679, ptr %retval br label %ret ifend340: %t1681 = load ptr, ptr %t38 %t1682 = call i32 @lp_str_eq(ptr %t1681, ptr @.str10105) %t1683 = icmp ne i32 %t1682, 0 %t1684 = zext i1 %t1683 to i32 store i32 %t1684, ptr %t1680 br i1 %t1683, label %sc341, label %scend342 sc341: %t1685 = call ptr @fn_find_fn(ptr @.str10106) %t1686 = icmp eq ptr %t1685, null %t1687 = zext i1 %t1686 to i32 %t1688 = icmp ne i32 %t1687, 0 %t1689 = zext i1 %t1688 to i32 store i32 %t1689, ptr %t1680 br label %scend342 scend342: %t1690 = load i32, ptr %t1680 %t1691 = icmp ne i32 %t1690, 0 br i1 %t1691, label %then343, label %ifend345 then343: %t1692 = load ptr, ptr %t0 %t1693 = getelementptr inbounds %Cmp_Node, ptr %t1692, i32 0, i32 7 %t1694 = load ptr, ptr %t1693 %t1695 = getelementptr inbounds %LSlice, ptr %t1694, i32 0, i32 0 %t1696 = load ptr, ptr %t1695 %t1697 = getelementptr inbounds %LSlice, ptr %t1694, i32 0, i32 1 %t1698 = load i32, ptr %t1697 %t1699 = icmp ult i32 0, %t1698 br i1 %t1699, label %ixok346, label %ixbad347 ixbad347: %t1700 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1700, ptr @.fmt_bounds, ptr @.str10107, i32 0, i32 %t1698) call void @exit(i32 1) unreachable ixok346: %t1701 = getelementptr inbounds ptr, ptr %t1696, i32 0 %t1702 = load ptr, ptr %t1701 %t1703 = call ptr @fn_emit_expr(ptr %t1702) store ptr %t1703, ptr %t1704 %t1705 = load ptr, ptr %t1704 %t1706 = getelementptr inbounds %Cmp_Val, ptr %t1705, i32 0, i32 0 %t1707 = load ptr, ptr %t1706 %t1708 = call ptr @lp_str_concat(ptr @.str10108, ptr %t1707) %t1709 = call ptr @lp_str_concat(ptr %t1708, ptr @.str10109) %t1710 = call ptr @fn_emit_bind(ptr %t1709) store ptr %t1710, ptr %t1711 %t1712 = load ptr, ptr %t1711 %t1713 = call ptr @lp_str_concat(ptr @.str10110, ptr %t1712) %t1714 = call ptr @fn_emit_bind(ptr %t1713) store ptr %t1714, ptr %t1715 %t1716 = load ptr, ptr %t1715 %t1717 = call ptr @lp_str_concat(ptr @.str10111, ptr %t1716) %t1718 = call ptr @lp_str_concat(ptr %t1717, ptr @.str10112) %t1719 = call ptr @fn_emit_bind(ptr %t1718) store ptr %t1719, ptr %t1720 %t1721 = load ptr, ptr %t1720 %t1722 = call ptr @lp_str_concat(ptr @.str10113, ptr %t1721) %t1723 = call ptr @lp_str_concat(ptr %t1722, ptr @.str10114) %t1724 = call ptr @fn_emit_bind(ptr %t1723) %t1725 = call ptr @fn_val(ptr %t1724, ptr @.str10115) store ptr %t1725, ptr %retval br label %ret ifend345: %t1727 = load ptr, ptr %t38 %t1728 = call i32 @lp_str_eq(ptr %t1727, ptr @.str10116) %t1729 = icmp ne i32 %t1728, 0 %t1730 = zext i1 %t1729 to i32 store i32 %t1730, ptr %t1726 br i1 %t1729, label %sc348, label %scend349 sc348: %t1731 = call ptr @fn_find_fn(ptr @.str10117) %t1732 = icmp eq ptr %t1731, null %t1733 = zext i1 %t1732 to i32 %t1734 = icmp ne i32 %t1733, 0 %t1735 = zext i1 %t1734 to i32 store i32 %t1735, ptr %t1726 br label %scend349 scend349: %t1736 = load i32, ptr %t1726 %t1737 = icmp ne i32 %t1736, 0 br i1 %t1737, label %then350, label %ifend352 then350: %t1738 = load ptr, ptr %t0 %t1739 = getelementptr inbounds %Cmp_Node, ptr %t1738, i32 0, i32 7 %t1740 = load ptr, ptr %t1739 %t1741 = getelementptr inbounds %LSlice, ptr %t1740, i32 0, i32 0 %t1742 = load ptr, ptr %t1741 %t1743 = getelementptr inbounds %LSlice, ptr %t1740, i32 0, i32 1 %t1744 = load i32, ptr %t1743 %t1745 = icmp ult i32 0, %t1744 br i1 %t1745, label %ixok353, label %ixbad354 ixbad354: %t1746 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1746, ptr @.fmt_bounds, ptr @.str10118, i32 0, i32 %t1744) call void @exit(i32 1) unreachable ixok353: %t1747 = getelementptr inbounds ptr, ptr %t1742, i32 0 %t1748 = load ptr, ptr %t1747 %t1749 = call ptr @fn_emit_expr(ptr %t1748) store ptr %t1749, ptr %t1750 %t1751 = load ptr, ptr %t1750 %t1752 = getelementptr inbounds %Cmp_Val, ptr %t1751, i32 0, i32 0 %t1753 = load ptr, ptr %t1752 %t1754 = call ptr @lp_str_concat(ptr @.str10119, ptr %t1753) %t1755 = call ptr @lp_str_concat(ptr %t1754, ptr @.str10120) %t1756 = call ptr @fn_emit_bind(ptr %t1755) store ptr %t1756, ptr %t1757 %t1758 = load ptr, ptr %t1757 %t1759 = call ptr @lp_str_concat(ptr @.str10121, ptr %t1758) %t1760 = call ptr @fn_emit_bind(ptr %t1759) store ptr %t1760, ptr %t1761 %t1762 = load ptr, ptr %t1761 %t1763 = call ptr @lp_str_concat(ptr @.str10122, ptr %t1762) %t1764 = call ptr @lp_str_concat(ptr %t1763, ptr @.str10123) %t1765 = call ptr @fn_emit_bind(ptr %t1764) store ptr %t1765, ptr %t1766 %t1767 = load ptr, ptr %t1766 %t1768 = call ptr @lp_str_concat(ptr @.str10124, ptr %t1767) %t1769 = call ptr @lp_str_concat(ptr %t1768, ptr @.str10125) %t1770 = call ptr @fn_emit_bind(ptr %t1769) %t1771 = call ptr @fn_val(ptr %t1770, ptr @.str10126) store ptr %t1771, ptr %retval br label %ret ifend352: %t1773 = load ptr, ptr %t38 %t1774 = call i32 @lp_str_eq(ptr %t1773, ptr @.str10127) %t1775 = icmp ne i32 %t1774, 0 %t1776 = zext i1 %t1775 to i32 store i32 %t1776, ptr %t1772 br i1 %t1775, label %sc355, label %scend356 sc355: %t1777 = call ptr @fn_find_fn(ptr @.str10128) %t1778 = icmp eq ptr %t1777, null %t1779 = zext i1 %t1778 to i32 %t1780 = icmp ne i32 %t1779, 0 %t1781 = zext i1 %t1780 to i32 store i32 %t1781, ptr %t1772 br label %scend356 scend356: %t1782 = load i32, ptr %t1772 %t1783 = icmp ne i32 %t1782, 0 br i1 %t1783, label %then357, label %ifend359 then357: %t1784 = load ptr, ptr %t0 %t1785 = getelementptr inbounds %Cmp_Node, ptr %t1784, i32 0, i32 7 %t1786 = load ptr, ptr %t1785 %t1787 = getelementptr inbounds %LSlice, ptr %t1786, i32 0, i32 0 %t1788 = load ptr, ptr %t1787 %t1789 = getelementptr inbounds %LSlice, ptr %t1786, i32 0, i32 1 %t1790 = load i32, ptr %t1789 %t1791 = icmp ult i32 0, %t1790 br i1 %t1791, label %ixok360, label %ixbad361 ixbad361: %t1792 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1792, ptr @.fmt_bounds, ptr @.str10129, i32 0, i32 %t1790) call void @exit(i32 1) unreachable ixok360: %t1793 = getelementptr inbounds ptr, ptr %t1788, i32 0 %t1794 = load ptr, ptr %t1793 %t1795 = call ptr @fn_emit_expr(ptr %t1794) store ptr %t1795, ptr %t1796 %t1797 = load ptr, ptr %t0 %t1798 = getelementptr inbounds %Cmp_Node, ptr %t1797, i32 0, i32 7 %t1799 = load ptr, ptr %t1798 %t1800 = getelementptr inbounds %LSlice, ptr %t1799, i32 0, i32 0 %t1801 = load ptr, ptr %t1800 %t1802 = getelementptr inbounds %LSlice, ptr %t1799, i32 0, i32 1 %t1803 = load i32, ptr %t1802 %t1804 = icmp ult i32 1, %t1803 br i1 %t1804, label %ixok362, label %ixbad363 ixbad363: %t1805 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1805, ptr @.fmt_bounds, ptr @.str10130, i32 1, i32 %t1803) call void @exit(i32 1) unreachable ixok362: %t1806 = getelementptr inbounds ptr, ptr %t1801, i32 1 %t1807 = load ptr, ptr %t1806 %t1808 = call ptr @fn_emit_expr(ptr %t1807) store ptr %t1808, ptr %t1809 %t1810 = load ptr, ptr %t1796 %t1811 = getelementptr inbounds %Cmp_Val, ptr %t1810, i32 0, i32 0 %t1812 = load ptr, ptr %t1811 %t1813 = call ptr @lp_str_concat(ptr @.str10131, ptr %t1812) %t1814 = call ptr @lp_str_concat(ptr %t1813, ptr @.str10132) %t1815 = call ptr @fn_emit_bind(ptr %t1814) store ptr %t1815, ptr %t1816 %t1817 = load ptr, ptr %t1816 %t1818 = call ptr @lp_str_concat(ptr @.str10133, ptr %t1817) %t1819 = call ptr @fn_emit_bind(ptr %t1818) store ptr %t1819, ptr %t1820 %t1821 = load ptr, ptr %t1796 %t1822 = getelementptr inbounds %Cmp_Val, ptr %t1821, i32 0, i32 0 %t1823 = load ptr, ptr %t1822 %t1824 = call ptr @lp_str_concat(ptr @.str10134, ptr %t1823) %t1825 = call ptr @lp_str_concat(ptr %t1824, ptr @.str10135) %t1826 = call ptr @fn_emit_bind(ptr %t1825) store ptr %t1826, ptr %t1827 %t1828 = load ptr, ptr %t1827 %t1829 = call ptr @lp_str_concat(ptr @.str10136, ptr %t1828) %t1830 = call ptr @fn_emit_bind(ptr %t1829) store ptr %t1830, ptr %t1831 %t1832 = load ptr, ptr %t1820 %t1833 = call ptr @lp_str_concat(ptr @.str10137, ptr %t1832) %t1834 = call ptr @lp_str_concat(ptr %t1833, ptr @.str10138) %t1835 = call ptr @fn_emit_bind(ptr %t1834) store ptr %t1835, ptr %t1836 %t1837 = load ptr, ptr %t1836 %t1838 = call ptr @lp_str_concat(ptr @.str10139, ptr %t1837) %t1839 = call ptr @lp_str_concat(ptr %t1838, ptr @.str10140) %t1840 = load ptr, ptr %t1831 %t1841 = call ptr @lp_str_concat(ptr %t1839, ptr %t1840) %t1842 = call ptr @lp_str_concat(ptr %t1841, ptr @.str10141) %t1843 = load ptr, ptr %t1809 %t1844 = call ptr @fn_coerce_code(ptr %t1843, ptr @.str10142) %t1845 = call ptr @lp_str_concat(ptr %t1842, ptr %t1844) %t1846 = call ptr @fn_emit_bind(ptr %t1845) %t1847 = call ptr @fn_val(ptr %t1846, ptr @.str10143) store ptr %t1847, ptr %retval br label %ret ifend359: %t1848 = load ptr, ptr %t38 %t1849 = call i32 @lp_str_eq(ptr %t1848, ptr @.str10144) %t1850 = icmp ne i32 %t1849, 0 br i1 %t1850, label %then364, label %ifend366 then364: %t1851 = load ptr, ptr %t0 %t1852 = getelementptr inbounds %Cmp_Node, ptr %t1851, i32 0, i32 7 %t1853 = load ptr, ptr %t1852 %t1854 = getelementptr inbounds %LSlice, ptr %t1853, i32 0, i32 0 %t1855 = load ptr, ptr %t1854 %t1856 = getelementptr inbounds %LSlice, ptr %t1853, i32 0, i32 1 %t1857 = load i32, ptr %t1856 %t1858 = icmp ult i32 0, %t1857 br i1 %t1858, label %ixok367, label %ixbad368 ixbad368: %t1859 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1859, ptr @.fmt_bounds, ptr @.str10145, i32 0, i32 %t1857) call void @exit(i32 1) unreachable ixok367: %t1860 = getelementptr inbounds ptr, ptr %t1855, i32 0 %t1861 = load ptr, ptr %t1860 %t1862 = call ptr @fn_emit_expr(ptr %t1861) store ptr %t1862, ptr %t1863 %t1864 = load ptr, ptr %t1863 %t1865 = getelementptr inbounds %Cmp_Val, ptr %t1864, i32 0, i32 0 %t1866 = load ptr, ptr %t1865 %t1867 = call ptr @lp_str_concat(ptr @.str10146, ptr %t1866) %t1868 = call ptr @lp_str_concat(ptr %t1867, ptr @.str10147) %t1869 = call ptr @fn_emit_bind(ptr %t1868) %t1870 = call ptr @fn_val(ptr %t1869, ptr @.str10148) store ptr %t1870, ptr %retval br label %ret ifend366: %t1871 = load ptr, ptr %t38 %t1872 = call i32 @lp_str_eq(ptr %t1871, ptr @.str10149) %t1873 = icmp ne i32 %t1872, 0 br i1 %t1873, label %then369, label %ifend371 then369: %t1874 = load ptr, ptr %t0 %t1875 = getelementptr inbounds %Cmp_Node, ptr %t1874, i32 0, i32 7 %t1876 = load ptr, ptr %t1875 %t1877 = getelementptr inbounds %LSlice, ptr %t1876, i32 0, i32 0 %t1878 = load ptr, ptr %t1877 %t1879 = getelementptr inbounds %LSlice, ptr %t1876, i32 0, i32 1 %t1880 = load i32, ptr %t1879 %t1881 = icmp ult i32 0, %t1880 br i1 %t1881, label %ixok372, label %ixbad373 ixbad373: %t1882 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1882, ptr @.fmt_bounds, ptr @.str10150, i32 0, i32 %t1880) call void @exit(i32 1) unreachable ixok372: %t1883 = getelementptr inbounds ptr, ptr %t1878, i32 0 %t1884 = load ptr, ptr %t1883 %t1885 = call ptr @fn_emit_expr(ptr %t1884) store ptr %t1885, ptr %t1886 %t1887 = load ptr, ptr %t0 %t1888 = getelementptr inbounds %Cmp_Node, ptr %t1887, i32 0, i32 7 %t1889 = load ptr, ptr %t1888 %t1890 = getelementptr inbounds %LSlice, ptr %t1889, i32 0, i32 0 %t1891 = load ptr, ptr %t1890 %t1892 = getelementptr inbounds %LSlice, ptr %t1889, i32 0, i32 1 %t1893 = load i32, ptr %t1892 %t1894 = icmp ult i32 1, %t1893 br i1 %t1894, label %ixok374, label %ixbad375 ixbad375: %t1895 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1895, ptr @.fmt_bounds, ptr @.str10151, i32 1, i32 %t1893) call void @exit(i32 1) unreachable ixok374: %t1896 = getelementptr inbounds ptr, ptr %t1891, i32 1 %t1897 = load ptr, ptr %t1896 %t1898 = call ptr @fn_emit_expr(ptr %t1897) store ptr %t1898, ptr %t1899 %t1900 = load ptr, ptr %t1886 %t1901 = getelementptr inbounds %Cmp_Val, ptr %t1900, i32 0, i32 0 %t1902 = load ptr, ptr %t1901 %t1903 = call ptr @lp_str_concat(ptr @.str10152, ptr %t1902) %t1904 = call ptr @lp_str_concat(ptr %t1903, ptr @.str10153) %t1905 = load ptr, ptr %t1899 %t1906 = getelementptr inbounds %Cmp_Val, ptr %t1905, i32 0, i32 0 %t1907 = load ptr, ptr %t1906 %t1908 = call ptr @lp_str_concat(ptr %t1904, ptr %t1907) %t1909 = call ptr @lp_str_concat(ptr %t1908, ptr @.str10154) %t1910 = call ptr @fn_emit_bind(ptr %t1909) %t1911 = call ptr @fn_val(ptr %t1910, ptr @.str10155) store ptr %t1911, ptr %retval br label %ret ifend371: %t1912 = load ptr, ptr %t38 %t1913 = call i32 @lp_str_eq(ptr %t1912, ptr @.str10156) %t1914 = icmp ne i32 %t1913, 0 br i1 %t1914, label %then376, label %ifend378 then376: %t1915 = load ptr, ptr %t0 %t1916 = getelementptr inbounds %Cmp_Node, ptr %t1915, i32 0, i32 7 %t1917 = load ptr, ptr %t1916 %t1918 = getelementptr inbounds %LSlice, ptr %t1917, i32 0, i32 0 %t1919 = load ptr, ptr %t1918 %t1920 = getelementptr inbounds %LSlice, ptr %t1917, i32 0, i32 1 %t1921 = load i32, ptr %t1920 %t1922 = icmp ult i32 0, %t1921 br i1 %t1922, label %ixok379, label %ixbad380 ixbad380: %t1923 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1923, ptr @.fmt_bounds, ptr @.str10157, i32 0, i32 %t1921) call void @exit(i32 1) unreachable ixok379: %t1924 = getelementptr inbounds ptr, ptr %t1919, i32 0 %t1925 = load ptr, ptr %t1924 %t1926 = call ptr @fn_emit_expr(ptr %t1925) store ptr %t1926, ptr %t1927 %t1928 = load ptr, ptr %t0 %t1929 = getelementptr inbounds %Cmp_Node, ptr %t1928, i32 0, i32 7 %t1930 = load ptr, ptr %t1929 %t1931 = getelementptr inbounds %LSlice, ptr %t1930, i32 0, i32 0 %t1932 = load ptr, ptr %t1931 %t1933 = getelementptr inbounds %LSlice, ptr %t1930, i32 0, i32 1 %t1934 = load i32, ptr %t1933 %t1935 = icmp ult i32 1, %t1934 br i1 %t1935, label %ixok381, label %ixbad382 ixbad382: %t1936 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1936, ptr @.fmt_bounds, ptr @.str10158, i32 1, i32 %t1934) call void @exit(i32 1) unreachable ixok381: %t1937 = getelementptr inbounds ptr, ptr %t1932, i32 1 %t1938 = load ptr, ptr %t1937 %t1939 = call ptr @fn_emit_expr(ptr %t1938) store ptr %t1939, ptr %t1940 %t1941 = load ptr, ptr %t0 %t1942 = getelementptr inbounds %Cmp_Node, ptr %t1941, i32 0, i32 7 %t1943 = load ptr, ptr %t1942 %t1944 = getelementptr inbounds %LSlice, ptr %t1943, i32 0, i32 0 %t1945 = load ptr, ptr %t1944 %t1946 = getelementptr inbounds %LSlice, ptr %t1943, i32 0, i32 1 %t1947 = load i32, ptr %t1946 %t1948 = icmp ult i32 2, %t1947 br i1 %t1948, label %ixok383, label %ixbad384 ixbad384: %t1949 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1949, ptr @.fmt_bounds, ptr @.str10159, i32 2, i32 %t1947) call void @exit(i32 1) unreachable ixok383: %t1950 = getelementptr inbounds ptr, ptr %t1945, i32 2 %t1951 = load ptr, ptr %t1950 %t1952 = call ptr @fn_emit_expr(ptr %t1951) store ptr %t1952, ptr %t1953 %t1954 = load ptr, ptr %t1927 %t1955 = getelementptr inbounds %Cmp_Val, ptr %t1954, i32 0, i32 0 %t1956 = load ptr, ptr %t1955 %t1957 = call ptr @lp_str_concat(ptr @.str10160, ptr %t1956) %t1958 = call ptr @lp_str_concat(ptr %t1957, ptr @.str10161) %t1959 = load ptr, ptr %t1940 %t1960 = getelementptr inbounds %Cmp_Val, ptr %t1959, i32 0, i32 0 %t1961 = load ptr, ptr %t1960 %t1962 = call ptr @lp_str_concat(ptr %t1958, ptr %t1961) %t1963 = call ptr @lp_str_concat(ptr %t1962, ptr @.str10162) %t1964 = load ptr, ptr %t1953 %t1965 = getelementptr inbounds %Cmp_Val, ptr %t1964, i32 0, i32 0 %t1966 = load ptr, ptr %t1965 %t1967 = call ptr @lp_str_concat(ptr %t1963, ptr %t1966) %t1968 = call ptr @lp_str_concat(ptr %t1967, ptr @.str10163) %t1969 = call ptr @fn_emit_bind(ptr %t1968) store ptr %t1969, ptr %t1970 %t1971 = load ptr, ptr %t1970 %t1972 = call ptr @lp_str_concat(ptr @.str10164, ptr %t1971) %t1973 = call ptr @lp_str_concat(ptr %t1972, ptr @.str10165) %t1974 = call ptr @fn_emit_bind(ptr %t1973) %t1975 = call ptr @fn_val(ptr %t1974, ptr @.str10166) store ptr %t1975, ptr %retval br label %ret ifend378: %t1976 = load ptr, ptr %t38 %t1977 = call i32 @lp_str_eq(ptr %t1976, ptr @.str10167) %t1978 = icmp ne i32 %t1977, 0 br i1 %t1978, label %then385, label %ifend387 then385: %t1979 = load ptr, ptr %t0 %t1980 = getelementptr inbounds %Cmp_Node, ptr %t1979, i32 0, i32 7 %t1981 = load ptr, ptr %t1980 %t1982 = getelementptr inbounds %LSlice, ptr %t1981, i32 0, i32 0 %t1983 = load ptr, ptr %t1982 %t1984 = getelementptr inbounds %LSlice, ptr %t1981, i32 0, i32 1 %t1985 = load i32, ptr %t1984 %t1986 = icmp ult i32 0, %t1985 br i1 %t1986, label %ixok388, label %ixbad389 ixbad389: %t1987 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t1987, ptr @.fmt_bounds, ptr @.str10168, i32 0, i32 %t1985) call void @exit(i32 1) unreachable ixok388: %t1988 = getelementptr inbounds ptr, ptr %t1983, i32 0 %t1989 = load ptr, ptr %t1988 %t1990 = call ptr @fn_emit_expr(ptr %t1989) store ptr %t1990, ptr %t1991 %t1992 = load ptr, ptr %t0 %t1993 = getelementptr inbounds %Cmp_Node, ptr %t1992, i32 0, i32 7 %t1994 = load ptr, ptr %t1993 %t1995 = getelementptr inbounds %LSlice, ptr %t1994, i32 0, i32 0 %t1996 = load ptr, ptr %t1995 %t1997 = getelementptr inbounds %LSlice, ptr %t1994, i32 0, i32 1 %t1998 = load i32, ptr %t1997 %t1999 = icmp ult i32 1, %t1998 br i1 %t1999, label %ixok390, label %ixbad391 ixbad391: %t2000 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2000, ptr @.fmt_bounds, ptr @.str10169, i32 1, i32 %t1998) call void @exit(i32 1) unreachable ixok390: %t2001 = getelementptr inbounds ptr, ptr %t1996, i32 1 %t2002 = load ptr, ptr %t2001 %t2003 = call ptr @fn_emit_expr(ptr %t2002) store ptr %t2003, ptr %t2004 %t2005 = load ptr, ptr %t0 %t2006 = getelementptr inbounds %Cmp_Node, ptr %t2005, i32 0, i32 7 %t2007 = load ptr, ptr %t2006 %t2008 = getelementptr inbounds %LSlice, ptr %t2007, i32 0, i32 0 %t2009 = load ptr, ptr %t2008 %t2010 = getelementptr inbounds %LSlice, ptr %t2007, i32 0, i32 1 %t2011 = load i32, ptr %t2010 %t2012 = icmp ult i32 2, %t2011 br i1 %t2012, label %ixok392, label %ixbad393 ixbad393: %t2013 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2013, ptr @.fmt_bounds, ptr @.str10170, i32 2, i32 %t2011) call void @exit(i32 1) unreachable ixok392: %t2014 = getelementptr inbounds ptr, ptr %t2009, i32 2 %t2015 = load ptr, ptr %t2014 %t2016 = call ptr @fn_emit_expr(ptr %t2015) store ptr %t2016, ptr %t2017 %t2018 = load ptr, ptr %t0 %t2019 = getelementptr inbounds %Cmp_Node, ptr %t2018, i32 0, i32 7 %t2020 = load ptr, ptr %t2019 %t2021 = getelementptr inbounds %LSlice, ptr %t2020, i32 0, i32 0 %t2022 = load ptr, ptr %t2021 %t2023 = getelementptr inbounds %LSlice, ptr %t2020, i32 0, i32 1 %t2024 = load i32, ptr %t2023 %t2025 = icmp ult i32 3, %t2024 br i1 %t2025, label %ixok394, label %ixbad395 ixbad395: %t2026 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2026, ptr @.fmt_bounds, ptr @.str10171, i32 3, i32 %t2024) call void @exit(i32 1) unreachable ixok394: %t2027 = getelementptr inbounds ptr, ptr %t2022, i32 3 %t2028 = load ptr, ptr %t2027 %t2029 = call ptr @fn_emit_expr(ptr %t2028) store ptr %t2029, ptr %t2030 %t2031 = load ptr, ptr %t2030 %t2032 = getelementptr inbounds %Cmp_Val, ptr %t2031, i32 0, i32 0 %t2033 = load ptr, ptr %t2032 %t2034 = call ptr @lp_str_concat(ptr @.str10172, ptr %t2033) %t2035 = call ptr @lp_str_concat(ptr %t2034, ptr @.str10173) %t2036 = call ptr @fn_emit_bind(ptr %t2035) store ptr %t2036, ptr %t2037 call void @fn_emit(ptr @.str10174) %t2038 = load ptr, ptr %t1991 %t2039 = getelementptr inbounds %Cmp_Val, ptr %t2038, i32 0, i32 0 %t2040 = load ptr, ptr %t2039 call void @fn_emit(ptr %t2040) call void @fn_emit(ptr @.str10175) %t2041 = load ptr, ptr %t2004 %t2042 = getelementptr inbounds %Cmp_Val, ptr %t2041, i32 0, i32 0 %t2043 = load ptr, ptr %t2042 call void @fn_emit(ptr %t2043) call void @fn_emit(ptr @.str10176) %t2044 = load ptr, ptr %t2017 %t2045 = getelementptr inbounds %Cmp_Val, ptr %t2044, i32 0, i32 0 %t2046 = load ptr, ptr %t2045 call void @fn_emit(ptr %t2046) call void @fn_emit(ptr @.str10177) %t2047 = load ptr, ptr %t2037 call void @fn_emit(ptr %t2047) call void @fn_emit(ptr @.str10178) %t2048 = call ptr @fn_val(ptr @.str10179, ptr @.str10180) store ptr %t2048, ptr %retval br label %ret ifend387: %t2049 = load ptr, ptr %t38 %t2050 = call i32 @lp_str_eq(ptr %t2049, ptr @.str10181) %t2051 = icmp ne i32 %t2050, 0 br i1 %t2051, label %then396, label %ifend398 then396: %t2052 = load ptr, ptr %t0 %t2053 = getelementptr inbounds %Cmp_Node, ptr %t2052, i32 0, i32 7 %t2054 = load ptr, ptr %t2053 %t2055 = getelementptr inbounds %LSlice, ptr %t2054, i32 0, i32 0 %t2056 = load ptr, ptr %t2055 %t2057 = getelementptr inbounds %LSlice, ptr %t2054, i32 0, i32 1 %t2058 = load i32, ptr %t2057 %t2059 = icmp ult i32 0, %t2058 br i1 %t2059, label %ixok399, label %ixbad400 ixbad400: %t2060 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2060, ptr @.fmt_bounds, ptr @.str10182, i32 0, i32 %t2058) call void @exit(i32 1) unreachable ixok399: %t2061 = getelementptr inbounds ptr, ptr %t2056, i32 0 %t2062 = load ptr, ptr %t2061 %t2063 = call ptr @fn_emit_expr(ptr %t2062) store ptr %t2063, ptr %t2064 %t2065 = load ptr, ptr %t0 %t2066 = getelementptr inbounds %Cmp_Node, ptr %t2065, i32 0, i32 7 %t2067 = load ptr, ptr %t2066 %t2068 = getelementptr inbounds %LSlice, ptr %t2067, i32 0, i32 0 %t2069 = load ptr, ptr %t2068 %t2070 = getelementptr inbounds %LSlice, ptr %t2067, i32 0, i32 1 %t2071 = load i32, ptr %t2070 %t2072 = icmp ult i32 1, %t2071 br i1 %t2072, label %ixok401, label %ixbad402 ixbad402: %t2073 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2073, ptr @.fmt_bounds, ptr @.str10183, i32 1, i32 %t2071) call void @exit(i32 1) unreachable ixok401: %t2074 = getelementptr inbounds ptr, ptr %t2069, i32 1 %t2075 = load ptr, ptr %t2074 %t2076 = call ptr @fn_emit_expr(ptr %t2075) store ptr %t2076, ptr %t2077 %t2078 = load ptr, ptr %t2064 %t2079 = getelementptr inbounds %Cmp_Val, ptr %t2078, i32 0, i32 0 %t2080 = load ptr, ptr %t2079 %t2081 = call ptr @lp_str_concat(ptr @.str10184, ptr %t2080) %t2082 = call ptr @lp_str_concat(ptr %t2081, ptr @.str10185) %t2083 = load ptr, ptr %t2077 %t2084 = getelementptr inbounds %Cmp_Val, ptr %t2083, i32 0, i32 0 %t2085 = load ptr, ptr %t2084 %t2086 = call ptr @lp_str_concat(ptr %t2082, ptr %t2085) %t2087 = call ptr @lp_str_concat(ptr %t2086, ptr @.str10186) %t2088 = call ptr @fn_emit_bind(ptr %t2087) %t2089 = call ptr @fn_val(ptr %t2088, ptr @.str10187) store ptr %t2089, ptr %retval br label %ret ifend398: %t2090 = load ptr, ptr %t38 %t2091 = call i32 @lp_str_eq(ptr %t2090, ptr @.str10188) %t2092 = icmp ne i32 %t2091, 0 br i1 %t2092, label %then403, label %ifend405 then403: %t2093 = call ptr @fn_emit_bind(ptr @.str10189) %t2094 = call ptr @fn_val(ptr %t2093, ptr @.str10190) store ptr %t2094, ptr %retval br label %ret ifend405: %t2095 = load ptr, ptr %t38 %t2096 = call i32 @lp_str_eq(ptr %t2095, ptr @.str10191) %t2097 = icmp ne i32 %t2096, 0 br i1 %t2097, label %then406, label %ifend408 then406: %t2098 = load ptr, ptr %t0 %t2099 = getelementptr inbounds %Cmp_Node, ptr %t2098, i32 0, i32 7 %t2100 = load ptr, ptr %t2099 %t2101 = getelementptr inbounds %LSlice, ptr %t2100, i32 0, i32 0 %t2102 = load ptr, ptr %t2101 %t2103 = getelementptr inbounds %LSlice, ptr %t2100, i32 0, i32 1 %t2104 = load i32, ptr %t2103 %t2105 = icmp ult i32 0, %t2104 br i1 %t2105, label %ixok409, label %ixbad410 ixbad410: %t2106 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2106, ptr @.fmt_bounds, ptr @.str10192, i32 0, i32 %t2104) call void @exit(i32 1) unreachable ixok409: %t2107 = getelementptr inbounds ptr, ptr %t2102, i32 0 %t2108 = load ptr, ptr %t2107 %t2109 = call ptr @fn_emit_expr(ptr %t2108) store ptr %t2109, ptr %t2110 %t2111 = load ptr, ptr %t2110 %t2112 = getelementptr inbounds %Cmp_Val, ptr %t2111, i32 0, i32 0 %t2113 = load ptr, ptr %t2112 %t2114 = call ptr @lp_str_concat(ptr @.str10193, ptr %t2113) %t2115 = call ptr @lp_str_concat(ptr %t2114, ptr @.str10194) %t2116 = call ptr @fn_emit_bind(ptr %t2115) %t2117 = call ptr @fn_val(ptr %t2116, ptr @.str10195) store ptr %t2117, ptr %retval br label %ret ifend408: %t2118 = load ptr, ptr %t38 %t2119 = call i32 @lp_str_eq(ptr %t2118, ptr @.str10196) %t2120 = icmp ne i32 %t2119, 0 br i1 %t2120, label %then411, label %ifend413 then411: %t2121 = load ptr, ptr %t0 %t2122 = getelementptr inbounds %Cmp_Node, ptr %t2121, i32 0, i32 7 %t2123 = load ptr, ptr %t2122 %t2124 = getelementptr inbounds %LSlice, ptr %t2123, i32 0, i32 0 %t2125 = load ptr, ptr %t2124 %t2126 = getelementptr inbounds %LSlice, ptr %t2123, i32 0, i32 1 %t2127 = load i32, ptr %t2126 %t2128 = icmp ult i32 0, %t2127 br i1 %t2128, label %ixok414, label %ixbad415 ixbad415: %t2129 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2129, ptr @.fmt_bounds, ptr @.str10197, i32 0, i32 %t2127) call void @exit(i32 1) unreachable ixok414: %t2130 = getelementptr inbounds ptr, ptr %t2125, i32 0 %t2131 = load ptr, ptr %t2130 %t2132 = call ptr @fn_emit_expr(ptr %t2131) store ptr %t2132, ptr %t2133 %t2134 = load ptr, ptr %t2133 %t2135 = getelementptr inbounds %Cmp_Val, ptr %t2134, i32 0, i32 0 %t2136 = load ptr, ptr %t2135 %t2137 = call ptr @lp_str_concat(ptr @.str10198, ptr %t2136) %t2138 = call ptr @lp_str_concat(ptr %t2137, ptr @.str10199) %t2139 = call ptr @fn_emit_bind(ptr %t2138) %t2140 = call ptr @fn_val(ptr %t2139, ptr @.str10200) store ptr %t2140, ptr %retval br label %ret ifend413: %t2141 = load ptr, ptr %t38 %t2142 = call i32 @lp_str_eq(ptr %t2141, ptr @.str10201) %t2143 = icmp ne i32 %t2142, 0 br i1 %t2143, label %then416, label %ifend418 then416: %t2144 = load ptr, ptr %t0 %t2145 = getelementptr inbounds %Cmp_Node, ptr %t2144, i32 0, i32 7 %t2146 = load ptr, ptr %t2145 %t2147 = getelementptr inbounds %LSlice, ptr %t2146, i32 0, i32 0 %t2148 = load ptr, ptr %t2147 %t2149 = getelementptr inbounds %LSlice, ptr %t2146, i32 0, i32 1 %t2150 = load i32, ptr %t2149 %t2151 = icmp ult i32 0, %t2150 br i1 %t2151, label %ixok419, label %ixbad420 ixbad420: %t2152 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2152, ptr @.fmt_bounds, ptr @.str10202, i32 0, i32 %t2150) call void @exit(i32 1) unreachable ixok419: %t2153 = getelementptr inbounds ptr, ptr %t2148, i32 0 %t2154 = load ptr, ptr %t2153 %t2155 = call ptr @fn_emit_expr(ptr %t2154) store ptr %t2155, ptr %t2156 %t2157 = load ptr, ptr %t0 %t2158 = getelementptr inbounds %Cmp_Node, ptr %t2157, i32 0, i32 7 %t2159 = load ptr, ptr %t2158 %t2160 = getelementptr inbounds %LSlice, ptr %t2159, i32 0, i32 0 %t2161 = load ptr, ptr %t2160 %t2162 = getelementptr inbounds %LSlice, ptr %t2159, i32 0, i32 1 %t2163 = load i32, ptr %t2162 %t2164 = icmp ult i32 1, %t2163 br i1 %t2164, label %ixok421, label %ixbad422 ixbad422: %t2165 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2165, ptr @.fmt_bounds, ptr @.str10203, i32 1, i32 %t2163) call void @exit(i32 1) unreachable ixok421: %t2166 = getelementptr inbounds ptr, ptr %t2161, i32 1 %t2167 = load ptr, ptr %t2166 %t2168 = call ptr @fn_emit_expr(ptr %t2167) store ptr %t2168, ptr %t2169 %t2170 = load ptr, ptr %t2156 %t2171 = getelementptr inbounds %Cmp_Val, ptr %t2170, i32 0, i32 0 %t2172 = load ptr, ptr %t2171 %t2173 = call ptr @lp_str_concat(ptr @.str10204, ptr %t2172) %t2174 = call ptr @lp_str_concat(ptr %t2173, ptr @.str10205) %t2175 = load ptr, ptr %t2169 %t2176 = getelementptr inbounds %Cmp_Val, ptr %t2175, i32 0, i32 0 %t2177 = load ptr, ptr %t2176 %t2178 = call ptr @lp_str_concat(ptr %t2174, ptr %t2177) %t2179 = call ptr @lp_str_concat(ptr %t2178, ptr @.str10206) %t2180 = call ptr @fn_emit_bind(ptr %t2179) %t2181 = call ptr @fn_val(ptr %t2180, ptr @.str10207) store ptr %t2181, ptr %retval br label %ret ifend418: %t2182 = load ptr, ptr %t38 %t2183 = call i32 @lp_str_eq(ptr %t2182, ptr @.str10208) %t2184 = icmp ne i32 %t2183, 0 br i1 %t2184, label %then423, label %ifend425 then423: %t2185 = load ptr, ptr %t0 %t2186 = getelementptr inbounds %Cmp_Node, ptr %t2185, i32 0, i32 7 %t2187 = load ptr, ptr %t2186 %t2188 = getelementptr inbounds %LSlice, ptr %t2187, i32 0, i32 0 %t2189 = load ptr, ptr %t2188 %t2190 = getelementptr inbounds %LSlice, ptr %t2187, i32 0, i32 1 %t2191 = load i32, ptr %t2190 %t2192 = icmp ult i32 0, %t2191 br i1 %t2192, label %ixok426, label %ixbad427 ixbad427: %t2193 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2193, ptr @.fmt_bounds, ptr @.str10209, i32 0, i32 %t2191) call void @exit(i32 1) unreachable ixok426: %t2194 = getelementptr inbounds ptr, ptr %t2189, i32 0 %t2195 = load ptr, ptr %t2194 %t2196 = call ptr @fn_emit_expr(ptr %t2195) store ptr %t2196, ptr %t2197 %t2198 = load ptr, ptr %t0 %t2199 = getelementptr inbounds %Cmp_Node, ptr %t2198, i32 0, i32 7 %t2200 = load ptr, ptr %t2199 %t2201 = getelementptr inbounds %LSlice, ptr %t2200, i32 0, i32 0 %t2202 = load ptr, ptr %t2201 %t2203 = getelementptr inbounds %LSlice, ptr %t2200, i32 0, i32 1 %t2204 = load i32, ptr %t2203 %t2205 = icmp ult i32 1, %t2204 br i1 %t2205, label %ixok428, label %ixbad429 ixbad429: %t2206 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2206, ptr @.fmt_bounds, ptr @.str10210, i32 1, i32 %t2204) call void @exit(i32 1) unreachable ixok428: %t2207 = getelementptr inbounds ptr, ptr %t2202, i32 1 %t2208 = load ptr, ptr %t2207 %t2209 = call ptr @fn_emit_expr(ptr %t2208) store ptr %t2209, ptr %t2210 %t2211 = load ptr, ptr %t2197 %t2212 = getelementptr inbounds %Cmp_Val, ptr %t2211, i32 0, i32 0 %t2213 = load ptr, ptr %t2212 %t2214 = call ptr @lp_str_concat(ptr @.str10211, ptr %t2213) %t2215 = call ptr @lp_str_concat(ptr %t2214, ptr @.str10212) %t2216 = load ptr, ptr %t2210 %t2217 = getelementptr inbounds %Cmp_Val, ptr %t2216, i32 0, i32 0 %t2218 = load ptr, ptr %t2217 %t2219 = call ptr @lp_str_concat(ptr %t2215, ptr %t2218) %t2220 = call ptr @lp_str_concat(ptr %t2219, ptr @.str10213) %t2221 = call ptr @fn_emit_bind(ptr %t2220) %t2222 = call ptr @fn_val(ptr %t2221, ptr @.str10214) store ptr %t2222, ptr %retval br label %ret ifend425: %t2223 = load ptr, ptr %t38 %t2224 = call i32 @lp_str_eq(ptr %t2223, ptr @.str10215) %t2225 = icmp ne i32 %t2224, 0 br i1 %t2225, label %then430, label %ifend432 then430: %t2226 = load ptr, ptr %t0 %t2227 = getelementptr inbounds %Cmp_Node, ptr %t2226, i32 0, i32 7 %t2228 = load ptr, ptr %t2227 %t2229 = getelementptr inbounds %LSlice, ptr %t2228, i32 0, i32 0 %t2230 = load ptr, ptr %t2229 %t2231 = getelementptr inbounds %LSlice, ptr %t2228, i32 0, i32 1 %t2232 = load i32, ptr %t2231 %t2233 = icmp ult i32 0, %t2232 br i1 %t2233, label %ixok433, label %ixbad434 ixbad434: %t2234 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2234, ptr @.fmt_bounds, ptr @.str10216, i32 0, i32 %t2232) call void @exit(i32 1) unreachable ixok433: %t2235 = getelementptr inbounds ptr, ptr %t2230, i32 0 %t2236 = load ptr, ptr %t2235 %t2237 = call ptr @fn_emit_expr(ptr %t2236) store ptr %t2237, ptr %t2238 %t2239 = load ptr, ptr %t0 %t2240 = getelementptr inbounds %Cmp_Node, ptr %t2239, i32 0, i32 7 %t2241 = load ptr, ptr %t2240 %t2242 = getelementptr inbounds %LSlice, ptr %t2241, i32 0, i32 0 %t2243 = load ptr, ptr %t2242 %t2244 = getelementptr inbounds %LSlice, ptr %t2241, i32 0, i32 1 %t2245 = load i32, ptr %t2244 %t2246 = icmp ult i32 1, %t2245 br i1 %t2246, label %ixok435, label %ixbad436 ixbad436: %t2247 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2247, ptr @.fmt_bounds, ptr @.str10217, i32 1, i32 %t2245) call void @exit(i32 1) unreachable ixok435: %t2248 = getelementptr inbounds ptr, ptr %t2243, i32 1 %t2249 = load ptr, ptr %t2248 %t2250 = call ptr @fn_emit_expr(ptr %t2249) store ptr %t2250, ptr %t2251 call void @fn_emit(ptr @.str10218) %t2252 = load ptr, ptr %t2238 %t2253 = getelementptr inbounds %Cmp_Val, ptr %t2252, i32 0, i32 0 %t2254 = load ptr, ptr %t2253 call void @fn_emit(ptr %t2254) call void @fn_emit(ptr @.str10219) %t2255 = load ptr, ptr %t2251 %t2256 = getelementptr inbounds %Cmp_Val, ptr %t2255, i32 0, i32 0 %t2257 = load ptr, ptr %t2256 call void @fn_emit(ptr %t2257) call void @fn_emit(ptr @.str10220) %t2258 = call ptr @fn_val(ptr @.str10221, ptr @.str10222) store ptr %t2258, ptr %retval br label %ret ifend432: %t2259 = load ptr, ptr %t38 %t2260 = call i32 @lp_str_eq(ptr %t2259, ptr @.str10223) %t2261 = icmp ne i32 %t2260, 0 br i1 %t2261, label %then437, label %ifend439 then437: %t2262 = load ptr, ptr %t0 %t2263 = getelementptr inbounds %Cmp_Node, ptr %t2262, i32 0, i32 7 %t2264 = load ptr, ptr %t2263 %t2265 = getelementptr inbounds %LSlice, ptr %t2264, i32 0, i32 0 %t2266 = load ptr, ptr %t2265 %t2267 = getelementptr inbounds %LSlice, ptr %t2264, i32 0, i32 1 %t2268 = load i32, ptr %t2267 %t2269 = icmp ult i32 0, %t2268 br i1 %t2269, label %ixok440, label %ixbad441 ixbad441: %t2270 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2270, ptr @.fmt_bounds, ptr @.str10224, i32 0, i32 %t2268) call void @exit(i32 1) unreachable ixok440: %t2271 = getelementptr inbounds ptr, ptr %t2266, i32 0 %t2272 = load ptr, ptr %t2271 %t2273 = call ptr @fn_emit_expr(ptr %t2272) store ptr %t2273, ptr %t2274 %t2275 = load ptr, ptr %t0 %t2276 = getelementptr inbounds %Cmp_Node, ptr %t2275, i32 0, i32 7 %t2277 = load ptr, ptr %t2276 %t2278 = getelementptr inbounds %LSlice, ptr %t2277, i32 0, i32 0 %t2279 = load ptr, ptr %t2278 %t2280 = getelementptr inbounds %LSlice, ptr %t2277, i32 0, i32 1 %t2281 = load i32, ptr %t2280 %t2282 = icmp ult i32 1, %t2281 br i1 %t2282, label %ixok442, label %ixbad443 ixbad443: %t2283 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2283, ptr @.fmt_bounds, ptr @.str10225, i32 1, i32 %t2281) call void @exit(i32 1) unreachable ixok442: %t2284 = getelementptr inbounds ptr, ptr %t2279, i32 1 %t2285 = load ptr, ptr %t2284 %t2286 = call ptr @fn_emit_expr(ptr %t2285) store ptr %t2286, ptr %t2287 call void @fn_emit(ptr @.str10226) %t2288 = load ptr, ptr %t2274 %t2289 = getelementptr inbounds %Cmp_Val, ptr %t2288, i32 0, i32 0 %t2290 = load ptr, ptr %t2289 call void @fn_emit(ptr %t2290) call void @fn_emit(ptr @.str10227) %t2291 = load ptr, ptr %t2287 %t2292 = getelementptr inbounds %Cmp_Val, ptr %t2291, i32 0, i32 0 %t2293 = load ptr, ptr %t2292 call void @fn_emit(ptr %t2293) call void @fn_emit(ptr @.str10228) %t2294 = call ptr @fn_val(ptr @.str10229, ptr @.str10230) store ptr %t2294, ptr %retval br label %ret ifend439: %t2295 = load ptr, ptr %t38 %t2296 = call i32 @lp_str_eq(ptr %t2295, ptr @.str10231) %t2297 = icmp ne i32 %t2296, 0 br i1 %t2297, label %then444, label %ifend446 then444: %t2298 = load ptr, ptr %t0 %t2299 = getelementptr inbounds %Cmp_Node, ptr %t2298, i32 0, i32 7 %t2300 = load ptr, ptr %t2299 %t2301 = getelementptr inbounds %LSlice, ptr %t2300, i32 0, i32 0 %t2302 = load ptr, ptr %t2301 %t2303 = getelementptr inbounds %LSlice, ptr %t2300, i32 0, i32 1 %t2304 = load i32, ptr %t2303 %t2305 = icmp ult i32 0, %t2304 br i1 %t2305, label %ixok447, label %ixbad448 ixbad448: %t2306 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2306, ptr @.fmt_bounds, ptr @.str10232, i32 0, i32 %t2304) call void @exit(i32 1) unreachable ixok447: %t2307 = getelementptr inbounds ptr, ptr %t2302, i32 0 %t2308 = load ptr, ptr %t2307 %t2309 = call ptr @fn_emit_expr(ptr %t2308) store ptr %t2309, ptr %t2310 %t2311 = load ptr, ptr %t2310 %t2312 = getelementptr inbounds %Cmp_Val, ptr %t2311, i32 0, i32 0 %t2313 = load ptr, ptr %t2312 %t2314 = call ptr @lp_str_concat(ptr @.str10233, ptr %t2313) %t2315 = call ptr @lp_str_concat(ptr %t2314, ptr @.str10234) %t2316 = call ptr @fn_emit_bind(ptr %t2315) %t2317 = call ptr @fn_val(ptr %t2316, ptr @.str10235) store ptr %t2317, ptr %retval br label %ret ifend446: %t2318 = load ptr, ptr %t38 %t2319 = call i32 @lp_str_eq(ptr %t2318, ptr @.str10236) %t2320 = icmp ne i32 %t2319, 0 br i1 %t2320, label %then449, label %ifend451 then449: %t2321 = call ptr @fn_emit_bind(ptr @.str10237) %t2322 = call ptr @fn_val(ptr %t2321, ptr @.str10238) store ptr %t2322, ptr %retval br label %ret ifend451: %t2323 = load ptr, ptr %t38 %t2324 = call i32 @lp_str_eq(ptr %t2323, ptr @.str10239) %t2325 = icmp ne i32 %t2324, 0 br i1 %t2325, label %then452, label %ifend454 then452: %t2326 = load ptr, ptr %t0 %t2327 = getelementptr inbounds %Cmp_Node, ptr %t2326, i32 0, i32 7 %t2328 = load ptr, ptr %t2327 %t2329 = getelementptr inbounds %LSlice, ptr %t2328, i32 0, i32 0 %t2330 = load ptr, ptr %t2329 %t2331 = getelementptr inbounds %LSlice, ptr %t2328, i32 0, i32 1 %t2332 = load i32, ptr %t2331 %t2333 = icmp ult i32 0, %t2332 br i1 %t2333, label %ixok455, label %ixbad456 ixbad456: %t2334 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2334, ptr @.fmt_bounds, ptr @.str10240, i32 0, i32 %t2332) call void @exit(i32 1) unreachable ixok455: %t2335 = getelementptr inbounds ptr, ptr %t2330, i32 0 %t2336 = load ptr, ptr %t2335 %t2337 = call ptr @fn_emit_expr(ptr %t2336) store ptr %t2337, ptr %t2338 %t2339 = load ptr, ptr %t2338 %t2340 = getelementptr inbounds %Cmp_Val, ptr %t2339, i32 0, i32 0 %t2341 = load ptr, ptr %t2340 %t2342 = call ptr @lp_str_concat(ptr @.str10241, ptr %t2341) %t2343 = call ptr @lp_str_concat(ptr %t2342, ptr @.str10242) %t2344 = call ptr @fn_emit_bind(ptr %t2343) %t2345 = call ptr @fn_val(ptr %t2344, ptr @.str10243) store ptr %t2345, ptr %retval br label %ret ifend454: %t2346 = load ptr, ptr %t38 %t2347 = call i32 @lp_str_eq(ptr %t2346, ptr @.str10244) %t2348 = icmp ne i32 %t2347, 0 br i1 %t2348, label %then457, label %ifend459 then457: %t2349 = load ptr, ptr %t0 %t2350 = getelementptr inbounds %Cmp_Node, ptr %t2349, i32 0, i32 7 %t2351 = load ptr, ptr %t2350 %t2352 = getelementptr inbounds %LSlice, ptr %t2351, i32 0, i32 0 %t2353 = load ptr, ptr %t2352 %t2354 = getelementptr inbounds %LSlice, ptr %t2351, i32 0, i32 1 %t2355 = load i32, ptr %t2354 %t2356 = icmp ult i32 0, %t2355 br i1 %t2356, label %ixok460, label %ixbad461 ixbad461: %t2357 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2357, ptr @.fmt_bounds, ptr @.str10245, i32 0, i32 %t2355) call void @exit(i32 1) unreachable ixok460: %t2358 = getelementptr inbounds ptr, ptr %t2353, i32 0 %t2359 = load ptr, ptr %t2358 %t2360 = call ptr @fn_emit_expr(ptr %t2359) store ptr %t2360, ptr %t2361 %t2362 = load ptr, ptr %t2361 %t2363 = getelementptr inbounds %Cmp_Val, ptr %t2362, i32 0, i32 0 %t2364 = load ptr, ptr %t2363 %t2365 = call ptr @lp_str_concat(ptr @.str10246, ptr %t2364) %t2366 = call ptr @lp_str_concat(ptr %t2365, ptr @.str10247) %t2367 = call ptr @fn_emit_bind(ptr %t2366) %t2368 = call ptr @fn_val(ptr %t2367, ptr @.str10248) store ptr %t2368, ptr %retval br label %ret ifend459: %t2369 = load ptr, ptr %t38 %t2370 = call i32 @lp_str_eq(ptr %t2369, ptr @.str10249) %t2371 = icmp ne i32 %t2370, 0 br i1 %t2371, label %then462, label %ifend464 then462: %t2372 = load ptr, ptr %t0 %t2373 = getelementptr inbounds %Cmp_Node, ptr %t2372, i32 0, i32 7 %t2374 = load ptr, ptr %t2373 %t2375 = getelementptr inbounds %LSlice, ptr %t2374, i32 0, i32 0 %t2376 = load ptr, ptr %t2375 %t2377 = getelementptr inbounds %LSlice, ptr %t2374, i32 0, i32 1 %t2378 = load i32, ptr %t2377 %t2379 = icmp ult i32 0, %t2378 br i1 %t2379, label %ixok465, label %ixbad466 ixbad466: %t2380 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2380, ptr @.fmt_bounds, ptr @.str10250, i32 0, i32 %t2378) call void @exit(i32 1) unreachable ixok465: %t2381 = getelementptr inbounds ptr, ptr %t2376, i32 0 %t2382 = load ptr, ptr %t2381 %t2383 = call ptr @fn_emit_expr(ptr %t2382) store ptr %t2383, ptr %t2384 %t2385 = load ptr, ptr %t0 %t2386 = getelementptr inbounds %Cmp_Node, ptr %t2385, i32 0, i32 7 %t2387 = load ptr, ptr %t2386 %t2388 = getelementptr inbounds %LSlice, ptr %t2387, i32 0, i32 0 %t2389 = load ptr, ptr %t2388 %t2390 = getelementptr inbounds %LSlice, ptr %t2387, i32 0, i32 1 %t2391 = load i32, ptr %t2390 %t2392 = icmp ult i32 1, %t2391 br i1 %t2392, label %ixok467, label %ixbad468 ixbad468: %t2393 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2393, ptr @.fmt_bounds, ptr @.str10251, i32 1, i32 %t2391) call void @exit(i32 1) unreachable ixok467: %t2394 = getelementptr inbounds ptr, ptr %t2389, i32 1 %t2395 = load ptr, ptr %t2394 %t2396 = call ptr @fn_emit_expr(ptr %t2395) store ptr %t2396, ptr %t2397 %t2398 = load ptr, ptr %t2384 %t2399 = getelementptr inbounds %Cmp_Val, ptr %t2398, i32 0, i32 0 %t2400 = load ptr, ptr %t2399 %t2401 = call ptr @lp_str_concat(ptr @.str10252, ptr %t2400) %t2402 = call ptr @lp_str_concat(ptr %t2401, ptr @.str10253) %t2403 = load ptr, ptr %t2397 %t2404 = getelementptr inbounds %Cmp_Val, ptr %t2403, i32 0, i32 0 %t2405 = load ptr, ptr %t2404 %t2406 = call ptr @lp_str_concat(ptr %t2402, ptr %t2405) %t2407 = call ptr @lp_str_concat(ptr %t2406, ptr @.str10254) %t2408 = call ptr @fn_emit_bind(ptr %t2407) %t2409 = call ptr @fn_val(ptr %t2408, ptr @.str10255) store ptr %t2409, ptr %retval br label %ret ifend464: %t2410 = load ptr, ptr %t38 %t2411 = call i32 @lp_str_eq(ptr %t2410, ptr @.str10256) %t2412 = icmp ne i32 %t2411, 0 br i1 %t2412, label %then469, label %ifend471 then469: %t2413 = load ptr, ptr %t0 %t2414 = getelementptr inbounds %Cmp_Node, ptr %t2413, i32 0, i32 7 %t2415 = load ptr, ptr %t2414 %t2416 = getelementptr inbounds %LSlice, ptr %t2415, i32 0, i32 0 %t2417 = load ptr, ptr %t2416 %t2418 = getelementptr inbounds %LSlice, ptr %t2415, i32 0, i32 1 %t2419 = load i32, ptr %t2418 %t2420 = icmp ult i32 0, %t2419 br i1 %t2420, label %ixok472, label %ixbad473 ixbad473: %t2421 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2421, ptr @.fmt_bounds, ptr @.str10257, i32 0, i32 %t2419) call void @exit(i32 1) unreachable ixok472: %t2422 = getelementptr inbounds ptr, ptr %t2417, i32 0 %t2423 = load ptr, ptr %t2422 %t2424 = call ptr @fn_emit_expr(ptr %t2423) store ptr %t2424, ptr %t2425 %t2426 = load ptr, ptr %t0 %t2427 = getelementptr inbounds %Cmp_Node, ptr %t2426, i32 0, i32 7 %t2428 = load ptr, ptr %t2427 %t2429 = getelementptr inbounds %LSlice, ptr %t2428, i32 0, i32 0 %t2430 = load ptr, ptr %t2429 %t2431 = getelementptr inbounds %LSlice, ptr %t2428, i32 0, i32 1 %t2432 = load i32, ptr %t2431 %t2433 = icmp ult i32 1, %t2432 br i1 %t2433, label %ixok474, label %ixbad475 ixbad475: %t2434 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2434, ptr @.fmt_bounds, ptr @.str10258, i32 1, i32 %t2432) call void @exit(i32 1) unreachable ixok474: %t2435 = getelementptr inbounds ptr, ptr %t2430, i32 1 %t2436 = load ptr, ptr %t2435 %t2437 = call ptr @fn_emit_expr(ptr %t2436) store ptr %t2437, ptr %t2438 %t2439 = load ptr, ptr %t2425 %t2440 = getelementptr inbounds %Cmp_Val, ptr %t2439, i32 0, i32 0 %t2441 = load ptr, ptr %t2440 %t2442 = call ptr @lp_str_concat(ptr @.str10259, ptr %t2441) %t2443 = call ptr @lp_str_concat(ptr %t2442, ptr @.str10260) %t2444 = load ptr, ptr %t2438 %t2445 = getelementptr inbounds %Cmp_Val, ptr %t2444, i32 0, i32 0 %t2446 = load ptr, ptr %t2445 %t2447 = call ptr @lp_str_concat(ptr %t2443, ptr %t2446) %t2448 = call ptr @lp_str_concat(ptr %t2447, ptr @.str10261) %t2449 = call ptr @fn_emit_bind(ptr %t2448) %t2450 = call ptr @fn_val(ptr %t2449, ptr @.str10262) store ptr %t2450, ptr %retval br label %ret ifend471: %t2451 = load ptr, ptr %t38 %t2452 = call i32 @fn_is_intrinsic(ptr %t2451) %t2453 = icmp ne i32 %t2452, 0 br i1 %t2453, label %then476, label %ifend478 then476: %t2454 = load ptr, ptr %t38 %t2455 = load ptr, ptr %t0 %t2456 = call ptr @fn_emit_intrinsic(ptr %t2454, ptr %t2455) store ptr %t2456, ptr %retval br label %ret ifend478: %t2457 = load ptr, ptr %t38 %t2458 = call i32 @fn_is_intrinsic2(ptr %t2457) %t2459 = icmp ne i32 %t2458, 0 br i1 %t2459, label %then479, label %ifend481 then479: %t2460 = load ptr, ptr %t38 %t2461 = load ptr, ptr %t0 %t2462 = call ptr @fn_emit_intrinsic2(ptr %t2460, ptr %t2461) store ptr %t2462, ptr %retval br label %ret ifend481: %t2463 = load ptr, ptr %t38 %t2464 = call i32 @fn_is_math_builtin(ptr %t2463) %t2465 = icmp ne i32 %t2464, 0 br i1 %t2465, label %then482, label %ifend484 then482: %t2466 = load ptr, ptr %t38 %t2467 = load ptr, ptr %t0 %t2468 = call ptr @fn_emit_math_builtin(ptr %t2466, ptr %t2467) store ptr %t2468, ptr %retval br label %ret ifend484: %t2469 = load ptr, ptr %t38 %t2470 = call ptr @fn_find_extern(ptr %t2469) store ptr %t2470, ptr %t2471 %t2472 = load ptr, ptr %t2471 %t2473 = icmp ne ptr %t2472, null %t2474 = zext i1 %t2473 to i32 %t2475 = icmp ne i32 %t2474, 0 br i1 %t2475, label %then485, label %ifend487 then485: %t2476 = load ptr, ptr %t0 %t2477 = load ptr, ptr %t2471 %t2478 = call ptr @fn_param_labels(ptr %t2477) call void @fn_reorder_named(ptr %t2476, ptr %t2478) %t2479 = getelementptr %LSlice, ptr null, i32 1 %t2480 = ptrtoint ptr %t2479 to i64 %t2481 = call ptr @malloc(i64 %t2480) %t2482 = getelementptr inbounds %LSlice, ptr %t2481, i32 0, i32 0 store ptr null, ptr %t2482 %t2483 = getelementptr inbounds %LSlice, ptr %t2481, i32 0, i32 1 store i32 0, ptr %t2483 %t2484 = getelementptr inbounds %LSlice, ptr %t2481, i32 0, i32 2 store i32 0, ptr %t2484 store ptr %t2481, ptr %t2485 %t2486 = getelementptr %LSlice, ptr null, i32 1 %t2487 = ptrtoint ptr %t2486 to i64 %t2488 = call ptr @malloc(i64 %t2487) %t2489 = getelementptr inbounds %LSlice, ptr %t2488, i32 0, i32 0 store ptr null, ptr %t2489 %t2490 = getelementptr inbounds %LSlice, ptr %t2488, i32 0, i32 1 store i32 0, ptr %t2490 %t2491 = getelementptr inbounds %LSlice, ptr %t2488, i32 0, i32 2 store i32 0, ptr %t2491 store ptr %t2488, ptr %t2492 store i32 0, ptr %t2493 br label %wcond488 wcond488: %t2494 = load i32, ptr %t2493 %t2495 = load ptr, ptr %t0 %t2496 = getelementptr inbounds %Cmp_Node, ptr %t2495, i32 0, i32 7 %t2497 = load ptr, ptr %t2496 %t2498 = getelementptr inbounds %LSlice, ptr %t2497, i32 0, i32 1 %t2499 = load i32, ptr %t2498 %t2500 = icmp slt i32 %t2494, %t2499 %t2501 = zext i1 %t2500 to i32 %t2502 = icmp ne i32 %t2501, 0 br i1 %t2502, label %wbody489, label %wend490 wbody489: %t2503 = load ptr, ptr %t0 %t2504 = getelementptr inbounds %Cmp_Node, ptr %t2503, i32 0, i32 7 %t2505 = load ptr, ptr %t2504 %t2506 = getelementptr inbounds %LSlice, ptr %t2505, i32 0, i32 0 %t2507 = load ptr, ptr %t2506 %t2508 = load i32, ptr %t2493 %t2509 = getelementptr inbounds %LSlice, ptr %t2505, i32 0, i32 1 %t2510 = load i32, ptr %t2509 %t2511 = icmp ult i32 %t2508, %t2510 br i1 %t2511, label %ixok491, label %ixbad492 ixbad492: %t2512 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2512, ptr @.fmt_bounds, ptr @.str10263, i32 %t2508, i32 %t2510) call void @exit(i32 1) unreachable ixok491: %t2513 = getelementptr inbounds ptr, ptr %t2507, i32 %t2508 %t2514 = load ptr, ptr %t2513 %t2515 = call ptr @fn_emit_expr(ptr %t2514) store ptr %t2515, ptr %t2516 %t2517 = load ptr, ptr %t2485 %t2518 = load ptr, ptr %t2516 %t2519 = getelementptr inbounds %Cmp_Val, ptr %t2518, i32 0, i32 0 %t2520 = load ptr, ptr %t2519 %t2521 = getelementptr inbounds %LSlice, ptr %t2517, i32 0, i32 1 %t2522 = getelementptr inbounds %LSlice, ptr %t2517, i32 0, i32 2 %t2523 = getelementptr inbounds %LSlice, ptr %t2517, i32 0, i32 0 %t2524 = load i32, ptr %t2521 %t2525 = load i32, ptr %t2522 %t2526 = icmp sge i32 %t2524, %t2525 br i1 %t2526, label %grow493, label %put494 grow493: %t2527 = mul i32 %t2525, 2 %t2528 = icmp eq i32 %t2525, 0 %t2529 = select i1 %t2528, i32 8, i32 %t2527 %t2530 = getelementptr ptr, ptr null, i32 1 %t2531 = ptrtoint ptr %t2530 to i64 %t2532 = zext i32 %t2529 to i64 %t2533 = mul i64 %t2532, %t2531 %t2534 = load ptr, ptr %t2523 %t2535 = call ptr @realloc(ptr %t2534, i64 %t2533) store ptr %t2535, ptr %t2523 store i32 %t2529, ptr %t2522 br label %put494 put494: %t2536 = load ptr, ptr %t2523 %t2537 = getelementptr inbounds ptr, ptr %t2536, i32 %t2524 store ptr %t2520, ptr %t2537 %t2538 = add i32 %t2524, 1 store i32 %t2538, ptr %t2521 %t2539 = load ptr, ptr %t2492 %t2540 = load ptr, ptr %t2516 %t2541 = getelementptr inbounds %Cmp_Val, ptr %t2540, i32 0, i32 1 %t2542 = load ptr, ptr %t2541 %t2543 = getelementptr inbounds %LSlice, ptr %t2539, i32 0, i32 1 %t2544 = getelementptr inbounds %LSlice, ptr %t2539, i32 0, i32 2 %t2545 = getelementptr inbounds %LSlice, ptr %t2539, i32 0, i32 0 %t2546 = load i32, ptr %t2543 %t2547 = load i32, ptr %t2544 %t2548 = icmp sge i32 %t2546, %t2547 br i1 %t2548, label %grow495, label %put496 grow495: %t2549 = mul i32 %t2547, 2 %t2550 = icmp eq i32 %t2547, 0 %t2551 = select i1 %t2550, i32 8, i32 %t2549 %t2552 = getelementptr ptr, ptr null, i32 1 %t2553 = ptrtoint ptr %t2552 to i64 %t2554 = zext i32 %t2551 to i64 %t2555 = mul i64 %t2554, %t2553 %t2556 = load ptr, ptr %t2545 %t2557 = call ptr @realloc(ptr %t2556, i64 %t2555) store ptr %t2557, ptr %t2545 store i32 %t2551, ptr %t2544 br label %put496 put496: %t2558 = load ptr, ptr %t2545 %t2559 = getelementptr inbounds ptr, ptr %t2558, i32 %t2546 store ptr %t2542, ptr %t2559 %t2560 = add i32 %t2546, 1 store i32 %t2560, ptr %t2543 %t2561 = load i32, ptr %t2493 %t2562 = add i32 %t2561, 1 store i32 %t2562, ptr %t2493 br label %wcond488 wend490: %t2563 = load ptr, ptr %t2471 %t2564 = getelementptr inbounds %Cmp_Node, ptr %t2563, i32 0, i32 3 %t2565 = load ptr, ptr %t2564 %t2566 = call ptr @fn_llty(ptr %t2565) store ptr %t2566, ptr %t2567 call void @fn_emit(ptr @.str10264) store ptr @.str10265, ptr %t2568 %t2569 = load ptr, ptr %t2567 %t2570 = call i32 @lp_str_eq(ptr %t2569, ptr @.str10266) %t2571 = icmp eq i32 %t2570, 0 %t2572 = zext i1 %t2571 to i32 %t2573 = icmp ne i32 %t2572, 0 br i1 %t2573, label %then497, label %ifend499 then497: %t2574 = call ptr @fn_nreg() store ptr %t2574, ptr %t2568 %t2575 = load ptr, ptr %t2568 call void @fn_emit(ptr %t2575) call void @fn_emit(ptr @.str10267) br label %ifend499 ifend499: call void @fn_emit(ptr @.str10268) %t2576 = load ptr, ptr %t2567 call void @fn_emit(ptr %t2576) call void @fn_emit(ptr @.str10269) %t2577 = load ptr, ptr %t2471 %t2578 = getelementptr inbounds %Cmp_Node, ptr %t2577, i32 0, i32 4 %t2579 = load ptr, ptr %t2578 %t2580 = getelementptr inbounds %Cmp_Node, ptr %t2579, i32 0, i32 1 %t2581 = load ptr, ptr %t2580 call void @fn_emit(ptr %t2581) call void @fn_emit(ptr @.str10270) store i32 0, ptr %t2493 br label %wcond500 wcond500: %t2582 = load i32, ptr %t2493 %t2583 = load ptr, ptr %t2485 %t2584 = getelementptr inbounds %LSlice, ptr %t2583, i32 0, i32 1 %t2585 = load i32, ptr %t2584 %t2586 = icmp slt i32 %t2582, %t2585 %t2587 = zext i1 %t2586 to i32 %t2588 = icmp ne i32 %t2587, 0 br i1 %t2588, label %wbody501, label %wend502 wbody501: %t2589 = load i32, ptr %t2493 %t2590 = icmp sgt i32 %t2589, 0 %t2591 = zext i1 %t2590 to i32 %t2592 = icmp ne i32 %t2591, 0 br i1 %t2592, label %then503, label %ifend505 then503: call void @fn_emit(ptr @.str10271) br label %ifend505 ifend505: %t2593 = load ptr, ptr %t2492 %t2594 = getelementptr inbounds %LSlice, ptr %t2593, i32 0, i32 0 %t2595 = load ptr, ptr %t2594 %t2596 = load i32, ptr %t2493 %t2597 = getelementptr inbounds %LSlice, ptr %t2593, i32 0, i32 1 %t2598 = load i32, ptr %t2597 %t2599 = icmp ult i32 %t2596, %t2598 br i1 %t2599, label %ixok506, label %ixbad507 ixbad507: %t2600 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2600, ptr @.fmt_bounds, ptr @.str10272, i32 %t2596, i32 %t2598) call void @exit(i32 1) unreachable ixok506: %t2601 = getelementptr inbounds ptr, ptr %t2595, i32 %t2596 %t2602 = load ptr, ptr %t2601 %t2603 = call ptr @fn_llty(ptr %t2602) call void @fn_emit(ptr %t2603) call void @fn_emit(ptr @.str10273) %t2604 = load ptr, ptr %t2485 %t2605 = getelementptr inbounds %LSlice, ptr %t2604, i32 0, i32 0 %t2606 = load ptr, ptr %t2605 %t2607 = load i32, ptr %t2493 %t2608 = getelementptr inbounds %LSlice, ptr %t2604, i32 0, i32 1 %t2609 = load i32, ptr %t2608 %t2610 = icmp ult i32 %t2607, %t2609 br i1 %t2610, label %ixok508, label %ixbad509 ixbad509: %t2611 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2611, ptr @.fmt_bounds, ptr @.str10274, i32 %t2607, i32 %t2609) call void @exit(i32 1) unreachable ixok508: %t2612 = getelementptr inbounds ptr, ptr %t2606, i32 %t2607 %t2613 = load ptr, ptr %t2612 call void @fn_emit(ptr %t2613) %t2614 = load i32, ptr %t2493 %t2615 = add i32 %t2614, 1 store i32 %t2615, ptr %t2493 br label %wcond500 wend502: call void @fn_emit(ptr @.str10275) %t2616 = load ptr, ptr %t2568 %t2617 = load ptr, ptr %t2471 %t2618 = getelementptr inbounds %Cmp_Node, ptr %t2617, i32 0, i32 3 %t2619 = load ptr, ptr %t2618 %t2620 = call ptr @fn_val(ptr %t2616, ptr %t2619) store ptr %t2620, ptr %retval br label %ret ifend487: %t2621 = load ptr, ptr %t38 %t2622 = call ptr @fn_variant_enum(ptr %t2621) store ptr %t2622, ptr %t2623 %t2624 = load ptr, ptr %t2623 %t2625 = icmp ne ptr %t2624, null %t2626 = zext i1 %t2625 to i32 %t2627 = icmp ne i32 %t2626, 0 br i1 %t2627, label %then510, label %ifend512 then510: %t2628 = load ptr, ptr %t2623 %t2629 = load i32, ptr @g_g_var_ord %t2630 = load ptr, ptr %t0 %t2631 = getelementptr inbounds %Cmp_Node, ptr %t2630, i32 0, i32 7 %t2632 = load ptr, ptr %t2631 %t2633 = call ptr @fn_emit_variant_new(ptr %t2628, i32 %t2629, ptr %t2632) store ptr %t2633, ptr %retval br label %ret ifend512: %t2634 = load ptr, ptr %t38 %t2635 = call ptr @fn_find_fn(ptr %t2634) store ptr %t2635, ptr %t2636 %t2637 = load ptr, ptr %t38 store ptr %t2637, ptr %t2638 %t2639 = load ptr, ptr %t2636 %t2640 = icmp eq ptr %t2639, null %t2641 = zext i1 %t2640 to i32 %t2642 = icmp ne i32 %t2641, 0 br i1 %t2642, label %then513, label %ifend515 then513: %t2643 = load ptr, ptr %t38 %t2644 = call ptr @lp_str_concat(ptr @.str10276, ptr %t2643) store ptr %t2644, ptr %t2645 %t2646 = load ptr, ptr %t2645 %t2647 = call ptr @fn_find_fn(ptr %t2646) store ptr %t2647, ptr %t2636 %t2648 = load ptr, ptr %t2636 %t2649 = icmp eq ptr %t2648, null %t2650 = zext i1 %t2649 to i32 %t2651 = icmp ne i32 %t2650, 0 br i1 %t2651, label %then516, label %ifend518 then516: %t2652 = load ptr, ptr %t38 %t2653 = call ptr @lp_str_concat(ptr @.str10277, ptr %t2652) call void @fn_perr(ptr %t2653) br label %ifend518 ifend518: %t2654 = load ptr, ptr %t2645 store ptr %t2654, ptr %t2638 br label %ifend515 ifend515: %t2655 = load ptr, ptr %t0 %t2656 = load ptr, ptr %t2636 %t2657 = call ptr @fn_param_labels(ptr %t2656) call void @fn_reorder_named(ptr %t2655, ptr %t2657) %t2658 = load ptr, ptr %t2636 %t2659 = call ptr @fn_param_types(ptr %t2658) store ptr %t2659, ptr %t2660 %t2661 = getelementptr %LSlice, ptr null, i32 1 %t2662 = ptrtoint ptr %t2661 to i64 %t2663 = call ptr @malloc(i64 %t2662) %t2664 = getelementptr inbounds %LSlice, ptr %t2663, i32 0, i32 0 store ptr null, ptr %t2664 %t2665 = getelementptr inbounds %LSlice, ptr %t2663, i32 0, i32 1 store i32 0, ptr %t2665 %t2666 = getelementptr inbounds %LSlice, ptr %t2663, i32 0, i32 2 store i32 0, ptr %t2666 store ptr %t2663, ptr %t2667 %t2668 = getelementptr %LSlice, ptr null, i32 1 %t2669 = ptrtoint ptr %t2668 to i64 %t2670 = call ptr @malloc(i64 %t2669) %t2671 = getelementptr inbounds %LSlice, ptr %t2670, i32 0, i32 0 store ptr null, ptr %t2671 %t2672 = getelementptr inbounds %LSlice, ptr %t2670, i32 0, i32 1 store i32 0, ptr %t2672 %t2673 = getelementptr inbounds %LSlice, ptr %t2670, i32 0, i32 2 store i32 0, ptr %t2673 store ptr %t2670, ptr %t2674 store i32 0, ptr %t2675 br label %wcond519 wcond519: %t2676 = load i32, ptr %t2675 %t2677 = load ptr, ptr %t0 %t2678 = getelementptr inbounds %Cmp_Node, ptr %t2677, i32 0, i32 7 %t2679 = load ptr, ptr %t2678 %t2680 = getelementptr inbounds %LSlice, ptr %t2679, i32 0, i32 1 %t2681 = load i32, ptr %t2680 %t2682 = icmp slt i32 %t2676, %t2681 %t2683 = zext i1 %t2682 to i32 %t2684 = icmp ne i32 %t2683, 0 br i1 %t2684, label %wbody520, label %wend521 wbody520: %t2685 = load ptr, ptr %t0 %t2686 = getelementptr inbounds %Cmp_Node, ptr %t2685, i32 0, i32 7 %t2687 = load ptr, ptr %t2686 %t2688 = getelementptr inbounds %LSlice, ptr %t2687, i32 0, i32 0 %t2689 = load ptr, ptr %t2688 %t2690 = load i32, ptr %t2675 %t2691 = getelementptr inbounds %LSlice, ptr %t2687, i32 0, i32 1 %t2692 = load i32, ptr %t2691 %t2693 = icmp ult i32 %t2690, %t2692 br i1 %t2693, label %ixok522, label %ixbad523 ixbad523: %t2694 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2694, ptr @.fmt_bounds, ptr @.str10278, i32 %t2690, i32 %t2692) call void @exit(i32 1) unreachable ixok522: %t2695 = getelementptr inbounds ptr, ptr %t2689, i32 %t2690 %t2696 = load ptr, ptr %t2695 %t2697 = call ptr @fn_emit_expr(ptr %t2696) store ptr %t2697, ptr %t2698 %t2699 = load ptr, ptr %t2698 %t2700 = getelementptr inbounds %Cmp_Val, ptr %t2699, i32 0, i32 1 %t2701 = load ptr, ptr %t2700 store ptr %t2701, ptr %t2702 %t2703 = load i32, ptr %t2675 %t2704 = load ptr, ptr %t2660 %t2705 = getelementptr inbounds %LSlice, ptr %t2704, i32 0, i32 1 %t2706 = load i32, ptr %t2705 %t2707 = icmp slt i32 %t2703, %t2706 %t2708 = zext i1 %t2707 to i32 %t2709 = icmp ne i32 %t2708, 0 br i1 %t2709, label %then524, label %ifend526 then524: %t2710 = load ptr, ptr %t2660 %t2711 = getelementptr inbounds %LSlice, ptr %t2710, i32 0, i32 0 %t2712 = load ptr, ptr %t2711 %t2713 = load i32, ptr %t2675 %t2714 = getelementptr inbounds %LSlice, ptr %t2710, i32 0, i32 1 %t2715 = load i32, ptr %t2714 %t2716 = icmp ult i32 %t2713, %t2715 br i1 %t2716, label %ixok527, label %ixbad528 ixbad528: %t2717 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2717, ptr @.fmt_bounds, ptr @.str10279, i32 %t2713, i32 %t2715) call void @exit(i32 1) unreachable ixok527: %t2718 = getelementptr inbounds ptr, ptr %t2712, i32 %t2713 %t2719 = load ptr, ptr %t2718 store ptr %t2719, ptr %t2702 br label %ifend526 ifend526: %t2720 = load ptr, ptr %t2667 %t2721 = load ptr, ptr %t2698 %t2722 = load ptr, ptr %t2702 %t2723 = call ptr @fn_coerce_code(ptr %t2721, ptr %t2722) %t2724 = getelementptr inbounds %LSlice, ptr %t2720, i32 0, i32 1 %t2725 = getelementptr inbounds %LSlice, ptr %t2720, i32 0, i32 2 %t2726 = getelementptr inbounds %LSlice, ptr %t2720, i32 0, i32 0 %t2727 = load i32, ptr %t2724 %t2728 = load i32, ptr %t2725 %t2729 = icmp sge i32 %t2727, %t2728 br i1 %t2729, label %grow529, label %put530 grow529: %t2730 = mul i32 %t2728, 2 %t2731 = icmp eq i32 %t2728, 0 %t2732 = select i1 %t2731, i32 8, i32 %t2730 %t2733 = getelementptr ptr, ptr null, i32 1 %t2734 = ptrtoint ptr %t2733 to i64 %t2735 = zext i32 %t2732 to i64 %t2736 = mul i64 %t2735, %t2734 %t2737 = load ptr, ptr %t2726 %t2738 = call ptr @realloc(ptr %t2737, i64 %t2736) store ptr %t2738, ptr %t2726 store i32 %t2732, ptr %t2725 br label %put530 put530: %t2739 = load ptr, ptr %t2726 %t2740 = getelementptr inbounds ptr, ptr %t2739, i32 %t2727 store ptr %t2723, ptr %t2740 %t2741 = add i32 %t2727, 1 store i32 %t2741, ptr %t2724 %t2742 = load ptr, ptr %t2674 %t2743 = load ptr, ptr %t2702 %t2744 = getelementptr inbounds %LSlice, ptr %t2742, i32 0, i32 1 %t2745 = getelementptr inbounds %LSlice, ptr %t2742, i32 0, i32 2 %t2746 = getelementptr inbounds %LSlice, ptr %t2742, i32 0, i32 0 %t2747 = load i32, ptr %t2744 %t2748 = load i32, ptr %t2745 %t2749 = icmp sge i32 %t2747, %t2748 br i1 %t2749, label %grow531, label %put532 grow531: %t2750 = mul i32 %t2748, 2 %t2751 = icmp eq i32 %t2748, 0 %t2752 = select i1 %t2751, i32 8, i32 %t2750 %t2753 = getelementptr ptr, ptr null, i32 1 %t2754 = ptrtoint ptr %t2753 to i64 %t2755 = zext i32 %t2752 to i64 %t2756 = mul i64 %t2755, %t2754 %t2757 = load ptr, ptr %t2746 %t2758 = call ptr @realloc(ptr %t2757, i64 %t2756) store ptr %t2758, ptr %t2746 store i32 %t2752, ptr %t2745 br label %put532 put532: %t2759 = load ptr, ptr %t2746 %t2760 = getelementptr inbounds ptr, ptr %t2759, i32 %t2747 store ptr %t2743, ptr %t2760 %t2761 = add i32 %t2747, 1 store i32 %t2761, ptr %t2744 %t2762 = load i32, ptr %t2675 %t2763 = add i32 %t2762, 1 store i32 %t2763, ptr %t2675 br label %wcond519 wend521: %t2764 = load ptr, ptr %t2636 %t2765 = getelementptr inbounds %Cmp_Node, ptr %t2764, i32 0, i32 3 %t2766 = load ptr, ptr %t2765 %t2767 = call ptr @fn_llty(ptr %t2766) store ptr %t2767, ptr %t2768 call void @fn_emit(ptr @.str10280) store ptr @.str10281, ptr %t2769 %t2770 = load ptr, ptr %t2768 %t2771 = call i32 @lp_str_eq(ptr %t2770, ptr @.str10282) %t2772 = icmp eq i32 %t2771, 0 %t2773 = zext i1 %t2772 to i32 %t2774 = icmp ne i32 %t2773, 0 br i1 %t2774, label %then533, label %ifend535 then533: %t2775 = call ptr @fn_nreg() store ptr %t2775, ptr %t2769 %t2776 = load ptr, ptr %t2769 call void @fn_emit(ptr %t2776) call void @fn_emit(ptr @.str10283) br label %ifend535 ifend535: call void @fn_emit(ptr @.str10284) %t2777 = load ptr, ptr %t2768 call void @fn_emit(ptr %t2777) call void @fn_emit(ptr @.str10285) %t2778 = load ptr, ptr %t2638 call void @fn_emit(ptr %t2778) call void @fn_emit(ptr @.str10286) store i32 0, ptr %t2675 br label %wcond536 wcond536: %t2779 = load i32, ptr %t2675 %t2780 = load ptr, ptr %t2667 %t2781 = getelementptr inbounds %LSlice, ptr %t2780, i32 0, i32 1 %t2782 = load i32, ptr %t2781 %t2783 = icmp slt i32 %t2779, %t2782 %t2784 = zext i1 %t2783 to i32 %t2785 = icmp ne i32 %t2784, 0 br i1 %t2785, label %wbody537, label %wend538 wbody537: %t2786 = load i32, ptr %t2675 %t2787 = icmp sgt i32 %t2786, 0 %t2788 = zext i1 %t2787 to i32 %t2789 = icmp ne i32 %t2788, 0 br i1 %t2789, label %then539, label %ifend541 then539: call void @fn_emit(ptr @.str10287) br label %ifend541 ifend541: %t2790 = load ptr, ptr %t2674 %t2791 = getelementptr inbounds %LSlice, ptr %t2790, i32 0, i32 0 %t2792 = load ptr, ptr %t2791 %t2793 = load i32, ptr %t2675 %t2794 = getelementptr inbounds %LSlice, ptr %t2790, i32 0, i32 1 %t2795 = load i32, ptr %t2794 %t2796 = icmp ult i32 %t2793, %t2795 br i1 %t2796, label %ixok542, label %ixbad543 ixbad543: %t2797 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2797, ptr @.fmt_bounds, ptr @.str10288, i32 %t2793, i32 %t2795) call void @exit(i32 1) unreachable ixok542: %t2798 = getelementptr inbounds ptr, ptr %t2792, i32 %t2793 %t2799 = load ptr, ptr %t2798 %t2800 = call ptr @fn_llty(ptr %t2799) call void @fn_emit(ptr %t2800) call void @fn_emit(ptr @.str10289) %t2801 = load ptr, ptr %t2667 %t2802 = getelementptr inbounds %LSlice, ptr %t2801, i32 0, i32 0 %t2803 = load ptr, ptr %t2802 %t2804 = load i32, ptr %t2675 %t2805 = getelementptr inbounds %LSlice, ptr %t2801, i32 0, i32 1 %t2806 = load i32, ptr %t2805 %t2807 = icmp ult i32 %t2804, %t2806 br i1 %t2807, label %ixok544, label %ixbad545 ixbad545: %t2808 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t2808, ptr @.fmt_bounds, ptr @.str10290, i32 %t2804, i32 %t2806) call void @exit(i32 1) unreachable ixok544: %t2809 = getelementptr inbounds ptr, ptr %t2803, i32 %t2804 %t2810 = load ptr, ptr %t2809 call void @fn_emit(ptr %t2810) %t2811 = load i32, ptr %t2675 %t2812 = add i32 %t2811, 1 store i32 %t2812, ptr %t2675 br label %wcond536 wend538: call void @fn_emit(ptr @.str10291) %t2813 = load ptr, ptr %t2769 %t2814 = load ptr, ptr %t2636 %t2815 = getelementptr inbounds %Cmp_Node, ptr %t2814, i32 0, i32 3 %t2816 = load ptr, ptr %t2815 %t2817 = call ptr @fn_val(ptr %t2813, ptr %t2816) store ptr %t2817, ptr %retval br label %ret ret: %t2818 = load ptr, ptr %retval ret ptr %t2818 } define ptr @fn_emit_expr(ptr %arg_e) { entry: %retval = alloca ptr %t0 = alloca ptr %t17 = alloca i32 %t38 = alloca ptr %t54 = alloca ptr %t114 = alloca ptr %t119 = alloca ptr %t124 = alloca ptr %t193 = alloca ptr %t207 = alloca i32 %t225 = alloca i32 %t228 = alloca i32 %t288 = alloca i32 %t318 = alloca ptr %t333 = alloca ptr %t364 = alloca ptr %t385 = alloca ptr %t428 = alloca i32 %t451 = alloca i32 %t472 = alloca i32 %t484 = alloca ptr %t489 = alloca i32 %t494 = alloca i32 %t516 = alloca ptr %t537 = alloca ptr %t550 = alloca ptr %t562 = alloca ptr %t569 = alloca ptr %t620 = alloca ptr %t645 = alloca ptr %t665 = alloca i32 %t687 = alloca ptr %t758 = alloca ptr store ptr %arg_e, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = icmp eq ptr %t1, null %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = call ptr @fn_val(ptr @.str10292, ptr @.str10293) store ptr %t5, ptr %retval br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 0 %t8 = load i32, ptr %t7 %t9 = icmp eq i32 %t8, 30 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 2 %t14 = load i32, ptr %t13 %t15 = call ptr @fn_itoa(i32 %t14) %t16 = call ptr @fn_val(ptr %t15, ptr @.str10294) store ptr %t16, ptr %retval br label %ret ifend5: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0 %t20 = load i32, ptr %t19 %t21 = icmp eq i32 %t20, 40 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t17 br i1 %t23, label %sc6, label %scend7 sc6: %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 9 %t27 = load ptr, ptr %t26 %t28 = call i32 @fn_is_float_file(ptr %t27) %t29 = icmp ne i32 %t28, 0 %t30 = zext i1 %t29 to i32 store i32 %t30, ptr %t17 br label %scend7 scend7: %t31 = load i32, ptr %t17 %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then8, label %ifend10 then8: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1 %t35 = load ptr, ptr %t34 %t36 = call ptr @fn_fp_lit_code(ptr %t35, ptr @.str10295) %t37 = call ptr @fn_val(ptr %t36, ptr @.str10296) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %Cmp_Val, ptr %t39, i32 0, i32 2 %t41 = load ptr, ptr %t0 store ptr %t41, ptr %t40 %t42 = load ptr, ptr %t38 store ptr %t42, ptr %retval br label %ret ifend10: %t43 = load ptr, ptr %t0 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 0 %t45 = load i32, ptr %t44 %t46 = icmp eq i32 %t45, 40 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then11, label %ifend13 then11: %t49 = load ptr, ptr %t0 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 2 %t51 = load i32, ptr %t50 %t52 = call ptr @fn_itoa(i32 %t51) %t53 = call ptr @fn_val(ptr %t52, ptr @.str10297) store ptr %t53, ptr %t54 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %Cmp_Val, ptr %t55, i32 0, i32 2 %t57 = load ptr, ptr %t0 store ptr %t57, ptr %t56 %t58 = load ptr, ptr %t54 store ptr %t58, ptr %retval br label %ret ifend13: %t59 = load ptr, ptr %t0 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 0 %t61 = load i32, ptr %t60 %t62 = icmp eq i32 %t61, 190 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then14, label %ifend16 then14: %t65 = load ptr, ptr @g_g_prevals %t66 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 0 %t67 = load ptr, ptr %t66 %t68 = load ptr, ptr %t0 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 2 %t70 = load i32, ptr %t69 %t71 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t72 = load i32, ptr %t71 %t73 = icmp ult i32 %t70, %t72 br i1 %t73, label %ixok17, label %ixbad18 ixbad18: %t74 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t74, ptr @.fmt_bounds, ptr @.str10298, i32 %t70, i32 %t72) call void @exit(i32 1) unreachable ixok17: %t75 = getelementptr inbounds ptr, ptr %t67, i32 %t70 %t76 = load ptr, ptr %t75 store ptr %t76, ptr %retval br label %ret ifend16: %t77 = load ptr, ptr %t0 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 0 %t79 = load i32, ptr %t78 %t80 = icmp eq i32 %t79, 32 %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then19, label %ifend21 then19: %t83 = load ptr, ptr %t0 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 2 %t85 = load i32, ptr %t84 %t86 = call ptr @fn_itoa(i32 %t85) %t87 = call ptr @fn_val(ptr %t86, ptr @.str10299) store ptr %t87, ptr %retval br label %ret ifend21: %t88 = load ptr, ptr %t0 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 0 %t90 = load i32, ptr %t89 %t91 = icmp eq i32 %t90, 43 %t92 = zext i1 %t91 to i32 %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then22, label %ifend24 then22: %t94 = call ptr @fn_val(ptr @.str10300, ptr @.str10301) store ptr %t94, ptr %retval br label %ret ifend24: %t95 = load ptr, ptr %t0 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 0 %t97 = load i32, ptr %t96 %t98 = icmp eq i32 %t97, 22 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then25, label %ifend27 then25: %t101 = load ptr, ptr %t0 %t102 = call ptr @fn_emit_spawn(ptr %t101) %t103 = call ptr @fn_val(ptr %t102, ptr @.str10302) store ptr %t103, ptr %retval br label %ret ifend27: %t104 = load ptr, ptr %t0 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 0 %t106 = load i32, ptr %t105 %t107 = icmp eq i32 %t106, 44 %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then28, label %ifend30 then28: %t110 = load ptr, ptr %t0 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 4 %t112 = load ptr, ptr %t111 %t113 = call ptr @fn_emit_expr(ptr %t112) store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t0 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 5 %t117 = load ptr, ptr %t116 %t118 = call ptr @fn_emit_expr(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t0 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 6 %t122 = load ptr, ptr %t121 %t123 = call ptr @fn_emit_expr(ptr %t122) store ptr %t123, ptr %t124 store i32 1, ptr @g_g_uses_strslice %t125 = load ptr, ptr %t114 %t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0 %t127 = load ptr, ptr %t126 %t128 = call ptr @lp_str_concat(ptr @.str10303, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10304) %t130 = load ptr, ptr %t119 %t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = call ptr @lp_str_concat(ptr %t129, ptr %t132) %t134 = call ptr @lp_str_concat(ptr %t133, ptr @.str10305) %t135 = load ptr, ptr %t124 %t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0 %t137 = load ptr, ptr %t136 %t138 = call ptr @lp_str_concat(ptr %t134, ptr %t137) %t139 = call ptr @lp_str_concat(ptr %t138, ptr @.str10306) %t140 = call ptr @fn_emit_bind(ptr %t139) %t141 = call ptr @fn_val(ptr %t140, ptr @.str10307) store ptr %t141, ptr %retval br label %ret ifend30: %t142 = load ptr, ptr %t0 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 0 %t144 = load i32, ptr %t143 %t145 = icmp eq i32 %t144, 31 %t146 = zext i1 %t145 to i32 %t147 = icmp ne i32 %t146, 0 br i1 %t147, label %then31, label %ifend33 then31: %t148 = load ptr, ptr %t0 %t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 1 %t150 = load ptr, ptr %t149 %t151 = call ptr @fn_emit_str_const(ptr %t150) %t152 = call ptr @fn_val(ptr %t151, ptr @.str10308) store ptr %t152, ptr %retval br label %ret ifend33: %t153 = load ptr, ptr %t0 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 0 %t155 = load i32, ptr %t154 %t156 = icmp eq i32 %t155, 39 %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then34, label %ifend36 then34: %t159 = load ptr, ptr %t0 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 1 %t161 = load ptr, ptr %t160 %t162 = call i32 @fn_is_slice_ty(ptr %t161) %t163 = icmp ne i32 %t162, 0 br i1 %t163, label %then37, label %ifend39 then37: %t164 = load ptr, ptr %t0 %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 1 %t166 = load ptr, ptr %t165 %t167 = call ptr @fn_emit_new_slice(ptr %t166) store ptr %t167, ptr %retval br label %ret ifend39: %t168 = load ptr, ptr %t0 %t169 = getelementptr inbounds %Cmp_Node, ptr %t168, i32 0, i32 1 %t170 = load ptr, ptr %t169 %t171 = load ptr, ptr %t0 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 4 %t173 = load ptr, ptr %t172 %t174 = call ptr @fn_emit_new_struct(ptr %t170, ptr %t173) store ptr %t174, ptr %retval br label %ret ifend36: %t175 = load ptr, ptr %t0 %t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 0 %t177 = load i32, ptr %t176 %t178 = icmp eq i32 %t177, 54 %t179 = zext i1 %t178 to i32 %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %then40, label %ifend42 then40: %t181 = load ptr, ptr %t0 %t182 = call ptr @fn_emit_list(ptr %t181) store ptr %t182, ptr %retval br label %ret ifend42: %t183 = load ptr, ptr %t0 %t184 = getelementptr inbounds %Cmp_Node, ptr %t183, i32 0, i32 0 %t185 = load i32, ptr %t184 %t186 = icmp eq i32 %t185, 55 %t187 = zext i1 %t186 to i32 %t188 = icmp ne i32 %t187, 0 br i1 %t188, label %then43, label %ifend45 then43: %t189 = load ptr, ptr %t0 %t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 1 %t191 = load ptr, ptr %t190 %t192 = call ptr @fn_find_fn(ptr %t191) store ptr %t192, ptr %t193 %t194 = load ptr, ptr %t193 %t195 = icmp eq ptr %t194, null %t196 = zext i1 %t195 to i32 %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then46, label %ifend48 then46: %t198 = load ptr, ptr %t0 %t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 1 %t200 = load ptr, ptr %t199 %t201 = call ptr @lp_str_concat(ptr @.str10309, ptr %t200) %t202 = call ptr @lp_str_concat(ptr %t201, ptr @.str10310) %t203 = load ptr, ptr %t0 %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 1 %t205 = load ptr, ptr %t204 %t206 = call ptr @lp_str_concat(ptr %t202, ptr %t205) call void @fn_perr(ptr %t206) br label %ifend48 ifend48: %t208 = load ptr, ptr %t193 %t209 = getelementptr inbounds %Cmp_Node, ptr %t208, i32 0, i32 7 %t210 = load ptr, ptr %t209 %t211 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 1 %t212 = load i32, ptr %t211 %t213 = icmp eq i32 %t212, 2 %t214 = zext i1 %t213 to i32 %t215 = icmp ne i32 %t214, 0 %t216 = zext i1 %t215 to i32 store i32 %t216, ptr %t207 br i1 %t215, label %sc49, label %scend50 sc49: %t217 = load ptr, ptr %t193 %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 3 %t219 = load ptr, ptr %t218 %t220 = call ptr @fn_llty(ptr %t219) %t221 = call i32 @lp_str_eq(ptr %t220, ptr @.str10311) %t222 = icmp ne i32 %t221, 0 %t223 = zext i1 %t222 to i32 store i32 %t223, ptr %t207 br label %scend50 scend50: %t224 = load i32, ptr %t207 store i32 %t224, ptr %t225 %t226 = load i32, ptr %t225 %t227 = icmp ne i32 %t226, 0 br i1 %t227, label %then51, label %ifend53 then51: %t229 = load ptr, ptr %t193 %t230 = getelementptr inbounds %Cmp_Node, ptr %t229, i32 0, i32 7 %t231 = load ptr, ptr %t230 %t232 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 0 %t233 = load ptr, ptr %t232 %t234 = getelementptr inbounds %LSlice, ptr %t231, i32 0, i32 1 %t235 = load i32, ptr %t234 %t236 = icmp ult i32 0, %t235 br i1 %t236, label %ixok54, label %ixbad55 ixbad55: %t237 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t237, ptr @.fmt_bounds, ptr @.str10312, i32 0, i32 %t235) call void @exit(i32 1) unreachable ixok54: %t238 = getelementptr inbounds ptr, ptr %t233, i32 0 %t239 = load ptr, ptr %t238 %t240 = getelementptr inbounds %Cmp_Node, ptr %t239, i32 0, i32 3 %t241 = load ptr, ptr %t240 %t242 = call ptr @fn_llty(ptr %t241) %t243 = call i32 @lp_str_eq(ptr %t242, ptr @.str10313) %t244 = icmp ne i32 %t243, 0 %t245 = zext i1 %t244 to i32 store i32 %t245, ptr %t228 br i1 %t244, label %sc56, label %scend57 sc56: %t246 = load ptr, ptr %t193 %t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 7 %t248 = load ptr, ptr %t247 %t249 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 0 %t250 = load ptr, ptr %t249 %t251 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 1 %t252 = load i32, ptr %t251 %t253 = icmp ult i32 1, %t252 br i1 %t253, label %ixok58, label %ixbad59 ixbad59: %t254 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t254, ptr @.fmt_bounds, ptr @.str10314, i32 1, i32 %t252) call void @exit(i32 1) unreachable ixok58: %t255 = getelementptr inbounds ptr, ptr %t250, i32 1 %t256 = load ptr, ptr %t255 %t257 = getelementptr inbounds %Cmp_Node, ptr %t256, i32 0, i32 3 %t258 = load ptr, ptr %t257 %t259 = call ptr @fn_llty(ptr %t258) %t260 = call i32 @lp_str_eq(ptr %t259, ptr @.str10315) %t261 = icmp ne i32 %t260, 0 %t262 = zext i1 %t261 to i32 store i32 %t262, ptr %t228 br label %scend57 scend57: %t263 = load i32, ptr %t228 store i32 %t263, ptr %t225 br label %ifend53 ifend53: %t264 = load i32, ptr %t225 %t265 = icmp eq i32 %t264, 0 %t266 = zext i1 %t265 to i32 %t267 = icmp ne i32 %t266, 0 br i1 %t267, label %then60, label %ifend62 then60: %t268 = load ptr, ptr %t0 %t269 = getelementptr inbounds %Cmp_Node, ptr %t268, i32 0, i32 1 %t270 = load ptr, ptr %t269 %t271 = call ptr @lp_str_concat(ptr @.str10316, ptr %t270) %t272 = call ptr @lp_str_concat(ptr %t271, ptr @.str10317) call void @fn_perr(ptr %t272) br label %ifend62 ifend62: %t273 = load ptr, ptr %t0 %t274 = getelementptr inbounds %Cmp_Node, ptr %t273, i32 0, i32 1 %t275 = load ptr, ptr %t274 %t276 = call ptr @lp_str_concat(ptr @.str10318, ptr %t275) %t277 = call ptr @fn_val(ptr %t276, ptr @.str10319) store ptr %t277, ptr %retval br label %ret ifend45: %t278 = load ptr, ptr %t0 %t279 = getelementptr inbounds %Cmp_Node, ptr %t278, i32 0, i32 0 %t280 = load i32, ptr %t279 %t281 = icmp eq i32 %t280, 33 %t282 = zext i1 %t281 to i32 %t283 = icmp ne i32 %t282, 0 br i1 %t283, label %then63, label %ifend65 then63: %t284 = load ptr, ptr %t0 %t285 = getelementptr inbounds %Cmp_Node, ptr %t284, i32 0, i32 1 %t286 = load ptr, ptr %t285 %t287 = call i32 @fn_loc_find(ptr %t286) store i32 %t287, ptr %t288 %t289 = load i32, ptr %t288 %t290 = icmp sge i32 %t289, 0 %t291 = zext i1 %t290 to i32 %t292 = icmp ne i32 %t291, 0 br i1 %t292, label %then66, label %ifend68 then66: %t293 = load ptr, ptr @g_loc_reg %t294 = getelementptr inbounds %LSlice, ptr %t293, i32 0, i32 0 %t295 = load ptr, ptr %t294 %t296 = load i32, ptr %t288 %t297 = getelementptr inbounds %LSlice, ptr %t293, i32 0, i32 1 %t298 = load i32, ptr %t297 %t299 = icmp ult i32 %t296, %t298 br i1 %t299, label %ixok69, label %ixbad70 ixbad70: %t300 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t300, ptr @.fmt_bounds, ptr @.str10320, i32 %t296, i32 %t298) call void @exit(i32 1) unreachable ixok69: %t301 = getelementptr inbounds ptr, ptr %t295, i32 %t296 %t302 = load ptr, ptr %t301 %t303 = load ptr, ptr @g_loc_ty %t304 = getelementptr inbounds %LSlice, ptr %t303, i32 0, i32 0 %t305 = load ptr, ptr %t304 %t306 = load i32, ptr %t288 %t307 = getelementptr inbounds %LSlice, ptr %t303, i32 0, i32 1 %t308 = load i32, ptr %t307 %t309 = icmp ult i32 %t306, %t308 br i1 %t309, label %ixok71, label %ixbad72 ixbad72: %t310 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t310, ptr @.fmt_bounds, ptr @.str10321, i32 %t306, i32 %t308) call void @exit(i32 1) unreachable ixok71: %t311 = getelementptr inbounds ptr, ptr %t305, i32 %t306 %t312 = load ptr, ptr %t311 %t313 = call ptr @fn_emit_load_at(ptr %t302, ptr %t312) store ptr %t313, ptr %retval br label %ret ifend68: %t314 = load ptr, ptr %t0 %t315 = getelementptr inbounds %Cmp_Node, ptr %t314, i32 0, i32 1 %t316 = load ptr, ptr %t315 %t317 = call ptr @fn_find_global(ptr %t316) store ptr %t317, ptr %t318 %t319 = load ptr, ptr %t318 %t320 = icmp ne ptr %t319, null %t321 = zext i1 %t320 to i32 %t322 = icmp ne i32 %t321, 0 br i1 %t322, label %then73, label %ifend75 then73: %t323 = load ptr, ptr %t318 %t324 = getelementptr inbounds %Cmp_Node, ptr %t323, i32 0, i32 0 %t325 = load i32, ptr %t324 %t326 = icmp eq i32 %t325, 3 %t327 = zext i1 %t326 to i32 %t328 = icmp ne i32 %t327, 0 br i1 %t328, label %then76, label %ifend78 then76: %t329 = load ptr, ptr %t318 %t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 4 %t331 = load ptr, ptr %t330 %t332 = call ptr @fn_emit_expr(ptr %t331) store ptr %t332, ptr %t333 %t334 = load ptr, ptr %t318 %t335 = getelementptr inbounds %Cmp_Node, ptr %t334, i32 0, i32 3 %t336 = load ptr, ptr %t335 %t337 = call i32 @fn_is_fp(ptr %t336) %t338 = icmp ne i32 %t337, 0 br i1 %t338, label %then79, label %ifend81 then79: %t339 = load ptr, ptr %t333 %t340 = load ptr, ptr %t318 %t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 3 %t342 = load ptr, ptr %t341 %t343 = load ptr, ptr %t0 %t344 = getelementptr inbounds %Cmp_Node, ptr %t343, i32 0, i32 1 %t345 = load ptr, ptr %t344 %t346 = call ptr @lp_str_concat(ptr @.str10322, ptr %t345) %t347 = call ptr @fn_to_fp(ptr %t339, ptr %t342, ptr %t346) %t348 = load ptr, ptr %t318 %t349 = getelementptr inbounds %Cmp_Node, ptr %t348, i32 0, i32 3 %t350 = load ptr, ptr %t349 %t351 = call ptr @fn_val(ptr %t347, ptr %t350) store ptr %t351, ptr %retval br label %ret ifend81: %t352 = load ptr, ptr %t333 store ptr %t352, ptr %retval br label %ret ifend78: %t353 = load ptr, ptr %t318 %t354 = getelementptr inbounds %Cmp_Node, ptr %t353, i32 0, i32 3 %t355 = load ptr, ptr %t354 %t356 = call ptr @fn_llty(ptr %t355) %t357 = call ptr @lp_str_concat(ptr @.str10323, ptr %t356) %t358 = call ptr @lp_str_concat(ptr %t357, ptr @.str10324) %t359 = load ptr, ptr %t0 %t360 = getelementptr inbounds %Cmp_Node, ptr %t359, i32 0, i32 1 %t361 = load ptr, ptr %t360 %t362 = call ptr @lp_str_concat(ptr %t358, ptr %t361) %t363 = call ptr @fn_emit_bind(ptr %t362) store ptr %t363, ptr %t364 %t365 = load ptr, ptr %t364 %t366 = load ptr, ptr %t318 %t367 = getelementptr inbounds %Cmp_Node, ptr %t366, i32 0, i32 3 %t368 = load ptr, ptr %t367 %t369 = call ptr @fn_val(ptr %t365, ptr %t368) store ptr %t369, ptr %retval br label %ret ifend75: %t370 = load ptr, ptr %t0 %t371 = getelementptr inbounds %Cmp_Node, ptr %t370, i32 0, i32 1 %t372 = load ptr, ptr %t371 %t373 = call i32 @fn_is_ui_ident(ptr %t372) %t374 = icmp ne i32 %t373, 0 br i1 %t374, label %then82, label %ifend84 then82: %t375 = load ptr, ptr %t0 %t376 = getelementptr inbounds %Cmp_Node, ptr %t375, i32 0, i32 1 %t377 = load ptr, ptr %t376 %t378 = call i32 @fn_ui_index_of(ptr %t377) %t379 = call ptr @fn_itoa(i32 %t378) %t380 = call ptr @fn_val(ptr %t379, ptr @.str10325) store ptr %t380, ptr %retval br label %ret ifend84: %t381 = load ptr, ptr %t0 %t382 = getelementptr inbounds %Cmp_Node, ptr %t381, i32 0, i32 1 %t383 = load ptr, ptr %t382 %t384 = call ptr @fn_variant_enum(ptr %t383) store ptr %t384, ptr %t385 %t386 = load ptr, ptr %t385 %t387 = icmp ne ptr %t386, null %t388 = zext i1 %t387 to i32 %t389 = icmp ne i32 %t388, 0 br i1 %t389, label %then85, label %ifend87 then85: %t390 = load ptr, ptr %t385 %t391 = load i32, ptr @g_g_var_ord %t392 = getelementptr %LSlice, ptr null, i32 1 %t393 = ptrtoint ptr %t392 to i64 %t394 = call ptr @malloc(i64 %t393) %t395 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 0 store ptr null, ptr %t395 %t396 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 1 store i32 0, ptr %t396 %t397 = getelementptr inbounds %LSlice, ptr %t394, i32 0, i32 2 store i32 0, ptr %t397 %t398 = call ptr @fn_emit_variant_new(ptr %t390, i32 %t391, ptr %t394) store ptr %t398, ptr %retval br label %ret ifend87: %t399 = load ptr, ptr %t0 %t400 = getelementptr inbounds %Cmp_Node, ptr %t399, i32 0, i32 1 %t401 = load ptr, ptr %t400 %t402 = call ptr @lp_str_concat(ptr @.str10326, ptr %t401) call void @fn_perr(ptr %t402) br label %ifend65 ifend65: %t403 = load ptr, ptr %t0 %t404 = getelementptr inbounds %Cmp_Node, ptr %t403, i32 0, i32 0 %t405 = load i32, ptr %t404 %t406 = icmp eq i32 %t405, 35 %t407 = zext i1 %t406 to i32 %t408 = icmp ne i32 %t407, 0 br i1 %t408, label %then88, label %ifend90 then88: %t409 = load ptr, ptr %t0 %t410 = getelementptr inbounds %Cmp_Node, ptr %t409, i32 0, i32 4 %t411 = load ptr, ptr %t410 %t412 = getelementptr inbounds %Cmp_Node, ptr %t411, i32 0, i32 0 %t413 = load i32, ptr %t412 %t414 = icmp eq i32 %t413, 33 %t415 = zext i1 %t414 to i32 %t416 = icmp ne i32 %t415, 0 br i1 %t416, label %then91, label %ifend93 then91: %t417 = load ptr, ptr %t0 %t418 = getelementptr inbounds %Cmp_Node, ptr %t417, i32 0, i32 4 %t419 = load ptr, ptr %t418 %t420 = getelementptr inbounds %Cmp_Node, ptr %t419, i32 0, i32 1 %t421 = load ptr, ptr %t420 %t422 = call i32 @lp_str_eq(ptr %t421, ptr @.str10327) %t423 = icmp ne i32 %t422, 0 br i1 %t423, label %then94, label %ifend96 then94: %t424 = load ptr, ptr %t0 %t425 = getelementptr inbounds %Cmp_Node, ptr %t424, i32 0, i32 1 %t426 = load ptr, ptr %t425 %t427 = call i32 @fn_color_lookup(ptr %t426) store i32 %t427, ptr %t428 %t429 = load i32, ptr %t428 %t430 = icmp slt i32 %t429, 0 %t431 = zext i1 %t430 to i32 %t432 = icmp ne i32 %t431, 0 br i1 %t432, label %then97, label %ifend99 then97: %t433 = load ptr, ptr %t0 %t434 = getelementptr inbounds %Cmp_Node, ptr %t433, i32 0, i32 1 %t435 = load ptr, ptr %t434 %t436 = call ptr @lp_str_concat(ptr @.str10328, ptr %t435) call void @fn_perr(ptr %t436) br label %ifend99 ifend99: %t437 = load i32, ptr %t428 %t438 = call ptr @fn_itoa(i32 %t437) %t439 = call ptr @fn_val(ptr %t438, ptr @.str10329) store ptr %t439, ptr %retval br label %ret ifend96: %t440 = load ptr, ptr %t0 %t441 = getelementptr inbounds %Cmp_Node, ptr %t440, i32 0, i32 4 %t442 = load ptr, ptr %t441 %t443 = getelementptr inbounds %Cmp_Node, ptr %t442, i32 0, i32 1 %t444 = load ptr, ptr %t443 %t445 = call i32 @lp_str_eq(ptr %t444, ptr @.str10330) %t446 = icmp ne i32 %t445, 0 br i1 %t446, label %then100, label %ifend102 then100: %t447 = load ptr, ptr %t0 %t448 = getelementptr inbounds %Cmp_Node, ptr %t447, i32 0, i32 1 %t449 = load ptr, ptr %t448 %t450 = call i32 @fn_key_lookup(ptr %t449) store i32 %t450, ptr %t451 %t452 = load i32, ptr %t451 %t453 = icmp slt i32 %t452, 0 %t454 = zext i1 %t453 to i32 %t455 = icmp ne i32 %t454, 0 br i1 %t455, label %then103, label %ifend105 then103: %t456 = load ptr, ptr %t0 %t457 = getelementptr inbounds %Cmp_Node, ptr %t456, i32 0, i32 1 %t458 = load ptr, ptr %t457 %t459 = call ptr @lp_str_concat(ptr @.str10331, ptr %t458) call void @fn_perr(ptr %t459) br label %ifend105 ifend105: %t460 = load i32, ptr %t451 %t461 = call ptr @fn_itoa(i32 %t460) %t462 = call ptr @fn_val(ptr %t461, ptr @.str10332) store ptr %t462, ptr %retval br label %ret ifend102: %t463 = load ptr, ptr %t0 %t464 = getelementptr inbounds %Cmp_Node, ptr %t463, i32 0, i32 4 %t465 = load ptr, ptr %t464 %t466 = getelementptr inbounds %Cmp_Node, ptr %t465, i32 0, i32 1 %t467 = load ptr, ptr %t466 %t468 = load ptr, ptr %t0 %t469 = getelementptr inbounds %Cmp_Node, ptr %t468, i32 0, i32 1 %t470 = load ptr, ptr %t469 %t471 = call i32 @fn_enum_ordinal(ptr %t467, ptr %t470) store i32 %t471, ptr %t472 %t473 = load i32, ptr %t472 %t474 = icmp sge i32 %t473, 0 %t475 = zext i1 %t474 to i32 %t476 = icmp ne i32 %t475, 0 br i1 %t476, label %then106, label %ifend108 then106: %t477 = load i32, ptr %t472 %t478 = call ptr @fn_itoa(i32 %t477) %t479 = call ptr @fn_val(ptr %t478, ptr @.str10333) store ptr %t479, ptr %retval br label %ret ifend108: br label %ifend93 ifend93: %t480 = load ptr, ptr %t0 %t481 = getelementptr inbounds %Cmp_Node, ptr %t480, i32 0, i32 4 %t482 = load ptr, ptr %t481 %t483 = call ptr @fn_static_type(ptr %t482) store ptr %t483, ptr %t484 %t485 = load ptr, ptr %t484 %t486 = icmp ne ptr %t485, null %t487 = zext i1 %t486 to i32 %t488 = icmp ne i32 %t487, 0 br i1 %t488, label %then109, label %ifend111 then109: %t490 = load ptr, ptr %t484 %t491 = call i32 @lp_str_eq(ptr %t490, ptr @.str10334) %t492 = icmp ne i32 %t491, 0 %t493 = zext i1 %t492 to i32 store i32 %t493, ptr %t489 br i1 %t492, label %sc112, label %scend113 sc112: %t495 = load ptr, ptr %t0 %t496 = getelementptr inbounds %Cmp_Node, ptr %t495, i32 0, i32 1 %t497 = load ptr, ptr %t496 %t498 = call i32 @lp_str_eq(ptr %t497, ptr @.str10335) %t499 = icmp ne i32 %t498, 0 %t500 = zext i1 %t499 to i32 store i32 %t500, ptr %t494 br i1 %t499, label %scend115, label %sc114 sc114: %t501 = load ptr, ptr %t0 %t502 = getelementptr inbounds %Cmp_Node, ptr %t501, i32 0, i32 1 %t503 = load ptr, ptr %t502 %t504 = call i32 @lp_str_eq(ptr %t503, ptr @.str10336) %t505 = icmp ne i32 %t504, 0 %t506 = zext i1 %t505 to i32 store i32 %t506, ptr %t494 br label %scend115 scend115: %t507 = load i32, ptr %t494 %t508 = icmp ne i32 %t507, 0 %t509 = zext i1 %t508 to i32 store i32 %t509, ptr %t489 br label %scend113 scend113: %t510 = load i32, ptr %t489 %t511 = icmp ne i32 %t510, 0 br i1 %t511, label %then116, label %ifend118 then116: %t512 = load ptr, ptr %t0 %t513 = getelementptr inbounds %Cmp_Node, ptr %t512, i32 0, i32 4 %t514 = load ptr, ptr %t513 %t515 = call ptr @fn_emit_expr(ptr %t514) store ptr %t515, ptr %t516 %t517 = load ptr, ptr %t0 %t518 = getelementptr inbounds %Cmp_Node, ptr %t517, i32 0, i32 1 %t519 = load ptr, ptr %t518 %t520 = call i32 @lp_str_eq(ptr %t519, ptr @.str10337) %t521 = icmp ne i32 %t520, 0 br i1 %t521, label %then119, label %ifend121 then119: %t522 = load ptr, ptr %t516 %t523 = getelementptr inbounds %Cmp_Val, ptr %t522, i32 0, i32 0 %t524 = load ptr, ptr %t523 %t525 = call ptr @fn_vec_x(ptr %t524) %t526 = call ptr @fn_val(ptr %t525, ptr @.str10338) store ptr %t526, ptr %retval br label %ret ifend121: %t527 = load ptr, ptr %t516 %t528 = getelementptr inbounds %Cmp_Val, ptr %t527, i32 0, i32 0 %t529 = load ptr, ptr %t528 %t530 = call ptr @fn_vec_y(ptr %t529) %t531 = call ptr @fn_val(ptr %t530, ptr @.str10339) store ptr %t531, ptr %retval br label %ret ifend118: %t532 = load ptr, ptr %t484 %t533 = load ptr, ptr %t0 %t534 = getelementptr inbounds %Cmp_Node, ptr %t533, i32 0, i32 1 %t535 = load ptr, ptr %t534 %t536 = call ptr @fn_computed_expr(ptr %t532, ptr %t535) store ptr %t536, ptr %t537 %t538 = load ptr, ptr %t537 %t539 = icmp ne ptr %t538, null %t540 = zext i1 %t539 to i32 %t541 = icmp ne i32 %t540, 0 br i1 %t541, label %then122, label %ifend124 then122: %t542 = load ptr, ptr %t537 %t543 = load ptr, ptr %t0 %t544 = getelementptr inbounds %Cmp_Node, ptr %t543, i32 0, i32 4 %t545 = load ptr, ptr %t544 %t546 = call ptr @fn_qualify_fields(ptr %t542, ptr %t545) %t547 = call ptr @fn_emit_expr(ptr %t546) store ptr %t547, ptr %retval br label %ret ifend124: br label %ifend111 ifend111: %t548 = load ptr, ptr %t0 %t549 = call ptr @fn_emit_member_addr(ptr %t548) store ptr %t549, ptr %t550 %t551 = load ptr, ptr %t550 %t552 = load ptr, ptr @g_g_addr_ty %t553 = call ptr @fn_emit_load_at(ptr %t551, ptr %t552) store ptr %t553, ptr %retval br label %ret ifend90: %t554 = load ptr, ptr %t0 %t555 = getelementptr inbounds %Cmp_Node, ptr %t554, i32 0, i32 0 %t556 = load i32, ptr %t555 %t557 = icmp eq i32 %t556, 36 %t558 = zext i1 %t557 to i32 %t559 = icmp ne i32 %t558, 0 br i1 %t559, label %then125, label %ifend127 then125: %t560 = load ptr, ptr %t0 %t561 = call ptr @fn_emit_index_addr(ptr %t560) store ptr %t561, ptr %t562 %t563 = load ptr, ptr @g_g_addr_ty %t564 = call i32 @lp_str_eq(ptr %t563, ptr @.str10340) %t565 = icmp ne i32 %t564, 0 br i1 %t565, label %then128, label %ifend130 then128: %t566 = load ptr, ptr %t562 %t567 = call ptr @lp_str_concat(ptr @.str10341, ptr %t566) %t568 = call ptr @fn_emit_bind(ptr %t567) store ptr %t568, ptr %t569 %t570 = load ptr, ptr %t569 %t571 = call ptr @lp_str_concat(ptr @.str10342, ptr %t570) %t572 = call ptr @lp_str_concat(ptr %t571, ptr @.str10343) %t573 = call ptr @fn_emit_bind(ptr %t572) %t574 = call ptr @fn_val(ptr %t573, ptr @.str10344) store ptr %t574, ptr %retval br label %ret ifend130: %t575 = load ptr, ptr %t562 %t576 = load ptr, ptr @g_g_addr_ty %t577 = call ptr @fn_emit_load_at(ptr %t575, ptr %t576) store ptr %t577, ptr %retval br label %ret ifend127: %t578 = load ptr, ptr %t0 %t579 = getelementptr inbounds %Cmp_Node, ptr %t578, i32 0, i32 0 %t580 = load i32, ptr %t579 %t581 = icmp eq i32 %t580, 49 %t582 = zext i1 %t581 to i32 %t583 = icmp ne i32 %t582, 0 br i1 %t583, label %then131, label %ifend133 then131: %t584 = load ptr, ptr %t0 %t585 = call ptr @fn_emit_emit(ptr %t584) store ptr %t585, ptr %retval br label %ret ifend133: %t586 = load ptr, ptr %t0 %t587 = getelementptr inbounds %Cmp_Node, ptr %t586, i32 0, i32 0 %t588 = load i32, ptr %t587 %t589 = icmp eq i32 %t588, 52 %t590 = zext i1 %t589 to i32 %t591 = icmp ne i32 %t590, 0 br i1 %t591, label %then134, label %ifend136 then134: %t592 = load ptr, ptr %t0 %t593 = call ptr @fn_emit_try(ptr %t592) store ptr %t593, ptr %retval br label %ret ifend136: %t594 = load ptr, ptr %t0 %t595 = getelementptr inbounds %Cmp_Node, ptr %t594, i32 0, i32 0 %t596 = load i32, ptr %t595 %t597 = icmp eq i32 %t596, 34 %t598 = zext i1 %t597 to i32 %t599 = icmp ne i32 %t598, 0 br i1 %t599, label %then137, label %ifend139 then137: %t600 = load ptr, ptr %t0 %t601 = call ptr @fn_emit_call(ptr %t600) store ptr %t601, ptr %retval br label %ret ifend139: %t602 = load ptr, ptr %t0 %t603 = getelementptr inbounds %Cmp_Node, ptr %t602, i32 0, i32 0 %t604 = load i32, ptr %t603 %t605 = icmp eq i32 %t604, 37 %t606 = zext i1 %t605 to i32 %t607 = icmp ne i32 %t606, 0 br i1 %t607, label %then140, label %ifend142 then140: %t608 = load ptr, ptr %t0 %t609 = call ptr @fn_emit_bin(ptr %t608) store ptr %t609, ptr %retval br label %ret ifend142: %t610 = load ptr, ptr %t0 %t611 = getelementptr inbounds %Cmp_Node, ptr %t610, i32 0, i32 0 %t612 = load i32, ptr %t611 %t613 = icmp eq i32 %t612, 38 %t614 = zext i1 %t613 to i32 %t615 = icmp ne i32 %t614, 0 br i1 %t615, label %then143, label %ifend145 then143: %t616 = load ptr, ptr %t0 %t617 = getelementptr inbounds %Cmp_Node, ptr %t616, i32 0, i32 4 %t618 = load ptr, ptr %t617 %t619 = call ptr @fn_emit_expr(ptr %t618) store ptr %t619, ptr %t620 %t621 = load ptr, ptr %t620 %t622 = getelementptr inbounds %Cmp_Val, ptr %t621, i32 0, i32 1 %t623 = load ptr, ptr %t622 %t624 = call i32 @fn_is_fp(ptr %t623) %t625 = icmp ne i32 %t624, 0 br i1 %t625, label %then146, label %ifend148 then146: %t626 = load ptr, ptr %t0 %t627 = getelementptr inbounds %Cmp_Node, ptr %t626, i32 0, i32 1 %t628 = load ptr, ptr %t627 %t629 = call i32 @lp_str_eq(ptr %t628, ptr @.str10345) %t630 = icmp ne i32 %t629, 0 br i1 %t630, label %then149, label %ifend151 then149: %t631 = load ptr, ptr %t620 %t632 = getelementptr inbounds %Cmp_Val, ptr %t631, i32 0, i32 1 %t633 = load ptr, ptr %t632 %t634 = call ptr @lp_str_concat(ptr @.str10346, ptr %t633) %t635 = call ptr @lp_str_concat(ptr %t634, ptr @.str10347) %t636 = load ptr, ptr %t620 %t637 = getelementptr inbounds %Cmp_Val, ptr %t636, i32 0, i32 0 %t638 = load ptr, ptr %t637 %t639 = call ptr @lp_str_concat(ptr %t635, ptr %t638) %t640 = call ptr @fn_emit_bind(ptr %t639) %t641 = load ptr, ptr %t620 %t642 = getelementptr inbounds %Cmp_Val, ptr %t641, i32 0, i32 1 %t643 = load ptr, ptr %t642 %t644 = call ptr @fn_val(ptr %t640, ptr %t643) store ptr %t644, ptr %t645 %t646 = load ptr, ptr %t620 %t647 = getelementptr inbounds %Cmp_Val, ptr %t646, i32 0, i32 2 %t648 = load ptr, ptr %t647 %t649 = icmp ne ptr %t648, null %t650 = zext i1 %t649 to i32 %t651 = icmp ne i32 %t650, 0 br i1 %t651, label %then152, label %ifend154 then152: %t652 = load ptr, ptr %t645 %t653 = getelementptr inbounds %Cmp_Val, ptr %t652, i32 0, i32 2 %t654 = load ptr, ptr %t0 store ptr %t654, ptr %t653 br label %ifend154 ifend154: %t655 = load ptr, ptr %t645 store ptr %t655, ptr %retval br label %ret ifend151: %t656 = load ptr, ptr %t0 %t657 = getelementptr inbounds %Cmp_Node, ptr %t656, i32 0, i32 1 %t658 = load ptr, ptr %t657 %t659 = call ptr @lp_str_concat(ptr @.str10348, ptr %t658) %t660 = call ptr @lp_str_concat(ptr %t659, ptr @.str10349) %t661 = load ptr, ptr %t620 %t662 = getelementptr inbounds %Cmp_Val, ptr %t661, i32 0, i32 1 %t663 = load ptr, ptr %t662 %t664 = call ptr @lp_str_concat(ptr %t660, ptr %t663) call void @fn_perr(ptr %t664) br label %ifend148 ifend148: %t666 = load ptr, ptr %t0 %t667 = getelementptr inbounds %Cmp_Node, ptr %t666, i32 0, i32 1 %t668 = load ptr, ptr %t667 %t669 = call i32 @lp_str_eq(ptr %t668, ptr @.str10350) %t670 = icmp ne i32 %t669, 0 %t671 = zext i1 %t670 to i32 store i32 %t671, ptr %t665 br i1 %t670, label %sc155, label %scend156 sc155: %t672 = load ptr, ptr %t620 %t673 = getelementptr inbounds %Cmp_Val, ptr %t672, i32 0, i32 2 %t674 = load ptr, ptr %t673 %t675 = icmp ne ptr %t674, null %t676 = zext i1 %t675 to i32 %t677 = icmp ne i32 %t676, 0 %t678 = zext i1 %t677 to i32 store i32 %t678, ptr %t665 br label %scend156 scend156: %t679 = load i32, ptr %t665 %t680 = icmp ne i32 %t679, 0 br i1 %t680, label %then157, label %ifend159 then157: %t681 = load ptr, ptr %t620 %t682 = getelementptr inbounds %Cmp_Val, ptr %t681, i32 0, i32 0 %t683 = load ptr, ptr %t682 %t684 = call ptr @lp_str_concat(ptr @.str10351, ptr %t683) %t685 = call ptr @fn_emit_bind(ptr %t684) %t686 = call ptr @fn_val(ptr %t685, ptr @.str10352) store ptr %t686, ptr %t687 %t688 = load ptr, ptr %t687 %t689 = getelementptr inbounds %Cmp_Val, ptr %t688, i32 0, i32 2 %t690 = load ptr, ptr %t0 store ptr %t690, ptr %t689 %t691 = load ptr, ptr %t687 store ptr %t691, ptr %retval br label %ret ifend159: %t692 = load ptr, ptr %t620 %t693 = getelementptr inbounds %Cmp_Val, ptr %t692, i32 0, i32 1 %t694 = load ptr, ptr %t693 %t695 = call ptr @fn_llty(ptr %t694) %t696 = call i32 @lp_str_eq(ptr %t695, ptr @.str10353) %t697 = icmp ne i32 %t696, 0 br i1 %t697, label %then160, label %ifend162 then160: %t698 = load ptr, ptr %t0 %t699 = getelementptr inbounds %Cmp_Node, ptr %t698, i32 0, i32 1 %t700 = load ptr, ptr %t699 %t701 = call i32 @lp_str_eq(ptr %t700, ptr @.str10354) %t702 = icmp ne i32 %t701, 0 br i1 %t702, label %then163, label %ifend165 then163: %t703 = load ptr, ptr %t620 %t704 = getelementptr inbounds %Cmp_Val, ptr %t703, i32 0, i32 0 %t705 = load ptr, ptr %t704 %t706 = call ptr @lp_str_concat(ptr @.str10355, ptr %t705) %t707 = call ptr @fn_emit_bind(ptr %t706) %t708 = call ptr @fn_val(ptr %t707, ptr @.str10356) store ptr %t708, ptr %retval br label %ret ifend165: %t709 = load ptr, ptr %t0 %t710 = getelementptr inbounds %Cmp_Node, ptr %t709, i32 0, i32 1 %t711 = load ptr, ptr %t710 %t712 = call i32 @lp_str_eq(ptr %t711, ptr @.str10357) %t713 = icmp ne i32 %t712, 0 br i1 %t713, label %then166, label %ifend168 then166: %t714 = load ptr, ptr %t620 %t715 = getelementptr inbounds %Cmp_Val, ptr %t714, i32 0, i32 0 %t716 = load ptr, ptr %t715 %t717 = call ptr @lp_str_concat(ptr @.str10358, ptr %t716) %t718 = call ptr @lp_str_concat(ptr %t717, ptr @.str10359) %t719 = call ptr @fn_emit_bind(ptr %t718) %t720 = call ptr @fn_val(ptr %t719, ptr @.str10360) store ptr %t720, ptr %retval br label %ret ifend168: br label %ifend162 ifend162: %t721 = load ptr, ptr %t0 %t722 = getelementptr inbounds %Cmp_Node, ptr %t721, i32 0, i32 1 %t723 = load ptr, ptr %t722 %t724 = call i32 @lp_str_eq(ptr %t723, ptr @.str10361) %t725 = icmp ne i32 %t724, 0 br i1 %t725, label %then169, label %ifend171 then169: %t726 = load ptr, ptr %t620 %t727 = getelementptr inbounds %Cmp_Val, ptr %t726, i32 0, i32 0 %t728 = load ptr, ptr %t727 %t729 = call ptr @lp_str_concat(ptr @.str10362, ptr %t728) %t730 = call ptr @fn_emit_bind(ptr %t729) %t731 = load ptr, ptr %t620 %t732 = getelementptr inbounds %Cmp_Val, ptr %t731, i32 0, i32 1 %t733 = load ptr, ptr %t732 %t734 = call ptr @fn_arith_ty(ptr %t733) %t735 = call ptr @fn_val(ptr %t730, ptr %t734) store ptr %t735, ptr %retval br label %ret ifend171: %t736 = load ptr, ptr %t0 %t737 = getelementptr inbounds %Cmp_Node, ptr %t736, i32 0, i32 1 %t738 = load ptr, ptr %t737 %t739 = call i32 @lp_str_eq(ptr %t738, ptr @.str10363) %t740 = icmp ne i32 %t739, 0 br i1 %t740, label %then172, label %ifend174 then172: %t741 = load ptr, ptr %t620 %t742 = getelementptr inbounds %Cmp_Val, ptr %t741, i32 0, i32 0 %t743 = load ptr, ptr %t742 %t744 = call ptr @lp_str_concat(ptr @.str10364, ptr %t743) %t745 = call ptr @lp_str_concat(ptr %t744, ptr @.str10365) %t746 = call ptr @fn_emit_bind(ptr %t745) %t747 = load ptr, ptr %t620 %t748 = getelementptr inbounds %Cmp_Val, ptr %t747, i32 0, i32 1 %t749 = load ptr, ptr %t748 %t750 = call ptr @fn_arith_ty(ptr %t749) %t751 = call ptr @fn_val(ptr %t746, ptr %t750) store ptr %t751, ptr %retval br label %ret ifend174: %t752 = load ptr, ptr %t620 %t753 = getelementptr inbounds %Cmp_Val, ptr %t752, i32 0, i32 0 %t754 = load ptr, ptr %t753 %t755 = call ptr @lp_str_concat(ptr @.str10366, ptr %t754) %t756 = call ptr @lp_str_concat(ptr %t755, ptr @.str10367) %t757 = call ptr @fn_emit_bind(ptr %t756) store ptr %t757, ptr %t758 %t759 = load ptr, ptr %t758 %t760 = call ptr @lp_str_concat(ptr @.str10368, ptr %t759) %t761 = call ptr @lp_str_concat(ptr %t760, ptr @.str10369) %t762 = call ptr @fn_emit_bind(ptr %t761) %t763 = call ptr @fn_val(ptr %t762, ptr @.str10370) store ptr %t763, ptr %retval br label %ret ifend145: call void @fn_perr(ptr @.str10371) %t764 = call ptr @fn_val(ptr @.str10372, ptr @.str10373) store ptr %t764, ptr %retval br label %ret ret: %t765 = load ptr, ptr %retval ret ptr %t765 } define void @fn_emit_block(ptr %arg_b) { entry: %t0 = alloca ptr %t2 = alloca i32 %t6 = alloca i32 %t7 = alloca i32 store ptr %arg_b, ptr %t0 %t1 = load i32, ptr @g_g_blk_cur store i32 %t1, ptr %t2 %t3 = load i32, ptr @g_g_blk_next %t4 = add i32 %t3, 1 store i32 %t4, ptr @g_g_blk_next %t5 = load i32, ptr @g_g_blk_next store i32 %t5, ptr @g_g_blk_cur store i32 0, ptr %t6 br label %wcond0 wcond0: %t8 = load i32, ptr %t6 %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp slt i32 %t8, %t13 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t7 br i1 %t16, label %sc3, label %scend4 sc3: %t18 = load i32, ptr @g_g_term %t19 = icmp eq i32 %t18, 0 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t7 br label %scend4 scend4: %t23 = load i32, ptr %t7 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %wbody1, label %wend2 wbody1: %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 7 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = load i32, ptr %t6 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t30, %t32 br i1 %t33, label %ixok5, label %ixbad6 ixbad6: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str10374, i32 %t30, i32 %t32) call void @exit(i32 1) unreachable ixok5: %t35 = getelementptr inbounds ptr, ptr %t29, i32 %t30 %t36 = load ptr, ptr %t35 call void @fn_emit_stmt(ptr %t36) %t37 = load i32, ptr %t6 %t38 = add i32 %t37, 1 store i32 %t38, ptr %t6 br label %wcond0 wend2: %t39 = load i32, ptr %t2 store i32 %t39, ptr @g_g_blk_cur br label %ret ret: ret void } define void @fn_store_at(ptr %arg_lt, ptr %arg_v, ptr %arg_addr) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr store ptr %arg_lt, ptr %t0 store ptr %arg_v, ptr %t1 store ptr %arg_addr, ptr %t2 call void @fn_emit(ptr @.str10375) %t3 = load ptr, ptr %t0 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str10376) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str10377) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str10378) br label %ret ret: ret void } define ptr @fn_compound_op(ptr %arg_tok) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_tok, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @lp_str_slice(ptr %t1, i32 0, i32 1) store ptr %t2, ptr %retval br label %ret ret: %t3 = load ptr, ptr %retval ret ptr %t3 } define void @fn_emit_assign(ptr %arg_st) { entry: %t0 = alloca ptr %t4 = alloca ptr %t5 = alloca ptr %t6 = alloca ptr %t17 = alloca i32 %t69 = alloca ptr %t105 = alloca ptr %t110 = alloca ptr %t126 = alloca ptr %t137 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 %t3 = load ptr, ptr %t2 store ptr %t3, ptr %t4 store ptr @.str10379, ptr %t5 store ptr @.str10380, ptr %t6 %t7 = load ptr, ptr %t4 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0 %t9 = load i32, ptr %t8 %t10 = icmp eq i32 %t9, 33 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %else1 then0: %t13 = load ptr, ptr %t4 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1 %t15 = load ptr, ptr %t14 %t16 = call i32 @fn_loc_find(ptr %t15) store i32 %t16, ptr %t17 %t18 = load i32, ptr %t17 %t19 = icmp sge i32 %t18, 0 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then3, label %else4 then3: %t22 = load ptr, ptr @g_loc_mut %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = load i32, ptr %t17 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t25, %t27 br i1 %t28, label %ixok6, label %ixbad7 ixbad7: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str10381, i32 %t25, i32 %t27) call void @exit(i32 1) unreachable ixok6: %t30 = getelementptr inbounds i32, ptr %t24, i32 %t25 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 0 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then8, label %ifend10 then8: %t35 = load ptr, ptr %t4 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1 %t37 = load ptr, ptr %t36 %t38 = call ptr @lp_str_concat(ptr @.str10382, ptr %t37) %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str10383) %t40 = load ptr, ptr %t0 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 8 %t42 = load i32, ptr %t41 %t43 = call ptr @fn_itoa(i32 %t42) %t44 = call ptr @lp_str_concat(ptr %t39, ptr %t43) call void @fn_perr(ptr %t44) br label %ifend10 ifend10: %t45 = load ptr, ptr @g_loc_reg %t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0 %t47 = load ptr, ptr %t46 %t48 = load i32, ptr %t17 %t49 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1 %t50 = load i32, ptr %t49 %t51 = icmp ult i32 %t48, %t50 br i1 %t51, label %ixok11, label %ixbad12 ixbad12: %t52 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t52, ptr @.fmt_bounds, ptr @.str10384, i32 %t48, i32 %t50) call void @exit(i32 1) unreachable ixok11: %t53 = getelementptr inbounds ptr, ptr %t47, i32 %t48 %t54 = load ptr, ptr %t53 store ptr %t54, ptr %t5 %t55 = load ptr, ptr @g_loc_ty %t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = load i32, ptr %t17 %t59 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp ult i32 %t58, %t60 br i1 %t61, label %ixok13, label %ixbad14 ixbad14: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str10385, i32 %t58, i32 %t60) call void @exit(i32 1) unreachable ixok13: %t63 = getelementptr inbounds ptr, ptr %t57, i32 %t58 %t64 = load ptr, ptr %t63 store ptr %t64, ptr %t6 br label %ifend5 else4: %t65 = load ptr, ptr %t4 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 1 %t67 = load ptr, ptr %t66 %t68 = call ptr @fn_find_global(ptr %t67) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t69 %t71 = icmp eq ptr %t70, null %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then15, label %ifend17 then15: %t74 = load ptr, ptr %t4 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1 %t76 = load ptr, ptr %t75 %t77 = call ptr @lp_str_concat(ptr @.str10386, ptr %t76) call void @fn_perr(ptr %t77) br label %ifend17 ifend17: %t78 = load ptr, ptr %t4 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 1 %t80 = load ptr, ptr %t79 %t81 = call ptr @lp_str_concat(ptr @.str10387, ptr %t80) store ptr %t81, ptr %t5 %t82 = load ptr, ptr %t69 %t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 3 %t84 = load ptr, ptr %t83 store ptr %t84, ptr %t6 br label %ifend5 ifend5: br label %ifend2 else1: %t85 = load ptr, ptr %t4 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 0 %t87 = load i32, ptr %t86 %t88 = icmp eq i32 %t87, 35 %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then18, label %else19 then18: %t91 = load ptr, ptr %t4 %t92 = call ptr @fn_emit_member_addr(ptr %t91) store ptr %t92, ptr %t5 %t93 = load ptr, ptr @g_g_addr_ty store ptr %t93, ptr %t6 br label %ifend20 else19: %t94 = load ptr, ptr %t4 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 0 %t96 = load i32, ptr %t95 %t97 = icmp eq i32 %t96, 36 %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 br i1 %t99, label %then21, label %else22 then21: %t100 = load ptr, ptr %t4 %t101 = call ptr @fn_emit_index_addr(ptr %t100) store ptr %t101, ptr %t5 %t102 = load ptr, ptr @g_g_addr_ty store ptr %t102, ptr %t6 br label %ifend23 else22: call void @fn_perr(ptr @.str10388) br label %ifend23 ifend23: br label %ifend20 ifend20: br label %ifend2 ifend2: %t103 = load ptr, ptr %t6 %t104 = call ptr @fn_llty(ptr %t103) store ptr %t104, ptr %t105 %t106 = load ptr, ptr %t0 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 5 %t108 = load ptr, ptr %t107 %t109 = call ptr @fn_emit_expr(ptr %t108) store ptr %t109, ptr %t110 %t111 = load ptr, ptr %t0 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 1 %t113 = load ptr, ptr %t112 %t114 = call i32 @lp_str_eq(ptr %t113, ptr @.str10389) %t115 = icmp eq i32 %t114, 0 %t116 = zext i1 %t115 to i32 %t117 = icmp ne i32 %t116, 0 br i1 %t117, label %then24, label %ifend26 then24: %t118 = load ptr, ptr %t105 %t119 = call ptr @lp_str_concat(ptr @.str10390, ptr %t118) %t120 = call ptr @lp_str_concat(ptr %t119, ptr @.str10391) %t121 = load ptr, ptr %t5 %t122 = call ptr @lp_str_concat(ptr %t120, ptr %t121) %t123 = call ptr @fn_emit_bind(ptr %t122) %t124 = load ptr, ptr %t6 %t125 = call ptr @fn_val(ptr %t123, ptr %t124) store ptr %t125, ptr %t126 %t127 = load ptr, ptr %t0 %t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 1 %t129 = load ptr, ptr %t128 %t130 = call ptr @fn_compound_op(ptr %t129) %t131 = load ptr, ptr %t126 %t132 = load ptr, ptr %t110 %t133 = call ptr @fn_emit_bin_vals(ptr %t130, ptr %t131, ptr %t132, i32 0) store ptr %t133, ptr %t110 br label %ifend26 ifend26: %t134 = load ptr, ptr %t110 %t135 = load ptr, ptr %t6 %t136 = call ptr @fn_coerce_code(ptr %t134, ptr %t135) store ptr %t136, ptr %t137 %t138 = load ptr, ptr %t105 %t139 = call i32 @lp_str_eq(ptr %t138, ptr @.str10392) %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %then27, label %ifend29 then27: %t141 = load ptr, ptr %t137 %t142 = call ptr @lp_str_concat(ptr @.str10393, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str10394) %t144 = call ptr @fn_emit_bind(ptr %t143) store ptr %t144, ptr %t137 br label %ifend29 ifend29: %t145 = load ptr, ptr %t105 %t146 = load ptr, ptr %t137 %t147 = load ptr, ptr %t5 call void @fn_store_at(ptr %t145, ptr %t146, ptr %t147) br label %ret ret: ret void } define void @fn_emit_if(ptr %arg_st) { entry: %t0 = alloca ptr %t5 = alloca ptr %t12 = alloca ptr %t18 = alloca i32 %t20 = alloca ptr %t22 = alloca ptr %t24 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_emit_expr(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr @.str10395, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10396) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 6 %t15 = load ptr, ptr %t14 %t16 = icmp ne ptr %t15, null %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t18 %t19 = call ptr @fn_lbl(ptr @.str10397) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str10398) store ptr %t21, ptr %t22 %t23 = call ptr @fn_lbl(ptr @.str10399) store ptr %t23, ptr %t24 %t25 = load i32, ptr %t18 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then0, label %else1 then0: call void @fn_emit(ptr @.str10400) %t27 = load ptr, ptr %t12 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str10401) %t28 = load ptr, ptr %t20 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str10402) %t29 = load ptr, ptr %t22 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str10403) br label %ifend2 else1: call void @fn_emit(ptr @.str10404) %t30 = load ptr, ptr %t12 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str10405) %t31 = load ptr, ptr %t20 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str10406) %t32 = load ptr, ptr %t24 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str10407) br label %ifend2 ifend2: %t33 = load ptr, ptr %t20 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str10408) store i32 0, ptr @g_g_term %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 5 %t36 = load ptr, ptr %t35 call void @fn_emit_block(ptr %t36) %t37 = load i32, ptr @g_g_term %t38 = icmp eq i32 %t37, 0 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str10409) %t41 = load ptr, ptr %t24 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str10410) br label %ifend5 ifend5: %t42 = load i32, ptr %t18 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then6, label %ifend8 then6: %t44 = load ptr, ptr %t22 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str10411) store i32 0, ptr @g_g_term %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 6 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 0 %t49 = load i32, ptr %t48 %t50 = icmp eq i32 %t49, 12 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then9, label %else10 then9: %t53 = load ptr, ptr %t0 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 6 %t55 = load ptr, ptr %t54 call void @fn_emit_stmt(ptr %t55) br label %ifend11 else10: %t56 = load ptr, ptr %t0 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 6 %t58 = load ptr, ptr %t57 call void @fn_emit_block(ptr %t58) br label %ifend11 ifend11: %t59 = load i32, ptr @g_g_term %t60 = icmp eq i32 %t59, 0 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then12, label %ifend14 then12: call void @fn_emit(ptr @.str10412) %t63 = load ptr, ptr %t24 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10413) br label %ifend14 ifend14: br label %ifend8 ifend8: %t64 = load ptr, ptr %t24 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str10414) store i32 0, ptr @g_g_term br label %ret ret: ret void } define void @fn_emit_while(ptr %arg_st) { entry: %t0 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr %t6 = alloca ptr %t13 = alloca ptr %t20 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = call ptr @fn_lbl(ptr @.str10415) store ptr %t1, ptr %t2 %t3 = call ptr @fn_lbl(ptr @.str10416) store ptr %t3, ptr %t4 %t5 = call ptr @fn_lbl(ptr @.str10417) store ptr %t5, ptr %t6 call void @fn_emit(ptr @.str10418) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str10419) %t8 = load ptr, ptr %t2 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str10420) %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4 %t11 = load ptr, ptr %t10 %t12 = call ptr @fn_emit_expr(ptr %t11) store ptr %t12, ptr %t13 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = call ptr @lp_str_concat(ptr @.str10421, ptr %t16) %t18 = call ptr @lp_str_concat(ptr %t17, ptr @.str10422) %t19 = call ptr @fn_emit_bind(ptr %t18) store ptr %t19, ptr %t20 call void @fn_emit(ptr @.str10423) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str10424) %t22 = load ptr, ptr %t4 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str10425) %t23 = load ptr, ptr %t6 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str10426) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str10427) store i32 0, ptr @g_g_term %t25 = load ptr, ptr %t2 %t26 = load ptr, ptr %t6 call void @fn_loop_push(ptr %t25, ptr %t26) %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 5 %t29 = load ptr, ptr %t28 call void @fn_emit_block(ptr %t29) call void @fn_loop_pop() %t30 = load i32, ptr @g_g_term %t31 = icmp eq i32 %t30, 0 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str10428) %t34 = load ptr, ptr %t2 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10429) br label %ifend2 ifend2: %t35 = load ptr, ptr %t6 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str10430) store i32 0, ptr @g_g_term br label %ret ret: ret void } define void @fn_emit_for(ptr %arg_st) { entry: %t0 = alloca ptr %t2 = alloca ptr %t7 = alloca ptr %t17 = alloca ptr %t19 = alloca ptr %t21 = alloca ptr %t23 = alloca ptr %t29 = alloca ptr %t34 = alloca ptr %t43 = alloca ptr %t62 = alloca ptr %t67 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = call ptr @fn_emit_alloca(ptr @.str10431) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4 %t5 = load ptr, ptr %t4 %t6 = call ptr @fn_emit_expr(ptr %t5) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = getelementptr inbounds %Cmp_Val, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load ptr, ptr %t2 call void @fn_store_at(ptr @.str10432, ptr %t10, ptr %t11) %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 %t14 = load ptr, ptr %t13 %t15 = load ptr, ptr %t2 call void @fn_loc_push(ptr %t14, ptr %t15, ptr @.str10433) %t16 = call ptr @fn_lbl(ptr @.str10434) store ptr %t16, ptr %t17 %t18 = call ptr @fn_lbl(ptr @.str10435) store ptr %t18, ptr %t19 %t20 = call ptr @fn_lbl(ptr @.str10436) store ptr %t20, ptr %t21 %t22 = call ptr @fn_lbl(ptr @.str10437) store ptr %t22, ptr %t23 call void @fn_emit(ptr @.str10438) %t24 = load ptr, ptr %t17 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str10439) %t25 = load ptr, ptr %t17 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str10440) %t26 = load ptr, ptr %t2 %t27 = call ptr @lp_str_concat(ptr @.str10441, ptr %t26) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t29 %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 5 %t32 = load ptr, ptr %t31 %t33 = call ptr @fn_emit_expr(ptr %t32) store ptr %t33, ptr %t34 %t35 = load ptr, ptr %t29 %t36 = call ptr @lp_str_concat(ptr @.str10442, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str10443) %t38 = load ptr, ptr %t34 %t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = call ptr @lp_str_concat(ptr %t37, ptr %t40) %t42 = call ptr @fn_emit_bind(ptr %t41) store ptr %t42, ptr %t43 call void @fn_emit(ptr @.str10444) %t44 = load ptr, ptr %t43 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str10445) %t45 = load ptr, ptr %t19 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str10446) %t46 = load ptr, ptr %t23 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str10447) %t47 = load ptr, ptr %t19 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str10448) store i32 0, ptr @g_g_term %t48 = load ptr, ptr %t21 %t49 = load ptr, ptr %t23 call void @fn_loop_push(ptr %t48, ptr %t49) %t50 = load ptr, ptr %t0 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 6 %t52 = load ptr, ptr %t51 call void @fn_emit_block(ptr %t52) call void @fn_loop_pop() %t53 = load i32, ptr @g_g_term %t54 = icmp eq i32 %t53, 0 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str10449) %t57 = load ptr, ptr %t21 call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str10450) br label %ifend2 ifend2: %t58 = load ptr, ptr %t21 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str10451) %t59 = load ptr, ptr %t2 %t60 = call ptr @lp_str_concat(ptr @.str10452, ptr %t59) %t61 = call ptr @fn_emit_bind(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t62 %t64 = call ptr @lp_str_concat(ptr @.str10453, ptr %t63) %t65 = call ptr @lp_str_concat(ptr %t64, ptr @.str10454) %t66 = call ptr @fn_emit_bind(ptr %t65) store ptr %t66, ptr %t67 %t68 = load ptr, ptr %t67 %t69 = load ptr, ptr %t2 call void @fn_store_at(ptr @.str10455, ptr %t68, ptr %t69) call void @fn_emit(ptr @.str10456) %t70 = load ptr, ptr %t17 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str10457) %t71 = load ptr, ptr %t23 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10458) store i32 0, ptr @g_g_term br label %ret ret: ret void } define void @fn_emit_return(ptr %arg_st) { entry: %t0 = alloca ptr %t1 = alloca i32 %t25 = alloca ptr store ptr %arg_st, ptr %t0 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 4 %t4 = load ptr, ptr %t3 %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 %t8 = zext i1 %t7 to i32 store i32 %t8, ptr %t1 br i1 %t7, label %sc0, label %scend1 sc0: %t9 = load ptr, ptr @g_ret_ty %t10 = call i32 @lp_str_eq(ptr %t9, ptr @.str10459) %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t1 br label %scend1 scend1: %t13 = load i32, ptr %t1 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then2, label %ifend4 then2: call void @fn_perr(ptr @.str10460) br label %ifend4 ifend4: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4 %t17 = load ptr, ptr %t16 %t18 = icmp ne ptr %t17, null %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then5, label %ifend7 then5: %t21 = load ptr, ptr %t0 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 4 %t23 = load ptr, ptr %t22 %t24 = call ptr @fn_emit_expr(ptr %t23) store ptr %t24, ptr %t25 %t26 = load ptr, ptr @g_ret_ty %t27 = call ptr @fn_llty(ptr %t26) %t28 = load ptr, ptr %t25 %t29 = load ptr, ptr @g_ret_ty %t30 = call ptr @fn_coerce_code(ptr %t28, ptr %t29) call void @fn_store_at(ptr %t27, ptr %t30, ptr @.str10461) br label %ifend7 ifend7: %t31 = load ptr, ptr @g_g_ret_label %t32 = call ptr @lp_str_concat(ptr @.str10462, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str10463) call void @fn_emit(ptr %t33) store i32 1, ptr @g_g_term br label %ret ret: ret void } define i32 @fn_block_ends(ptr %arg_b) { entry: %retval = alloca i32 %t0 = alloca ptr %t5 = alloca i32 store ptr %arg_b, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = icmp eq ptr %t1, null %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store i32 0, ptr %retval br label %ret ifend2: store i32 0, ptr %t5 br label %wcond3 wcond3: %t6 = load i32, ptr %t5 %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 7 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp slt i32 %t6, %t11 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %wbody4, label %wend5 wbody4: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = load i32, ptr %t5 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t20, %t22 br i1 %t23, label %ixok6, label %ixbad7 ixbad7: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str10464, i32 %t20, i32 %t22) call void @exit(i32 1) unreachable ixok6: %t25 = getelementptr inbounds ptr, ptr %t19, i32 %t20 %t26 = load ptr, ptr %t25 %t27 = call i32 @fn_stmt_ends(ptr %t26) %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: %t29 = load i32, ptr %t5 %t30 = add i32 %t29, 1 store i32 %t30, ptr %t5 br label %wcond3 wend5: store i32 0, ptr %retval br label %ret ret: %t31 = load i32, ptr %retval ret i32 %t31 } define i32 @fn_stmt_ends(ptr %arg_st) { entry: %retval = alloca i32 %t0 = alloca ptr %t13 = alloca i32 %t53 = alloca i32 %t54 = alloca i32 %t76 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 0 %t3 = load i32, ptr %t2 %t4 = icmp eq i32 %t3, 15 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: store i32 1, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0 %t9 = load i32, ptr %t8 %t10 = icmp eq i32 %t9, 12 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then3, label %ifend5 then3: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 6 %t16 = load ptr, ptr %t15 %t17 = icmp eq ptr %t16, null %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t13 br i1 %t19, label %scend7, label %sc6 sc6: %t21 = load ptr, ptr %t0 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 5 %t23 = load ptr, ptr %t22 %t24 = call i32 @fn_block_ends(ptr %t23) %t25 = icmp eq i32 %t24, 0 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t13 br label %scend7 scend7: %t29 = load i32, ptr %t13 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then8, label %ifend10 then8: store i32 0, ptr %retval br label %ret ifend10: %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 6 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 0 %t35 = load i32, ptr %t34 %t36 = icmp eq i32 %t35, 12 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then11, label %ifend13 then11: %t39 = load ptr, ptr %t0 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 6 %t41 = load ptr, ptr %t40 %t42 = call i32 @fn_stmt_ends(ptr %t41) store i32 %t42, ptr %retval br label %ret ifend13: %t43 = load ptr, ptr %t0 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 6 %t45 = load ptr, ptr %t44 %t46 = call i32 @fn_block_ends(ptr %t45) store i32 %t46, ptr %retval br label %ret ifend5: %t47 = load ptr, ptr %t0 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 0 %t49 = load i32, ptr %t48 %t50 = icmp eq i32 %t49, 19 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %then14, label %ifend16 then14: store i32 0, ptr %t53 store i32 0, ptr %t54 br label %wcond17 wcond17: %t55 = load i32, ptr %t54 %t56 = load ptr, ptr %t0 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp slt i32 %t55, %t60 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %wbody18, label %wend19 wbody18: %t64 = load ptr, ptr %t0 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = load i32, ptr %t54 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 %t69, %t71 br i1 %t72, label %ixok20, label %ixbad21 ixbad21: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str10465, i32 %t69, i32 %t71) call void @exit(i32 1) unreachable ixok20: %t74 = getelementptr inbounds ptr, ptr %t68, i32 %t69 %t75 = load ptr, ptr %t74 store ptr %t75, ptr %t76 %t77 = load ptr, ptr %t76 %t78 = call i32 @fn_arm_is_default(ptr %t77) %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %then22, label %ifend24 then22: store i32 1, ptr %t53 br label %ifend24 ifend24: %t80 = load ptr, ptr %t76 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 4 %t82 = load ptr, ptr %t81 %t83 = call i32 @fn_block_ends(ptr %t82) %t84 = icmp eq i32 %t83, 0 %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then25, label %ifend27 then25: store i32 0, ptr %retval br label %ret ifend27: %t87 = load i32, ptr %t54 %t88 = add i32 %t87, 1 store i32 %t88, ptr %t54 br label %wcond17 wend19: %t89 = load i32, ptr %t53 store i32 %t89, ptr %retval br label %ret ifend16: store i32 0, ptr %retval br label %ret ret: %t90 = load i32, ptr %retval ret i32 %t90 } define i32 @fn_arm_is_default(ptr %arg_arm) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t11 = alloca i32 store ptr %arg_arm, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp slt i32 %t2, %t7 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %wbody1, label %wend2 wbody1: %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = load i32, ptr %t1 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t17, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str10466, i32 %t17, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t16, i32 %t17 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 0 %t25 = load i32, ptr %t24 %t26 = icmp eq i32 %t25, 33 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t11 br i1 %t28, label %sc5, label %scend6 sc5: %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = load i32, ptr %t1 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t35, %t37 br i1 %t38, label %ixok7, label %ixbad8 ixbad8: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str10467, i32 %t35, i32 %t37) call void @exit(i32 1) unreachable ixok7: %t40 = getelementptr inbounds ptr, ptr %t34, i32 %t35 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str10468) %t45 = icmp ne i32 %t44, 0 %t46 = zext i1 %t45 to i32 store i32 %t46, ptr %t11 br label %scend6 scend6: %t47 = load i32, ptr %t11 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t49 = load i32, ptr %t1 %t50 = add i32 %t49, 1 store i32 %t50, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t51 = load i32, ptr %retval ret i32 %t51 } define void @fn_emit_bind_payload(ptr %arg_en, ptr %arg_pat, ptr %arg_sv) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t10 = alloca i32 %t23 = alloca ptr %t59 = alloca i32 %t113 = alloca ptr %t116 = alloca ptr %t118 = alloca ptr %t133 = alloca ptr %t136 = alloca ptr store ptr %arg_en, ptr %t0 store ptr %arg_pat, ptr %t1 store ptr %arg_sv, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = load ptr, ptr %t1 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 4 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 %t8 = load ptr, ptr %t7 %t9 = call i32 @fn_variant_ordinal(ptr %t3, ptr %t8) store i32 %t9, ptr %t10 %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = load i32, ptr %t10 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t16, %t18 br i1 %t19, label %ixok0, label %ixbad1 ixbad1: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str10469, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok0: %t21 = getelementptr inbounds ptr, ptr %t15, i32 %t16 %t22 = load ptr, ptr %t21 store ptr %t22, ptr %t23 %t24 = load ptr, ptr %t1 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = load ptr, ptr %t23 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t33 = load i32, ptr %t32 %t34 = icmp ne i32 %t28, %t33 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then2, label %ifend4 then2: %t37 = load ptr, ptr %t1 %t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 4 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 %t41 = load ptr, ptr %t40 %t42 = call ptr @lp_str_concat(ptr @.str10470, ptr %t41) %t43 = call ptr @lp_str_concat(ptr %t42, ptr @.str10471) %t44 = load ptr, ptr %t1 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = call ptr @fn_itoa(i32 %t48) %t50 = call ptr @lp_str_concat(ptr %t43, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str10472) %t52 = load ptr, ptr %t23 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 7 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = call ptr @fn_itoa(i32 %t56) %t58 = call ptr @lp_str_concat(ptr %t51, ptr %t57) call void @fn_perr(ptr %t58) br label %ifend4 ifend4: store i32 0, ptr %t59 br label %wcond5 wcond5: %t60 = load i32, ptr %t59 %t61 = load ptr, ptr %t1 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 7 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp slt i32 %t60, %t65 %t67 = zext i1 %t66 to i32 %t68 = icmp ne i32 %t67, 0 br i1 %t68, label %wbody6, label %wend7 wbody6: %t69 = load ptr, ptr %t1 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 7 %t71 = load ptr, ptr %t70 %t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = load i32, ptr %t59 %t75 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp ult i32 %t74, %t76 br i1 %t77, label %ixok8, label %ixbad9 ixbad9: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str10473, i32 %t74, i32 %t76) call void @exit(i32 1) unreachable ixok8: %t79 = getelementptr inbounds ptr, ptr %t73, i32 %t74 %t80 = load ptr, ptr %t79 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 0 %t82 = load i32, ptr %t81 %t83 = icmp eq i32 %t82, 33 %t84 = zext i1 %t83 to i32 %t85 = icmp eq i32 %t84, 0 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 br i1 %t87, label %then10, label %ifend12 then10: %t88 = load ptr, ptr %t1 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 4 %t90 = load ptr, ptr %t89 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1 %t92 = load ptr, ptr %t91 %t93 = call ptr @lp_str_concat(ptr @.str10474, ptr %t92) %t94 = call ptr @lp_str_concat(ptr %t93, ptr @.str10475) %t95 = load i32, ptr %t59 %t96 = call ptr @fn_itoa(i32 %t95) %t97 = call ptr @lp_str_concat(ptr %t94, ptr %t96) %t98 = call ptr @lp_str_concat(ptr %t97, ptr @.str10476) call void @fn_perr(ptr %t98) br label %ifend12 ifend12: %t99 = load ptr, ptr %t23 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 7 %t101 = load ptr, ptr %t100 %t102 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0 %t103 = load ptr, ptr %t102 %t104 = load i32, ptr %t59 %t105 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 1 %t106 = load i32, ptr %t105 %t107 = icmp ult i32 %t104, %t106 br i1 %t107, label %ixok13, label %ixbad14 ixbad14: %t108 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str10477, i32 %t104, i32 %t106) call void @exit(i32 1) unreachable ixok13: %t109 = getelementptr inbounds ptr, ptr %t103, i32 %t104 %t110 = load ptr, ptr %t109 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 3 %t112 = load ptr, ptr %t111 store ptr %t112, ptr %t113 %t114 = load ptr, ptr %t113 %t115 = call ptr @fn_llty(ptr %t114) store ptr %t115, ptr %t116 %t117 = call ptr @fn_nreg() store ptr %t117, ptr %t118 call void @fn_emit(ptr @.str10478) %t119 = load ptr, ptr %t118 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str10479) %t120 = load ptr, ptr %t2 %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str10480) %t123 = load i32, ptr %t59 %t124 = add i32 %t123, 1 %t125 = mul i32 8, %t124 %t126 = call ptr @fn_itoa(i32 %t125) call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str10481) %t127 = load ptr, ptr %t116 %t128 = call ptr @lp_str_concat(ptr @.str10482, ptr %t127) %t129 = call ptr @lp_str_concat(ptr %t128, ptr @.str10483) %t130 = load ptr, ptr %t118 %t131 = call ptr @lp_str_concat(ptr %t129, ptr %t130) %t132 = call ptr @fn_emit_bind(ptr %t131) store ptr %t132, ptr %t133 %t134 = load ptr, ptr %t116 %t135 = call ptr @fn_emit_alloca(ptr %t134) store ptr %t135, ptr %t136 %t137 = load ptr, ptr %t116 %t138 = load ptr, ptr %t133 %t139 = load ptr, ptr %t136 call void @fn_store_at(ptr %t137, ptr %t138, ptr %t139) %t140 = load ptr, ptr %t1 %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 7 %t142 = load ptr, ptr %t141 %t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0 %t144 = load ptr, ptr %t143 %t145 = load i32, ptr %t59 %t146 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 1 %t147 = load i32, ptr %t146 %t148 = icmp ult i32 %t145, %t147 br i1 %t148, label %ixok15, label %ixbad16 ixbad16: %t149 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t149, ptr @.fmt_bounds, ptr @.str10484, i32 %t145, i32 %t147) call void @exit(i32 1) unreachable ixok15: %t150 = getelementptr inbounds ptr, ptr %t144, i32 %t145 %t151 = load ptr, ptr %t150 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 1 %t153 = load ptr, ptr %t152 %t154 = load ptr, ptr %t136 %t155 = load ptr, ptr %t113 call void @fn_loc_push(ptr %t153, ptr %t154, ptr %t155) %t156 = load i32, ptr %t59 %t157 = add i32 %t156, 1 store i32 %t157, ptr %t59 br label %wcond5 wend7: br label %ret ret: ret void } define void @fn_emit_match_tagged(ptr %arg_st, ptr %arg_sv, ptr %arg_en) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t8 = alloca ptr %t10 = alloca ptr %t11 = alloca ptr %t12 = alloca i32 %t13 = alloca i32 %t35 = alloca ptr %t40 = alloca ptr %t41 = alloca i32 %t42 = alloca ptr %t43 = alloca i32 %t65 = alloca ptr %t69 = alloca ptr %t85 = alloca i32 %t108 = alloca ptr %t121 = alloca ptr %t123 = alloca ptr %t129 = alloca i32 %t163 = alloca i32 %t171 = alloca i32 store ptr %arg_st, ptr %t0 store ptr %arg_sv, ptr %t1 store ptr %arg_en, ptr %t2 %t3 = load ptr, ptr %t1 %t4 = getelementptr inbounds %Cmp_Val, ptr %t3, i32 0, i32 0 %t5 = load ptr, ptr %t4 %t6 = call ptr @lp_str_concat(ptr @.str10485, ptr %t5) %t7 = call ptr @fn_emit_bind(ptr %t6) store ptr %t7, ptr %t8 %t9 = call ptr @fn_lbl(ptr @.str10486) store ptr %t9, ptr %t10 store ptr null, ptr %t11 store i32 0, ptr %t12 store i32 0, ptr %t13 br label %wcond0 wcond0: %t14 = load i32, ptr %t13 %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp slt i32 %t14, %t19 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %wbody1, label %wend2 wbody1: %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = load i32, ptr %t13 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t28, %t30 br i1 %t31, label %ixok3, label %ixbad4 ixbad4: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str10487, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok3: %t33 = getelementptr inbounds ptr, ptr %t27, i32 %t28 %t34 = load ptr, ptr %t33 store ptr %t34, ptr %t35 %t36 = load ptr, ptr %t35 %t37 = call i32 @fn_arm_is_default(ptr %t36) %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then5, label %else6 then5: %t39 = load ptr, ptr %t35 store ptr %t39, ptr %t11 br label %ifend7 else6: store ptr @.str10488, ptr %t40 store i32 1, ptr %t41 store ptr null, ptr %t42 store i32 0, ptr %t43 br label %wcond8 wcond8: %t44 = load i32, ptr %t43 %t45 = load ptr, ptr %t35 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 7 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp slt i32 %t44, %t49 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 br i1 %t52, label %wbody9, label %wend10 wbody9: %t53 = load ptr, ptr %t35 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 7 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0 %t57 = load ptr, ptr %t56 %t58 = load i32, ptr %t43 %t59 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp ult i32 %t58, %t60 br i1 %t61, label %ixok11, label %ixbad12 ixbad12: %t62 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t62, ptr @.fmt_bounds, ptr @.str10489, i32 %t58, i32 %t60) call void @exit(i32 1) unreachable ixok11: %t63 = getelementptr inbounds ptr, ptr %t57, i32 %t58 %t64 = load ptr, ptr %t63 store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1 %t68 = load ptr, ptr %t67 store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t65 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 0 %t72 = load i32, ptr %t71 %t73 = icmp eq i32 %t72, 34 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then13, label %ifend15 then13: %t76 = load ptr, ptr %t65 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 4 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 1 %t80 = load ptr, ptr %t79 store ptr %t80, ptr %t69 %t81 = load ptr, ptr %t65 store ptr %t81, ptr %t42 br label %ifend15 ifend15: %t82 = load ptr, ptr %t2 %t83 = load ptr, ptr %t69 %t84 = call i32 @fn_variant_ordinal(ptr %t82, ptr %t83) store i32 %t84, ptr %t85 %t86 = load i32, ptr %t85 %t87 = icmp slt i32 %t86, 0 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then16, label %ifend18 then16: %t90 = load ptr, ptr %t69 %t91 = call ptr @lp_str_concat(ptr @.str10490, ptr %t90) %t92 = call ptr @lp_str_concat(ptr %t91, ptr @.str10491) %t93 = load ptr, ptr %t2 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 1 %t95 = load ptr, ptr %t94 %t96 = call ptr @lp_str_concat(ptr %t92, ptr %t95) call void @fn_perr(ptr %t96) br label %ifend18 ifend18: %t97 = load i32, ptr %t12 %t98 = load i32, ptr %t85 %t99 = shl i32 1, %t98 %t100 = or i32 %t97, %t99 store i32 %t100, ptr %t12 %t101 = load ptr, ptr %t8 %t102 = call ptr @lp_str_concat(ptr @.str10492, ptr %t101) %t103 = call ptr @lp_str_concat(ptr %t102, ptr @.str10493) %t104 = load i32, ptr %t85 %t105 = call ptr @fn_itoa(i32 %t104) %t106 = call ptr @lp_str_concat(ptr %t103, ptr %t105) %t107 = call ptr @fn_emit_bind(ptr %t106) store ptr %t107, ptr %t108 %t109 = load i32, ptr %t41 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then19, label %else20 then19: %t111 = load ptr, ptr %t108 store ptr %t111, ptr %t40 store i32 0, ptr %t41 br label %ifend21 else20: %t112 = load ptr, ptr %t40 %t113 = call ptr @lp_str_concat(ptr @.str10494, ptr %t112) %t114 = call ptr @lp_str_concat(ptr %t113, ptr @.str10495) %t115 = load ptr, ptr %t108 %t116 = call ptr @lp_str_concat(ptr %t114, ptr %t115) %t117 = call ptr @fn_emit_bind(ptr %t116) store ptr %t117, ptr %t40 br label %ifend21 ifend21: %t118 = load i32, ptr %t43 %t119 = add i32 %t118, 1 store i32 %t119, ptr %t43 br label %wcond8 wend10: %t120 = call ptr @fn_lbl(ptr @.str10496) store ptr %t120, ptr %t121 %t122 = call ptr @fn_lbl(ptr @.str10497) store ptr %t122, ptr %t123 call void @fn_emit(ptr @.str10498) %t124 = load ptr, ptr %t40 call void @fn_emit(ptr %t124) call void @fn_emit(ptr @.str10499) %t125 = load ptr, ptr %t121 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str10500) %t126 = load ptr, ptr %t123 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str10501) %t127 = load ptr, ptr %t121 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str10502) store i32 0, ptr @g_g_term %t128 = load i32, ptr @g_nloc store i32 %t128, ptr %t129 %t130 = load ptr, ptr %t42 %t131 = icmp ne ptr %t130, null %t132 = zext i1 %t131 to i32 %t133 = icmp ne i32 %t132, 0 br i1 %t133, label %then22, label %ifend24 then22: %t134 = load ptr, ptr %t2 %t135 = load ptr, ptr %t42 %t136 = load ptr, ptr %t1 call void @fn_emit_bind_payload(ptr %t134, ptr %t135, ptr %t136) br label %ifend24 ifend24: %t137 = load ptr, ptr %t35 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 4 %t139 = load ptr, ptr %t138 call void @fn_emit_block(ptr %t139) %t140 = load i32, ptr %t129 store i32 %t140, ptr @g_nloc %t141 = load i32, ptr @g_g_term %t142 = icmp eq i32 %t141, 0 %t143 = zext i1 %t142 to i32 %t144 = icmp ne i32 %t143, 0 br i1 %t144, label %then25, label %ifend27 then25: call void @fn_emit(ptr @.str10503) %t145 = load ptr, ptr %t10 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str10504) br label %ifend27 ifend27: %t146 = load ptr, ptr %t123 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str10505) store i32 0, ptr @g_g_term br label %ifend7 ifend7: %t147 = load i32, ptr %t13 %t148 = add i32 %t147, 1 store i32 %t148, ptr %t13 br label %wcond0 wend2: %t149 = load ptr, ptr %t11 %t150 = icmp ne ptr %t149, null %t151 = zext i1 %t150 to i32 %t152 = icmp ne i32 %t151, 0 br i1 %t152, label %then28, label %else29 then28: %t153 = load ptr, ptr %t11 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 4 %t155 = load ptr, ptr %t154 call void @fn_emit_block(ptr %t155) br label %ifend30 else29: %t156 = load ptr, ptr %t2 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 7 %t158 = load ptr, ptr %t157 %t159 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t160 = load i32, ptr %t159 %t161 = shl i32 1, %t160 %t162 = sub i32 %t161, 1 store i32 %t162, ptr %t163 %t164 = load i32, ptr %t12 %t165 = load i32, ptr %t163 %t166 = icmp eq i32 %t164, %t165 %t167 = zext i1 %t166 to i32 %t168 = icmp eq i32 %t167, 0 %t169 = zext i1 %t168 to i32 %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %then31, label %ifend33 then31: store i32 0, ptr %t171 br label %wcond34 wcond34: %t172 = load i32, ptr %t171 %t173 = load ptr, ptr %t2 %t174 = getelementptr inbounds %Cmp_Node, ptr %t173, i32 0, i32 7 %t175 = load ptr, ptr %t174 %t176 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 1 %t177 = load i32, ptr %t176 %t178 = icmp slt i32 %t172, %t177 %t179 = zext i1 %t178 to i32 %t180 = icmp ne i32 %t179, 0 br i1 %t180, label %wbody35, label %wend36 wbody35: %t181 = load i32, ptr %t12 %t182 = load i32, ptr %t171 %t183 = shl i32 1, %t182 %t184 = and i32 %t181, %t183 %t185 = icmp eq i32 %t184, 0 %t186 = zext i1 %t185 to i32 %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %then37, label %ifend39 then37: %t188 = load ptr, ptr %t2 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 1 %t190 = load ptr, ptr %t189 %t191 = call ptr @lp_str_concat(ptr @.str10506, ptr %t190) %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str10507) %t193 = load ptr, ptr %t2 %t194 = getelementptr inbounds %Cmp_Node, ptr %t193, i32 0, i32 7 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %LSlice, ptr %t195, i32 0, i32 0 %t197 = load ptr, ptr %t196 %t198 = load i32, ptr %t171 %t199 = getelementptr inbounds %LSlice, ptr %t195, i32 0, i32 1 %t200 = load i32, ptr %t199 %t201 = icmp ult i32 %t198, %t200 br i1 %t201, label %ixok40, label %ixbad41 ixbad41: %t202 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t202, ptr @.fmt_bounds, ptr @.str10508, i32 %t198, i32 %t200) call void @exit(i32 1) unreachable ixok40: %t203 = getelementptr inbounds ptr, ptr %t197, i32 %t198 %t204 = load ptr, ptr %t203 %t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 1 %t206 = load ptr, ptr %t205 %t207 = call ptr @lp_str_concat(ptr %t192, ptr %t206) %t208 = call ptr @lp_str_concat(ptr %t207, ptr @.str10509) call void @fn_perr(ptr %t208) br label %ifend39 ifend39: %t209 = load i32, ptr %t171 %t210 = add i32 %t209, 1 store i32 %t210, ptr %t171 br label %wcond34 wend36: br label %ifend33 ifend33: br label %ifend30 ifend30: %t211 = load i32, ptr @g_g_term %t212 = icmp eq i32 %t211, 0 %t213 = zext i1 %t212 to i32 %t214 = icmp ne i32 %t213, 0 br i1 %t214, label %then42, label %ifend44 then42: call void @fn_emit(ptr @.str10510) %t215 = load ptr, ptr %t10 call void @fn_emit(ptr %t215) call void @fn_emit(ptr @.str10511) br label %ifend44 ifend44: %t216 = load ptr, ptr %t10 call void @fn_emit(ptr %t216) call void @fn_emit(ptr @.str10512) store i32 0, ptr @g_g_term br label %ret ret: ret void } define void @fn_emit_match(ptr %arg_st) { entry: %t0 = alloca ptr %t5 = alloca ptr %t10 = alloca ptr %t19 = alloca ptr %t20 = alloca ptr %t21 = alloca i32 %t43 = alloca ptr %t48 = alloca ptr %t49 = alloca i32 %t50 = alloca i32 %t73 = alloca ptr %t84 = alloca ptr %t97 = alloca ptr %t99 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_emit_expr(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 1 %t8 = load ptr, ptr %t7 %t9 = call ptr @fn_tagged_enum_of(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = icmp ne ptr %t11, null %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then0, label %ifend2 then0: %t15 = load ptr, ptr %t0 %t16 = load ptr, ptr %t5 %t17 = load ptr, ptr %t10 call void @fn_emit_match_tagged(ptr %t15, ptr %t16, ptr %t17) br label %ret ifend2: %t18 = call ptr @fn_lbl(ptr @.str10513) store ptr %t18, ptr %t19 store ptr null, ptr %t20 store i32 0, ptr %t21 br label %wcond3 wcond3: %t22 = load i32, ptr %t21 %t23 = load ptr, ptr %t0 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp slt i32 %t22, %t27 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %wbody4, label %wend5 wbody4: %t31 = load ptr, ptr %t0 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7 %t33 = load ptr, ptr %t32 %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0 %t35 = load ptr, ptr %t34 %t36 = load i32, ptr %t21 %t37 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp ult i32 %t36, %t38 br i1 %t39, label %ixok6, label %ixbad7 ixbad7: %t40 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t40, ptr @.fmt_bounds, ptr @.str10514, i32 %t36, i32 %t38) call void @exit(i32 1) unreachable ixok6: %t41 = getelementptr inbounds ptr, ptr %t35, i32 %t36 %t42 = load ptr, ptr %t41 store ptr %t42, ptr %t43 %t44 = load ptr, ptr %t43 %t45 = call i32 @fn_arm_is_default(ptr %t44) %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then8, label %else9 then8: %t47 = load ptr, ptr %t43 store ptr %t47, ptr %t20 br label %ifend10 else9: store ptr @.str10515, ptr %t48 store i32 1, ptr %t49 store i32 0, ptr %t50 br label %wcond11 wcond11: %t51 = load i32, ptr %t50 %t52 = load ptr, ptr %t43 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 7 %t54 = load ptr, ptr %t53 %t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1 %t56 = load i32, ptr %t55 %t57 = icmp slt i32 %t51, %t56 %t58 = zext i1 %t57 to i32 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %wbody12, label %wend13 wbody12: %t60 = load ptr, ptr %t43 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 7 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0 %t64 = load ptr, ptr %t63 %t65 = load i32, ptr %t50 %t66 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp ult i32 %t65, %t67 br i1 %t68, label %ixok14, label %ixbad15 ixbad15: %t69 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t69, ptr @.fmt_bounds, ptr @.str10516, i32 %t65, i32 %t67) call void @exit(i32 1) unreachable ixok14: %t70 = getelementptr inbounds ptr, ptr %t64, i32 %t65 %t71 = load ptr, ptr %t70 %t72 = call ptr @fn_emit_expr(ptr %t71) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t5 %t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0 %t76 = load ptr, ptr %t75 %t77 = call ptr @lp_str_concat(ptr @.str10517, ptr %t76) %t78 = call ptr @lp_str_concat(ptr %t77, ptr @.str10518) %t79 = load ptr, ptr %t73 %t80 = getelementptr inbounds %Cmp_Val, ptr %t79, i32 0, i32 0 %t81 = load ptr, ptr %t80 %t82 = call ptr @lp_str_concat(ptr %t78, ptr %t81) %t83 = call ptr @fn_emit_bind(ptr %t82) store ptr %t83, ptr %t84 %t85 = load i32, ptr %t49 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then16, label %else17 then16: %t87 = load ptr, ptr %t84 store ptr %t87, ptr %t48 store i32 0, ptr %t49 br label %ifend18 else17: %t88 = load ptr, ptr %t48 %t89 = call ptr @lp_str_concat(ptr @.str10519, ptr %t88) %t90 = call ptr @lp_str_concat(ptr %t89, ptr @.str10520) %t91 = load ptr, ptr %t84 %t92 = call ptr @lp_str_concat(ptr %t90, ptr %t91) %t93 = call ptr @fn_emit_bind(ptr %t92) store ptr %t93, ptr %t48 br label %ifend18 ifend18: %t94 = load i32, ptr %t50 %t95 = add i32 %t94, 1 store i32 %t95, ptr %t50 br label %wcond11 wend13: %t96 = call ptr @fn_lbl(ptr @.str10521) store ptr %t96, ptr %t97 %t98 = call ptr @fn_lbl(ptr @.str10522) store ptr %t98, ptr %t99 call void @fn_emit(ptr @.str10523) %t100 = load ptr, ptr %t48 call void @fn_emit(ptr %t100) call void @fn_emit(ptr @.str10524) %t101 = load ptr, ptr %t97 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str10525) %t102 = load ptr, ptr %t99 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str10526) %t103 = load ptr, ptr %t97 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str10527) store i32 0, ptr @g_g_term %t104 = load ptr, ptr %t43 %t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 4 %t106 = load ptr, ptr %t105 call void @fn_emit_block(ptr %t106) %t107 = load i32, ptr @g_g_term %t108 = icmp eq i32 %t107, 0 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then19, label %ifend21 then19: call void @fn_emit(ptr @.str10528) %t111 = load ptr, ptr %t19 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str10529) br label %ifend21 ifend21: %t112 = load ptr, ptr %t99 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str10530) store i32 0, ptr @g_g_term br label %ifend10 ifend10: %t113 = load i32, ptr %t21 %t114 = add i32 %t113, 1 store i32 %t114, ptr %t21 br label %wcond3 wend5: %t115 = load ptr, ptr %t20 %t116 = icmp ne ptr %t115, null %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then22, label %ifend24 then22: %t119 = load ptr, ptr %t20 %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 4 %t121 = load ptr, ptr %t120 call void @fn_emit_block(ptr %t121) br label %ifend24 ifend24: %t122 = load i32, ptr @g_g_term %t123 = icmp eq i32 %t122, 0 %t124 = zext i1 %t123 to i32 %t125 = icmp ne i32 %t124, 0 br i1 %t125, label %then25, label %ifend27 then25: call void @fn_emit(ptr @.str10531) %t126 = load ptr, ptr %t19 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str10532) br label %ifend27 ifend27: %t127 = load ptr, ptr %t19 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str10533) store i32 0, ptr @g_g_term br label %ret ret: ret void } define ptr @fn_emit_emit(ptr %arg_st) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr %t20 = alloca ptr %t27 = alloca ptr %t28 = alloca i32 %t50 = alloca ptr %t51 = alloca ptr %t52 = alloca i32 %t107 = alloca ptr %t108 = alloca ptr %t118 = alloca ptr %t132 = alloca ptr %t185 = alloca ptr %t193 = alloca i32 %t194 = alloca i32 %t205 = alloca ptr %t249 = alloca ptr %t265 = alloca ptr %t266 = alloca i32 %t311 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_find_event(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = icmp eq ptr %t6, null %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 1 %t12 = load ptr, ptr %t11 %t13 = call ptr @lp_str_concat(ptr @.str10534, ptr %t12) call void @fn_perr(ptr %t13) br label %ifend2 ifend2: %t14 = getelementptr %LSlice, ptr null, i32 1 %t15 = ptrtoint ptr %t14 to i64 %t16 = call ptr @malloc(i64 %t15) %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 store ptr null, ptr %t17 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 store i32 0, ptr %t18 %t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 2 store i32 0, ptr %t19 store ptr %t16, ptr %t20 %t21 = getelementptr %LSlice, ptr null, i32 1 %t22 = ptrtoint ptr %t21 to i64 %t23 = call ptr @malloc(i64 %t22) %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 store ptr null, ptr %t24 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 store i32 0, ptr %t25 %t26 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 2 store i32 0, ptr %t26 store ptr %t23, ptr %t27 store i32 0, ptr %t28 br label %wcond3 wcond3: %t29 = load i32, ptr %t28 %t30 = load ptr, ptr %t5 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp slt i32 %t29, %t34 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %wbody4, label %wend5 wbody4: %t38 = load ptr, ptr %t5 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = load i32, ptr %t28 %t44 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t45 = load i32, ptr %t44 %t46 = icmp ult i32 %t43, %t45 br i1 %t46, label %ixok6, label %ixbad7 ixbad7: %t47 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str10535, i32 %t43, i32 %t45) call void @exit(i32 1) unreachable ixok6: %t48 = getelementptr inbounds ptr, ptr %t42, i32 %t43 %t49 = load ptr, ptr %t48 store ptr %t49, ptr %t50 store ptr null, ptr %t51 store i32 0, ptr %t52 br label %wcond8 wcond8: %t53 = load i32, ptr %t52 %t54 = load ptr, ptr %t0 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4 %t56 = load ptr, ptr %t55 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp slt i32 %t53, %t60 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %wbody9, label %wend10 wbody9: %t64 = load ptr, ptr %t0 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 4 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 7 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 %t70 = load ptr, ptr %t69 %t71 = load i32, ptr %t52 %t72 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 %t73 = load i32, ptr %t72 %t74 = icmp ult i32 %t71, %t73 br i1 %t74, label %ixok11, label %ixbad12 ixbad12: %t75 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t75, ptr @.fmt_bounds, ptr @.str10536, i32 %t71, i32 %t73) call void @exit(i32 1) unreachable ixok11: %t76 = getelementptr inbounds ptr, ptr %t70, i32 %t71 %t77 = load ptr, ptr %t76 %t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 1 %t79 = load ptr, ptr %t78 %t80 = load ptr, ptr %t50 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 1 %t82 = load ptr, ptr %t81 %t83 = call i32 @lp_str_eq(ptr %t79, ptr %t82) %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then13, label %ifend15 then13: %t85 = load ptr, ptr %t0 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 4 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 7 %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0 %t91 = load ptr, ptr %t90 %t92 = load i32, ptr %t52 %t93 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp ult i32 %t92, %t94 br i1 %t95, label %ixok16, label %ixbad17 ixbad17: %t96 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t96, ptr @.fmt_bounds, ptr @.str10537, i32 %t92, i32 %t94) call void @exit(i32 1) unreachable ixok16: %t97 = getelementptr inbounds ptr, ptr %t91, i32 %t92 %t98 = load ptr, ptr %t97 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 4 %t100 = load ptr, ptr %t99 store ptr %t100, ptr %t51 br label %ifend15 ifend15: %t101 = load i32, ptr %t52 %t102 = add i32 %t101, 1 store i32 %t102, ptr %t52 br label %wcond8 wend10: %t103 = load ptr, ptr %t50 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 3 %t105 = load ptr, ptr %t104 %t106 = call ptr @fn_llty(ptr %t105) store ptr %t106, ptr %t107 store ptr @.str10538, ptr %t108 %t109 = load ptr, ptr %t107 %t110 = call i32 @lp_str_eq(ptr %t109, ptr @.str10539) %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then18, label %ifend20 then18: store ptr @.str10540, ptr %t108 br label %ifend20 ifend20: %t112 = load ptr, ptr %t51 %t113 = icmp ne ptr %t112, null %t114 = zext i1 %t113 to i32 %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then21, label %else22 then21: %t116 = load ptr, ptr %t51 %t117 = call ptr @fn_emit_expr(ptr %t116) store ptr %t117, ptr %t118 %t119 = load ptr, ptr %t118 %t120 = getelementptr inbounds %Cmp_Val, ptr %t119, i32 0, i32 0 %t121 = load ptr, ptr %t120 store ptr %t121, ptr %t108 br label %ifend23 else22: %t122 = load ptr, ptr %t50 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 4 %t124 = load ptr, ptr %t123 %t125 = icmp ne ptr %t124, null %t126 = zext i1 %t125 to i32 %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then24, label %ifend26 then24: %t128 = load ptr, ptr %t50 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 4 %t130 = load ptr, ptr %t129 %t131 = call ptr @fn_emit_expr(ptr %t130) store ptr %t131, ptr %t132 %t133 = load ptr, ptr %t132 %t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0 %t135 = load ptr, ptr %t134 store ptr %t135, ptr %t108 br label %ifend26 ifend26: br label %ifend23 ifend23: %t136 = load ptr, ptr %t20 %t137 = load ptr, ptr %t108 %t138 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 1 %t139 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 2 %t140 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0 %t141 = load i32, ptr %t138 %t142 = load i32, ptr %t139 %t143 = icmp sge i32 %t141, %t142 br i1 %t143, label %grow27, label %put28 grow27: %t144 = mul i32 %t142, 2 %t145 = icmp eq i32 %t142, 0 %t146 = select i1 %t145, i32 8, i32 %t144 %t147 = getelementptr ptr, ptr null, i32 1 %t148 = ptrtoint ptr %t147 to i64 %t149 = zext i32 %t146 to i64 %t150 = mul i64 %t149, %t148 %t151 = load ptr, ptr %t140 %t152 = call ptr @realloc(ptr %t151, i64 %t150) store ptr %t152, ptr %t140 store i32 %t146, ptr %t139 br label %put28 put28: %t153 = load ptr, ptr %t140 %t154 = getelementptr inbounds ptr, ptr %t153, i32 %t141 store ptr %t137, ptr %t154 %t155 = add i32 %t141, 1 store i32 %t155, ptr %t138 %t156 = load ptr, ptr %t27 %t157 = load ptr, ptr %t107 %t158 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 1 %t159 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 2 %t160 = getelementptr inbounds %LSlice, ptr %t156, i32 0, i32 0 %t161 = load i32, ptr %t158 %t162 = load i32, ptr %t159 %t163 = icmp sge i32 %t161, %t162 br i1 %t163, label %grow29, label %put30 grow29: %t164 = mul i32 %t162, 2 %t165 = icmp eq i32 %t162, 0 %t166 = select i1 %t165, i32 8, i32 %t164 %t167 = getelementptr ptr, ptr null, i32 1 %t168 = ptrtoint ptr %t167 to i64 %t169 = zext i32 %t166 to i64 %t170 = mul i64 %t169, %t168 %t171 = load ptr, ptr %t160 %t172 = call ptr @realloc(ptr %t171, i64 %t170) store ptr %t172, ptr %t160 store i32 %t166, ptr %t159 br label %put30 put30: %t173 = load ptr, ptr %t160 %t174 = getelementptr inbounds ptr, ptr %t173, i32 %t161 store ptr %t157, ptr %t174 %t175 = add i32 %t161, 1 store i32 %t175, ptr %t158 %t176 = load i32, ptr %t28 %t177 = add i32 %t176, 1 store i32 %t177, ptr %t28 br label %wcond3 wend5: %t178 = load ptr, ptr %t5 %t179 = getelementptr inbounds %Cmp_Node, ptr %t178, i32 0, i32 3 %t180 = load ptr, ptr %t179 %t181 = icmp ne ptr %t180, null %t182 = zext i1 %t181 to i32 %t183 = icmp ne i32 %t182, 0 br i1 %t183, label %then31, label %ifend33 then31: %t184 = call ptr @fn_nreg() store ptr %t184, ptr %t185 call void @fn_emit(ptr @.str10541) %t186 = load ptr, ptr %t185 call void @fn_emit(ptr %t186) call void @fn_emit(ptr @.str10542) call void @fn_emit(ptr @.str10543) %t187 = load ptr, ptr %t0 %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 1 %t189 = load ptr, ptr %t188 %t190 = call i32 @fn_net_event_id(ptr %t189) %t191 = call ptr @fn_itoa(i32 %t190) call void @fn_emit(ptr %t191) call void @fn_emit(ptr @.str10544) %t192 = load ptr, ptr %t185 call void @fn_emit(ptr %t192) call void @fn_emit(ptr @.str10545) store i32 4, ptr %t193 store i32 0, ptr %t194 br label %wcond34 wcond34: %t195 = load i32, ptr %t194 %t196 = load ptr, ptr %t5 %t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 7 %t198 = load ptr, ptr %t197 %t199 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 1 %t200 = load i32, ptr %t199 %t201 = icmp slt i32 %t195, %t200 %t202 = zext i1 %t201 to i32 %t203 = icmp ne i32 %t202, 0 br i1 %t203, label %wbody35, label %wend36 wbody35: %t204 = call ptr @fn_nreg() store ptr %t204, ptr %t205 call void @fn_emit(ptr @.str10546) %t206 = load ptr, ptr %t205 call void @fn_emit(ptr %t206) call void @fn_emit(ptr @.str10547) %t207 = load i32, ptr %t193 %t208 = call ptr @fn_itoa(i32 %t207) call void @fn_emit(ptr %t208) call void @fn_emit(ptr @.str10548) call void @fn_emit(ptr @.str10549) %t209 = load ptr, ptr %t27 %t210 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0 %t211 = load ptr, ptr %t210 %t212 = load i32, ptr %t194 %t213 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 1 %t214 = load i32, ptr %t213 %t215 = icmp ult i32 %t212, %t214 br i1 %t215, label %ixok37, label %ixbad38 ixbad38: %t216 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t216, ptr @.fmt_bounds, ptr @.str10550, i32 %t212, i32 %t214) call void @exit(i32 1) unreachable ixok37: %t217 = getelementptr inbounds ptr, ptr %t211, i32 %t212 %t218 = load ptr, ptr %t217 call void @fn_emit(ptr %t218) call void @fn_emit(ptr @.str10551) %t219 = load ptr, ptr %t20 %t220 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 0 %t221 = load ptr, ptr %t220 %t222 = load i32, ptr %t194 %t223 = getelementptr inbounds %LSlice, ptr %t219, i32 0, i32 1 %t224 = load i32, ptr %t223 %t225 = icmp ult i32 %t222, %t224 br i1 %t225, label %ixok39, label %ixbad40 ixbad40: %t226 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t226, ptr @.fmt_bounds, ptr @.str10552, i32 %t222, i32 %t224) call void @exit(i32 1) unreachable ixok39: %t227 = getelementptr inbounds ptr, ptr %t221, i32 %t222 %t228 = load ptr, ptr %t227 call void @fn_emit(ptr %t228) call void @fn_emit(ptr @.str10553) %t229 = load ptr, ptr %t205 call void @fn_emit(ptr %t229) call void @fn_emit(ptr @.str10554) %t230 = load ptr, ptr %t5 %t231 = getelementptr inbounds %Cmp_Node, ptr %t230, i32 0, i32 7 %t232 = load ptr, ptr %t231 %t233 = getelementptr inbounds %LSlice, ptr %t232, i32 0, i32 0 %t234 = load ptr, ptr %t233 %t235 = load i32, ptr %t194 %t236 = getelementptr inbounds %LSlice, ptr %t232, i32 0, i32 1 %t237 = load i32, ptr %t236 %t238 = icmp ult i32 %t235, %t237 br i1 %t238, label %ixok41, label %ixbad42 ixbad42: %t239 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t239, ptr @.fmt_bounds, ptr @.str10555, i32 %t235, i32 %t237) call void @exit(i32 1) unreachable ixok41: %t240 = getelementptr inbounds ptr, ptr %t234, i32 %t235 %t241 = load ptr, ptr %t240 %t242 = getelementptr inbounds %Cmp_Node, ptr %t241, i32 0, i32 3 %t243 = load ptr, ptr %t242 %t244 = call i32 @fn_net_field_ibytes(ptr %t243) %t245 = load i32, ptr %t193 %t246 = add i32 %t245, %t244 store i32 %t246, ptr %t193 %t247 = load i32, ptr %t194 %t248 = add i32 %t247, 1 store i32 %t248, ptr %t194 br label %wcond34 wend36: store ptr @.str10556, ptr %t249 %t250 = load ptr, ptr %t5 %t251 = getelementptr inbounds %Cmp_Node, ptr %t250, i32 0, i32 3 %t252 = load ptr, ptr %t251 %t253 = call i32 @lp_str_eq(ptr %t252, ptr @.str10557) %t254 = icmp ne i32 %t253, 0 br i1 %t254, label %then43, label %ifend45 then43: store ptr @.str10558, ptr %t249 br label %ifend45 ifend45: %t255 = call ptr @fn_find_extern(ptr @.str10559) %t256 = icmp eq ptr %t255, null %t257 = zext i1 %t256 to i32 %t258 = icmp ne i32 %t257, 0 br i1 %t258, label %then46, label %ifend48 then46: store i32 1, ptr @g_g_uses_loopback br label %ifend48 ifend48: call void @fn_emit(ptr @.str10560) %t259 = call ptr @fn_net_send_sym() call void @fn_emit(ptr %t259) call void @fn_emit(ptr @.str10561) %t260 = load ptr, ptr %t249 call void @fn_emit(ptr %t260) call void @fn_emit(ptr @.str10562) %t261 = load i32, ptr %t193 %t262 = call ptr @fn_itoa(i32 %t261) call void @fn_emit(ptr %t262) call void @fn_emit(ptr @.str10563) %t263 = call ptr @fn_val(ptr @.str10564, ptr @.str10565) store ptr %t263, ptr %retval br label %ret ifend33: %t264 = call ptr @fn_buf_new() store ptr %t264, ptr %t265 store i32 0, ptr %t266 br label %wcond49 wcond49: %t267 = load i32, ptr %t266 %t268 = load ptr, ptr %t20 %t269 = getelementptr inbounds %LSlice, ptr %t268, i32 0, i32 1 %t270 = load i32, ptr %t269 %t271 = icmp slt i32 %t267, %t270 %t272 = zext i1 %t271 to i32 %t273 = icmp ne i32 %t272, 0 br i1 %t273, label %wbody50, label %wend51 wbody50: %t274 = load i32, ptr %t266 %t275 = icmp sgt i32 %t274, 0 %t276 = zext i1 %t275 to i32 %t277 = icmp ne i32 %t276, 0 br i1 %t277, label %then52, label %ifend54 then52: %t278 = load ptr, ptr %t265 call void @fn_buf_puts(ptr %t278, ptr @.str10566) br label %ifend54 ifend54: %t279 = load ptr, ptr %t265 %t280 = load ptr, ptr %t27 %t281 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 0 %t282 = load ptr, ptr %t281 %t283 = load i32, ptr %t266 %t284 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 1 %t285 = load i32, ptr %t284 %t286 = icmp ult i32 %t283, %t285 br i1 %t286, label %ixok55, label %ixbad56 ixbad56: %t287 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t287, ptr @.fmt_bounds, ptr @.str10567, i32 %t283, i32 %t285) call void @exit(i32 1) unreachable ixok55: %t288 = getelementptr inbounds ptr, ptr %t282, i32 %t283 %t289 = load ptr, ptr %t288 call void @fn_buf_puts(ptr %t279, ptr %t289) %t290 = load ptr, ptr %t265 call void @fn_buf_puts(ptr %t290, ptr @.str10568) %t291 = load ptr, ptr %t265 %t292 = load ptr, ptr %t20 %t293 = getelementptr inbounds %LSlice, ptr %t292, i32 0, i32 0 %t294 = load ptr, ptr %t293 %t295 = load i32, ptr %t266 %t296 = getelementptr inbounds %LSlice, ptr %t292, i32 0, i32 1 %t297 = load i32, ptr %t296 %t298 = icmp ult i32 %t295, %t297 br i1 %t298, label %ixok57, label %ixbad58 ixbad58: %t299 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t299, ptr @.fmt_bounds, ptr @.str10569, i32 %t295, i32 %t297) call void @exit(i32 1) unreachable ixok57: %t300 = getelementptr inbounds ptr, ptr %t294, i32 %t295 %t301 = load ptr, ptr %t300 call void @fn_buf_puts(ptr %t291, ptr %t301) %t302 = load i32, ptr %t266 %t303 = add i32 %t302, 1 store i32 %t303, ptr %t266 br label %wcond49 wend51: %t304 = load ptr, ptr %t5 %t305 = getelementptr inbounds %Cmp_Node, ptr %t304, i32 0, i32 2 %t306 = load i32, ptr %t305 %t307 = icmp eq i32 %t306, 1 %t308 = zext i1 %t307 to i32 %t309 = icmp ne i32 %t308, 0 br i1 %t309, label %then59, label %ifend61 then59: %t310 = call ptr @fn_nreg() store ptr %t310, ptr %t311 call void @fn_emit(ptr @.str10570) %t312 = load ptr, ptr %t311 call void @fn_emit(ptr %t312) call void @fn_emit(ptr @.str10571) %t313 = load ptr, ptr %t0 %t314 = getelementptr inbounds %Cmp_Node, ptr %t313, i32 0, i32 1 %t315 = load ptr, ptr %t314 call void @fn_emit(ptr %t315) call void @fn_emit(ptr @.str10572) %t316 = load ptr, ptr %t265 %t317 = call ptr @fn_buf_str(ptr %t316) call void @fn_emit(ptr %t317) call void @fn_emit(ptr @.str10573) %t318 = load ptr, ptr %t311 %t319 = call ptr @fn_val(ptr %t318, ptr @.str10574) store ptr %t319, ptr %retval br label %ret ifend61: call void @fn_emit(ptr @.str10575) %t320 = load ptr, ptr %t0 %t321 = getelementptr inbounds %Cmp_Node, ptr %t320, i32 0, i32 1 %t322 = load ptr, ptr %t321 call void @fn_emit(ptr %t322) call void @fn_emit(ptr @.str10576) %t323 = load ptr, ptr %t265 %t324 = call ptr @fn_buf_str(ptr %t323) call void @fn_emit(ptr %t324) call void @fn_emit(ptr @.str10577) %t325 = call ptr @fn_val(ptr @.str10578, ptr @.str10579) store ptr %t325, ptr %retval br label %ret ret: %t326 = load ptr, ptr %retval ret ptr %t326 } define void @fn_emit_stmt(ptr %arg_st) { entry: %t0 = alloca ptr %t22 = alloca ptr %t31 = alloca ptr %t38 = alloca ptr %t56 = alloca ptr %t73 = alloca ptr %t179 = alloca ptr %t216 = alloca ptr %t252 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 9 %t3 = load ptr, ptr %t2 store ptr %t3, ptr @g_g_err_file %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 8 %t6 = load i32, ptr %t5 store i32 %t6, ptr @g_g_err_line %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 8 %t9 = load i32, ptr %t8 call void @fn_emit_cov_hit(i32 %t9) %t10 = load ptr, ptr %t0 %t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 0 %t12 = load i32, ptr %t11 %t13 = icmp eq i32 %t12, 10 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then0, label %ifend2 then0: %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 1 %t18 = load ptr, ptr %t17 call void @fn_loc_check_redeclared(ptr %t18) %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 3 %t21 = load ptr, ptr %t20 store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t22 %t24 = icmp eq ptr %t23, null %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then3, label %ifend5 then3: %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 4 %t29 = load ptr, ptr %t28 %t30 = call ptr @fn_emit_expr(ptr %t29) store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %Cmp_Val, ptr %t32, i32 0, i32 1 %t34 = load ptr, ptr %t33 store ptr %t34, ptr %t22 %t35 = load ptr, ptr %t22 %t36 = call ptr @fn_llty(ptr %t35) %t37 = call ptr @fn_emit_alloca(ptr %t36) store ptr %t37, ptr %t38 %t39 = load ptr, ptr %t22 %t40 = call ptr @fn_llty(ptr %t39) %t41 = load ptr, ptr %t31 %t42 = getelementptr inbounds %Cmp_Val, ptr %t41, i32 0, i32 0 %t43 = load ptr, ptr %t42 %t44 = load ptr, ptr %t38 call void @fn_store_at(ptr %t40, ptr %t43, ptr %t44) %t45 = load ptr, ptr %t0 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 %t48 = load ptr, ptr %t38 %t49 = load ptr, ptr %t22 call void @fn_loc_push(ptr %t47, ptr %t48, ptr %t49) call void @fn_loc_mark_declared() %t50 = load ptr, ptr %t0 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 2 %t52 = load i32, ptr %t51 call void @fn_loc_set_mut(i32 %t52) br label %ret ifend5: %t53 = load ptr, ptr %t22 %t54 = call ptr @fn_llty(ptr %t53) %t55 = call ptr @fn_emit_alloca(ptr %t54) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t0 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 4 %t59 = load ptr, ptr %t58 %t60 = icmp eq ptr %t59, null %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then6, label %else7 then6: %t63 = load ptr, ptr %t22 %t64 = call ptr @fn_llty(ptr %t63) %t65 = load ptr, ptr %t22 %t66 = call ptr @fn_llty(ptr %t65) %t67 = call ptr @fn_zero_of(ptr %t66) %t68 = load ptr, ptr %t56 call void @fn_store_at(ptr %t64, ptr %t67, ptr %t68) br label %ifend8 else7: %t69 = load ptr, ptr %t0 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 4 %t71 = load ptr, ptr %t70 %t72 = call ptr @fn_emit_expr(ptr %t71) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t22 %t75 = call ptr @fn_llty(ptr %t74) %t76 = load ptr, ptr %t73 %t77 = load ptr, ptr %t22 %t78 = call ptr @fn_coerce_code(ptr %t76, ptr %t77) %t79 = load ptr, ptr %t56 call void @fn_store_at(ptr %t75, ptr %t78, ptr %t79) br label %ifend8 ifend8: %t80 = load ptr, ptr %t0 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 1 %t82 = load ptr, ptr %t81 %t83 = load ptr, ptr %t56 %t84 = load ptr, ptr %t22 call void @fn_loc_push(ptr %t82, ptr %t83, ptr %t84) call void @fn_loc_mark_declared() %t85 = load ptr, ptr %t0 %t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 2 %t87 = load i32, ptr %t86 call void @fn_loc_set_mut(i32 %t87) br label %ret ifend2: %t88 = load ptr, ptr %t0 %t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 0 %t90 = load i32, ptr %t89 %t91 = icmp eq i32 %t90, 11 %t92 = zext i1 %t91 to i32 %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %then9, label %ifend11 then9: %t94 = load ptr, ptr %t0 call void @fn_emit_assign(ptr %t94) br label %ret ifend11: %t95 = load ptr, ptr %t0 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 0 %t97 = load i32, ptr %t96 %t98 = icmp eq i32 %t97, 12 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %then12, label %ifend14 then12: %t101 = load ptr, ptr %t0 call void @fn_emit_if(ptr %t101) br label %ret ifend14: %t102 = load ptr, ptr %t0 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 0 %t104 = load i32, ptr %t103 %t105 = icmp eq i32 %t104, 13 %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then15, label %ifend17 then15: %t108 = load ptr, ptr %t0 call void @fn_emit_while(ptr %t108) br label %ret ifend17: %t109 = load ptr, ptr %t0 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 0 %t111 = load i32, ptr %t110 %t112 = icmp eq i32 %t111, 14 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then18, label %ifend20 then18: %t115 = load ptr, ptr %t0 call void @fn_emit_for(ptr %t115) br label %ret ifend20: %t116 = load ptr, ptr %t0 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 0 %t118 = load i32, ptr %t117 %t119 = icmp eq i32 %t118, 15 %t120 = zext i1 %t119 to i32 %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then21, label %ifend23 then21: %t122 = load ptr, ptr %t0 call void @fn_emit_return(ptr %t122) br label %ret ifend23: %t123 = load ptr, ptr %t0 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 0 %t125 = load i32, ptr %t124 %t126 = icmp eq i32 %t125, 17 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then24, label %ifend26 then24: call void @fn_emit(ptr @.str10580) %t129 = load ptr, ptr @g_brk_lbl %t130 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0 %t131 = load ptr, ptr %t130 %t132 = load i32, ptr @g_nloop %t133 = sub i32 %t132, 1 %t134 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 1 %t135 = load i32, ptr %t134 %t136 = icmp ult i32 %t133, %t135 br i1 %t136, label %ixok27, label %ixbad28 ixbad28: %t137 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str10581, i32 %t133, i32 %t135) call void @exit(i32 1) unreachable ixok27: %t138 = getelementptr inbounds ptr, ptr %t131, i32 %t133 %t139 = load ptr, ptr %t138 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str10582) store i32 1, ptr @g_g_term br label %ret ifend26: %t140 = load ptr, ptr %t0 %t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 0 %t142 = load i32, ptr %t141 %t143 = icmp eq i32 %t142, 18 %t144 = zext i1 %t143 to i32 %t145 = icmp ne i32 %t144, 0 br i1 %t145, label %then29, label %ifend31 then29: call void @fn_emit(ptr @.str10583) %t146 = load ptr, ptr @g_cnt_lbl %t147 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 0 %t148 = load ptr, ptr %t147 %t149 = load i32, ptr @g_nloop %t150 = sub i32 %t149, 1 %t151 = getelementptr inbounds %LSlice, ptr %t146, i32 0, i32 1 %t152 = load i32, ptr %t151 %t153 = icmp ult i32 %t150, %t152 br i1 %t153, label %ixok32, label %ixbad33 ixbad33: %t154 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str10584, i32 %t150, i32 %t152) call void @exit(i32 1) unreachable ixok32: %t155 = getelementptr inbounds ptr, ptr %t148, i32 %t150 %t156 = load ptr, ptr %t155 call void @fn_emit(ptr %t156) call void @fn_emit(ptr @.str10585) store i32 1, ptr @g_g_term br label %ret ifend31: %t157 = load ptr, ptr %t0 %t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 0 %t159 = load i32, ptr %t158 %t160 = icmp eq i32 %t159, 19 %t161 = zext i1 %t160 to i32 %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then34, label %ifend36 then34: %t163 = load ptr, ptr %t0 call void @fn_emit_match(ptr %t163) br label %ret ifend36: %t164 = load ptr, ptr %t0 %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 0 %t166 = load i32, ptr %t165 %t167 = icmp eq i32 %t166, 21 %t168 = zext i1 %t167 to i32 %t169 = icmp ne i32 %t168, 0 br i1 %t169, label %then37, label %ifend39 then37: %t170 = load ptr, ptr %t0 call void @fn_emit_query(ptr %t170) br label %ret ifend39: %t171 = load ptr, ptr %t0 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 0 %t173 = load i32, ptr %t172 %t174 = icmp eq i32 %t173, 22 %t175 = zext i1 %t174 to i32 %t176 = icmp ne i32 %t175, 0 br i1 %t176, label %then40, label %ifend42 then40: %t177 = load ptr, ptr %t0 %t178 = call ptr @fn_emit_spawn(ptr %t177) store ptr %t178, ptr %t179 br label %ret ifend42: %t180 = load ptr, ptr %t0 %t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 0 %t182 = load i32, ptr %t181 %t183 = icmp eq i32 %t182, 23 %t184 = zext i1 %t183 to i32 %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %then43, label %ifend45 then43: %t186 = load ptr, ptr %t0 call void @fn_emit_despawn(ptr %t186) br label %ret ifend45: %t187 = load ptr, ptr %t0 %t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 0 %t189 = load i32, ptr %t188 %t190 = icmp eq i32 %t189, 28 %t191 = zext i1 %t190 to i32 %t192 = icmp ne i32 %t191, 0 br i1 %t192, label %then46, label %ifend48 then46: %t193 = load ptr, ptr %t0 call void @fn_emit_toggle(ptr %t193) br label %ret ifend48: %t194 = load ptr, ptr %t0 %t195 = getelementptr inbounds %Cmp_Node, ptr %t194, i32 0, i32 0 %t196 = load i32, ptr %t195 %t197 = icmp eq i32 %t196, 46 %t198 = zext i1 %t197 to i32 %t199 = icmp ne i32 %t198, 0 br i1 %t199, label %then49, label %ifend51 then49: %t200 = load ptr, ptr %t0 call void @fn_emit_attach(ptr %t200) br label %ret ifend51: %t201 = load ptr, ptr %t0 %t202 = getelementptr inbounds %Cmp_Node, ptr %t201, i32 0, i32 0 %t203 = load i32, ptr %t202 %t204 = icmp eq i32 %t203, 47 %t205 = zext i1 %t204 to i32 %t206 = icmp ne i32 %t205, 0 br i1 %t206, label %then52, label %ifend54 then52: %t207 = load ptr, ptr %t0 call void @fn_emit_detach(ptr %t207) br label %ret ifend54: %t208 = load ptr, ptr %t0 %t209 = getelementptr inbounds %Cmp_Node, ptr %t208, i32 0, i32 0 %t210 = load i32, ptr %t209 %t211 = icmp eq i32 %t210, 49 %t212 = zext i1 %t211 to i32 %t213 = icmp ne i32 %t212, 0 br i1 %t213, label %then55, label %ifend57 then55: %t214 = load ptr, ptr %t0 %t215 = call ptr @fn_emit_emit(ptr %t214) store ptr %t215, ptr %t216 br label %ret ifend57: %t217 = load ptr, ptr %t0 %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 0 %t219 = load i32, ptr %t218 %t220 = icmp eq i32 %t219, 50 %t221 = zext i1 %t220 to i32 %t222 = icmp ne i32 %t221, 0 br i1 %t222, label %then58, label %ifend60 then58: %t223 = load ptr, ptr @g_g_cancel_addr %t224 = icmp eq ptr %t223, null %t225 = zext i1 %t224 to i32 %t226 = icmp ne i32 %t225, 0 br i1 %t226, label %then61, label %ifend63 then61: call void @fn_perr(ptr @.str10586) br label %ifend63 ifend63: call void @fn_emit(ptr @.str10587) %t227 = load ptr, ptr @g_g_cancel_addr call void @fn_emit(ptr %t227) call void @fn_emit(ptr @.str10588) br label %ret ifend60: %t228 = load ptr, ptr %t0 %t229 = getelementptr inbounds %Cmp_Node, ptr %t228, i32 0, i32 0 %t230 = load i32, ptr %t229 %t231 = icmp eq i32 %t230, 24 %t232 = zext i1 %t231 to i32 %t233 = icmp ne i32 %t232, 0 br i1 %t233, label %then64, label %ifend66 then64: %t234 = load ptr, ptr %t0 call void @fn_emit_machine(ptr %t234) br label %ret ifend66: %t235 = load ptr, ptr %t0 %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 0 %t237 = load i32, ptr %t236 %t238 = icmp eq i32 %t237, 26 %t239 = zext i1 %t238 to i32 %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %then67, label %ifend69 then67: %t241 = load ptr, ptr %t0 call void @fn_emit_become(ptr %t241) br label %ret ifend69: %t242 = load ptr, ptr %t0 %t243 = getelementptr inbounds %Cmp_Node, ptr %t242, i32 0, i32 0 %t244 = load i32, ptr %t243 %t245 = icmp eq i32 %t244, 16 %t246 = zext i1 %t245 to i32 %t247 = icmp ne i32 %t246, 0 br i1 %t247, label %then70, label %ifend72 then70: %t248 = load ptr, ptr %t0 %t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 4 %t250 = load ptr, ptr %t249 %t251 = call ptr @fn_emit_expr(ptr %t250) store ptr %t251, ptr %t252 br label %ret ifend72: call void @fn_perr(ptr @.str10589) br label %ret ret: ret void } define void @fn_loop_push(ptr %arg_cont, ptr %arg_brk) { entry: %t0 = alloca ptr %t1 = alloca ptr store ptr %arg_cont, ptr %t0 store ptr %arg_brk, ptr %t1 %t2 = load i32, ptr @g_nloop %t3 = load ptr, ptr @g_cnt_lbl %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %else1 then0: %t9 = load ptr, ptr @g_cnt_lbl %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr @g_nloop %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str10590, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t0 store ptr %t18, ptr %t17 %t19 = load ptr, ptr @g_brk_lbl %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = load i32, ptr @g_nloop %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t22, %t24 br i1 %t25, label %ixok5, label %ixbad6 ixbad6: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str10591, i32 %t22, i32 %t24) call void @exit(i32 1) unreachable ixok5: %t27 = getelementptr inbounds ptr, ptr %t21, i32 %t22 %t28 = load ptr, ptr %t1 store ptr %t28, ptr %t27 br label %ifend2 else1: %t29 = load ptr, ptr @g_cnt_lbl %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t32 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 2 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t34 = load i32, ptr %t31 %t35 = load i32, ptr %t32 %t36 = icmp sge i32 %t34, %t35 br i1 %t36, label %grow7, label %put8 grow7: %t37 = mul i32 %t35, 2 %t38 = icmp eq i32 %t35, 0 %t39 = select i1 %t38, i32 8, i32 %t37 %t40 = getelementptr ptr, ptr null, i32 1 %t41 = ptrtoint ptr %t40 to i64 %t42 = zext i32 %t39 to i64 %t43 = mul i64 %t42, %t41 %t44 = load ptr, ptr %t33 %t45 = call ptr @realloc(ptr %t44, i64 %t43) store ptr %t45, ptr %t33 store i32 %t39, ptr %t32 br label %put8 put8: %t46 = load ptr, ptr %t33 %t47 = getelementptr inbounds ptr, ptr %t46, i32 %t34 store ptr %t30, ptr %t47 %t48 = add i32 %t34, 1 store i32 %t48, ptr %t31 %t49 = load ptr, ptr @g_brk_lbl %t50 = load ptr, ptr %t1 %t51 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t52 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 2 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t54 = load i32, ptr %t51 %t55 = load i32, ptr %t52 %t56 = icmp sge i32 %t54, %t55 br i1 %t56, label %grow9, label %put10 grow9: %t57 = mul i32 %t55, 2 %t58 = icmp eq i32 %t55, 0 %t59 = select i1 %t58, i32 8, i32 %t57 %t60 = getelementptr ptr, ptr null, i32 1 %t61 = ptrtoint ptr %t60 to i64 %t62 = zext i32 %t59 to i64 %t63 = mul i64 %t62, %t61 %t64 = load ptr, ptr %t53 %t65 = call ptr @realloc(ptr %t64, i64 %t63) store ptr %t65, ptr %t53 store i32 %t59, ptr %t52 br label %put10 put10: %t66 = load ptr, ptr %t53 %t67 = getelementptr inbounds ptr, ptr %t66, i32 %t54 store ptr %t50, ptr %t67 %t68 = add i32 %t54, 1 store i32 %t68, ptr %t51 br label %ifend2 ifend2: %t69 = load i32, ptr @g_nloop %t70 = add i32 %t69, 1 store i32 %t70, ptr @g_nloop br label %ret ret: ret void } define void @fn_loop_pop() { entry: %t0 = load i32, ptr @g_nloop %t1 = sub i32 %t0, 1 store i32 %t1, ptr @g_nloop br label %ret ret: ret void } define i32 @fn_has_systems() { entry: %retval = alloca i32 %t0 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_prog %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_prog %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10592, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 9 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t0 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t0 br label %wcond0 wend2: %t25 = call i32 @fn_uses_engine_systems() %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: store i32 0, ptr %retval br label %ret ret: %t27 = load i32, ptr %retval ret i32 %t27 } define i32 @fn_has_models() { entry: %retval = alloca i32 %t0 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_prog %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_prog %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10593, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 10 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t0 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } define i32 @fn_uses_engine_systems() { entry: %retval = alloca i32 %t0 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_esys_comp %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_g_esys_comp %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10594, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 %t18 = call ptr @fn_find_comp(ptr %t17) %t19 = icmp ne ptr %t18, null %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t22 = load i32, ptr %t0 %t23 = add i32 %t22, 1 store i32 %t23, ptr %t0 br label %wcond0 wend2: %t24 = call ptr @fn_find_comp(ptr @.str10595) %t25 = icmp ne ptr %t24, null %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then8, label %ifend10 then8: store i32 1, ptr %retval br label %ret ifend10: store i32 0, ptr %retval br label %ret ret: %t28 = load i32, ptr %retval ret i32 %t28 } define i32 @fn_has_entry() { entry: %retval = alloca i32 %t0 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_prog %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_prog %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str10596, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 6 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t0 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } define i32 @fn_has_ecs() { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = call i32 @fn_has_systems() %t2 = icmp ne i32 %t1, 0 %t3 = zext i1 %t2 to i32 store i32 %t3, ptr %t0 br i1 %t2, label %scend1, label %sc0 sc0: %t4 = call i32 @fn_has_models() %t5 = icmp ne i32 %t4, 0 %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t0 br label %scend1 scend1: %t7 = load i32, ptr %t0 store i32 %t7, ptr %retval br label %ret ret: %t8 = load i32, ptr %retval ret i32 %t8 } define void @fn_emit_ecs_storage() { entry: %t7 = alloca ptr %t24 = alloca i32 %t42 = alloca ptr %t94 = alloca i32 call void @fn_emith(ptr @.str10597) call void @fn_emith(ptr @.str10598) call void @fn_emith(ptr @.str10599) %t0 = load ptr, ptr @g_g_scenes %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t2 = load i32, ptr %t1 %t3 = icmp sgt i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: call void @fn_emith(ptr @.str10600) br label %ifend2 ifend2: call void @fn_emith(ptr @.str10601) %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr @.str10602, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10603) call void @fn_emith(ptr %t10) %t11 = load ptr, ptr %t7 %t12 = call ptr @lp_str_concat(ptr @.str10604, ptr %t11) %t13 = call ptr @lp_str_concat(ptr %t12, ptr @.str10605) call void @fn_emith(ptr %t13) %t14 = load ptr, ptr %t7 %t15 = call ptr @lp_str_concat(ptr @.str10606, ptr %t14) %t16 = call ptr @lp_str_concat(ptr %t15, ptr @.str10607) call void @fn_emith(ptr %t16) call void @fn_emith(ptr @.str10608) %t17 = call i32 @fn_net_any() %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: call void @fn_emith(ptr @.str10609) call void @fn_emith(ptr @.str10610) br label %ifend5 ifend5: %t19 = call i32 @fn_net_has_owned() %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then6, label %ifend8 then6: %t21 = load ptr, ptr %t7 %t22 = call ptr @lp_str_concat(ptr @.str10611, ptr %t21) %t23 = call ptr @lp_str_concat(ptr %t22, ptr @.str10612) call void @fn_emith(ptr %t23) br label %ifend8 ifend8: store i32 0, ptr %t24 br label %wcond9 wcond9: %t25 = load i32, ptr %t24 %t26 = load ptr, ptr @g_prog %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp slt i32 %t25, %t28 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %wbody10, label %wend11 wbody10: %t32 = load ptr, ptr @g_prog %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = load i32, ptr %t24 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t35, %t37 br i1 %t38, label %ixok12, label %ixbad13 ixbad13: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str10613, i32 %t35, i32 %t37) call void @exit(i32 1) unreachable ixok12: %t40 = getelementptr inbounds ptr, ptr %t34, i32 %t35 %t41 = load ptr, ptr %t40 store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t42 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 0 %t45 = load i32, ptr %t44 %t46 = icmp eq i32 %t45, 8 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then14, label %ifend16 then14: %t49 = load ptr, ptr %t42 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1 %t51 = load ptr, ptr %t50 %t52 = call ptr @lp_str_concat(ptr @.str10614, ptr %t51) %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str10615) %t54 = load ptr, ptr %t7 %t55 = call ptr @lp_str_concat(ptr %t53, ptr %t54) %t56 = call ptr @lp_str_concat(ptr %t55, ptr @.str10616) %t57 = load ptr, ptr %t42 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 %t59 = load ptr, ptr %t58 %t60 = call ptr @lp_str_concat(ptr %t56, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str10617) call void @fn_emith(ptr %t61) %t62 = load ptr, ptr %t42 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 %t65 = call ptr @lp_str_concat(ptr @.str10618, ptr %t64) %t66 = call ptr @lp_str_concat(ptr %t65, ptr @.str10619) %t67 = load ptr, ptr %t7 %t68 = call ptr @lp_str_concat(ptr %t66, ptr %t67) %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str10620) call void @fn_emith(ptr %t69) br label %ifend16 ifend16: %t70 = load ptr, ptr %t42 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 0 %t72 = load i32, ptr %t71 %t73 = icmp eq i32 %t72, 10 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then17, label %ifend19 then17: %t76 = load ptr, ptr %t42 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 1 %t78 = load ptr, ptr %t77 %t79 = call ptr @lp_str_concat(ptr @.str10621, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str10622) call void @fn_emith(ptr %t80) br label %ifend19 ifend19: %t81 = load ptr, ptr %t42 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 0 %t83 = load i32, ptr %t82 %t84 = icmp eq i32 %t83, 9 %t85 = zext i1 %t84 to i32 %t86 = icmp ne i32 %t85, 0 br i1 %t86, label %then20, label %ifend22 then20: %t87 = load ptr, ptr %t42 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 1 %t89 = load ptr, ptr %t88 %t90 = call ptr @lp_str_concat(ptr @.str10623, ptr %t89) %t91 = call ptr @lp_str_concat(ptr %t90, ptr @.str10624) call void @fn_emith(ptr %t91) br label %ifend22 ifend22: %t92 = load i32, ptr %t24 %t93 = add i32 %t92, 1 store i32 %t93, ptr %t24 br label %wcond9 wend11: store i32 0, ptr %t94 br label %wcond23 wcond23: %t95 = load i32, ptr %t94 %t96 = load ptr, ptr @g_g_toggled_layers %t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp slt i32 %t95, %t98 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %wbody24, label %wend25 wbody24: %t102 = load ptr, ptr @g_g_toggled_layers %t103 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 0 %t104 = load ptr, ptr %t103 %t105 = load i32, ptr %t94 %t106 = getelementptr inbounds %LSlice, ptr %t102, i32 0, i32 1 %t107 = load i32, ptr %t106 %t108 = icmp ult i32 %t105, %t107 br i1 %t108, label %ixok26, label %ixbad27 ixbad27: %t109 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t109, ptr @.fmt_bounds, ptr @.str10626, i32 %t105, i32 %t107) call void @exit(i32 1) unreachable ixok26: %t110 = getelementptr inbounds ptr, ptr %t104, i32 %t105 %t111 = load ptr, ptr %t110 %t112 = call ptr @lp_str_concat(ptr @.str10625, ptr %t111) %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str10627) call void @fn_emith(ptr %t113) %t114 = load i32, ptr %t94 %t115 = add i32 %t114, 1 store i32 %t115, ptr %t94 br label %wcond23 wend25: br label %ret ret: ret void } define void @fn_emit_ecs_allocator() { entry: %t1 = alloca ptr %t2 = alloca i32 %t28 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 call void @fn_emit(ptr @.str10628) store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr @g_prog %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp slt i32 %t3, %t6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %wbody1, label %wend2 wbody1: %t10 = load ptr, ptr @g_prog %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = load i32, ptr %t2 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t13, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str10629, i32 %t13, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t12, i32 %t13 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0 %t21 = load i32, ptr %t20 %t22 = icmp eq i32 %t21, 8 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then5, label %ifend7 then5: %t25 = load i32, ptr %t2 %t26 = call ptr @fn_itoa(i32 %t25) %t27 = call ptr @lp_str_concat(ptr @.str10630, ptr %t26) store ptr %t27, ptr %t28 call void @fn_emit(ptr @.str10631) %t29 = load ptr, ptr %t28 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str10632) %t30 = load ptr, ptr %t1 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str10633) %t31 = load ptr, ptr @g_prog %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = load i32, ptr %t2 %t35 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = icmp ult i32 %t34, %t36 br i1 %t37, label %ixok8, label %ixbad9 ixbad9: %t38 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str10634, i32 %t34, i32 %t36) call void @exit(i32 1) unreachable ixok8: %t39 = getelementptr inbounds ptr, ptr %t33, i32 %t34 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str10635) call void @fn_emit(ptr @.str10636) %t43 = load ptr, ptr %t28 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str10637) br label %ifend7 ifend7: %t44 = load i32, ptr %t2 %t45 = add i32 %t44, 1 store i32 %t45, ptr %t2 br label %wcond0 wend2: call void @fn_emit(ptr @.str10638) %t46 = load ptr, ptr %t1 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str10639) call void @fn_emit(ptr @.str10640) %t47 = call i32 @fn_net_has_owned() %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then10, label %ifend12 then10: call void @fn_emit(ptr @.str10641) %t49 = load ptr, ptr %t1 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10642) call void @fn_emit(ptr @.str10643) br label %ifend12 ifend12: call void @fn_emit(ptr @.str10644) call void @fn_emit(ptr @.str10645) call void @fn_emit(ptr @.str10646) call void @fn_emit(ptr @.str10647) call void @fn_emit(ptr @.str10648) call void @fn_emit(ptr @.str10649) call void @fn_emit(ptr @.str10650) call void @fn_emit(ptr @.str10651) call void @fn_emit(ptr @.str10652) %t50 = load ptr, ptr %t1 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10653) call void @fn_emit(ptr @.str10654) call void @fn_emit(ptr @.str10655) call void @fn_emit(ptr @.str10656) call void @fn_emit(ptr @.str10657) call void @fn_emit(ptr @.str10658) call void @fn_emit(ptr @.str10659) call void @fn_emit(ptr @.str10660) call void @fn_emit(ptr @.str10661) call void @fn_emit(ptr @.str10662) call void @fn_emit(ptr @.str10663) call void @fn_emit(ptr @.str10664) %t51 = load ptr, ptr %t1 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str10665) call void @fn_emit(ptr @.str10666) call void @fn_emit(ptr @.str10667) call void @fn_emit(ptr @.str10668) call void @fn_emit(ptr @.str10669) %t52 = load ptr, ptr %t1 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str10670) call void @fn_emit(ptr @.str10671) call void @fn_emit(ptr @.str10672) call void @fn_emit(ptr @.str10673) call void @fn_emit(ptr @.str10674) %t53 = load ptr, ptr %t1 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str10675) call void @fn_emit(ptr @.str10676) call void @fn_emit(ptr @.str10677) call void @fn_emit(ptr @.str10678) call void @fn_emit(ptr @.str10679) br label %ret ret: ret void } define i32 @fn_find_arch_id(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 store i32 1, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t1 %t4 = load ptr, ptr @g_prog %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp slt i32 %t3, %t6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %wbody1, label %wend2 wbody1: %t10 = load ptr, ptr @g_prog %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 %t12 = load ptr, ptr %t11 %t13 = load i32, ptr %t1 %t14 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t15 = load i32, ptr %t14 %t16 = icmp ult i32 %t13, %t15 br i1 %t16, label %ixok3, label %ixbad4 ixbad4: %t17 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t17, ptr @.fmt_bounds, ptr @.str10680, i32 %t13, i32 %t15) call void @exit(i32 1) unreachable ixok3: %t18 = getelementptr inbounds ptr, ptr %t12, i32 %t13 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0 %t21 = load i32, ptr %t20 %t22 = icmp eq i32 %t21, 10 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then5, label %ifend7 then5: %t25 = load ptr, ptr @g_prog %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = load i32, ptr %t1 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t28, %t30 br i1 %t31, label %ixok8, label %ixbad9 ixbad9: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str10681, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok8: %t33 = getelementptr inbounds ptr, ptr %t27, i32 %t28 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1 %t36 = load ptr, ptr %t35 %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t36, ptr %t37) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then10, label %ifend12 then10: %t40 = load i32, ptr %t2 store i32 %t40, ptr %retval br label %ret ifend12: %t41 = load i32, ptr %t2 %t42 = add i32 %t41, 1 store i32 %t42, ptr %t2 br label %ifend7 ifend7: %t43 = load i32, ptr %t1 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t45 = load i32, ptr %retval ret i32 %t45 } define void @fn_emit_query(ptr %arg_st) { entry: %t0 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr %t46 = alloca ptr %t48 = alloca ptr %t50 = alloca ptr %t52 = alloca ptr %t58 = alloca ptr %t60 = alloca ptr %t67 = alloca ptr %t75 = alloca ptr %t77 = alloca ptr %t84 = alloca ptr %t89 = alloca ptr %t91 = alloca ptr %t99 = alloca ptr %t100 = alloca i32 %t122 = alloca ptr %t127 = alloca i32 %t128 = alloca ptr %t134 = alloca ptr %t141 = alloca ptr %t149 = alloca ptr %t155 = alloca ptr %t160 = alloca ptr %t168 = alloca ptr %t178 = alloca ptr %t184 = alloca ptr %t192 = alloca i32 %t193 = alloca i32 %t215 = alloca ptr %t216 = alloca i32 %t244 = alloca ptr %t255 = alloca ptr %t290 = alloca ptr %t297 = alloca ptr %t299 = alloca ptr %t319 = alloca ptr %t324 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = call ptr @fn_itoa(i32 1024) store ptr %t1, ptr %t2 %t3 = call ptr @fn_emit_alloca(ptr @.str10682) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 call void @fn_store_at(ptr @.str10683, ptr @.str10684, ptr %t5) %t6 = load i32, ptr @g_nself %t7 = load ptr, ptr @g_self_stk %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp slt i32 %t6, %t9 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %else1 then0: %t13 = load ptr, ptr @g_self_stk %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = load i32, ptr @g_nself %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t16, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str10685, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t15, i32 %t16 %t22 = load ptr, ptr %t4 store ptr %t22, ptr %t21 br label %ifend2 else1: %t23 = load ptr, ptr @g_self_stk %t24 = load ptr, ptr %t4 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t26 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 2 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t28 = load i32, ptr %t25 %t29 = load i32, ptr %t26 %t30 = icmp sge i32 %t28, %t29 br i1 %t30, label %grow5, label %put6 grow5: %t31 = mul i32 %t29, 2 %t32 = icmp eq i32 %t29, 0 %t33 = select i1 %t32, i32 8, i32 %t31 %t34 = getelementptr ptr, ptr null, i32 1 %t35 = ptrtoint ptr %t34 to i64 %t36 = zext i32 %t33 to i64 %t37 = mul i64 %t36, %t35 %t38 = load ptr, ptr %t27 %t39 = call ptr @realloc(ptr %t38, i64 %t37) store ptr %t39, ptr %t27 store i32 %t33, ptr %t26 br label %put6 put6: %t40 = load ptr, ptr %t27 %t41 = getelementptr inbounds ptr, ptr %t40, i32 %t28 store ptr %t24, ptr %t41 %t42 = add i32 %t28, 1 store i32 %t42, ptr %t25 br label %ifend2 ifend2: %t43 = load i32, ptr @g_nself %t44 = add i32 %t43, 1 store i32 %t44, ptr @g_nself %t45 = call ptr @fn_lbl(ptr @.str10686) store ptr %t45, ptr %t46 %t47 = call ptr @fn_lbl(ptr @.str10687) store ptr %t47, ptr %t48 %t49 = call ptr @fn_lbl(ptr @.str10688) store ptr %t49, ptr %t50 %t51 = call ptr @fn_lbl(ptr @.str10689) store ptr %t51, ptr %t52 call void @fn_emit(ptr @.str10690) %t53 = load ptr, ptr %t46 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str10691) %t54 = load ptr, ptr %t46 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str10692) %t55 = load ptr, ptr %t4 %t56 = call ptr @lp_str_concat(ptr @.str10693, ptr %t55) %t57 = call ptr @fn_emit_bind(ptr %t56) store ptr %t57, ptr %t58 %t59 = call ptr @fn_emit_bind(ptr @.str10694) store ptr %t59, ptr %t60 %t61 = load ptr, ptr %t58 %t62 = call ptr @lp_str_concat(ptr @.str10695, ptr %t61) %t63 = call ptr @lp_str_concat(ptr %t62, ptr @.str10696) %t64 = load ptr, ptr %t60 %t65 = call ptr @lp_str_concat(ptr %t63, ptr %t64) %t66 = call ptr @fn_emit_bind(ptr %t65) store ptr %t66, ptr %t67 call void @fn_emit(ptr @.str10697) %t68 = load ptr, ptr %t67 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str10698) %t69 = load ptr, ptr %t48 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str10699) %t70 = load ptr, ptr %t52 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str10700) %t71 = load ptr, ptr %t48 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str10701) store i32 0, ptr @g_g_term %t72 = load ptr, ptr %t4 %t73 = call ptr @lp_str_concat(ptr @.str10702, ptr %t72) %t74 = call ptr @fn_emit_bind(ptr %t73) store ptr %t74, ptr %t75 %t76 = call ptr @fn_nreg() store ptr %t76, ptr %t77 call void @fn_emit(ptr @.str10703) %t78 = load ptr, ptr %t77 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str10704) %t79 = load ptr, ptr %t2 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10705) %t80 = load ptr, ptr %t75 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str10706) %t81 = load ptr, ptr %t77 %t82 = call ptr @lp_str_concat(ptr @.str10707, ptr %t81) %t83 = call ptr @fn_emit_bind(ptr %t82) store ptr %t83, ptr %t84 %t85 = load ptr, ptr %t84 %t86 = call ptr @lp_str_concat(ptr @.str10708, ptr %t85) %t87 = call ptr @lp_str_concat(ptr %t86, ptr @.str10709) %t88 = call ptr @fn_emit_bind(ptr %t87) store ptr %t88, ptr %t89 %t90 = call ptr @fn_lbl(ptr @.str10710) store ptr %t90, ptr %t91 call void @fn_emit(ptr @.str10711) %t92 = load ptr, ptr %t89 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str10712) %t93 = load ptr, ptr %t91 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str10713) %t94 = load ptr, ptr %t50 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str10714) %t95 = load ptr, ptr %t91 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str10715) %t96 = load ptr, ptr %t0 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 6 %t98 = load ptr, ptr %t97 store ptr %t98, ptr %t99 store i32 0, ptr %t100 br label %wcond7 wcond7: %t101 = load i32, ptr %t100 %t102 = load ptr, ptr %t99 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 7 %t104 = load ptr, ptr %t103 %t105 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 1 %t106 = load i32, ptr %t105 %t107 = icmp slt i32 %t101, %t106 %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %wbody8, label %wend9 wbody8: %t110 = load ptr, ptr %t99 %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 7 %t112 = load ptr, ptr %t111 %t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0 %t114 = load ptr, ptr %t113 %t115 = load i32, ptr %t100 %t116 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 %t117 = load i32, ptr %t116 %t118 = icmp ult i32 %t115, %t117 br i1 %t118, label %ixok10, label %ixbad11 ixbad11: %t119 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str10716, i32 %t115, i32 %t117) call void @exit(i32 1) unreachable ixok10: %t120 = getelementptr inbounds ptr, ptr %t114, i32 %t115 %t121 = load ptr, ptr %t120 store ptr %t121, ptr %t122 %t123 = load ptr, ptr %t122 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1 %t125 = load ptr, ptr %t124 %t126 = call i32 @fn_find_arch_id(ptr %t125) store i32 %t126, ptr %t127 store ptr @.str10717, ptr %t128 %t129 = load i32, ptr %t127 %t130 = icmp sgt i32 %t129, 0 %t131 = zext i1 %t130 to i32 %t132 = icmp ne i32 %t131, 0 br i1 %t132, label %then12, label %else13 then12: %t133 = call ptr @fn_nreg() store ptr %t133, ptr %t134 call void @fn_emit(ptr @.str10718) %t135 = load ptr, ptr %t134 call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str10719) %t136 = load ptr, ptr %t2 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str10720) %t137 = load ptr, ptr %t75 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str10721) %t138 = load ptr, ptr %t134 %t139 = call ptr @lp_str_concat(ptr @.str10722, ptr %t138) %t140 = call ptr @fn_emit_bind(ptr %t139) store ptr %t140, ptr %t141 %t142 = load ptr, ptr %t141 %t143 = call ptr @lp_str_concat(ptr @.str10723, ptr %t142) %t144 = call ptr @lp_str_concat(ptr %t143, ptr @.str10724) %t145 = load i32, ptr %t127 %t146 = call ptr @fn_itoa(i32 %t145) %t147 = call ptr @lp_str_concat(ptr %t144, ptr %t146) %t148 = call ptr @fn_emit_bind(ptr %t147) store ptr %t148, ptr %t149 %t150 = load ptr, ptr %t122 %t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 1 %t152 = load ptr, ptr %t151 %t153 = call ptr @lp_str_concat(ptr @.str10725, ptr %t152) %t154 = call ptr @fn_emit_bind(ptr %t153) store ptr %t154, ptr %t155 %t156 = load ptr, ptr %t155 %t157 = call ptr @lp_str_concat(ptr @.str10726, ptr %t156) %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str10727) %t159 = call ptr @fn_emit_bind(ptr %t158) store ptr %t159, ptr %t160 %t161 = load ptr, ptr %t149 %t162 = call ptr @lp_str_concat(ptr @.str10728, ptr %t161) %t163 = call ptr @lp_str_concat(ptr %t162, ptr @.str10729) %t164 = load ptr, ptr %t160 %t165 = call ptr @lp_str_concat(ptr %t163, ptr %t164) %t166 = call ptr @fn_emit_bind(ptr %t165) store ptr %t166, ptr %t128 br label %ifend14 else13: %t167 = call ptr @fn_nreg() store ptr %t167, ptr %t168 call void @fn_emit(ptr @.str10730) %t169 = load ptr, ptr %t168 call void @fn_emit(ptr %t169) call void @fn_emit(ptr @.str10731) %t170 = load ptr, ptr %t2 call void @fn_emit(ptr %t170) call void @fn_emit(ptr @.str10732) %t171 = load ptr, ptr %t122 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 1 %t173 = load ptr, ptr %t172 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str10733) %t174 = load ptr, ptr %t75 call void @fn_emit(ptr %t174) call void @fn_emit(ptr @.str10734) %t175 = load ptr, ptr %t168 %t176 = call ptr @lp_str_concat(ptr @.str10735, ptr %t175) %t177 = call ptr @fn_emit_bind(ptr %t176) store ptr %t177, ptr %t178 %t179 = load ptr, ptr %t178 %t180 = call ptr @lp_str_concat(ptr @.str10736, ptr %t179) %t181 = call ptr @lp_str_concat(ptr %t180, ptr @.str10737) %t182 = call ptr @fn_emit_bind(ptr %t181) store ptr %t182, ptr %t128 br label %ifend14 ifend14: %t183 = call ptr @fn_lbl(ptr @.str10738) store ptr %t183, ptr %t184 call void @fn_emit(ptr @.str10739) %t185 = load ptr, ptr %t128 call void @fn_emit(ptr %t185) call void @fn_emit(ptr @.str10740) %t186 = load ptr, ptr %t184 call void @fn_emit(ptr %t186) call void @fn_emit(ptr @.str10741) %t187 = load ptr, ptr %t50 call void @fn_emit(ptr %t187) call void @fn_emit(ptr @.str10742) %t188 = load ptr, ptr %t184 call void @fn_emit(ptr %t188) call void @fn_emit(ptr @.str10743) %t189 = load i32, ptr %t100 %t190 = add i32 %t189, 1 store i32 %t190, ptr %t100 br label %wcond7 wend9: %t191 = load i32, ptr @g_nloc store i32 %t191, ptr %t192 store i32 0, ptr %t193 store i32 0, ptr %t100 br label %wcond15 wcond15: %t194 = load i32, ptr %t100 %t195 = load ptr, ptr %t99 %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 7 %t197 = load ptr, ptr %t196 %t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 1 %t199 = load i32, ptr %t198 %t200 = icmp slt i32 %t194, %t199 %t201 = zext i1 %t200 to i32 %t202 = icmp ne i32 %t201, 0 br i1 %t202, label %wbody16, label %wend17 wbody16: %t203 = load ptr, ptr %t99 %t204 = getelementptr inbounds %Cmp_Node, ptr %t203, i32 0, i32 7 %t205 = load ptr, ptr %t204 %t206 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 0 %t207 = load ptr, ptr %t206 %t208 = load i32, ptr %t100 %t209 = getelementptr inbounds %LSlice, ptr %t205, i32 0, i32 1 %t210 = load i32, ptr %t209 %t211 = icmp ult i32 %t208, %t210 br i1 %t211, label %ixok18, label %ixbad19 ixbad19: %t212 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t212, ptr @.fmt_bounds, ptr @.str10744, i32 %t208, i32 %t210) call void @exit(i32 1) unreachable ixok18: %t213 = getelementptr inbounds ptr, ptr %t207, i32 %t208 %t214 = load ptr, ptr %t213 store ptr %t214, ptr %t215 %t217 = load ptr, ptr %t215 %t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 2 %t219 = load i32, ptr %t218 %t220 = icmp eq i32 %t219, 0 %t221 = zext i1 %t220 to i32 %t222 = icmp ne i32 %t221, 0 %t223 = zext i1 %t222 to i32 store i32 %t223, ptr %t216 br i1 %t222, label %sc20, label %scend21 sc20: %t224 = load ptr, ptr %t215 %t225 = getelementptr inbounds %Cmp_Node, ptr %t224, i32 0, i32 1 %t226 = load ptr, ptr %t225 %t227 = call i32 @fn_find_arch_id(ptr %t226) %t228 = icmp eq i32 %t227, 0 %t229 = zext i1 %t228 to i32 %t230 = icmp ne i32 %t229, 0 %t231 = zext i1 %t230 to i32 store i32 %t231, ptr %t216 br label %scend21 scend21: %t232 = load i32, ptr %t216 %t233 = icmp ne i32 %t232, 0 br i1 %t233, label %then22, label %ifend24 then22: %t234 = load i32, ptr %t193 %t235 = load ptr, ptr %t0 %t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 7 %t237 = load ptr, ptr %t236 %t238 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 1 %t239 = load i32, ptr %t238 %t240 = icmp slt i32 %t234, %t239 %t241 = zext i1 %t240 to i32 %t242 = icmp ne i32 %t241, 0 br i1 %t242, label %then25, label %ifend27 then25: %t243 = call ptr @fn_nreg() store ptr %t243, ptr %t244 call void @fn_emit(ptr @.str10745) %t245 = load ptr, ptr %t244 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str10746) %t246 = load ptr, ptr %t2 call void @fn_emit(ptr %t246) call void @fn_emit(ptr @.str10747) %t247 = load ptr, ptr %t215 %t248 = getelementptr inbounds %Cmp_Node, ptr %t247, i32 0, i32 1 %t249 = load ptr, ptr %t248 call void @fn_emit(ptr %t249) call void @fn_emit(ptr @.str10748) %t250 = load ptr, ptr %t215 %t251 = getelementptr inbounds %Cmp_Node, ptr %t250, i32 0, i32 1 %t252 = load ptr, ptr %t251 call void @fn_emit(ptr %t252) call void @fn_emit(ptr @.str10749) %t253 = load ptr, ptr %t75 call void @fn_emit(ptr %t253) call void @fn_emit(ptr @.str10750) %t254 = call ptr @fn_emit_alloca(ptr @.str10751) store ptr %t254, ptr %t255 call void @fn_emit(ptr @.str10752) %t256 = load ptr, ptr %t244 call void @fn_emit(ptr %t256) call void @fn_emit(ptr @.str10753) %t257 = load ptr, ptr %t255 call void @fn_emit(ptr %t257) call void @fn_emit(ptr @.str10754) %t258 = load ptr, ptr %t0 %t259 = getelementptr inbounds %Cmp_Node, ptr %t258, i32 0, i32 7 %t260 = load ptr, ptr %t259 %t261 = getelementptr inbounds %LSlice, ptr %t260, i32 0, i32 0 %t262 = load ptr, ptr %t261 %t263 = load i32, ptr %t193 %t264 = getelementptr inbounds %LSlice, ptr %t260, i32 0, i32 1 %t265 = load i32, ptr %t264 %t266 = icmp ult i32 %t263, %t265 br i1 %t266, label %ixok28, label %ixbad29 ixbad29: %t267 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t267, ptr @.fmt_bounds, ptr @.str10755, i32 %t263, i32 %t265) call void @exit(i32 1) unreachable ixok28: %t268 = getelementptr inbounds ptr, ptr %t262, i32 %t263 %t269 = load ptr, ptr %t268 %t270 = getelementptr inbounds %Cmp_Node, ptr %t269, i32 0, i32 1 %t271 = load ptr, ptr %t270 %t272 = load ptr, ptr %t255 %t273 = load ptr, ptr %t215 %t274 = getelementptr inbounds %Cmp_Node, ptr %t273, i32 0, i32 1 %t275 = load ptr, ptr %t274 call void @fn_loc_push(ptr %t271, ptr %t272, ptr %t275) %t276 = load i32, ptr %t193 %t277 = add i32 %t276, 1 store i32 %t277, ptr %t193 br label %ifend27 ifend27: br label %ifend24 ifend24: %t278 = load i32, ptr %t100 %t279 = add i32 %t278, 1 store i32 %t279, ptr %t100 br label %wcond15 wend17: %t280 = load ptr, ptr %t0 %t281 = getelementptr inbounds %Cmp_Node, ptr %t280, i32 0, i32 5 %t282 = load ptr, ptr %t281 %t283 = icmp ne ptr %t282, null %t284 = zext i1 %t283 to i32 %t285 = icmp ne i32 %t284, 0 br i1 %t285, label %then30, label %ifend32 then30: %t286 = load ptr, ptr %t0 %t287 = getelementptr inbounds %Cmp_Node, ptr %t286, i32 0, i32 5 %t288 = load ptr, ptr %t287 %t289 = call ptr @fn_emit_expr(ptr %t288) store ptr %t289, ptr %t290 %t291 = load ptr, ptr %t290 %t292 = getelementptr inbounds %Cmp_Val, ptr %t291, i32 0, i32 0 %t293 = load ptr, ptr %t292 %t294 = call ptr @lp_str_concat(ptr @.str10756, ptr %t293) %t295 = call ptr @lp_str_concat(ptr %t294, ptr @.str10757) %t296 = call ptr @fn_emit_bind(ptr %t295) store ptr %t296, ptr %t297 %t298 = call ptr @fn_lbl(ptr @.str10758) store ptr %t298, ptr %t299 call void @fn_emit(ptr @.str10759) %t300 = load ptr, ptr %t297 call void @fn_emit(ptr %t300) call void @fn_emit(ptr @.str10760) %t301 = load ptr, ptr %t299 call void @fn_emit(ptr %t301) call void @fn_emit(ptr @.str10761) %t302 = load ptr, ptr %t50 call void @fn_emit(ptr %t302) call void @fn_emit(ptr @.str10762) %t303 = load ptr, ptr %t299 call void @fn_emit(ptr %t303) call void @fn_emit(ptr @.str10763) br label %ifend32 ifend32: %t304 = load ptr, ptr %t50 %t305 = load ptr, ptr %t52 call void @fn_loop_push(ptr %t304, ptr %t305) %t306 = load ptr, ptr %t0 %t307 = getelementptr inbounds %Cmp_Node, ptr %t306, i32 0, i32 4 %t308 = load ptr, ptr %t307 call void @fn_emit_block(ptr %t308) call void @fn_loop_pop() %t309 = load i32, ptr %t192 store i32 %t309, ptr @g_nloc %t310 = load i32, ptr @g_g_term %t311 = icmp eq i32 %t310, 0 %t312 = zext i1 %t311 to i32 %t313 = icmp ne i32 %t312, 0 br i1 %t313, label %then33, label %ifend35 then33: call void @fn_emit(ptr @.str10764) %t314 = load ptr, ptr %t50 call void @fn_emit(ptr %t314) call void @fn_emit(ptr @.str10765) br label %ifend35 ifend35: %t315 = load ptr, ptr %t50 call void @fn_emit(ptr %t315) call void @fn_emit(ptr @.str10766) %t316 = load ptr, ptr %t4 %t317 = call ptr @lp_str_concat(ptr @.str10767, ptr %t316) %t318 = call ptr @fn_emit_bind(ptr %t317) store ptr %t318, ptr %t319 %t320 = load ptr, ptr %t319 %t321 = call ptr @lp_str_concat(ptr @.str10768, ptr %t320) %t322 = call ptr @lp_str_concat(ptr %t321, ptr @.str10769) %t323 = call ptr @fn_emit_bind(ptr %t322) store ptr %t323, ptr %t324 %t325 = load ptr, ptr %t324 %t326 = load ptr, ptr %t4 call void @fn_store_at(ptr @.str10770, ptr %t325, ptr %t326) call void @fn_emit(ptr @.str10771) %t327 = load ptr, ptr %t46 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str10772) %t328 = load ptr, ptr %t52 call void @fn_emit(ptr %t328) call void @fn_emit(ptr @.str10773) store i32 0, ptr @g_g_term %t329 = load i32, ptr @g_nself %t330 = sub i32 %t329, 1 store i32 %t330, ptr @g_nself br label %ret ret: ret void } define void @fn_emit_hook_with_self(ptr %arg_e, ptr %arg_body) { entry: %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_body, ptr %t1 %t2 = call ptr @fn_emit_alloca(ptr @.str10774) store ptr %t2, ptr %t3 call void @fn_emit(ptr @.str10775) %t4 = load ptr, ptr %t0 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str10776) %t5 = load ptr, ptr %t3 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str10777) %t6 = load i32, ptr @g_nself %t7 = load ptr, ptr @g_self_stk %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp slt i32 %t6, %t9 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then0, label %else1 then0: %t13 = load ptr, ptr @g_self_stk %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = load i32, ptr @g_nself %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t16, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str10778, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t15, i32 %t16 %t22 = load ptr, ptr %t3 store ptr %t22, ptr %t21 br label %ifend2 else1: %t23 = load ptr, ptr @g_self_stk %t24 = load ptr, ptr %t3 %t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t26 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 2 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t28 = load i32, ptr %t25 %t29 = load i32, ptr %t26 %t30 = icmp sge i32 %t28, %t29 br i1 %t30, label %grow5, label %put6 grow5: %t31 = mul i32 %t29, 2 %t32 = icmp eq i32 %t29, 0 %t33 = select i1 %t32, i32 8, i32 %t31 %t34 = getelementptr ptr, ptr null, i32 1 %t35 = ptrtoint ptr %t34 to i64 %t36 = zext i32 %t33 to i64 %t37 = mul i64 %t36, %t35 %t38 = load ptr, ptr %t27 %t39 = call ptr @realloc(ptr %t38, i64 %t37) store ptr %t39, ptr %t27 store i32 %t33, ptr %t26 br label %put6 put6: %t40 = load ptr, ptr %t27 %t41 = getelementptr inbounds ptr, ptr %t40, i32 %t28 store ptr %t24, ptr %t41 %t42 = add i32 %t28, 1 store i32 %t42, ptr %t25 br label %ifend2 ifend2: %t43 = load i32, ptr @g_nself %t44 = add i32 %t43, 1 store i32 %t44, ptr @g_nself %t45 = load ptr, ptr %t1 call void @fn_emit_block(ptr %t45) %t46 = load i32, ptr @g_nself %t47 = sub i32 %t46, 1 store i32 %t47, ptr @g_nself br label %ret ret: ret void } define void @fn_emit_init_component(ptr %arg_e, ptr %arg_comp, ptr %arg_rec) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t4 = alloca ptr %t7 = alloca ptr %t15 = alloca ptr %t22 = alloca ptr %t28 = alloca i32 %t50 = alloca ptr %t52 = alloca ptr %t62 = alloca ptr %t65 = alloca ptr %t76 = alloca ptr %t91 = alloca i32 %t113 = alloca ptr %t119 = alloca i32 %t125 = alloca ptr %t135 = alloca ptr %t141 = alloca ptr %t145 = alloca ptr %t154 = alloca ptr %t160 = alloca i32 %t162 = alloca ptr %t174 = alloca ptr store ptr %arg_e, ptr %t0 store ptr %arg_comp, ptr %t1 store ptr %arg_rec, ptr %t2 %t3 = call ptr @fn_itoa(i32 1024) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t1 %t6 = call ptr @fn_find_comp(ptr %t5) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = icmp eq ptr %t8, null %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then0, label %ifend2 then0: %t12 = load ptr, ptr %t1 %t13 = call ptr @lp_str_concat(ptr @.str10779, ptr %t12) call void @fn_perr(ptr %t13) br label %ifend2 ifend2: %t14 = call ptr @fn_nreg() store ptr %t14, ptr %t15 call void @fn_emit(ptr @.str10780) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str10781) %t17 = load ptr, ptr %t4 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str10782) %t18 = load ptr, ptr %t1 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str10783) %t19 = load ptr, ptr %t0 call void @fn_emit(ptr %t19) call void @fn_emit(ptr @.str10784) call void @fn_emit(ptr @.str10785) %t20 = load ptr, ptr %t15 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str10786) %t21 = call ptr @fn_nreg() store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str10787) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str10788) %t24 = load ptr, ptr %t4 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str10789) %t25 = load ptr, ptr %t1 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str10790) %t26 = load ptr, ptr %t1 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str10791) %t27 = load ptr, ptr %t0 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str10792) store i32 0, ptr %t28 br label %wcond3 wcond3: %t29 = load i32, ptr %t28 %t30 = load ptr, ptr %t7 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp slt i32 %t29, %t34 %t36 = zext i1 %t35 to i32 %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %wbody4, label %wend5 wbody4: %t38 = load ptr, ptr %t7 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 %t42 = load ptr, ptr %t41 %t43 = load i32, ptr %t28 %t44 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t45 = load i32, ptr %t44 %t46 = icmp ult i32 %t43, %t45 br i1 %t46, label %ixok6, label %ixbad7 ixbad7: %t47 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t47, ptr @.fmt_bounds, ptr @.str10793, i32 %t43, i32 %t45) call void @exit(i32 1) unreachable ixok6: %t48 = getelementptr inbounds ptr, ptr %t42, i32 %t43 %t49 = load ptr, ptr %t48 store ptr %t49, ptr %t50 %t51 = call ptr @fn_nreg() store ptr %t51, ptr %t52 call void @fn_emit(ptr @.str10794) %t53 = load ptr, ptr %t52 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str10795) %t54 = load ptr, ptr %t1 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str10796) %t55 = load ptr, ptr %t22 call void @fn_emit(ptr %t55) call void @fn_emit(ptr @.str10797) %t56 = load i32, ptr %t28 %t57 = call ptr @fn_itoa(i32 %t56) call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str10798) %t58 = load ptr, ptr %t50 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 3 %t60 = load ptr, ptr %t59 %t61 = call ptr @fn_llty(ptr %t60) store ptr %t61, ptr %t62 %t63 = load ptr, ptr %t62 %t64 = call ptr @fn_zero_of(ptr %t63) store ptr %t64, ptr %t65 %t66 = load ptr, ptr %t50 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 4 %t68 = load ptr, ptr %t67 %t69 = icmp ne ptr %t68, null %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then8, label %ifend10 then8: %t72 = load ptr, ptr %t50 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 4 %t74 = load ptr, ptr %t73 %t75 = call ptr @fn_emit_expr(ptr %t74) store ptr %t75, ptr %t76 %t77 = load ptr, ptr %t76 %t78 = load ptr, ptr %t50 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 3 %t80 = load ptr, ptr %t79 %t81 = call ptr @fn_coerce_code(ptr %t77, ptr %t80) store ptr %t81, ptr %t65 br label %ifend10 ifend10: call void @fn_emit(ptr @.str10799) %t82 = load ptr, ptr %t62 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str10800) %t83 = load ptr, ptr %t65 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str10801) %t84 = load ptr, ptr %t52 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str10802) %t85 = load i32, ptr %t28 %t86 = add i32 %t85, 1 store i32 %t86, ptr %t28 br label %wcond3 wend5: %t87 = load ptr, ptr %t2 %t88 = icmp ne ptr %t87, null %t89 = zext i1 %t88 to i32 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then11, label %ifend13 then11: store i32 0, ptr %t91 br label %wcond14 wcond14: %t92 = load i32, ptr %t91 %t93 = load ptr, ptr %t2 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 7 %t95 = load ptr, ptr %t94 %t96 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 1 %t97 = load i32, ptr %t96 %t98 = icmp slt i32 %t92, %t97 %t99 = zext i1 %t98 to i32 %t100 = icmp ne i32 %t99, 0 br i1 %t100, label %wbody15, label %wend16 wbody15: %t101 = load ptr, ptr %t2 %t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 7 %t103 = load ptr, ptr %t102 %t104 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 0 %t105 = load ptr, ptr %t104 %t106 = load i32, ptr %t91 %t107 = getelementptr inbounds %LSlice, ptr %t103, i32 0, i32 1 %t108 = load i32, ptr %t107 %t109 = icmp ult i32 %t106, %t108 br i1 %t109, label %ixok17, label %ixbad18 ixbad18: %t110 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t110, ptr @.fmt_bounds, ptr @.str10803, i32 %t106, i32 %t108) call void @exit(i32 1) unreachable ixok17: %t111 = getelementptr inbounds ptr, ptr %t105, i32 %t106 %t112 = load ptr, ptr %t111 store ptr %t112, ptr %t113 %t114 = load ptr, ptr %t7 %t115 = load ptr, ptr %t113 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1 %t117 = load ptr, ptr %t116 %t118 = call i32 @fn_field_index(ptr %t114, ptr %t117) store i32 %t118, ptr %t119 %t120 = load i32, ptr %t119 %t121 = icmp sge i32 %t120, 0 %t122 = zext i1 %t121 to i32 %t123 = icmp ne i32 %t122, 0 br i1 %t123, label %then19, label %ifend21 then19: %t124 = call ptr @fn_nreg() store ptr %t124, ptr %t125 call void @fn_emit(ptr @.str10804) %t126 = load ptr, ptr %t125 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str10805) %t127 = load ptr, ptr %t1 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str10806) %t128 = load ptr, ptr %t22 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str10807) %t129 = load i32, ptr %t119 %t130 = call ptr @fn_itoa(i32 %t129) call void @fn_emit(ptr %t130) call void @fn_emit(ptr @.str10808) %t131 = load ptr, ptr %t113 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 4 %t133 = load ptr, ptr %t132 %t134 = call ptr @fn_emit_expr(ptr %t133) store ptr %t134, ptr %t135 %t136 = load ptr, ptr %t7 %t137 = load ptr, ptr %t113 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 1 %t139 = load ptr, ptr %t138 %t140 = call ptr @fn_field_type(ptr %t136, ptr %t139) store ptr %t140, ptr %t141 %t142 = load ptr, ptr %t135 %t143 = load ptr, ptr %t141 %t144 = call ptr @fn_coerce_code(ptr %t142, ptr %t143) store ptr %t144, ptr %t145 call void @fn_emit(ptr @.str10809) %t146 = load ptr, ptr %t141 %t147 = call ptr @fn_llty(ptr %t146) call void @fn_emit(ptr %t147) call void @fn_emit(ptr @.str10810) %t148 = load ptr, ptr %t145 call void @fn_emit(ptr %t148) call void @fn_emit(ptr @.str10811) %t149 = load ptr, ptr %t125 call void @fn_emit(ptr %t149) call void @fn_emit(ptr @.str10812) br label %ifend21 ifend21: %t150 = load i32, ptr %t91 %t151 = add i32 %t150, 1 store i32 %t151, ptr %t91 br label %wcond14 wend16: br label %ifend13 ifend13: %t152 = load ptr, ptr %t1 %t153 = call ptr @fn_onattach_body(ptr %t152) store ptr %t153, ptr %t154 %t155 = load ptr, ptr %t154 %t156 = icmp ne ptr %t155, null %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then22, label %ifend24 then22: %t159 = load i32, ptr @g_nloc store i32 %t159, ptr %t160 %t161 = call ptr @fn_emit_alloca(ptr @.str10813) store ptr %t161, ptr %t162 call void @fn_emit(ptr @.str10814) %t163 = load ptr, ptr %t22 call void @fn_emit(ptr %t163) call void @fn_emit(ptr @.str10815) %t164 = load ptr, ptr %t162 call void @fn_emit(ptr %t164) call void @fn_emit(ptr @.str10816) %t165 = load ptr, ptr %t1 %t166 = load ptr, ptr %t162 %t167 = load ptr, ptr %t1 call void @fn_loc_push(ptr %t165, ptr %t166, ptr %t167) %t168 = load ptr, ptr %t0 %t169 = load ptr, ptr %t154 call void @fn_emit_hook_with_self(ptr %t168, ptr %t169) %t170 = load i32, ptr %t160 store i32 %t170, ptr @g_nloc br label %ifend24 ifend24: %t171 = load ptr, ptr %t1 %t172 = call ptr @lp_str_concat(ptr @.str10817, ptr %t171) %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str10818) store ptr %t173, ptr %t174 %t175 = load ptr, ptr %t174 %t176 = call ptr @fn_find_event(ptr %t175) %t177 = icmp ne ptr %t176, null %t178 = zext i1 %t177 to i32 %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then25, label %ifend27 then25: call void @fn_emit(ptr @.str10819) %t180 = load ptr, ptr %t174 call void @fn_emit(ptr %t180) call void @fn_emit(ptr @.str10820) %t181 = load ptr, ptr %t0 call void @fn_emit(ptr %t181) call void @fn_emit(ptr @.str10821) br label %ifend27 ifend27: br label %ret ret: ret void } define void @fn_emit_bind_props(ptr %arg_model, ptr %arg_e) { entry: %t0 = alloca ptr %t1 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 %t28 = alloca ptr %t30 = alloca ptr %t37 = alloca ptr store ptr %arg_model, ptr %t0 store ptr %arg_e, ptr %t1 %t2 = call ptr @fn_itoa(i32 1024) store ptr %t2, ptr %t3 store i32 0, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 7 %t8 = load ptr, ptr %t7 %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t10 = load i32, ptr %t9 %t11 = icmp slt i32 %t5, %t10 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %wbody1, label %wend2 wbody1: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 %t18 = load ptr, ptr %t17 %t19 = load i32, ptr %t4 %t20 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 %t21 = load i32, ptr %t20 %t22 = icmp ult i32 %t19, %t21 br i1 %t22, label %ixok3, label %ixbad4 ixbad4: %t23 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t23, ptr @.fmt_bounds, ptr @.str10822, i32 %t19, i32 %t21) call void @exit(i32 1) unreachable ixok3: %t24 = getelementptr inbounds ptr, ptr %t18, i32 %t19 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %t28 %t29 = call ptr @fn_nreg() store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str10823) %t31 = load ptr, ptr %t30 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str10824) %t32 = load ptr, ptr %t3 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str10825) %t33 = load ptr, ptr %t28 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str10826) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10827) %t35 = load ptr, ptr %t1 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str10828) %t36 = call ptr @fn_emit_alloca(ptr @.str10829) store ptr %t36, ptr %t37 call void @fn_emit(ptr @.str10830) %t38 = load ptr, ptr %t30 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str10831) %t39 = load ptr, ptr %t37 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str10832) %t40 = load ptr, ptr %t28 %t41 = load ptr, ptr %t37 %t42 = load ptr, ptr %t28 call void @fn_loc_push(ptr %t40, ptr %t41, ptr %t42) %t43 = load i32, ptr %t4 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t4 br label %wcond0 wend2: br label %ret ret: ret void } define ptr @fn_spawn_record(ptr %arg_n, ptr %arg_cn) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t6 = alloca i32 store ptr %arg_n, ptr %t0 store ptr %arg_cn, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = icmp eq ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: store ptr null, ptr %retval br label %ret ifend2: store i32 0, ptr %t6 br label %wcond3 wcond3: %t7 = load i32, ptr %t6 %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 7 %t10 = load ptr, ptr %t9 %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 %t12 = load i32, ptr %t11 %t13 = icmp slt i32 %t7, %t12 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %wbody4, label %wend5 wbody4: %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = load i32, ptr %t6 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t21, %t23 br i1 %t24, label %ixok6, label %ixbad7 ixbad7: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str10833, i32 %t21, i32 %t23) call void @exit(i32 1) unreachable ixok6: %t26 = getelementptr inbounds ptr, ptr %t20, i32 %t21 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 %t30 = load ptr, ptr %t1 %t31 = call i32 @lp_str_eq(ptr %t29, ptr %t30) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then8, label %ifend10 then8: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = load i32, ptr %t6 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t38, %t40 br i1 %t41, label %ixok11, label %ixbad12 ixbad12: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str10834, i32 %t38, i32 %t40) call void @exit(i32 1) unreachable ixok11: %t43 = getelementptr inbounds ptr, ptr %t37, i32 %t38 %t44 = load ptr, ptr %t43 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 4 %t46 = load ptr, ptr %t45 store ptr %t46, ptr %retval br label %ret ifend10: %t47 = load i32, ptr %t6 %t48 = add i32 %t47, 1 store i32 %t48, ptr %t6 br label %wcond3 wend5: store ptr null, ptr %retval br label %ret ret: %t49 = load ptr, ptr %retval ret ptr %t49 } define ptr @fn_merge_records(ptr %arg_base, ptr %arg_over) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t13 = alloca ptr %t14 = alloca i32 store ptr %arg_base, ptr %t0 store ptr %arg_over, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = icmp eq ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t1 store ptr %t6, ptr %retval br label %ret ifend2: %t7 = load ptr, ptr %t1 %t8 = icmp eq ptr %t7, null %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: %t11 = load ptr, ptr %t0 store ptr %t11, ptr %retval br label %ret ifend5: %t12 = call ptr @fn_node(i32 41) store ptr %t12, ptr %t13 store i32 0, ptr %t14 br label %wcond6 wcond6: %t15 = load i32, ptr %t14 %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp slt i32 %t15, %t20 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %wbody7, label %wend8 wbody7: %t24 = load ptr, ptr %t13 %t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7 %t26 = load ptr, ptr %t25 %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 7 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t31 = load ptr, ptr %t30 %t32 = load i32, ptr %t14 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t32, %t34 br i1 %t35, label %ixok9, label %ixbad10 ixbad10: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str10835, i32 %t32, i32 %t34) call void @exit(i32 1) unreachable ixok9: %t37 = getelementptr inbounds ptr, ptr %t31, i32 %t32 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t40 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2 %t41 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t42 = load i32, ptr %t39 %t43 = load i32, ptr %t40 %t44 = icmp sge i32 %t42, %t43 br i1 %t44, label %grow11, label %put12 grow11: %t45 = mul i32 %t43, 2 %t46 = icmp eq i32 %t43, 0 %t47 = select i1 %t46, i32 8, i32 %t45 %t48 = getelementptr ptr, ptr null, i32 1 %t49 = ptrtoint ptr %t48 to i64 %t50 = zext i32 %t47 to i64 %t51 = mul i64 %t50, %t49 %t52 = load ptr, ptr %t41 %t53 = call ptr @realloc(ptr %t52, i64 %t51) store ptr %t53, ptr %t41 store i32 %t47, ptr %t40 br label %put12 put12: %t54 = load ptr, ptr %t41 %t55 = getelementptr inbounds ptr, ptr %t54, i32 %t42 store ptr %t38, ptr %t55 %t56 = add i32 %t42, 1 store i32 %t56, ptr %t39 %t57 = load i32, ptr %t14 %t58 = add i32 %t57, 1 store i32 %t58, ptr %t14 br label %wcond6 wend8: store i32 0, ptr %t14 br label %wcond13 wcond13: %t59 = load i32, ptr %t14 %t60 = load ptr, ptr %t1 %t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 7 %t62 = load ptr, ptr %t61 %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp slt i32 %t59, %t64 %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %wbody14, label %wend15 wbody14: %t68 = load ptr, ptr %t13 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 7 %t70 = load ptr, ptr %t69 %t71 = load ptr, ptr %t1 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 7 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 %t75 = load ptr, ptr %t74 %t76 = load i32, ptr %t14 %t77 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 %t78 = load i32, ptr %t77 %t79 = icmp ult i32 %t76, %t78 br i1 %t79, label %ixok16, label %ixbad17 ixbad17: %t80 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t80, ptr @.fmt_bounds, ptr @.str10836, i32 %t76, i32 %t78) call void @exit(i32 1) unreachable ixok16: %t81 = getelementptr inbounds ptr, ptr %t75, i32 %t76 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1 %t84 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 2 %t85 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0 %t86 = load i32, ptr %t83 %t87 = load i32, ptr %t84 %t88 = icmp sge i32 %t86, %t87 br i1 %t88, label %grow18, label %put19 grow18: %t89 = mul i32 %t87, 2 %t90 = icmp eq i32 %t87, 0 %t91 = select i1 %t90, i32 8, i32 %t89 %t92 = getelementptr ptr, ptr null, i32 1 %t93 = ptrtoint ptr %t92 to i64 %t94 = zext i32 %t91 to i64 %t95 = mul i64 %t94, %t93 %t96 = load ptr, ptr %t85 %t97 = call ptr @realloc(ptr %t96, i64 %t95) store ptr %t97, ptr %t85 store i32 %t91, ptr %t84 br label %put19 put19: %t98 = load ptr, ptr %t85 %t99 = getelementptr inbounds ptr, ptr %t98, i32 %t86 store ptr %t82, ptr %t99 %t100 = add i32 %t86, 1 store i32 %t100, ptr %t83 %t101 = load i32, ptr %t14 %t102 = add i32 %t101, 1 store i32 %t102, ptr %t14 br label %wcond13 wend15: %t103 = load ptr, ptr %t13 store ptr %t103, ptr %retval br label %ret ret: %t104 = load ptr, ptr %retval ret ptr %t104 } define ptr @fn_spawn_model(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca ptr %t3 = alloca i32 %t7 = alloca ptr store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 store ptr %t1, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = icmp ne i32 1, 0 br i1 %t4, label %wbody1, label %wend2 wbody1: %t5 = load ptr, ptr %t2 %t6 = call ptr @fn_find_prefab(ptr %t5) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = icmp eq ptr %t8, null %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: %t12 = load ptr, ptr %t2 store ptr %t12, ptr %retval br label %ret ifend5: %t13 = load ptr, ptr %t7 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 3 %t15 = load ptr, ptr %t14 store ptr %t15, ptr %t2 %t16 = load i32, ptr %t3 %t17 = add i32 %t16, 1 store i32 %t17, ptr %t3 %t18 = load i32, ptr %t3 %t19 = icmp sgt i32 %t18, 16 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then6, label %ifend8 then6: %t22 = load ptr, ptr %t0 %t23 = call ptr @lp_str_concat(ptr @.str10837, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str10838) call void @fn_perr(ptr %t24) br label %ifend8 ifend8: br label %wcond0 wend2: %t25 = load ptr, ptr %t2 store ptr %t25, ptr %retval br label %ret ret: %t26 = load ptr, ptr %retval ret ptr %t26 } define ptr @fn_prefab_record(ptr %arg_name, ptr %arg_cn) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t4 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_cn, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @fn_find_prefab(ptr %t2) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 %t6 = icmp eq ptr %t5, null %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: store ptr null, ptr %retval br label %ret ifend2: %t9 = load ptr, ptr %t4 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 3 %t11 = load ptr, ptr %t10 %t12 = load ptr, ptr %t1 %t13 = call ptr @fn_prefab_record(ptr %t11, ptr %t12) %t14 = load ptr, ptr %t4 %t15 = load ptr, ptr %t1 %t16 = call ptr @fn_spawn_record(ptr %t14, ptr %t15) %t17 = call ptr @fn_merge_records(ptr %t13, ptr %t16) store ptr %t17, ptr %retval br label %ret ret: %t18 = load ptr, ptr %retval ret ptr %t18 } define void @fn_emit_worker_guard(ptr %arg_what, i32 %arg_line) { entry: %t0 = alloca ptr %t1 = alloca i32 %t7 = alloca ptr %t12 = alloca ptr %t14 = alloca ptr %t16 = alloca ptr %t35 = alloca ptr %t39 = alloca ptr %t42 = alloca ptr store ptr %arg_what, ptr %t0 store i32 %arg_line, ptr %t1 %t2 = load i32, ptr @g_g_uses_jobs %t3 = icmp eq i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: br label %ret ifend2: store i32 1, ptr @g_g_uses_panic %t6 = call ptr @fn_emit_bind(ptr @.str10839) store ptr %t6, ptr %t7 %t8 = load ptr, ptr %t7 %t9 = call ptr @lp_str_concat(ptr @.str10840, ptr %t8) %t10 = call ptr @lp_str_concat(ptr %t9, ptr @.str10841) %t11 = call ptr @fn_emit_bind(ptr %t10) store ptr %t11, ptr %t12 %t13 = call ptr @fn_lbl(ptr @.str10842) store ptr %t13, ptr %t14 %t15 = call ptr @fn_lbl(ptr @.str10843) store ptr %t15, ptr %t16 %t17 = load ptr, ptr %t12 %t18 = call ptr @lp_str_concat(ptr @.str10844, ptr %t17) %t19 = call ptr @lp_str_concat(ptr %t18, ptr @.str10845) %t20 = load ptr, ptr %t16 %t21 = call ptr @lp_str_concat(ptr %t19, ptr %t20) %t22 = call ptr @lp_str_concat(ptr %t21, ptr @.str10846) %t23 = load ptr, ptr %t14 %t24 = call ptr @lp_str_concat(ptr %t22, ptr %t23) %t25 = call ptr @lp_str_concat(ptr %t24, ptr @.str10847) call void @fn_emit(ptr %t25) %t26 = load ptr, ptr %t16 %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str10848) call void @fn_emit(ptr %t27) %t28 = load ptr, ptr @g_g_src_name %t29 = call ptr @lp_str_concat(ptr %t28, ptr @.str10849) %t30 = load i32, ptr %t1 %t31 = call ptr @fn_itoa(i32 %t30) %t32 = call ptr @lp_str_concat(ptr %t29, ptr %t31) %t33 = call ptr @lp_str_concat(ptr %t32, ptr @.str10850) %t34 = call ptr @fn_emit_str_const(ptr %t33) store ptr %t34, ptr %t35 %t36 = load ptr, ptr %t0 %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str10851) %t38 = call ptr @fn_emit_str_const(ptr %t37) store ptr %t38, ptr %t39 %t40 = call ptr @fn_stdstream_rhs(i32 2) %t41 = call ptr @fn_emit_bind(ptr %t40) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t42 %t44 = call ptr @lp_str_concat(ptr @.str10852, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str10853) %t46 = load ptr, ptr %t35 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str10854) %t49 = load ptr, ptr %t39 %t50 = call ptr @lp_str_concat(ptr %t48, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str10855) call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str10856) %t52 = load ptr, ptr %t14 %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str10857) call void @fn_emit(ptr %t53) br label %ret ret: ret void } define ptr @fn_emit_spawn(ptr %arg_st) { entry: %retval = alloca ptr %t0 = alloca ptr %t5 = alloca ptr %t10 = alloca ptr %t13 = alloca i32 %t14 = alloca i32 %t42 = alloca ptr %t44 = alloca ptr %t53 = alloca ptr %t54 = alloca i32 %t78 = alloca ptr %t94 = alloca ptr %t100 = alloca i32 %t109 = alloca ptr %t117 = alloca i32 store ptr %arg_st, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 8 %t3 = load i32, ptr %t2 call void @fn_emit_worker_guard(ptr @.str10858, i32 %t3) %t4 = call ptr @fn_emit_bind(ptr @.str10859) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t0 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1 %t8 = load ptr, ptr %t7 %t9 = call ptr @fn_spawn_model(ptr %t8) store ptr %t9, ptr %t10 %t11 = load ptr, ptr %t10 %t12 = call i32 @fn_find_arch_id(ptr %t11) store i32 %t12, ptr %t13 %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1 %t17 = load ptr, ptr %t16 %t18 = call ptr @fn_find_prefab(ptr %t17) %t19 = icmp ne ptr %t18, null %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t14 br i1 %t21, label %sc0, label %scend1 sc0: %t23 = load i32, ptr %t13 %t24 = icmp eq i32 %t23, 0 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t14 br label %scend1 scend1: %t28 = load i32, ptr %t14 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then2, label %ifend4 then2: %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 1 %t32 = load ptr, ptr %t31 %t33 = call ptr @lp_str_concat(ptr @.str10860, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str10861) %t35 = load ptr, ptr %t10 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) call void @fn_perr(ptr %t36) br label %ifend4 ifend4: %t37 = load i32, ptr %t13 %t38 = icmp sgt i32 %t37, 0 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then5, label %else6 then5: %t41 = call ptr @fn_itoa(i32 1024) store ptr %t41, ptr %t42 %t43 = call ptr @fn_nreg() store ptr %t43, ptr %t44 call void @fn_emit(ptr @.str10862) %t45 = load ptr, ptr %t44 call void @fn_emit(ptr %t45) call void @fn_emit(ptr @.str10863) %t46 = load ptr, ptr %t42 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str10864) %t47 = load ptr, ptr %t5 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str10865) call void @fn_emit(ptr @.str10866) %t48 = load i32, ptr %t13 %t49 = call ptr @fn_itoa(i32 %t48) call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10867) %t50 = load ptr, ptr %t44 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10868) %t51 = load ptr, ptr %t10 %t52 = call ptr @fn_find_arch(ptr %t51) store ptr %t52, ptr %t53 store i32 0, ptr %t54 br label %wcond8 wcond8: %t55 = load i32, ptr %t54 %t56 = load ptr, ptr %t53 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t60 = load i32, ptr %t59 %t61 = icmp slt i32 %t55, %t60 %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 br i1 %t63, label %wbody9, label %wend10 wbody9: %t64 = load ptr, ptr %t53 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0 %t68 = load ptr, ptr %t67 %t69 = load i32, ptr %t54 %t70 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t71 = load i32, ptr %t70 %t72 = icmp ult i32 %t69, %t71 br i1 %t72, label %ixok11, label %ixbad12 ixbad12: %t73 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t73, ptr @.fmt_bounds, ptr @.str10869, i32 %t69, i32 %t71) call void @exit(i32 1) unreachable ixok11: %t74 = getelementptr inbounds ptr, ptr %t68, i32 %t69 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 1 %t77 = load ptr, ptr %t76 store ptr %t77, ptr %t78 %t79 = load ptr, ptr %t5 %t80 = load ptr, ptr %t78 %t81 = load ptr, ptr %t0 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1 %t83 = load ptr, ptr %t82 %t84 = load ptr, ptr %t78 %t85 = call ptr @fn_prefab_record(ptr %t83, ptr %t84) %t86 = load ptr, ptr %t0 %t87 = load ptr, ptr %t78 %t88 = call ptr @fn_spawn_record(ptr %t86, ptr %t87) %t89 = call ptr @fn_merge_records(ptr %t85, ptr %t88) call void @fn_emit_init_component(ptr %t79, ptr %t80, ptr %t89) %t90 = load i32, ptr %t54 %t91 = add i32 %t90, 1 store i32 %t91, ptr %t54 br label %wcond8 wend10: %t92 = load ptr, ptr %t10 %t93 = call ptr @fn_onspawn_body(ptr %t92) store ptr %t93, ptr %t94 %t95 = load ptr, ptr %t94 %t96 = icmp ne ptr %t95, null %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then13, label %ifend15 then13: %t99 = load i32, ptr @g_nloc store i32 %t99, ptr %t100 %t101 = load ptr, ptr %t53 %t102 = load ptr, ptr %t5 call void @fn_emit_bind_props(ptr %t101, ptr %t102) %t103 = load ptr, ptr %t5 %t104 = load ptr, ptr %t94 call void @fn_emit_hook_with_self(ptr %t103, ptr %t104) %t105 = load i32, ptr %t100 store i32 %t105, ptr @g_nloc br label %ifend15 ifend15: %t106 = load ptr, ptr %t10 %t107 = call ptr @lp_str_concat(ptr @.str10870, ptr %t106) %t108 = call ptr @lp_str_concat(ptr %t107, ptr @.str10871) store ptr %t108, ptr %t109 %t110 = load ptr, ptr %t109 %t111 = call ptr @fn_find_event(ptr %t110) %t112 = icmp ne ptr %t111, null %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then16, label %ifend18 then16: call void @fn_emit(ptr @.str10872) %t115 = load ptr, ptr %t109 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str10873) %t116 = load ptr, ptr %t5 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str10874) br label %ifend18 ifend18: br label %ifend7 else6: store i32 0, ptr %t117 br label %wcond19 wcond19: %t118 = load i32, ptr %t117 %t119 = load ptr, ptr %t0 %t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 7 %t121 = load ptr, ptr %t120 %t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 1 %t123 = load i32, ptr %t122 %t124 = icmp slt i32 %t118, %t123 %t125 = zext i1 %t124 to i32 %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %wbody20, label %wend21 wbody20: %t127 = load ptr, ptr %t5 %t128 = load ptr, ptr %t0 %t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 7 %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t132 = load ptr, ptr %t131 %t133 = load i32, ptr %t117 %t134 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t135 = load i32, ptr %t134 %t136 = icmp ult i32 %t133, %t135 br i1 %t136, label %ixok22, label %ixbad23 ixbad23: %t137 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t137, ptr @.fmt_bounds, ptr @.str10875, i32 %t133, i32 %t135) call void @exit(i32 1) unreachable ixok22: %t138 = getelementptr inbounds ptr, ptr %t132, i32 %t133 %t139 = load ptr, ptr %t138 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 1 %t141 = load ptr, ptr %t140 %t142 = load ptr, ptr %t0 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 7 %t144 = load ptr, ptr %t143 %t145 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 0 %t146 = load ptr, ptr %t145 %t147 = load i32, ptr %t117 %t148 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1 %t149 = load i32, ptr %t148 %t150 = icmp ult i32 %t147, %t149 br i1 %t150, label %ixok24, label %ixbad25 ixbad25: %t151 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t151, ptr @.fmt_bounds, ptr @.str10876, i32 %t147, i32 %t149) call void @exit(i32 1) unreachable ixok24: %t152 = getelementptr inbounds ptr, ptr %t146, i32 %t147 %t153 = load ptr, ptr %t152 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 4 %t155 = load ptr, ptr %t154 call void @fn_emit_init_component(ptr %t127, ptr %t141, ptr %t155) %t156 = load i32, ptr %t117 %t157 = add i32 %t156, 1 store i32 %t157, ptr %t117 br label %wcond19 wend21: br label %ifend7 ifend7: %t158 = load ptr, ptr %t5 store ptr %t158, ptr %retval br label %ret ret: %t159 = load ptr, ptr %retval ret ptr %t159 } define void @fn_emit_despawn(ptr %arg_st) { entry: %t0 = alloca ptr %t8 = alloca ptr %t16 = alloca ptr %t18 = alloca ptr %t27 = alloca ptr %t28 = alloca i32 %t48 = alloca ptr %t57 = alloca ptr %t59 = alloca ptr %t61 = alloca ptr %t73 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 8 %t3 = load i32, ptr %t2 call void @fn_emit_worker_guard(ptr @.str10877, i32 %t3) %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 4 %t6 = load ptr, ptr %t5 %t7 = call ptr @fn_emit_expr(ptr %t6) store ptr %t7, ptr %t8 %t9 = load ptr, ptr @g_g_ondespawn %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp sgt i32 %t11, 0 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then0, label %ifend2 then0: %t15 = call ptr @fn_itoa(i32 1024) store ptr %t15, ptr %t16 %t17 = call ptr @fn_nreg() store ptr %t17, ptr %t18 call void @fn_emit(ptr @.str10878) %t19 = load ptr, ptr %t18 call void @fn_emit(ptr %t19) call void @fn_emit(ptr @.str10879) %t20 = load ptr, ptr %t16 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str10880) %t21 = load ptr, ptr %t8 %t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0 %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str10881) %t24 = load ptr, ptr %t18 %t25 = call ptr @lp_str_concat(ptr @.str10882, ptr %t24) %t26 = call ptr @fn_emit_bind(ptr %t25) store ptr %t26, ptr %t27 store i32 0, ptr %t28 br label %wcond3 wcond3: %t29 = load i32, ptr %t28 %t30 = load ptr, ptr @g_g_ondespawn %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp slt i32 %t29, %t32 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %wbody4, label %wend5 wbody4: %t36 = load ptr, ptr @g_g_ondespawn %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = load i32, ptr %t28 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t39, %t41 br i1 %t42, label %ixok6, label %ixbad7 ixbad7: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str10883, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok6: %t44 = getelementptr inbounds ptr, ptr %t38, i32 %t39 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t27 %t50 = call ptr @lp_str_concat(ptr @.str10884, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str10885) %t52 = load ptr, ptr %t48 %t53 = call i32 @fn_find_arch_id(ptr %t52) %t54 = call ptr @fn_itoa(i32 %t53) %t55 = call ptr @lp_str_concat(ptr %t51, ptr %t54) %t56 = call ptr @fn_emit_bind(ptr %t55) store ptr %t56, ptr %t57 %t58 = call ptr @fn_lbl(ptr @.str10886) store ptr %t58, ptr %t59 %t60 = call ptr @fn_lbl(ptr @.str10887) store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str10888) %t62 = load ptr, ptr %t57 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10889) %t63 = load ptr, ptr %t59 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10890) %t64 = load ptr, ptr %t61 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str10891) %t65 = load ptr, ptr %t59 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str10892) %t66 = load ptr, ptr %t48 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10893) %t67 = load ptr, ptr %t8 %t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 0 %t69 = load ptr, ptr %t68 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str10894) %t70 = load ptr, ptr %t48 %t71 = call ptr @lp_str_concat(ptr @.str10895, ptr %t70) %t72 = call ptr @lp_str_concat(ptr %t71, ptr @.str10896) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t73 %t75 = call ptr @fn_find_event(ptr %t74) %t76 = icmp ne ptr %t75, null %t77 = zext i1 %t76 to i32 %t78 = icmp ne i32 %t77, 0 br i1 %t78, label %then8, label %ifend10 then8: call void @fn_emit(ptr @.str10897) %t79 = load ptr, ptr %t73 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str10898) %t80 = load ptr, ptr %t8 %t81 = getelementptr inbounds %Cmp_Val, ptr %t80, i32 0, i32 0 %t82 = load ptr, ptr %t81 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str10899) br label %ifend10 ifend10: call void @fn_emit(ptr @.str10900) %t83 = load ptr, ptr %t61 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str10901) %t84 = load ptr, ptr %t61 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str10902) %t85 = load i32, ptr %t28 %t86 = add i32 %t85, 1 store i32 %t86, ptr %t28 br label %wcond3 wend5: br label %ifend2 ifend2: %t87 = load ptr, ptr @g_g_events %t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 1 %t89 = load i32, ptr %t88 %t90 = icmp sgt i32 %t89, 0 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then11, label %ifend13 then11: call void @fn_emit(ptr @.str10903) %t93 = load ptr, ptr %t8 %t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0 %t95 = load ptr, ptr %t94 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str10904) br label %ifend13 ifend13: call void @fn_emit(ptr @.str10905) %t96 = load ptr, ptr %t8 %t97 = getelementptr inbounds %Cmp_Val, ptr %t96, i32 0, i32 0 %t98 = load ptr, ptr %t97 call void @fn_emit(ptr %t98) call void @fn_emit(ptr @.str10906) br label %ret ret: ret void } define void @fn_emit_attach(ptr %arg_st) { entry: %t0 = alloca ptr %t5 = alloca ptr %t7 = alloca ptr %t9 = alloca ptr %t21 = alloca ptr %t26 = alloca ptr %t28 = alloca ptr %t30 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_emit_expr(ptr %t3) store ptr %t4, ptr %t5 %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 %t8 = call ptr @fn_nreg() store ptr %t8, ptr %t9 call void @fn_emit(ptr @.str10907) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str10908) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str10909) %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 %t14 = load ptr, ptr %t13 call void @fn_emit(ptr %t14) call void @fn_emit(ptr @.str10910) %t15 = load ptr, ptr %t5 %t16 = getelementptr inbounds %Cmp_Val, ptr %t15, i32 0, i32 0 %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str10911) %t18 = load ptr, ptr %t9 %t19 = call ptr @lp_str_concat(ptr @.str10912, ptr %t18) %t20 = call ptr @fn_emit_bind(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t21 %t23 = call ptr @lp_str_concat(ptr @.str10913, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str10914) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = call ptr @fn_lbl(ptr @.str10915) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str10916) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str10917) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str10918) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str10919) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str10920) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10921) store i32 0, ptr @g_g_term %t35 = load ptr, ptr %t5 %t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = load ptr, ptr %t0 %t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 1 %t40 = load ptr, ptr %t39 %t41 = load ptr, ptr %t0 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 5 %t43 = load ptr, ptr %t42 call void @fn_emit_init_component(ptr %t37, ptr %t40, ptr %t43) %t44 = load i32, ptr @g_g_term %t45 = icmp eq i32 %t44, 0 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str10922) %t48 = load ptr, ptr %t30 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str10923) br label %ifend2 ifend2: %t49 = load ptr, ptr %t30 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10924) store i32 0, ptr @g_g_term br label %ret ret: ret void } define void @fn_emit_detach(ptr %arg_st) { entry: %t0 = alloca ptr %t5 = alloca ptr %t7 = alloca ptr %t9 = alloca ptr %t21 = alloca ptr %t26 = alloca ptr %t28 = alloca ptr %t30 = alloca ptr %t40 = alloca ptr %t46 = alloca i32 %t48 = alloca ptr %t61 = alloca ptr %t78 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_emit_expr(ptr %t3) store ptr %t4, ptr %t5 %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 %t8 = call ptr @fn_nreg() store ptr %t8, ptr %t9 call void @fn_emit(ptr @.str10925) %t10 = load ptr, ptr %t9 call void @fn_emit(ptr %t10) call void @fn_emit(ptr @.str10926) %t11 = load ptr, ptr %t7 call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str10927) %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1 %t14 = load ptr, ptr %t13 call void @fn_emit(ptr %t14) call void @fn_emit(ptr @.str10928) %t15 = load ptr, ptr %t5 %t16 = getelementptr inbounds %Cmp_Val, ptr %t15, i32 0, i32 0 %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str10929) %t18 = load ptr, ptr %t9 %t19 = call ptr @lp_str_concat(ptr @.str10930, ptr %t18) %t20 = call ptr @fn_emit_bind(ptr %t19) store ptr %t20, ptr %t21 %t22 = load ptr, ptr %t21 %t23 = call ptr @lp_str_concat(ptr @.str10931, ptr %t22) %t24 = call ptr @lp_str_concat(ptr %t23, ptr @.str10932) %t25 = call ptr @fn_emit_bind(ptr %t24) store ptr %t25, ptr %t26 %t27 = call ptr @fn_lbl(ptr @.str10933) store ptr %t27, ptr %t28 %t29 = call ptr @fn_lbl(ptr @.str10934) store ptr %t29, ptr %t30 call void @fn_emit(ptr @.str10935) %t31 = load ptr, ptr %t26 call void @fn_emit(ptr %t31) call void @fn_emit(ptr @.str10936) %t32 = load ptr, ptr %t28 call void @fn_emit(ptr %t32) call void @fn_emit(ptr @.str10937) %t33 = load ptr, ptr %t30 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str10938) %t34 = load ptr, ptr %t28 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str10939) store i32 0, ptr @g_g_term call void @fn_emit(ptr @.str10940) %t35 = load ptr, ptr %t9 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str10941) %t36 = load ptr, ptr %t0 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 %t39 = call ptr @fn_ondetach_body(ptr %t38) store ptr %t39, ptr %t40 %t41 = load ptr, ptr %t40 %t42 = icmp ne ptr %t41, null %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then0, label %ifend2 then0: %t45 = load i32, ptr @g_nloc store i32 %t45, ptr %t46 %t47 = call ptr @fn_nreg() store ptr %t47, ptr %t48 call void @fn_emit(ptr @.str10942) %t49 = load ptr, ptr %t48 call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str10943) %t50 = load ptr, ptr %t7 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str10944) %t51 = load ptr, ptr %t0 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1 %t53 = load ptr, ptr %t52 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str10945) %t54 = load ptr, ptr %t0 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 call void @fn_emit(ptr %t56) call void @fn_emit(ptr @.str10946) %t57 = load ptr, ptr %t5 %t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0 %t59 = load ptr, ptr %t58 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str10947) %t60 = call ptr @fn_emit_alloca(ptr @.str10948) store ptr %t60, ptr %t61 call void @fn_emit(ptr @.str10949) %t62 = load ptr, ptr %t48 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str10950) %t63 = load ptr, ptr %t61 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str10951) %t64 = load ptr, ptr %t0 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1 %t66 = load ptr, ptr %t65 %t67 = load ptr, ptr %t61 %t68 = load ptr, ptr %t0 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t69 call void @fn_loc_push(ptr %t66, ptr %t67, ptr %t70) %t71 = load ptr, ptr %t40 call void @fn_emit_block(ptr %t71) %t72 = load i32, ptr %t46 store i32 %t72, ptr @g_nloc br label %ifend2 ifend2: %t73 = load ptr, ptr %t0 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 1 %t75 = load ptr, ptr %t74 %t76 = call ptr @lp_str_concat(ptr @.str10952, ptr %t75) %t77 = call ptr @lp_str_concat(ptr %t76, ptr @.str10953) store ptr %t77, ptr %t78 %t79 = load ptr, ptr %t78 %t80 = call ptr @fn_find_event(ptr %t79) %t81 = icmp ne ptr %t80, null %t82 = zext i1 %t81 to i32 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str10954) %t84 = load ptr, ptr %t78 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str10955) %t85 = load ptr, ptr %t5 %t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0 %t87 = load ptr, ptr %t86 call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str10956) br label %ifend5 ifend5: %t88 = load i32, ptr @g_g_term %t89 = icmp eq i32 %t88, 0 %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then6, label %ifend8 then6: call void @fn_emit(ptr @.str10957) %t92 = load ptr, ptr %t30 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str10958) br label %ifend8 ifend8: %t93 = load ptr, ptr %t30 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str10959) store i32 0, ptr @g_g_term br label %ret ret: ret void } define ptr @fn_find_sys(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t20 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_prog %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_prog %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str10960, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t21 = load ptr, ptr %t19 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0 %t23 = load i32, ptr %t22 %t24 = icmp eq i32 %t23, 9 %t25 = zext i1 %t24 to i32 %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t20 br i1 %t26, label %sc5, label %scend6 sc5: %t28 = load ptr, ptr %t19 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1 %t30 = load ptr, ptr %t29 %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t30, ptr %t31) %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t20 br label %scend6 scend6: %t35 = load i32, ptr %t20 %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then7, label %ifend9 then7: %t37 = load ptr, ptr %t19 store ptr %t37, ptr %retval br label %ret ifend9: %t38 = load i32, ptr %t1 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t1 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t40 = load ptr, ptr %retval ret ptr %t40 } define void @fn_emit_toggle(ptr %arg_st) { entry: %t0 = alloca ptr %t1 = alloca ptr %t8 = alloca i32 %t24 = alloca i32 %t49 = alloca ptr %t77 = alloca ptr %t79 = alloca ptr %t81 = alloca ptr %t92 = alloca ptr %t112 = alloca i32 %t114 = alloca ptr %t127 = alloca ptr %t144 = alloca ptr %t165 = alloca ptr %t174 = alloca ptr %t175 = alloca i32 %t176 = alloca i32 %t203 = alloca ptr store ptr %arg_st, ptr %t0 store ptr @.str10961, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 2 %t4 = load i32, ptr %t3 %t5 = icmp eq i32 %t4, 1 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store ptr @.str10962, ptr %t1 br label %ifend2 ifend2: %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 3 %t11 = load ptr, ptr %t10 %t12 = icmp ne ptr %t11, null %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t8 br i1 %t14, label %sc3, label %scend4 sc3: %t16 = load ptr, ptr %t0 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3 %t18 = load ptr, ptr %t17 %t19 = call i32 @lp_str_eq(ptr %t18, ptr @.str10963) %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t8 br label %scend4 scend4: %t22 = load i32, ptr %t8 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: br label %ret ifend7: %t25 = load ptr, ptr %t0 %t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 3 %t27 = load ptr, ptr %t26 %t28 = icmp ne ptr %t27, null %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 %t31 = zext i1 %t30 to i32 store i32 %t31, ptr %t24 br i1 %t30, label %sc8, label %scend9 sc8: %t32 = load ptr, ptr %t0 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 3 %t34 = load ptr, ptr %t33 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str10964) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t24 br label %scend9 scend9: %t38 = load i32, ptr %t24 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then10, label %ifend12 then10: call void @fn_emit(ptr @.str10965) %t40 = load ptr, ptr %t1 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str10966) %t41 = load ptr, ptr %t0 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str10967) %t44 = load ptr, ptr %t0 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1 %t46 = load ptr, ptr %t45 %t47 = call ptr @lp_str_concat(ptr @.str10968, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str10969) store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t0 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 2 %t52 = load i32, ptr %t51 %t53 = icmp eq i32 %t52, 1 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then13, label %ifend15 then13: %t56 = load ptr, ptr %t0 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 1 %t58 = load ptr, ptr %t57 %t59 = call ptr @lp_str_concat(ptr @.str10970, ptr %t58) %t60 = call ptr @lp_str_concat(ptr %t59, ptr @.str10971) store ptr %t60, ptr %t49 br label %ifend15 ifend15: %t61 = load ptr, ptr %t49 %t62 = call ptr @fn_find_event(ptr %t61) %t63 = icmp ne ptr %t62, null %t64 = zext i1 %t63 to i32 %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then16, label %ifend18 then16: call void @fn_emit(ptr @.str10972) %t66 = load ptr, ptr %t49 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str10973) br label %ifend18 ifend18: br label %ret ifend12: %t67 = load ptr, ptr %t0 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4 %t69 = load ptr, ptr %t68 %t70 = icmp ne ptr %t69, null %t71 = zext i1 %t70 to i32 %t72 = icmp ne i32 %t71, 0 br i1 %t72, label %then19, label %else20 then19: %t73 = load ptr, ptr %t0 %t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 4 %t75 = load ptr, ptr %t74 %t76 = call ptr @fn_emit_expr(ptr %t75) store ptr %t76, ptr %t77 %t78 = call ptr @fn_itoa(i32 1024) store ptr %t78, ptr %t79 %t80 = call ptr @fn_nreg() store ptr %t80, ptr %t81 call void @fn_emit(ptr @.str10974) %t82 = load ptr, ptr %t81 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str10975) %t83 = load ptr, ptr %t79 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str10976) %t84 = load ptr, ptr %t0 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 1 %t86 = load ptr, ptr %t85 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str10977) %t87 = load ptr, ptr %t77 %t88 = getelementptr inbounds %Cmp_Val, ptr %t87, i32 0, i32 0 %t89 = load ptr, ptr %t88 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str10978) call void @fn_emit(ptr @.str10979) %t90 = load ptr, ptr %t1 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str10980) %t91 = load ptr, ptr %t81 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str10981) store ptr null, ptr %t92 %t93 = load ptr, ptr %t0 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 2 %t95 = load i32, ptr %t94 %t96 = icmp eq i32 %t95, 1 %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then22, label %else23 then22: %t99 = load ptr, ptr %t0 %t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 1 %t101 = load ptr, ptr %t100 %t102 = call ptr @fn_onenable_body(ptr %t101) store ptr %t102, ptr %t92 br label %ifend24 else23: %t103 = load ptr, ptr %t0 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 1 %t105 = load ptr, ptr %t104 %t106 = call ptr @fn_ondisable_body(ptr %t105) store ptr %t106, ptr %t92 br label %ifend24 ifend24: %t107 = load ptr, ptr %t92 %t108 = icmp ne ptr %t107, null %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then25, label %ifend27 then25: %t111 = load i32, ptr @g_nloc store i32 %t111, ptr %t112 %t113 = call ptr @fn_nreg() store ptr %t113, ptr %t114 call void @fn_emit(ptr @.str10982) %t115 = load ptr, ptr %t114 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str10983) %t116 = load ptr, ptr %t79 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str10984) %t117 = load ptr, ptr %t0 %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 1 %t119 = load ptr, ptr %t118 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str10985) %t120 = load ptr, ptr %t0 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 1 %t122 = load ptr, ptr %t121 call void @fn_emit(ptr %t122) call void @fn_emit(ptr @.str10986) %t123 = load ptr, ptr %t77 %t124 = getelementptr inbounds %Cmp_Val, ptr %t123, i32 0, i32 0 %t125 = load ptr, ptr %t124 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str10987) %t126 = call ptr @fn_emit_alloca(ptr @.str10988) store ptr %t126, ptr %t127 call void @fn_emit(ptr @.str10989) %t128 = load ptr, ptr %t114 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str10990) %t129 = load ptr, ptr %t127 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str10991) %t130 = load ptr, ptr %t0 %t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 1 %t132 = load ptr, ptr %t131 %t133 = load ptr, ptr %t127 %t134 = load ptr, ptr %t0 %t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 1 %t136 = load ptr, ptr %t135 call void @fn_loc_push(ptr %t132, ptr %t133, ptr %t136) %t137 = load ptr, ptr %t92 call void @fn_emit_block(ptr %t137) %t138 = load i32, ptr %t112 store i32 %t138, ptr @g_nloc br label %ifend27 ifend27: %t139 = load ptr, ptr %t0 %t140 = getelementptr inbounds %Cmp_Node, ptr %t139, i32 0, i32 1 %t141 = load ptr, ptr %t140 %t142 = call ptr @lp_str_concat(ptr @.str10992, ptr %t141) %t143 = call ptr @lp_str_concat(ptr %t142, ptr @.str10993) store ptr %t143, ptr %t144 %t145 = load ptr, ptr %t0 %t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 2 %t147 = load i32, ptr %t146 %t148 = icmp eq i32 %t147, 1 %t149 = zext i1 %t148 to i32 %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %then28, label %ifend30 then28: %t151 = load ptr, ptr %t0 %t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 1 %t153 = load ptr, ptr %t152 %t154 = call ptr @lp_str_concat(ptr @.str10994, ptr %t153) %t155 = call ptr @lp_str_concat(ptr %t154, ptr @.str10995) store ptr %t155, ptr %t144 br label %ifend30 ifend30: %t156 = load ptr, ptr %t144 %t157 = call ptr @fn_find_event(ptr %t156) %t158 = icmp ne ptr %t157, null %t159 = zext i1 %t158 to i32 %t160 = icmp ne i32 %t159, 0 br i1 %t160, label %then31, label %ifend33 then31: call void @fn_emit(ptr @.str10996) %t161 = load ptr, ptr %t144 call void @fn_emit(ptr %t161) call void @fn_emit(ptr @.str10997) %t162 = load ptr, ptr %t77 %t163 = getelementptr inbounds %Cmp_Val, ptr %t162, i32 0, i32 0 %t164 = load ptr, ptr %t163 call void @fn_emit(ptr %t164) call void @fn_emit(ptr @.str10998) br label %ifend33 ifend33: br label %ifend21 else20: store ptr @.str10999, ptr %t165 %t166 = load ptr, ptr %t0 %t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 1 %t168 = load ptr, ptr %t167 %t169 = call i32 @fn_is_model(ptr %t168) %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %then34, label %ifend36 then34: store ptr @.str11000, ptr %t165 br label %ifend36 ifend36: %t171 = load ptr, ptr %t0 %t172 = getelementptr inbounds %Cmp_Node, ptr %t171, i32 0, i32 1 %t173 = load ptr, ptr %t172 store ptr %t173, ptr %t174 %t177 = load ptr, ptr %t165 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str11001) %t179 = icmp ne i32 %t178, 0 %t180 = zext i1 %t179 to i32 store i32 %t180, ptr %t176 br i1 %t179, label %sc37, label %scend38 sc37: %t181 = load ptr, ptr %t174 %t182 = call ptr @fn_find_sys(ptr %t181) %t183 = icmp eq ptr %t182, null %t184 = zext i1 %t183 to i32 %t185 = icmp ne i32 %t184, 0 %t186 = zext i1 %t185 to i32 store i32 %t186, ptr %t176 br label %scend38 scend38: %t187 = load i32, ptr %t176 %t188 = icmp ne i32 %t187, 0 %t189 = zext i1 %t188 to i32 store i32 %t189, ptr %t175 br i1 %t188, label %sc39, label %scend40 sc39: %t190 = load ptr, ptr @g_g_cur_scene %t191 = icmp ne ptr %t190, null %t192 = zext i1 %t191 to i32 %t193 = icmp ne i32 %t192, 0 %t194 = zext i1 %t193 to i32 store i32 %t194, ptr %t175 br label %scend40 scend40: %t195 = load i32, ptr %t175 %t196 = icmp ne i32 %t195, 0 br i1 %t196, label %then41, label %ifend43 then41: %t197 = load ptr, ptr @g_g_cur_scene %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 1 %t199 = load ptr, ptr %t198 %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str11002) %t201 = load ptr, ptr %t174 %t202 = call ptr @lp_str_concat(ptr %t200, ptr %t201) store ptr %t202, ptr %t203 %t204 = load ptr, ptr %t203 %t205 = call ptr @fn_find_sys(ptr %t204) %t206 = icmp ne ptr %t205, null %t207 = zext i1 %t206 to i32 %t208 = icmp ne i32 %t207, 0 br i1 %t208, label %then44, label %ifend46 then44: %t209 = load ptr, ptr %t203 store ptr %t209, ptr %t174 br label %ifend46 ifend46: br label %ifend43 ifend43: call void @fn_emit(ptr @.str11003) %t210 = load ptr, ptr %t1 call void @fn_emit(ptr %t210) call void @fn_emit(ptr @.str11004) %t211 = load ptr, ptr %t165 call void @fn_emit(ptr %t211) %t212 = load ptr, ptr %t174 call void @fn_emit(ptr %t212) call void @fn_emit(ptr @.str11005) br label %ifend21 ifend21: br label %ret ret: ret void } define void @fn_emit_system_fn(ptr %arg_sys) { entry: %t0 = alloca ptr %t8 = alloca ptr %t11 = alloca ptr store ptr %arg_sys, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 call void @fn_det_enter(ptr %t3) %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 6 %t6 = load ptr, ptr %t5 store ptr %t6, ptr @g_g_cur_scene store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself store ptr @.str11006, ptr @g_ret_ty %t7 = call ptr @fn_buf_new() store ptr %t7, ptr %t8 %t9 = call ptr @fn_buf_new() store ptr %t9, ptr @g_falloc %t10 = load ptr, ptr @g_code store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t8 store ptr %t12, ptr @g_code %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 4 %t15 = load ptr, ptr %t14 call void @fn_emit_block(ptr %t15) %t16 = load i32, ptr @g_g_term %t17 = icmp eq i32 %t16, 0 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str11007) br label %ifend2 ifend2: call void @fn_emit(ptr @.str11008) %t20 = load ptr, ptr %t11 store ptr %t20, ptr @g_code call void @fn_emit(ptr @.str11009) %t21 = load ptr, ptr %t0 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 1 %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str11010) %t24 = load ptr, ptr @g_falloc %t25 = call ptr @fn_buf_str(ptr %t24) call void @fn_emit(ptr %t25) %t26 = load ptr, ptr %t8 %t27 = call ptr @fn_buf_str(ptr %t26) call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str11011) store ptr @.str11012, ptr @g_g_det_ctx br label %ret ret: ret void } define void @fn_emit_call_one(ptr %arg_d) { entry: %t0 = alloca ptr %t6 = alloca ptr %t11 = alloca ptr %t12 = alloca i32 %t37 = alloca ptr %t42 = alloca ptr %t56 = alloca ptr %t61 = alloca ptr %t69 = alloca ptr %t71 = alloca ptr store ptr %arg_d, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 %t4 = call ptr @lp_str_concat(ptr @.str11013, ptr %t3) %t5 = call ptr @fn_emit_bind(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t6 %t8 = call ptr @lp_str_concat(ptr @.str11014, ptr %t7) %t9 = call ptr @lp_str_concat(ptr %t8, ptr @.str11015) %t10 = call ptr @fn_emit_bind(ptr %t9) store ptr %t10, ptr %t11 %t13 = load ptr, ptr %t0 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 5 %t15 = load ptr, ptr %t14 %t16 = icmp ne ptr %t15, null %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t12 br i1 %t18, label %sc0, label %scend1 sc0: %t20 = load ptr, ptr %t0 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 5 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1 %t24 = load ptr, ptr %t23 %t25 = call i32 @fn_is_toggled_layer(ptr %t24) %t26 = icmp ne i32 %t25, 0 %t27 = zext i1 %t26 to i32 store i32 %t27, ptr %t12 br label %scend1 scend1: %t28 = load i32, ptr %t12 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then2, label %ifend4 then2: %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 5 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1 %t34 = load ptr, ptr %t33 %t35 = call ptr @lp_str_concat(ptr @.str11016, ptr %t34) %t36 = call ptr @fn_emit_bind(ptr %t35) store ptr %t36, ptr %t37 %t38 = load ptr, ptr %t37 %t39 = call ptr @lp_str_concat(ptr @.str11017, ptr %t38) %t40 = call ptr @lp_str_concat(ptr %t39, ptr @.str11018) %t41 = call ptr @fn_emit_bind(ptr %t40) store ptr %t41, ptr %t42 %t43 = load ptr, ptr %t11 %t44 = call ptr @lp_str_concat(ptr @.str11019, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str11020) %t46 = load ptr, ptr %t42 %t47 = call ptr @lp_str_concat(ptr %t45, ptr %t46) %t48 = call ptr @fn_emit_bind(ptr %t47) store ptr %t48, ptr %t11 br label %ifend4 ifend4: %t49 = load ptr, ptr %t0 %t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 2 %t51 = load i32, ptr %t50 %t52 = icmp eq i32 %t51, 1 %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then5, label %ifend7 then5: %t55 = call ptr @fn_emit_bind(ptr @.str11021) store ptr %t55, ptr %t56 %t57 = load ptr, ptr %t56 %t58 = call ptr @lp_str_concat(ptr @.str11022, ptr %t57) %t59 = call ptr @lp_str_concat(ptr %t58, ptr @.str11023) %t60 = call ptr @fn_emit_bind(ptr %t59) store ptr %t60, ptr %t61 %t62 = load ptr, ptr %t11 %t63 = call ptr @lp_str_concat(ptr @.str11024, ptr %t62) %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str11025) %t65 = load ptr, ptr %t61 %t66 = call ptr @lp_str_concat(ptr %t64, ptr %t65) %t67 = call ptr @fn_emit_bind(ptr %t66) store ptr %t67, ptr %t11 br label %ifend7 ifend7: %t68 = call ptr @fn_lbl(ptr @.str11026) store ptr %t68, ptr %t69 %t70 = call ptr @fn_lbl(ptr @.str11027) store ptr %t70, ptr %t71 call void @fn_emit(ptr @.str11028) %t72 = load ptr, ptr %t11 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str11029) %t73 = load ptr, ptr %t69 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str11030) %t74 = load ptr, ptr %t71 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str11031) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str11032) %t76 = load ptr, ptr %t0 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 1 %t78 = load ptr, ptr %t77 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str11033) call void @fn_emit(ptr @.str11034) %t79 = load ptr, ptr %t71 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str11035) %t80 = load ptr, ptr %t71 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str11036) br label %ret ret: ret void } define void @fn_emit_one_engine_system(ptr %arg_comp, ptr %arg_fn) { entry: %t0 = alloca ptr %t1 = alloca ptr %t5 = alloca i32 store ptr %arg_comp, ptr %t0 store ptr %arg_fn, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = call i32 @fn_is_system_disabled(ptr %t2) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: br label %ret ifend2: %t6 = load ptr, ptr %t0 %t7 = call ptr @fn_find_comp(ptr %t6) %t8 = icmp ne ptr %t7, null %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t5 br i1 %t10, label %sc3, label %scend4 sc3: %t12 = load ptr, ptr %t1 %t13 = call ptr @fn_find_fn(ptr %t12) %t14 = icmp ne ptr %t13, null %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t5 br label %scend4 scend4: %t18 = load i32, ptr %t5 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then5, label %ifend7 then5: call void @fn_emit(ptr @.str11037) %t20 = load ptr, ptr %t1 call void @fn_emit(ptr %t20) call void @fn_emit(ptr @.str11038) br label %ifend7 ifend7: br label %ret ret: ret void } define void @fn_emit_engine_systems_for_phase(ptr %arg_phase) { entry: %t0 = alloca ptr %t1 = alloca i32 %t47 = alloca i32 %t60 = alloca i32 %t74 = alloca i32 store ptr %arg_phase, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_esys_comp %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_esys_phase %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11039, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t18, ptr %t19) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then5, label %ifend7 then5: %t22 = load ptr, ptr @g_g_esys_comp %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = load i32, ptr %t1 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t25, %t27 br i1 %t28, label %ixok8, label %ixbad9 ixbad9: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str11040, i32 %t25, i32 %t27) call void @exit(i32 1) unreachable ixok8: %t30 = getelementptr inbounds ptr, ptr %t24, i32 %t25 %t31 = load ptr, ptr %t30 %t32 = load ptr, ptr @g_g_esys_fn %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = load i32, ptr %t1 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t35, %t37 br i1 %t38, label %ixok10, label %ixbad11 ixbad11: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str11041, i32 %t35, i32 %t37) call void @exit(i32 1) unreachable ixok10: %t40 = getelementptr inbounds ptr, ptr %t34, i32 %t35 %t41 = load ptr, ptr %t40 call void @fn_emit_one_engine_system(ptr %t31, ptr %t41) br label %ifend7 ifend7: %t42 = load i32, ptr %t1 %t43 = add i32 %t42, 1 store i32 %t43, ptr %t1 br label %wcond0 wend2: %t44 = load ptr, ptr %t0 %t45 = call i32 @lp_str_eq(ptr %t44, ptr @.str11042) %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then12, label %ifend14 then12: %t48 = load i32, ptr @g_g_uses_tween_rt %t49 = icmp ne i32 %t48, 0 %t50 = zext i1 %t49 to i32 store i32 %t50, ptr %t47 br i1 %t49, label %sc15, label %scend16 sc15: %t51 = call ptr @fn_find_fn(ptr @.str11043) %t52 = icmp ne ptr %t51, null %t53 = zext i1 %t52 to i32 %t54 = icmp ne i32 %t53, 0 %t55 = zext i1 %t54 to i32 store i32 %t55, ptr %t47 br label %scend16 scend16: %t56 = load i32, ptr %t47 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then17, label %ifend19 then17: call void @fn_emit(ptr @.str11044) br label %ifend19 ifend19: %t58 = call i32 @fn_has_countdowns() %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then20, label %ifend22 then20: call void @fn_emit(ptr @.str11045) br label %ifend22 ifend22: %t61 = load i32, ptr @g_g_uses_fx %t62 = icmp ne i32 %t61, 0 %t63 = zext i1 %t62 to i32 store i32 %t63, ptr %t60 br i1 %t62, label %sc23, label %scend24 sc23: %t64 = call ptr @fn_find_fn(ptr @.str11046) %t65 = icmp ne ptr %t64, null %t66 = zext i1 %t65 to i32 %t67 = icmp ne i32 %t66, 0 %t68 = zext i1 %t67 to i32 store i32 %t68, ptr %t60 br label %scend24 scend24: %t69 = load i32, ptr %t60 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then25, label %ifend27 then25: call void @fn_emit(ptr @.str11047) br label %ifend27 ifend27: br label %ifend14 ifend14: %t71 = load ptr, ptr %t0 %t72 = call i32 @lp_str_eq(ptr %t71, ptr @.str11048) %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then28, label %ifend30 then28: %t75 = load i32, ptr @g_g_uses_fx %t76 = icmp ne i32 %t75, 0 %t77 = zext i1 %t76 to i32 store i32 %t77, ptr %t74 br i1 %t76, label %sc31, label %scend32 sc31: %t78 = call ptr @fn_find_fn(ptr @.str11049) %t79 = icmp ne ptr %t78, null %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 %t82 = zext i1 %t81 to i32 store i32 %t82, ptr %t74 br label %scend32 scend32: %t83 = load i32, ptr %t74 %t84 = icmp ne i32 %t83, 0 br i1 %t84, label %then33, label %ifend35 then33: call void @fn_emit(ptr @.str11050) br label %ifend35 ifend35: br label %ifend30 ifend30: br label %ret ret: ret void } define void @fn_emit_countdown_system() { entry: %t1 = alloca ptr %t3 = alloca i32 %t4 = alloca i32 %t22 = alloca ptr %t29 = alloca i32 %t30 = alloca i32 %t62 = alloca ptr %t66 = alloca ptr %t119 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 call void @fn_emit(ptr @.str11051) call void @fn_emit(ptr @.str11052) call void @fn_emit(ptr @.str11053) call void @fn_emit(ptr @.str11054) call void @fn_emit(ptr @.str11055) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str11056) call void @fn_emit(ptr @.str11057) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = load ptr, ptr @g_prog %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp slt i32 %t5, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t12 = load ptr, ptr @g_prog %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = load i32, ptr %t4 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t15, %t17 br i1 %t18, label %ixok3, label %ixbad4 ixbad4: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str11058, i32 %t15, i32 %t17) call void @exit(i32 1) unreachable ixok3: %t20 = getelementptr inbounds ptr, ptr %t14, i32 %t15 %t21 = load ptr, ptr %t20 store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 0 %t25 = load i32, ptr %t24 %t26 = icmp eq i32 %t25, 8 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then5, label %ifend7 then5: store i32 0, ptr %t29 store i32 0, ptr %t30 br label %wcond8 wcond8: %t31 = load i32, ptr %t30 %t32 = load ptr, ptr %t22 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = icmp slt i32 %t31, %t36 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %wbody9, label %wend10 wbody9: %t40 = load ptr, ptr %t22 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 7 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = load i32, ptr %t30 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 %t45, %t47 br i1 %t48, label %ixok11, label %ixbad12 ixbad12: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str11059, i32 %t45, i32 %t47) call void @exit(i32 1) unreachable ixok11: %t50 = getelementptr inbounds ptr, ptr %t44, i32 %t45 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 3 %t53 = load ptr, ptr %t52 %t54 = call i32 @lp_str_eq(ptr %t53, ptr @.str11060) %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then13, label %ifend15 then13: store i32 1, ptr %t29 br label %ifend15 ifend15: %t56 = load i32, ptr %t30 %t57 = add i32 %t56, 1 store i32 %t57, ptr %t30 br label %wcond8 wend10: %t58 = load i32, ptr %t29 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %then16, label %ifend18 then16: %t60 = load i32, ptr %t3 %t61 = call ptr @fn_itoa(i32 %t60) store ptr %t61, ptr %t62 %t63 = load i32, ptr %t3 %t64 = add i32 %t63, 1 %t65 = call ptr @fn_itoa(i32 %t64) store ptr %t65, ptr %t66 call void @fn_emit(ptr @.str11061) %t67 = load ptr, ptr %t62 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str11062) call void @fn_emit(ptr @.str11063) %t68 = load ptr, ptr %t62 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str11064) %t69 = load ptr, ptr %t1 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str11065) %t70 = load ptr, ptr %t22 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 1 %t72 = load ptr, ptr %t71 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str11066) call void @fn_emit(ptr @.str11067) %t73 = load ptr, ptr %t62 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str11068) %t74 = load ptr, ptr %t62 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str11069) call void @fn_emit(ptr @.str11070) %t75 = load ptr, ptr %t62 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str11071) %t76 = load ptr, ptr %t62 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str11072) call void @fn_emit(ptr @.str11073) %t77 = load ptr, ptr %t62 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str11074) %t78 = load ptr, ptr %t62 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str11075) %t79 = load ptr, ptr %t66 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str11076) call void @fn_emit(ptr @.str11077) %t80 = load ptr, ptr %t62 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str11078) call void @fn_emit(ptr @.str11079) %t81 = load ptr, ptr %t62 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str11080) %t82 = load ptr, ptr %t1 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str11081) %t83 = load ptr, ptr %t22 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 %t85 = load ptr, ptr %t84 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str11082) %t86 = load ptr, ptr %t22 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1 %t88 = load ptr, ptr %t87 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str11083) store i32 0, ptr %t30 br label %wcond19 wcond19: %t89 = load i32, ptr %t30 %t90 = load ptr, ptr %t22 %t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 7 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 %t94 = load i32, ptr %t93 %t95 = icmp slt i32 %t89, %t94 %t96 = zext i1 %t95 to i32 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %wbody20, label %wend21 wbody20: %t98 = load ptr, ptr %t22 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 7 %t100 = load ptr, ptr %t99 %t101 = getelementptr inbounds %LSlice, ptr %t100, i32 0, i32 0 %t102 = load ptr, ptr %t101 %t103 = load i32, ptr %t30 %t104 = getelementptr inbounds %LSlice, ptr %t100, i32 0, i32 1 %t105 = load i32, ptr %t104 %t106 = icmp ult i32 %t103, %t105 br i1 %t106, label %ixok22, label %ixbad23 ixbad23: %t107 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t107, ptr @.fmt_bounds, ptr @.str11084, i32 %t103, i32 %t105) call void @exit(i32 1) unreachable ixok22: %t108 = getelementptr inbounds ptr, ptr %t102, i32 %t103 %t109 = load ptr, ptr %t108 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 3 %t111 = load ptr, ptr %t110 %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str11085) %t113 = icmp ne i32 %t112, 0 br i1 %t113, label %then24, label %ifend26 then24: %t114 = load ptr, ptr %t62 %t115 = call ptr @lp_str_concat(ptr %t114, ptr @.str11086) %t116 = load i32, ptr %t30 %t117 = call ptr @fn_itoa(i32 %t116) %t118 = call ptr @lp_str_concat(ptr %t115, ptr %t117) store ptr %t118, ptr %t119 call void @fn_emit(ptr @.str11087) %t120 = load ptr, ptr %t119 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str11088) %t121 = load ptr, ptr %t22 %t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 1 %t123 = load ptr, ptr %t122 call void @fn_emit(ptr %t123) call void @fn_emit(ptr @.str11089) %t124 = load ptr, ptr %t62 call void @fn_emit(ptr %t124) call void @fn_emit(ptr @.str11090) %t125 = load i32, ptr %t30 %t126 = call ptr @fn_itoa(i32 %t125) call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str11091) call void @fn_emit(ptr @.str11092) %t127 = load ptr, ptr %t119 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str11093) %t128 = load ptr, ptr %t119 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str11094) call void @fn_emit(ptr @.str11095) %t129 = load ptr, ptr %t119 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str11096) %t130 = load ptr, ptr %t119 call void @fn_emit(ptr %t130) call void @fn_emit(ptr @.str11097) call void @fn_emit(ptr @.str11098) %t131 = load ptr, ptr %t119 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str11099) %t132 = load ptr, ptr %t119 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str11100) call void @fn_emit(ptr @.str11101) %t133 = load ptr, ptr %t119 call void @fn_emit(ptr %t133) call void @fn_emit(ptr @.str11102) %t134 = load ptr, ptr %t119 call void @fn_emit(ptr %t134) call void @fn_emit(ptr @.str11103) %t135 = load ptr, ptr %t119 call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str11104) %t136 = load ptr, ptr %t119 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str11105) call void @fn_emit(ptr @.str11106) %t137 = load ptr, ptr %t119 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str11107) %t138 = load ptr, ptr %t119 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str11108) br label %ifend26 ifend26: %t139 = load i32, ptr %t30 %t140 = add i32 %t139, 1 store i32 %t140, ptr %t30 br label %wcond19 wend21: call void @fn_emit(ptr @.str11109) %t141 = load ptr, ptr %t66 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str11110) %t142 = load i32, ptr %t3 %t143 = add i32 %t142, 1 store i32 %t143, ptr %t3 br label %ifend18 ifend18: br label %ifend7 ifend7: %t144 = load i32, ptr %t4 %t145 = add i32 %t144, 1 store i32 %t145, ptr %t4 br label %wcond0 wend2: call void @fn_emit(ptr @.str11111) %t146 = load i32, ptr %t3 %t147 = call ptr @fn_itoa(i32 %t146) call void @fn_emit(ptr %t147) call void @fn_emit(ptr @.str11112) call void @fn_emit(ptr @.str11113) br label %ret ret: ret void } define void @fn_emit_prefab_fn(ptr %arg_pre) { entry: %t0 = alloca ptr %t2 = alloca ptr %t5 = alloca ptr %t8 = alloca ptr %t16 = alloca ptr store ptr %arg_pre, ptr %t0 store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself store ptr null, ptr @g_g_cur_scene store ptr @.str11114, ptr @g_ret_ty %t1 = call ptr @fn_buf_new() store ptr %t1, ptr %t2 %t3 = call ptr @fn_buf_new() store ptr %t3, ptr @g_falloc %t4 = load ptr, ptr @g_code store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t2 store ptr %t6, ptr @g_code %t7 = call ptr @fn_node(i32 22) store ptr %t7, ptr %t8 %t9 = load ptr, ptr %t8 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 1 %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 1 %t13 = load ptr, ptr %t12 store ptr %t13, ptr %t10 %t14 = load ptr, ptr %t8 %t15 = call ptr @fn_emit_spawn(ptr %t14) store ptr %t15, ptr %t16 call void @fn_emit(ptr @.str11115) %t17 = load ptr, ptr %t16 call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str11116) %t18 = load ptr, ptr %t5 store ptr %t18, ptr @g_code call void @fn_emit(ptr @.str11117) %t19 = load ptr, ptr %t0 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str11118) %t22 = load ptr, ptr @g_falloc %t23 = call ptr @fn_buf_str(ptr %t22) call void @fn_emit(ptr %t23) %t24 = load ptr, ptr %t2 %t25 = call ptr @fn_buf_str(ptr %t24) call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str11119) br label %ret ret: ret void } define void @fn_emit_prefab_fns() { entry: %t0 = alloca i32 %t36 = alloca ptr %t39 = alloca ptr %t58 = alloca ptr %t66 = alloca ptr %t74 = alloca ptr %t81 = alloca ptr %t86 = alloca ptr %t88 = alloca ptr %t90 = alloca ptr %t101 = alloca ptr store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_prog %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_prog %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11120, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 53 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load ptr, ptr @g_prog %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = load i32, ptr %t0 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t26, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str11121, i32 %t26, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t25, i32 %t26 %t32 = load ptr, ptr %t31 call void @fn_emit_prefab_fn(ptr %t32) br label %ifend7 ifend7: %t33 = load i32, ptr %t0 %t34 = add i32 %t33, 1 store i32 %t34, ptr %t0 br label %wcond0 wend2: store i32 1, ptr @g_g_uses_str store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself %t35 = call ptr @fn_buf_new() store ptr %t35, ptr %t36 %t37 = call ptr @fn_buf_new() store ptr %t37, ptr @g_falloc %t38 = load ptr, ptr @g_code store ptr %t38, ptr %t39 %t40 = load ptr, ptr %t36 store ptr %t40, ptr @g_code store i32 0, ptr %t0 br label %wcond10 wcond10: %t41 = load i32, ptr %t0 %t42 = load ptr, ptr @g_prog %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp slt i32 %t41, %t44 %t46 = zext i1 %t45 to i32 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %wbody11, label %wend12 wbody11: %t48 = load ptr, ptr @g_prog %t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0 %t50 = load ptr, ptr %t49 %t51 = load i32, ptr %t0 %t52 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1 %t53 = load i32, ptr %t52 %t54 = icmp ult i32 %t51, %t53 br i1 %t54, label %ixok13, label %ixbad14 ixbad14: %t55 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t55, ptr @.fmt_bounds, ptr @.str11122, i32 %t51, i32 %t53) call void @exit(i32 1) unreachable ixok13: %t56 = getelementptr inbounds ptr, ptr %t50, i32 %t51 %t57 = load ptr, ptr %t56 store ptr %t57, ptr %t58 %t59 = load ptr, ptr %t58 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 0 %t61 = load i32, ptr %t60 %t62 = icmp eq i32 %t61, 53 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then15, label %ifend17 then15: %t65 = call ptr @fn_node(i32 31) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t66 %t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 1 %t69 = load ptr, ptr %t58 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1 %t71 = load ptr, ptr %t70 store ptr %t71, ptr %t68 %t72 = load ptr, ptr %t66 %t73 = call ptr @fn_emit_expr(ptr %t72) store ptr %t73, ptr %t74 %t75 = load ptr, ptr %t74 %t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0 %t77 = load ptr, ptr %t76 %t78 = call ptr @lp_str_concat(ptr @.str11123, ptr %t77) %t79 = call ptr @lp_str_concat(ptr %t78, ptr @.str11124) %t80 = call ptr @fn_emit_bind(ptr %t79) store ptr %t80, ptr %t81 %t82 = load ptr, ptr %t81 %t83 = call ptr @lp_str_concat(ptr @.str11125, ptr %t82) %t84 = call ptr @lp_str_concat(ptr %t83, ptr @.str11126) %t85 = call ptr @fn_emit_bind(ptr %t84) store ptr %t85, ptr %t86 %t87 = call ptr @fn_lbl(ptr @.str11127) store ptr %t87, ptr %t88 %t89 = call ptr @fn_lbl(ptr @.str11128) store ptr %t89, ptr %t90 call void @fn_emit(ptr @.str11129) %t91 = load ptr, ptr %t86 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str11130) %t92 = load ptr, ptr %t88 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str11131) %t93 = load ptr, ptr %t90 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str11132) %t94 = load ptr, ptr %t88 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str11133) %t95 = load ptr, ptr %t58 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1 %t97 = load ptr, ptr %t96 %t98 = call ptr @lp_str_concat(ptr @.str11134, ptr %t97) %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str11135) %t100 = call ptr @fn_emit_bind(ptr %t99) store ptr %t100, ptr %t101 call void @fn_emit(ptr @.str11136) %t102 = load ptr, ptr %t101 call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str11137) %t103 = load ptr, ptr %t90 call void @fn_emit(ptr %t103) call void @fn_emit(ptr @.str11138) br label %ifend17 ifend17: %t104 = load i32, ptr %t0 %t105 = add i32 %t104, 1 store i32 %t105, ptr %t0 br label %wcond10 wend12: call void @fn_emit(ptr @.str11139) %t106 = load ptr, ptr %t39 store ptr %t106, ptr @g_code call void @fn_emit(ptr @.str11140) %t107 = load ptr, ptr @g_falloc %t108 = call ptr @fn_buf_str(ptr %t107) call void @fn_emit(ptr %t108) %t109 = load ptr, ptr %t36 %t110 = call ptr @fn_buf_str(ptr %t109) call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str11141) br label %ret ret: ret void } define i32 @fn_phase_id(ptr %arg_phase) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_phase, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str11142) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store i32 0, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str11143) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str11144) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store i32 2, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str11145) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store i32 3, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str11146) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store i32 4, ptr %retval br label %ret ifend14: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str11147) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: store i32 5, ptr %retval br label %ret ifend17: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str11148) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: store i32 6, ptr %retval br label %ret ifend20: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str11149) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: store i32 7, ptr %retval br label %ret ifend23: %t25 = load ptr, ptr %t0 %t26 = call ptr @lp_str_concat(ptr @.str11150, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str11151) call void @fn_perr(ptr %t27) store i32 7, ptr %retval br label %ret ret: %t28 = load i32, ptr %retval ret i32 %t28 } define i32 @fn_is_phase_name(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t28 = alloca i32 %t29 = alloca i32 store ptr %arg_name, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str11152) %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t3 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load ptr, ptr %t0 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str11153) %t10 = icmp ne i32 %t9, 0 %t11 = zext i1 %t10 to i32 store i32 %t11, ptr %t3 br label %scend1 scend1: %t12 = load i32, ptr %t3 %t13 = icmp ne i32 %t12, 0 %t14 = zext i1 %t13 to i32 store i32 %t14, ptr %t2 br i1 %t13, label %scend3, label %sc2 sc2: %t15 = load ptr, ptr %t0 %t16 = call i32 @lp_str_eq(ptr %t15, ptr @.str11154) %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t2 br label %scend3 scend3: %t19 = load i32, ptr %t2 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t1 br i1 %t20, label %scend5, label %sc4 sc4: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str11155) %t24 = icmp ne i32 %t23, 0 %t25 = zext i1 %t24 to i32 store i32 %t25, ptr %t1 br label %scend5 scend5: %t26 = load i32, ptr %t1 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then6, label %ifend8 then6: store i32 1, ptr %retval br label %ret ifend8: %t30 = load ptr, ptr %t0 %t31 = call i32 @lp_str_eq(ptr %t30, ptr @.str11156) %t32 = icmp ne i32 %t31, 0 %t33 = zext i1 %t32 to i32 store i32 %t33, ptr %t29 br i1 %t32, label %scend10, label %sc9 sc9: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str11157) %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t29 br label %scend10 scend10: %t38 = load i32, ptr %t29 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t28 br i1 %t39, label %scend12, label %sc11 sc11: %t41 = load ptr, ptr %t0 %t42 = call i32 @lp_str_eq(ptr %t41, ptr @.str11158) %t43 = icmp ne i32 %t42, 0 %t44 = zext i1 %t43 to i32 store i32 %t44, ptr %t28 br label %scend12 scend12: %t45 = load i32, ptr %t28 %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then13, label %ifend15 then13: store i32 1, ptr %retval br label %ret ifend15: store i32 0, ptr %retval br label %ret ret: %t47 = load i32, ptr %retval ret i32 %t47 } define void @fn_emit_module_glue() { entry: %t4 = alloca i32 call void @fn_emith(ptr @.str11159) call void @fn_emith(ptr @.str11160) call void @fn_emith(ptr @.str11161) call void @fn_emith(ptr @.str11162) call void @fn_emith(ptr @.str11163) call void @fn_emith(ptr @.str11164) call void @fn_emith(ptr @.str11165) call void @fn_emith(ptr @.str11166) call void @fn_emith(ptr @.str11167) call void @fn_emith(ptr @.str11168) call void @fn_emith(ptr @.str11169) call void @fn_emith(ptr @.str11170) call void @fn_emith(ptr @.str11171) call void @fn_emith(ptr @.str11172) call void @fn_emith(ptr @.str11173) call void @fn_emith(ptr @.str11174) call void @fn_emith(ptr @.str11175) call void @fn_emith(ptr @.str11176) call void @fn_emith(ptr @.str11177) call void @fn_emit(ptr @.str11178) %t0 = call ptr @fn_find_fn(ptr @.str11179) %t1 = icmp ne ptr %t0, null %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str11180) br label %ifend2 ifend2: store i32 0, ptr %t4 br label %wcond3 wcond3: %t5 = load i32, ptr %t4 %t6 = load ptr, ptr @g_g_mod_sys_fn %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp slt i32 %t5, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody4, label %wend5 wbody4: call void @fn_emit(ptr @.str11181) %t12 = load ptr, ptr @g_g_mod_sys_fn %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 %t14 = load ptr, ptr %t13 %t15 = load i32, ptr %t4 %t16 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp ult i32 %t15, %t17 br i1 %t18, label %ixok6, label %ixbad7 ixbad7: %t19 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t19, ptr @.fmt_bounds, ptr @.str11182, i32 %t15, i32 %t17) call void @exit(i32 1) unreachable ixok6: %t20 = getelementptr inbounds ptr, ptr %t14, i32 %t15 %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str11183) %t22 = load ptr, ptr @g_g_mod_sys_phase %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = load i32, ptr %t4 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t25, %t27 br i1 %t28, label %ixok8, label %ixbad9 ixbad9: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str11184, i32 %t25, i32 %t27) call void @exit(i32 1) unreachable ixok8: %t30 = getelementptr inbounds ptr, ptr %t24, i32 %t25 %t31 = load ptr, ptr %t30 %t32 = call i32 @fn_phase_id(ptr %t31) %t33 = call ptr @fn_itoa(i32 %t32) call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str11185) %t34 = load i32, ptr %t4 %t35 = add i32 %t34, 1 store i32 %t35, ptr %t4 br label %wcond3 wend5: call void @fn_emit(ptr @.str11186) call void @fn_emith(ptr @.str11187) br label %ret ret: ret void } define void @fn_emit_system_registry() { entry: %t1 = alloca ptr %t0 = call ptr @fn_itoa(i32 64) store ptr %t0, ptr %t1 call void @fn_emith(ptr @.str11188) %t2 = load ptr, ptr %t1 call void @fn_emith(ptr %t2) call void @fn_emith(ptr @.str11189) call void @fn_emith(ptr @.str11190) %t3 = load ptr, ptr %t1 call void @fn_emith(ptr %t3) call void @fn_emith(ptr @.str11191) call void @fn_emith(ptr @.str11192) call void @fn_emit(ptr @.str11193) call void @fn_emit(ptr @.str11194) call void @fn_emit(ptr @.str11195) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str11196) call void @fn_emit(ptr @.str11197) call void @fn_emit(ptr @.str11198) call void @fn_emit(ptr @.str11199) %t5 = load ptr, ptr %t1 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str11200) call void @fn_emit(ptr @.str11201) call void @fn_emit(ptr @.str11202) %t6 = load ptr, ptr %t1 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str11203) call void @fn_emit(ptr @.str11204) call void @fn_emit(ptr @.str11205) call void @fn_emit(ptr @.str11206) br label %ret ret: ret void } define void @fn_emit_dyn_systems_for_phase(ptr %arg_phase) { entry: %t0 = alloca ptr %t2 = alloca ptr %t6 = alloca ptr %t8 = alloca ptr %t10 = alloca ptr %t12 = alloca ptr %t14 = alloca ptr %t16 = alloca ptr %t18 = alloca ptr %t20 = alloca ptr %t22 = alloca ptr %t32 = alloca ptr %t39 = alloca ptr %t45 = alloca ptr %t52 = alloca ptr %t59 = alloca ptr %t65 = alloca ptr %t72 = alloca ptr store ptr %arg_phase, ptr %t0 %t1 = call ptr @fn_itoa(i32 64) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 %t4 = call i32 @fn_phase_id(ptr %t3) %t5 = call ptr @fn_itoa(i32 %t4) store ptr %t5, ptr %t6 %t7 = call ptr @fn_nreg() store ptr %t7, ptr %t8 %t9 = call ptr @fn_nreg() store ptr %t9, ptr %t10 %t11 = call ptr @fn_lbl(ptr @.str11207) store ptr %t11, ptr %t12 %t13 = call ptr @fn_lbl(ptr @.str11208) store ptr %t13, ptr %t14 %t15 = call ptr @fn_lbl(ptr @.str11209) store ptr %t15, ptr %t16 %t17 = call ptr @fn_lbl(ptr @.str11210) store ptr %t17, ptr %t18 %t19 = call ptr @fn_lbl(ptr @.str11211) store ptr %t19, ptr %t20 %t21 = call ptr @fn_lbl(ptr @.str11212) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str11213) %t23 = load ptr, ptr %t12 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str11214) %t24 = load ptr, ptr %t12 call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str11215) %t25 = load ptr, ptr %t14 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str11216) %t26 = load ptr, ptr %t14 call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str11217) call void @fn_emit(ptr @.str11218) %t27 = load ptr, ptr %t8 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str11219) %t28 = load ptr, ptr %t12 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str11220) %t29 = load ptr, ptr %t10 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str11221) %t30 = load ptr, ptr %t20 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str11222) %t31 = call ptr @fn_emit_bind(ptr @.str11223) store ptr %t31, ptr %t32 %t33 = load ptr, ptr %t8 %t34 = call ptr @lp_str_concat(ptr @.str11224, ptr %t33) %t35 = call ptr @lp_str_concat(ptr %t34, ptr @.str11225) %t36 = load ptr, ptr %t32 %t37 = call ptr @lp_str_concat(ptr %t35, ptr %t36) %t38 = call ptr @fn_emit_bind(ptr %t37) store ptr %t38, ptr %t39 call void @fn_emit(ptr @.str11226) %t40 = load ptr, ptr %t39 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str11227) %t41 = load ptr, ptr %t16 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str11228) %t42 = load ptr, ptr %t22 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str11229) %t43 = load ptr, ptr %t16 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str11230) %t44 = call ptr @fn_nreg() store ptr %t44, ptr %t45 call void @fn_emit(ptr @.str11231) %t46 = load ptr, ptr %t45 call void @fn_emit(ptr %t46) call void @fn_emit(ptr @.str11232) %t47 = load ptr, ptr %t2 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str11233) %t48 = load ptr, ptr %t8 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str11234) %t49 = load ptr, ptr %t45 %t50 = call ptr @lp_str_concat(ptr @.str11235, ptr %t49) %t51 = call ptr @fn_emit_bind(ptr %t50) store ptr %t51, ptr %t52 %t53 = load ptr, ptr %t52 %t54 = call ptr @lp_str_concat(ptr @.str11236, ptr %t53) %t55 = call ptr @lp_str_concat(ptr %t54, ptr @.str11237) %t56 = load ptr, ptr %t6 %t57 = call ptr @lp_str_concat(ptr %t55, ptr %t56) %t58 = call ptr @fn_emit_bind(ptr %t57) store ptr %t58, ptr %t59 call void @fn_emit(ptr @.str11238) %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str11239) %t61 = load ptr, ptr %t18 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str11240) %t62 = load ptr, ptr %t20 call void @fn_emit(ptr %t62) call void @fn_emit(ptr @.str11241) %t63 = load ptr, ptr %t18 call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str11242) %t64 = call ptr @fn_nreg() store ptr %t64, ptr %t65 call void @fn_emit(ptr @.str11243) %t66 = load ptr, ptr %t65 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str11244) %t67 = load ptr, ptr %t2 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str11245) %t68 = load ptr, ptr %t8 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str11246) %t69 = load ptr, ptr %t65 %t70 = call ptr @lp_str_concat(ptr @.str11247, ptr %t69) %t71 = call ptr @fn_emit_bind(ptr %t70) store ptr %t71, ptr %t72 call void @fn_emit(ptr @.str11248) %t73 = load ptr, ptr %t72 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str11249) call void @fn_emit(ptr @.str11250) %t74 = load ptr, ptr %t20 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str11251) %t75 = load ptr, ptr %t20 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str11252) %t76 = load ptr, ptr %t10 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str11253) %t77 = load ptr, ptr %t8 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str11254) %t78 = load ptr, ptr %t14 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str11255) %t79 = load ptr, ptr %t22 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str11256) br label %ret ret: ret void } define void @fn_emit_calls_for_phase(ptr %arg_phase) { entry: %t0 = alloca ptr %t1 = alloca i32 %t19 = alloca ptr %t20 = alloca i32 %t21 = alloca i32 %t51 = alloca i32 %t69 = alloca ptr %t70 = alloca i32 %t71 = alloca i32 %t103 = alloca ptr %t121 = alloca ptr %t122 = alloca i32 %t123 = alloca i32 %t161 = alloca ptr %t163 = alloca ptr %t165 = alloca ptr store ptr %arg_phase, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_prog %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_prog %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11257, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 store ptr %t18, ptr %t19 %t22 = load ptr, ptr %t19 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 0 %t24 = load i32, ptr %t23 %t25 = icmp eq i32 %t24, 9 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t21 br i1 %t27, label %sc5, label %scend6 sc5: %t29 = load ptr, ptr %t19 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 3 %t31 = load ptr, ptr %t30 %t32 = load ptr, ptr %t0 %t33 = call i32 @lp_str_eq(ptr %t31, ptr %t32) %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t21 br label %scend6 scend6: %t36 = load i32, ptr %t21 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 store i32 %t38, ptr %t20 br i1 %t37, label %sc7, label %scend8 sc7: %t39 = load ptr, ptr %t19 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 6 %t41 = load ptr, ptr %t40 %t42 = icmp eq ptr %t41, null %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t20 br label %scend8 scend8: %t46 = load i32, ptr %t20 %t47 = icmp ne i32 %t46, 0 br i1 %t47, label %then9, label %ifend11 then9: %t48 = load ptr, ptr %t19 call void @fn_emit_call_one(ptr %t48) br label %ifend11 ifend11: %t49 = load i32, ptr %t1 %t50 = add i32 %t49, 1 store i32 %t50, ptr %t1 br label %wcond0 wend2: store i32 0, ptr %t51 store i32 0, ptr %t1 br label %wcond12 wcond12: %t52 = load i32, ptr %t1 %t53 = load ptr, ptr @g_prog %t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp slt i32 %t52, %t55 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %wbody13, label %wend14 wbody13: %t59 = load ptr, ptr @g_prog %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = load i32, ptr %t1 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t62, %t64 br i1 %t65, label %ixok15, label %ixbad16 ixbad16: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str11258, i32 %t62, i32 %t64) call void @exit(i32 1) unreachable ixok15: %t67 = getelementptr inbounds ptr, ptr %t61, i32 %t62 %t68 = load ptr, ptr %t67 store ptr %t68, ptr %t69 %t72 = load ptr, ptr %t69 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 0 %t74 = load i32, ptr %t73 %t75 = icmp eq i32 %t74, 9 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 %t78 = zext i1 %t77 to i32 store i32 %t78, ptr %t71 br i1 %t77, label %sc17, label %scend18 sc17: %t79 = load ptr, ptr %t69 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 3 %t81 = load ptr, ptr %t80 %t82 = load ptr, ptr %t0 %t83 = call i32 @lp_str_eq(ptr %t81, ptr %t82) %t84 = icmp ne i32 %t83, 0 %t85 = zext i1 %t84 to i32 store i32 %t85, ptr %t71 br label %scend18 scend18: %t86 = load i32, ptr %t71 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t70 br i1 %t87, label %sc19, label %scend20 sc19: %t89 = load ptr, ptr %t69 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 6 %t91 = load ptr, ptr %t90 %t92 = icmp ne ptr %t91, null %t93 = zext i1 %t92 to i32 %t94 = icmp ne i32 %t93, 0 %t95 = zext i1 %t94 to i32 store i32 %t95, ptr %t70 br label %scend20 scend20: %t96 = load i32, ptr %t70 %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then21, label %ifend23 then21: store i32 1, ptr %t51 br label %ifend23 ifend23: %t98 = load i32, ptr %t1 %t99 = add i32 %t98, 1 store i32 %t99, ptr %t1 br label %wcond12 wend14: %t100 = load i32, ptr %t51 %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then24, label %ifend26 then24: %t102 = call ptr @fn_emit_bind(ptr @.str11259) store ptr %t102, ptr %t103 store i32 0, ptr %t1 br label %wcond27 wcond27: %t104 = load i32, ptr %t1 %t105 = load ptr, ptr @g_prog %t106 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 1 %t107 = load i32, ptr %t106 %t108 = icmp slt i32 %t104, %t107 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %wbody28, label %wend29 wbody28: %t111 = load ptr, ptr @g_prog %t112 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 0 %t113 = load ptr, ptr %t112 %t114 = load i32, ptr %t1 %t115 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 1 %t116 = load i32, ptr %t115 %t117 = icmp ult i32 %t114, %t116 br i1 %t117, label %ixok30, label %ixbad31 ixbad31: %t118 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str11260, i32 %t114, i32 %t116) call void @exit(i32 1) unreachable ixok30: %t119 = getelementptr inbounds ptr, ptr %t113, i32 %t114 %t120 = load ptr, ptr %t119 store ptr %t120, ptr %t121 %t124 = load ptr, ptr %t121 %t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 0 %t126 = load i32, ptr %t125 %t127 = icmp eq i32 %t126, 9 %t128 = zext i1 %t127 to i32 %t129 = icmp ne i32 %t128, 0 %t130 = zext i1 %t129 to i32 store i32 %t130, ptr %t123 br i1 %t129, label %sc32, label %scend33 sc32: %t131 = load ptr, ptr %t121 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 3 %t133 = load ptr, ptr %t132 %t134 = load ptr, ptr %t0 %t135 = call i32 @lp_str_eq(ptr %t133, ptr %t134) %t136 = icmp ne i32 %t135, 0 %t137 = zext i1 %t136 to i32 store i32 %t137, ptr %t123 br label %scend33 scend33: %t138 = load i32, ptr %t123 %t139 = icmp ne i32 %t138, 0 %t140 = zext i1 %t139 to i32 store i32 %t140, ptr %t122 br i1 %t139, label %sc34, label %scend35 sc34: %t141 = load ptr, ptr %t121 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 6 %t143 = load ptr, ptr %t142 %t144 = icmp ne ptr %t143, null %t145 = zext i1 %t144 to i32 %t146 = icmp ne i32 %t145, 0 %t147 = zext i1 %t146 to i32 store i32 %t147, ptr %t122 br label %scend35 scend35: %t148 = load i32, ptr %t122 %t149 = icmp ne i32 %t148, 0 br i1 %t149, label %then36, label %ifend38 then36: %t150 = load ptr, ptr %t103 %t151 = call ptr @lp_str_concat(ptr @.str11261, ptr %t150) %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str11262) %t153 = load ptr, ptr %t121 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 6 %t155 = load ptr, ptr %t154 %t156 = getelementptr inbounds %Cmp_Node, ptr %t155, i32 0, i32 2 %t157 = load i32, ptr %t156 %t158 = call ptr @fn_itoa(i32 %t157) %t159 = call ptr @lp_str_concat(ptr %t152, ptr %t158) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 %t162 = call ptr @fn_lbl(ptr @.str11263) store ptr %t162, ptr %t163 %t164 = call ptr @fn_lbl(ptr @.str11264) store ptr %t164, ptr %t165 call void @fn_emit(ptr @.str11265) %t166 = load ptr, ptr %t161 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str11266) %t167 = load ptr, ptr %t163 call void @fn_emit(ptr %t167) call void @fn_emit(ptr @.str11267) %t168 = load ptr, ptr %t165 call void @fn_emit(ptr %t168) call void @fn_emit(ptr @.str11268) %t169 = load ptr, ptr %t163 call void @fn_emit(ptr %t169) call void @fn_emit(ptr @.str11269) %t170 = load ptr, ptr %t121 call void @fn_emit_call_one(ptr %t170) call void @fn_emit(ptr @.str11270) %t171 = load ptr, ptr %t165 call void @fn_emit(ptr %t171) call void @fn_emit(ptr @.str11271) %t172 = load ptr, ptr %t165 call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str11272) br label %ifend38 ifend38: %t173 = load i32, ptr %t1 %t174 = add i32 %t173, 1 store i32 %t174, ptr %t1 br label %wcond27 wend29: br label %ifend26 ifend26: %t175 = load ptr, ptr %t0 call void @fn_emit_engine_systems_for_phase(ptr %t175) %t176 = load ptr, ptr %t0 call void @fn_emit_dyn_systems_for_phase(ptr %t176) %t177 = load ptr, ptr %t0 %t178 = call i32 @lp_str_eq(ptr %t177, ptr @.str11273) %t179 = icmp ne i32 %t178, 0 br i1 %t179, label %then39, label %ifend41 then39: call void @fn_emit_scene_menu_render() br label %ifend41 ifend41: br label %ret ret: ret void } define void @fn_emit_scene_menu_render() { entry: %t0 = alloca i32 %t1 = alloca i32 %t31 = alloca ptr %t49 = alloca ptr %t65 = alloca ptr %t67 = alloca ptr %t69 = alloca ptr store i32 0, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_scenes %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_scenes %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str11274, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 3 %t20 = load ptr, ptr %t19 %t21 = icmp ne ptr %t20, null %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: store i32 1, ptr %t0 br label %ifend7 ifend7: %t24 = load i32, ptr %t1 %t25 = add i32 %t24, 1 store i32 %t25, ptr %t1 br label %wcond0 wend2: %t26 = load i32, ptr %t0 %t27 = icmp eq i32 %t26, 0 %t28 = zext i1 %t27 to i32 %t29 = icmp ne i32 %t28, 0 br i1 %t29, label %then8, label %ifend10 then8: br label %ret ifend10: %t30 = call ptr @fn_emit_bind(ptr @.str11275) store ptr %t30, ptr %t31 store i32 0, ptr %t1 br label %wcond11 wcond11: %t32 = load i32, ptr %t1 %t33 = load ptr, ptr @g_g_scenes %t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp slt i32 %t32, %t35 %t37 = zext i1 %t36 to i32 %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %wbody12, label %wend13 wbody12: %t39 = load ptr, ptr @g_g_scenes %t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0 %t41 = load ptr, ptr %t40 %t42 = load i32, ptr %t1 %t43 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 1 %t44 = load i32, ptr %t43 %t45 = icmp ult i32 %t42, %t44 br i1 %t45, label %ixok14, label %ixbad15 ixbad15: %t46 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t46, ptr @.fmt_bounds, ptr @.str11276, i32 %t42, i32 %t44) call void @exit(i32 1) unreachable ixok14: %t47 = getelementptr inbounds ptr, ptr %t41, i32 %t42 %t48 = load ptr, ptr %t47 store ptr %t48, ptr %t49 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 3 %t52 = load ptr, ptr %t51 %t53 = icmp ne ptr %t52, null %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then16, label %ifend18 then16: %t56 = load ptr, ptr %t31 %t57 = call ptr @lp_str_concat(ptr @.str11277, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str11278) %t59 = load ptr, ptr %t49 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 2 %t61 = load i32, ptr %t60 %t62 = call ptr @fn_itoa(i32 %t61) %t63 = call ptr @lp_str_concat(ptr %t58, ptr %t62) %t64 = call ptr @fn_emit_bind(ptr %t63) store ptr %t64, ptr %t65 %t66 = call ptr @fn_lbl(ptr @.str11279) store ptr %t66, ptr %t67 %t68 = call ptr @fn_lbl(ptr @.str11280) store ptr %t68, ptr %t69 call void @fn_emit(ptr @.str11281) %t70 = load ptr, ptr %t65 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str11282) %t71 = load ptr, ptr %t67 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str11283) %t72 = load ptr, ptr %t69 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str11284) %t73 = load ptr, ptr %t67 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str11285) call void @fn_emit(ptr @.str11286) %t74 = load ptr, ptr %t69 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str11287) %t75 = load ptr, ptr %t69 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str11288) br label %ifend18 ifend18: %t76 = load i32, ptr %t1 %t77 = add i32 %t76, 1 store i32 %t77, ptr %t1 br label %wcond11 wend13: br label %ret ret: ret void } define void @fn_emit_scene_fn(ptr %arg_name, ptr %arg_kind, ptr %arg_body, ptr %arg_menu) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t3 = alloca ptr %t5 = alloca ptr %t8 = alloca ptr %t10 = alloca i32 %t30 = alloca i32 %t52 = alloca ptr %t53 = alloca i32 store ptr %arg_name, ptr %t0 store ptr %arg_kind, ptr %t1 store ptr %arg_body, ptr %t2 store ptr %arg_menu, ptr %t3 store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself store ptr @.str11289, ptr @g_ret_ty %t4 = call ptr @fn_buf_new() store ptr %t4, ptr %t5 %t6 = call ptr @fn_buf_new() store ptr %t6, ptr @g_falloc %t7 = load ptr, ptr @g_code store ptr %t7, ptr %t8 %t9 = load ptr, ptr %t5 store ptr %t9, ptr @g_code %t11 = load ptr, ptr %t3 %t12 = icmp ne ptr %t11, null %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t10 br i1 %t14, label %sc0, label %scend1 sc0: %t16 = load ptr, ptr %t1 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str11290) %t18 = icmp ne i32 %t17, 0 %t19 = zext i1 %t18 to i32 store i32 %t19, ptr %t10 br label %scend1 scend1: %t20 = load i32, ptr %t10 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then2, label %ifend4 then2: %t22 = call ptr @fn_find_fn(ptr @.str11291) %t23 = icmp ne ptr %t22, null %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then5, label %ifend7 then5: call void @fn_emit(ptr @.str11292) br label %ifend7 ifend7: call void @fn_emit(ptr @.str11293) %t26 = load ptr, ptr %t3 %t27 = call ptr @lp_str_concat(ptr @.str11294, ptr %t26) %t28 = call i32 @fn_ui_index_of(ptr %t27) %t29 = call ptr @fn_itoa(i32 %t28) call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str11295) br label %ifend4 ifend4: %t31 = load ptr, ptr %t3 %t32 = icmp ne ptr %t31, null %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t30 br i1 %t34, label %sc8, label %scend9 sc8: %t36 = load ptr, ptr %t1 %t37 = call i32 @lp_str_eq(ptr %t36, ptr @.str11296) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t30 br label %scend9 scend9: %t40 = load i32, ptr %t30 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then10, label %ifend12 then10: call void @fn_emit(ptr @.str11297) br label %ifend12 ifend12: %t42 = load ptr, ptr %t2 %t43 = icmp ne ptr %t42, null %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then13, label %ifend15 then13: %t46 = load ptr, ptr %t2 call void @fn_emit_block(ptr %t46) br label %ifend15 ifend15: %t47 = load ptr, ptr %t0 %t48 = call ptr @lp_str_concat(ptr @.str11298, ptr %t47) %t49 = call ptr @lp_str_concat(ptr %t48, ptr @.str11299) %t50 = load ptr, ptr %t1 %t51 = call ptr @lp_str_concat(ptr %t49, ptr %t50) store ptr %t51, ptr %t52 %t54 = load i32, ptr @g_g_term %t55 = icmp eq i32 %t54, 0 %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t53 br i1 %t57, label %sc16, label %scend17 sc16: %t59 = load ptr, ptr %t52 %t60 = call ptr @fn_find_event(ptr %t59) %t61 = icmp ne ptr %t60, null %t62 = zext i1 %t61 to i32 %t63 = icmp ne i32 %t62, 0 %t64 = zext i1 %t63 to i32 store i32 %t64, ptr %t53 br label %scend17 scend17: %t65 = load i32, ptr %t53 %t66 = icmp ne i32 %t65, 0 br i1 %t66, label %then18, label %ifend20 then18: call void @fn_emit(ptr @.str11300) %t67 = load ptr, ptr %t52 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str11301) br label %ifend20 ifend20: %t68 = load i32, ptr @g_g_term %t69 = icmp eq i32 %t68, 0 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then21, label %ifend23 then21: call void @fn_emit(ptr @.str11302) br label %ifend23 ifend23: call void @fn_emit(ptr @.str11303) %t72 = load ptr, ptr %t8 store ptr %t72, ptr @g_code call void @fn_emit(ptr @.str11304) %t73 = load ptr, ptr %t1 call void @fn_emit(ptr %t73) call void @fn_emit(ptr @.str11305) %t74 = load ptr, ptr %t0 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str11306) %t75 = load ptr, ptr @g_falloc %t76 = call ptr @fn_buf_str(ptr %t75) call void @fn_emit(ptr %t76) %t77 = load ptr, ptr %t5 %t78 = call ptr @fn_buf_str(ptr %t77) call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str11307) br label %ret ret: ret void } define void @fn_emit_scene_hooks() { entry: %t0 = alloca i32 %t18 = alloca ptr store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_scenes %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_g_scenes %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11308, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 store ptr %t19, ptr @g_g_cur_scene %t20 = load ptr, ptr %t18 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 1 %t22 = load ptr, ptr %t21 %t23 = load ptr, ptr %t18 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 4 %t25 = load ptr, ptr %t24 %t26 = load ptr, ptr %t18 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 3 %t28 = load ptr, ptr %t27 call void @fn_emit_scene_fn(ptr %t22, ptr @.str11309, ptr %t25, ptr %t28) %t29 = load ptr, ptr %t18 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1 %t31 = load ptr, ptr %t30 %t32 = load ptr, ptr %t18 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 5 %t34 = load ptr, ptr %t33 %t35 = load ptr, ptr %t18 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 3 %t37 = load ptr, ptr %t36 call void @fn_emit_scene_fn(ptr %t31, ptr @.str11310, ptr %t34, ptr %t37) %t38 = load i32, ptr %t0 %t39 = add i32 %t38, 1 store i32 %t39, ptr %t0 br label %wcond0 wend2: store ptr null, ptr @g_g_cur_scene %t40 = load ptr, ptr @g_g_scenes %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp sgt i32 %t42, 0 %t44 = zext i1 %t43 to i32 %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then5, label %ifend7 then5: call void @fn_emit_scene_leave_fn() br label %ifend7 ifend7: br label %ret ret: ret void } define void @fn_emit_scene_leave_fn() { entry: %t0 = alloca i32 %t18 = alloca ptr %t21 = alloca ptr call void @fn_emit(ptr @.str11311) call void @fn_emit(ptr @.str11312) store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_scenes %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_g_scenes %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11313, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t19 = load i32, ptr %t0 %t20 = call ptr @fn_itoa(i32 %t19) store ptr %t20, ptr %t21 call void @fn_emit(ptr @.str11314) %t22 = load ptr, ptr %t21 call void @fn_emit(ptr %t22) call void @fn_emit(ptr @.str11315) %t23 = load ptr, ptr %t18 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 2 %t25 = load i32, ptr %t24 %t26 = call ptr @fn_itoa(i32 %t25) call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str11316) call void @fn_emit(ptr @.str11317) %t27 = load ptr, ptr %t21 call void @fn_emit(ptr %t27) call void @fn_emit(ptr @.str11318) %t28 = load ptr, ptr %t21 call void @fn_emit(ptr %t28) call void @fn_emit(ptr @.str11319) %t29 = load ptr, ptr %t21 call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str11320) call void @fn_emit(ptr @.str11321) %t30 = load ptr, ptr %t21 call void @fn_emit(ptr %t30) call void @fn_emit(ptr @.str11322) %t31 = load ptr, ptr %t18 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1 %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str11323) call void @fn_emit(ptr @.str11324) %t34 = load ptr, ptr %t21 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str11325) %t35 = load i32, ptr %t0 %t36 = add i32 %t35, 1 store i32 %t36, ptr %t0 br label %wcond0 wend2: call void @fn_emit(ptr @.str11326) br label %ret ret: ret void } define void @fn_emit_despawn_hooks() { entry: %t0 = alloca i32 %t18 = alloca ptr %t23 = alloca ptr %t25 = alloca ptr %t28 = alloca ptr %t37 = alloca ptr store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_ondespawn %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_g_ondespawn %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11327, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 %t21 = load ptr, ptr %t20 %t22 = call ptr @fn_find_arch(ptr %t21) store ptr %t22, ptr %t23 store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself store ptr @.str11328, ptr @g_ret_ty %t24 = call ptr @fn_buf_new() store ptr %t24, ptr %t25 %t26 = call ptr @fn_buf_new() store ptr %t26, ptr @g_falloc %t27 = load ptr, ptr @g_code store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t25 store ptr %t29, ptr @g_code %t30 = load ptr, ptr %t18 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 3 %t32 = load ptr, ptr %t31 %t33 = icmp ne ptr %t32, null %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then5, label %ifend7 then5: %t36 = call ptr @fn_emit_alloca(ptr @.str11329) store ptr %t36, ptr %t37 call void @fn_emit(ptr @.str11330) %t38 = load ptr, ptr %t37 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str11331) %t39 = load ptr, ptr %t18 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 3 %t41 = load ptr, ptr %t40 %t42 = load ptr, ptr %t37 call void @fn_loc_push(ptr %t41, ptr %t42, ptr @.str11332) br label %ifend7 ifend7: %t43 = load ptr, ptr %t23 call void @fn_emit_bind_props(ptr %t43, ptr @.str11333) %t44 = load ptr, ptr %t18 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 4 %t46 = load ptr, ptr %t45 call void @fn_emit_block(ptr %t46) %t47 = load i32, ptr @g_g_term %t48 = icmp eq i32 %t47, 0 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then8, label %ifend10 then8: call void @fn_emit(ptr @.str11334) br label %ifend10 ifend10: call void @fn_emit(ptr @.str11335) %t51 = load ptr, ptr %t28 store ptr %t51, ptr @g_code call void @fn_emit(ptr @.str11336) %t52 = load ptr, ptr %t18 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 1 %t54 = load ptr, ptr %t53 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str11337) %t55 = load ptr, ptr @g_falloc %t56 = call ptr @fn_buf_str(ptr %t55) call void @fn_emit(ptr %t56) %t57 = load ptr, ptr %t25 %t58 = call ptr @fn_buf_str(ptr %t57) call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str11338) %t59 = load i32, ptr %t0 %t60 = add i32 %t59, 1 store i32 %t60, ptr %t0 br label %wcond0 wend2: call void @fn_emit_despawn_all_fn() br label %ret ret: ret void } define void @fn_emit_world_despawn_fn() { entry: %t7 = alloca ptr %t9 = alloca i32 %t29 = alloca ptr %t32 = alloca ptr %t45 = alloca ptr call void @fn_emit(ptr @.str11339) %t0 = load ptr, ptr @g_g_ondespawn %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t2 = load i32, ptr %t1 %t3 = icmp sgt i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 call void @fn_emit(ptr @.str11340) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str11341) call void @fn_emit(ptr @.str11342) store i32 0, ptr %t9 br label %wcond3 wcond3: %t10 = load i32, ptr %t9 %t11 = load ptr, ptr @g_g_ondespawn %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp slt i32 %t10, %t13 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %wbody4, label %wend5 wbody4: %t17 = load ptr, ptr @g_g_ondespawn %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = load i32, ptr %t9 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t20, %t22 br i1 %t23, label %ixok6, label %ixbad7 ixbad7: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str11343, i32 %t20, i32 %t22) call void @exit(i32 1) unreachable ixok6: %t25 = getelementptr inbounds ptr, ptr %t19, i32 %t20 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1 %t28 = load ptr, ptr %t27 store ptr %t28, ptr %t29 %t30 = load i32, ptr %t9 %t31 = call ptr @fn_itoa(i32 %t30) store ptr %t31, ptr %t32 call void @fn_emit(ptr @.str11344) %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str11345) %t34 = load ptr, ptr %t29 %t35 = call i32 @fn_find_arch_id(ptr %t34) %t36 = call ptr @fn_itoa(i32 %t35) call void @fn_emit(ptr %t36) call void @fn_emit(ptr @.str11346) call void @fn_emit(ptr @.str11347) %t37 = load ptr, ptr %t32 call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str11348) %t38 = load ptr, ptr %t32 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str11349) %t39 = load ptr, ptr %t32 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str11350) call void @fn_emit(ptr @.str11351) %t40 = load ptr, ptr %t32 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str11352) %t41 = load ptr, ptr %t29 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str11353) %t42 = load ptr, ptr %t29 %t43 = call ptr @lp_str_concat(ptr @.str11354, ptr %t42) %t44 = call ptr @lp_str_concat(ptr %t43, ptr @.str11355) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 %t47 = call ptr @fn_find_event(ptr %t46) %t48 = icmp ne ptr %t47, null %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then8, label %ifend10 then8: call void @fn_emit(ptr @.str11356) %t51 = load ptr, ptr %t45 call void @fn_emit(ptr %t51) call void @fn_emit(ptr @.str11357) br label %ifend10 ifend10: call void @fn_emit(ptr @.str11358) %t52 = load ptr, ptr %t32 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str11359) call void @fn_emit(ptr @.str11360) %t53 = load ptr, ptr %t32 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str11361) %t54 = load i32, ptr %t9 %t55 = add i32 %t54, 1 store i32 %t55, ptr %t9 br label %wcond3 wend5: br label %ifend2 ifend2: %t56 = load ptr, ptr @g_g_events %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t58 = load i32, ptr %t57 %t59 = icmp sgt i32 %t58, 0 %t60 = zext i1 %t59 to i32 %t61 = icmp ne i32 %t60, 0 br i1 %t61, label %then11, label %ifend13 then11: call void @fn_emit(ptr @.str11362) br label %ifend13 ifend13: call void @fn_emit(ptr @.str11363) call void @fn_emit(ptr @.str11364) br label %ret ret: ret void } define void @fn_emit_despawn_all_fn() { entry: %t7 = alloca ptr %t10 = alloca i32 %t30 = alloca ptr %t33 = alloca ptr %t46 = alloca ptr %t0 = load ptr, ptr @g_g_ondespawn %t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1 %t2 = load i32, ptr %t1 %t3 = icmp eq i32 %t2, 0 %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: br label %ret ifend2: %t6 = call ptr @fn_itoa(i32 1024) store ptr %t6, ptr %t7 call void @fn_emit(ptr @.str11365) call void @fn_emit(ptr @.str11366) call void @fn_emit(ptr @.str11367) call void @fn_emit(ptr @.str11368) call void @fn_emit(ptr @.str11369) %t8 = load ptr, ptr %t7 call void @fn_emit(ptr %t8) call void @fn_emit(ptr @.str11370) call void @fn_emit(ptr @.str11371) call void @fn_emit(ptr @.str11372) call void @fn_emit(ptr @.str11373) %t9 = load ptr, ptr %t7 call void @fn_emit(ptr %t9) call void @fn_emit(ptr @.str11374) call void @fn_emit(ptr @.str11375) store i32 0, ptr %t10 br label %wcond3 wcond3: %t11 = load i32, ptr %t10 %t12 = load ptr, ptr @g_g_ondespawn %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp slt i32 %t11, %t14 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %wbody4, label %wend5 wbody4: %t18 = load ptr, ptr @g_g_ondespawn %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = load i32, ptr %t10 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t21, %t23 br i1 %t24, label %ixok6, label %ixbad7 ixbad7: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str11376, i32 %t21, i32 %t23) call void @exit(i32 1) unreachable ixok6: %t26 = getelementptr inbounds ptr, ptr %t20, i32 %t21 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 store ptr %t29, ptr %t30 %t31 = load i32, ptr %t10 %t32 = call ptr @fn_itoa(i32 %t31) store ptr %t32, ptr %t33 call void @fn_emit(ptr @.str11377) %t34 = load ptr, ptr %t33 call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str11378) %t35 = load ptr, ptr %t30 %t36 = call i32 @fn_find_arch_id(ptr %t35) %t37 = call ptr @fn_itoa(i32 %t36) call void @fn_emit(ptr %t37) call void @fn_emit(ptr @.str11379) call void @fn_emit(ptr @.str11380) %t38 = load ptr, ptr %t33 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str11381) %t39 = load ptr, ptr %t33 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str11382) %t40 = load ptr, ptr %t33 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str11383) call void @fn_emit(ptr @.str11384) %t41 = load ptr, ptr %t33 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str11385) %t42 = load ptr, ptr %t30 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str11386) %t43 = load ptr, ptr %t30 %t44 = call ptr @lp_str_concat(ptr @.str11387, ptr %t43) %t45 = call ptr @lp_str_concat(ptr %t44, ptr @.str11388) store ptr %t45, ptr %t46 %t47 = load ptr, ptr %t46 %t48 = call ptr @fn_find_event(ptr %t47) %t49 = icmp ne ptr %t48, null %t50 = zext i1 %t49 to i32 %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then8, label %ifend10 then8: call void @fn_emit(ptr @.str11389) %t52 = load ptr, ptr %t46 call void @fn_emit(ptr %t52) call void @fn_emit(ptr @.str11390) br label %ifend10 ifend10: call void @fn_emit(ptr @.str11391) %t53 = load ptr, ptr %t33 call void @fn_emit(ptr %t53) call void @fn_emit(ptr @.str11392) call void @fn_emit(ptr @.str11393) %t54 = load ptr, ptr %t33 call void @fn_emit(ptr %t54) call void @fn_emit(ptr @.str11394) %t55 = load i32, ptr %t10 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t10 br label %wcond3 wend5: call void @fn_emit(ptr @.str11395) call void @fn_emit(ptr @.str11396) call void @fn_emit(ptr @.str11397) br label %ret ret: ret void } define void @fn_emit_event_fns() { entry: %t0 = alloca i32 %t18 = alloca ptr %t22 = alloca ptr %t24 = alloca ptr %t26 = alloca i32 %t97 = alloca ptr %t100 = alloca ptr %t112 = alloca ptr %t113 = alloca i32 %t135 = alloca ptr %t140 = alloca ptr %t142 = alloca ptr %t154 = alloca ptr %t168 = alloca ptr %t188 = alloca i32 %t189 = alloca i32 %t214 = alloca ptr %t244 = alloca ptr %t247 = alloca ptr %t249 = alloca ptr %t251 = alloca ptr %t257 = alloca ptr %t261 = alloca ptr %t268 = alloca ptr %t274 = alloca ptr %t282 = alloca ptr %t287 = alloca ptr %t289 = alloca ptr %t291 = alloca ptr %t304 = alloca ptr %t318 = alloca ptr %t321 = alloca ptr %t330 = alloca i32 %t370 = alloca ptr %t371 = alloca i32 %t391 = alloca ptr %t394 = alloca ptr call void @fn_emith(ptr @.str11398) store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_events %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_g_events %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str11399, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1 %t21 = load ptr, ptr %t20 store ptr %t21, ptr %t22 %t23 = call ptr @fn_itoa(i32 16) store ptr %t23, ptr %t24 call void @fn_emith(ptr @.str11400) %t25 = load ptr, ptr %t22 call void @fn_emith(ptr %t25) call void @fn_emith(ptr @.str11401) store i32 0, ptr %t26 br label %wcond5 wcond5: %t27 = load i32, ptr %t26 %t28 = load ptr, ptr %t18 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp slt i32 %t27, %t32 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %wbody6, label %wend7 wbody6: %t36 = load i32, ptr %t26 %t37 = icmp sgt i32 %t36, 0 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then8, label %ifend10 then8: call void @fn_emith(ptr @.str11402) br label %ifend10 ifend10: %t40 = load ptr, ptr %t18 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 7 %t42 = load ptr, ptr %t41 %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = load i32, ptr %t26 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 %t45, %t47 br i1 %t48, label %ixok11, label %ixbad12 ixbad12: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str11403, i32 %t45, i32 %t47) call void @exit(i32 1) unreachable ixok11: %t50 = getelementptr inbounds ptr, ptr %t44, i32 %t45 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 3 %t53 = load ptr, ptr %t52 %t54 = call ptr @fn_llty(ptr %t53) call void @fn_emith(ptr %t54) %t55 = load i32, ptr %t26 %t56 = add i32 %t55, 1 store i32 %t56, ptr %t26 br label %wcond5 wend7: %t57 = load ptr, ptr %t18 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 2 %t59 = load i32, ptr %t58 %t60 = icmp eq i32 %t59, 1 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %then13, label %ifend15 then13: %t63 = load ptr, ptr %t18 %t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 7 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %LSlice, ptr %t65, i32 0, i32 1 %t67 = load i32, ptr %t66 %t68 = icmp sgt i32 %t67, 0 %t69 = zext i1 %t68 to i32 %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then16, label %ifend18 then16: call void @fn_emith(ptr @.str11404) br label %ifend18 ifend18: call void @fn_emith(ptr @.str11405) br label %ifend15 ifend15: call void @fn_emith(ptr @.str11406) call void @fn_emith(ptr @.str11407) %t71 = load ptr, ptr %t22 call void @fn_emith(ptr %t71) call void @fn_emith(ptr @.str11408) %t72 = load ptr, ptr %t24 call void @fn_emith(ptr %t72) call void @fn_emith(ptr @.str11409) call void @fn_emith(ptr @.str11410) %t73 = load ptr, ptr %t22 call void @fn_emith(ptr %t73) call void @fn_emith(ptr @.str11411) call void @fn_emith(ptr @.str11412) %t74 = load ptr, ptr %t22 call void @fn_emith(ptr %t74) call void @fn_emith(ptr @.str11413) %t75 = load ptr, ptr %t24 call void @fn_emith(ptr %t75) call void @fn_emith(ptr @.str11414) call void @fn_emit(ptr @.str11415) %t76 = load ptr, ptr %t22 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str11416) call void @fn_emit(ptr @.str11417) %t77 = load ptr, ptr %t22 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str11418) call void @fn_emit(ptr @.str11419) %t78 = load ptr, ptr %t24 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str11420) call void @fn_emit(ptr @.str11421) call void @fn_emit(ptr @.str11422) %t79 = load ptr, ptr %t24 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str11423) %t80 = load ptr, ptr %t22 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str11424) call void @fn_emit(ptr @.str11425) call void @fn_emit(ptr @.str11426) %t81 = load ptr, ptr %t24 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str11427) %t82 = load ptr, ptr %t22 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str11428) call void @fn_emit(ptr @.str11429) call void @fn_emit(ptr @.str11430) %t83 = load ptr, ptr %t22 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str11431) call void @fn_emit(ptr @.str11432) call void @fn_emit(ptr @.str11433) %t84 = load ptr, ptr %t22 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str11434) call void @fn_emit(ptr @.str11435) %t85 = load ptr, ptr %t22 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str11436) call void @fn_emit(ptr @.str11437) %t86 = load ptr, ptr %t24 call void @fn_emit(ptr %t86) call void @fn_emit(ptr @.str11438) call void @fn_emit(ptr @.str11439) call void @fn_emit(ptr @.str11440) %t87 = load ptr, ptr %t24 call void @fn_emit(ptr %t87) call void @fn_emit(ptr @.str11441) %t88 = load ptr, ptr %t22 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str11442) call void @fn_emit(ptr @.str11443) call void @fn_emit(ptr @.str11444) %t89 = load ptr, ptr %t24 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str11445) %t90 = load ptr, ptr %t22 call void @fn_emit(ptr %t90) call void @fn_emit(ptr @.str11446) call void @fn_emit(ptr @.str11447) call void @fn_emit(ptr @.str11448) %t91 = load ptr, ptr %t22 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str11449) call void @fn_emit(ptr @.str11450) call void @fn_emit(ptr @.str11451) %t92 = load ptr, ptr %t22 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str11452) call void @fn_emit(ptr @.str11453) %t93 = load ptr, ptr %t22 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str11454) call void @fn_emit(ptr @.str11455) call void @fn_emit(ptr @.str11456) call void @fn_emit(ptr @.str11457) %t94 = load ptr, ptr %t24 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str11458) %t95 = load ptr, ptr %t22 call void @fn_emit(ptr %t95) call void @fn_emit(ptr @.str11459) call void @fn_emit(ptr @.str11460) call void @fn_emit(ptr @.str11461) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself store ptr null, ptr @g_g_cur_scene store ptr @.str11462, ptr @g_ret_ty %t96 = call ptr @fn_buf_new() store ptr %t96, ptr %t97 %t98 = call ptr @fn_buf_new() store ptr %t98, ptr @g_falloc %t99 = load ptr, ptr @g_code store ptr %t99, ptr %t100 %t101 = load ptr, ptr %t97 store ptr %t101, ptr @g_code call void @fn_emit(ptr @.str11463) call void @fn_emit(ptr @.str11464) %t102 = call ptr @fn_itoa(i32 32) call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str11465) call void @fn_emit(ptr @.str11466) call void @fn_emit(ptr @.str11467) %t103 = load ptr, ptr %t18 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 2 %t105 = load i32, ptr %t104 %t106 = icmp eq i32 %t105, 1 %t107 = zext i1 %t106 to i32 %t108 = icmp ne i32 %t107, 0 br i1 %t108, label %then19, label %else20 then19: call void @fn_emit(ptr @.str11468) br label %ifend21 else20: call void @fn_emit(ptr @.str11469) br label %ifend21 ifend21: call void @fn_emit(ptr @.str11470) call void @fn_emit(ptr @.str11471) %t109 = load ptr, ptr %t22 %t110 = call ptr @lp_str_concat(ptr @.str11472, ptr %t109) %t111 = call ptr @fn_emit_alloca(ptr %t110) store ptr %t111, ptr %t112 store i32 0, ptr %t113 br label %wcond22 wcond22: %t114 = load i32, ptr %t113 %t115 = load ptr, ptr %t18 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 7 %t117 = load ptr, ptr %t116 %t118 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 1 %t119 = load i32, ptr %t118 %t120 = icmp slt i32 %t114, %t119 %t121 = zext i1 %t120 to i32 %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %wbody23, label %wend24 wbody23: %t123 = load ptr, ptr %t18 %t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 7 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0 %t127 = load ptr, ptr %t126 %t128 = load i32, ptr %t113 %t129 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 1 %t130 = load i32, ptr %t129 %t131 = icmp ult i32 %t128, %t130 br i1 %t131, label %ixok25, label %ixbad26 ixbad26: %t132 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t132, ptr @.fmt_bounds, ptr @.str11473, i32 %t128, i32 %t130) call void @exit(i32 1) unreachable ixok25: %t133 = getelementptr inbounds ptr, ptr %t127, i32 %t128 %t134 = load ptr, ptr %t133 store ptr %t134, ptr %t135 %t136 = load ptr, ptr %t135 %t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 3 %t138 = load ptr, ptr %t137 %t139 = call ptr @fn_llty(ptr %t138) store ptr %t139, ptr %t140 %t141 = call ptr @fn_nreg() store ptr %t141, ptr %t142 call void @fn_emit(ptr @.str11474) %t143 = load ptr, ptr %t142 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str11475) %t144 = load ptr, ptr %t22 call void @fn_emit(ptr %t144) call void @fn_emit(ptr @.str11476) %t145 = load ptr, ptr %t112 call void @fn_emit(ptr %t145) call void @fn_emit(ptr @.str11477) %t146 = load i32, ptr %t113 %t147 = call ptr @fn_itoa(i32 %t146) call void @fn_emit(ptr %t147) call void @fn_emit(ptr @.str11478) call void @fn_emit(ptr @.str11479) %t148 = load ptr, ptr %t140 call void @fn_emit(ptr %t148) call void @fn_emit(ptr @.str11480) %t149 = load i32, ptr %t113 %t150 = call ptr @fn_itoa(i32 %t149) call void @fn_emit(ptr %t150) call void @fn_emit(ptr @.str11481) %t151 = load ptr, ptr %t142 call void @fn_emit(ptr %t151) call void @fn_emit(ptr @.str11482) %t152 = load ptr, ptr %t140 %t153 = call ptr @fn_emit_alloca(ptr %t152) store ptr %t153, ptr %t154 call void @fn_emit(ptr @.str11483) %t155 = load ptr, ptr %t140 call void @fn_emit(ptr %t155) call void @fn_emit(ptr @.str11484) %t156 = load i32, ptr %t113 %t157 = call ptr @fn_itoa(i32 %t156) call void @fn_emit(ptr %t157) call void @fn_emit(ptr @.str11485) %t158 = load ptr, ptr %t154 call void @fn_emit(ptr %t158) call void @fn_emit(ptr @.str11486) %t159 = load ptr, ptr %t135 %t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 1 %t161 = load ptr, ptr %t160 %t162 = load ptr, ptr %t154 %t163 = load ptr, ptr %t135 %t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 3 %t165 = load ptr, ptr %t164 call void @fn_loc_push(ptr %t161, ptr %t162, ptr %t165) %t166 = load i32, ptr %t113 %t167 = add i32 %t166, 1 store i32 %t167, ptr %t113 br label %wcond22 wend24: store ptr null, ptr %t168 %t169 = load ptr, ptr %t18 %t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 2 %t171 = load i32, ptr %t170 %t172 = icmp eq i32 %t171, 1 %t173 = zext i1 %t172 to i32 %t174 = icmp ne i32 %t173, 0 br i1 %t174, label %then27, label %ifend29 then27: %t175 = call ptr @fn_nreg() store ptr %t175, ptr %t168 call void @fn_emit(ptr @.str11487) %t176 = load ptr, ptr %t168 call void @fn_emit(ptr %t176) call void @fn_emit(ptr @.str11488) %t177 = load ptr, ptr %t22 call void @fn_emit(ptr %t177) call void @fn_emit(ptr @.str11489) %t178 = load ptr, ptr %t112 call void @fn_emit(ptr %t178) call void @fn_emit(ptr @.str11490) %t179 = load ptr, ptr %t18 %t180 = getelementptr inbounds %Cmp_Node, ptr %t179, i32 0, i32 7 %t181 = load ptr, ptr %t180 %t182 = getelementptr inbounds %LSlice, ptr %t181, i32 0, i32 1 %t183 = load i32, ptr %t182 %t184 = call ptr @fn_itoa(i32 %t183) call void @fn_emit(ptr %t184) call void @fn_emit(ptr @.str11491) call void @fn_emit(ptr @.str11492) %t185 = load ptr, ptr %t168 call void @fn_emit(ptr %t185) call void @fn_emit(ptr @.str11493) %t186 = load ptr, ptr %t168 store ptr %t186, ptr @g_g_cancel_addr br label %ifend29 ifend29: %t187 = load i32, ptr @g_nloc store i32 %t187, ptr %t188 store i32 0, ptr %t189 br label %wcond30 wcond30: %t190 = load i32, ptr %t189 %t191 = load ptr, ptr @g_g_onlisten %t192 = getelementptr inbounds %LSlice, ptr %t191, i32 0, i32 1 %t193 = load i32, ptr %t192 %t194 = icmp slt i32 %t190, %t193 %t195 = zext i1 %t194 to i32 %t196 = icmp ne i32 %t195, 0 br i1 %t196, label %wbody31, label %wend32 wbody31: %t197 = load ptr, ptr @g_g_onlisten %t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 %t199 = load ptr, ptr %t198 %t200 = load i32, ptr %t189 %t201 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 1 %t202 = load i32, ptr %t201 %t203 = icmp ult i32 %t200, %t202 br i1 %t203, label %ixok33, label %ixbad34 ixbad34: %t204 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str11494, i32 %t200, i32 %t202) call void @exit(i32 1) unreachable ixok33: %t205 = getelementptr inbounds ptr, ptr %t199, i32 %t200 %t206 = load ptr, ptr %t205 %t207 = getelementptr inbounds %Cmp_Node, ptr %t206, i32 0, i32 1 %t208 = load ptr, ptr %t207 %t209 = load ptr, ptr %t22 %t210 = call i32 @lp_str_eq(ptr %t208, ptr %t209) %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %then35, label %ifend37 then35: %t212 = load i32, ptr %t188 store i32 %t212, ptr @g_nloc store i32 0, ptr @g_g_term %t213 = call ptr @fn_lbl(ptr @.str11495) store ptr %t213, ptr %t214 %t215 = load ptr, ptr %t214 store ptr %t215, ptr @g_g_ret_label %t216 = load ptr, ptr @g_g_onlisten %t217 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 0 %t218 = load ptr, ptr %t217 %t219 = load i32, ptr %t189 %t220 = getelementptr inbounds %LSlice, ptr %t216, i32 0, i32 1 %t221 = load i32, ptr %t220 %t222 = icmp ult i32 %t219, %t221 br i1 %t222, label %ixok38, label %ixbad39 ixbad39: %t223 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t223, ptr @.fmt_bounds, ptr @.str11496, i32 %t219, i32 %t221) call void @exit(i32 1) unreachable ixok38: %t224 = getelementptr inbounds ptr, ptr %t218, i32 %t219 %t225 = load ptr, ptr %t224 %t226 = getelementptr inbounds %Cmp_Node, ptr %t225, i32 0, i32 4 %t227 = load ptr, ptr %t226 call void @fn_emit_block(ptr %t227) store ptr @.str11497, ptr @g_g_ret_label %t228 = load i32, ptr @g_g_term %t229 = icmp eq i32 %t228, 0 %t230 = zext i1 %t229 to i32 %t231 = icmp ne i32 %t230, 0 br i1 %t231, label %then40, label %ifend42 then40: %t232 = load ptr, ptr %t214 %t233 = call ptr @lp_str_concat(ptr @.str11498, ptr %t232) %t234 = call ptr @lp_str_concat(ptr %t233, ptr @.str11499) call void @fn_emit(ptr %t234) br label %ifend42 ifend42: %t235 = load ptr, ptr %t214 %t236 = call ptr @lp_str_concat(ptr %t235, ptr @.str11500) call void @fn_emit(ptr %t236) store i32 0, ptr @g_g_term br label %ifend37 ifend37: %t237 = load i32, ptr %t189 %t238 = add i32 %t237, 1 store i32 %t238, ptr %t189 br label %wcond30 wend32: %t239 = load i32, ptr @g_g_term %t240 = icmp eq i32 %t239, 0 %t241 = zext i1 %t240 to i32 %t242 = icmp ne i32 %t241, 0 br i1 %t242, label %then43, label %ifend45 then43: %t243 = call ptr @fn_emit_alloca(ptr @.str11501) store ptr %t243, ptr %t244 call void @fn_emit(ptr @.str11502) %t245 = load ptr, ptr %t244 call void @fn_emit(ptr %t245) call void @fn_emit(ptr @.str11503) %t246 = call ptr @fn_lbl(ptr @.str11504) store ptr %t246, ptr %t247 %t248 = call ptr @fn_lbl(ptr @.str11505) store ptr %t248, ptr %t249 %t250 = call ptr @fn_lbl(ptr @.str11506) store ptr %t250, ptr %t251 call void @fn_emit(ptr @.str11507) %t252 = load ptr, ptr %t247 call void @fn_emit(ptr %t252) call void @fn_emit(ptr @.str11508) %t253 = load ptr, ptr %t247 call void @fn_emit(ptr %t253) call void @fn_emit(ptr @.str11509) %t254 = load ptr, ptr %t244 %t255 = call ptr @lp_str_concat(ptr @.str11510, ptr %t254) %t256 = call ptr @fn_emit_bind(ptr %t255) store ptr %t256, ptr %t257 %t258 = load ptr, ptr %t22 %t259 = call ptr @lp_str_concat(ptr @.str11511, ptr %t258) %t260 = call ptr @fn_emit_bind(ptr %t259) store ptr %t260, ptr %t261 %t262 = load ptr, ptr %t257 %t263 = call ptr @lp_str_concat(ptr @.str11512, ptr %t262) %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str11513) %t265 = load ptr, ptr %t261 %t266 = call ptr @lp_str_concat(ptr %t264, ptr %t265) %t267 = call ptr @fn_emit_bind(ptr %t266) store ptr %t267, ptr %t268 call void @fn_emit(ptr @.str11514) %t269 = load ptr, ptr %t268 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str11515) %t270 = load ptr, ptr %t249 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str11516) %t271 = load ptr, ptr %t251 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str11517) %t272 = load ptr, ptr %t249 call void @fn_emit(ptr %t272) call void @fn_emit(ptr @.str11518) %t273 = call ptr @fn_nreg() store ptr %t273, ptr %t274 call void @fn_emit(ptr @.str11519) %t275 = load ptr, ptr %t274 call void @fn_emit(ptr %t275) call void @fn_emit(ptr @.str11520) %t276 = load ptr, ptr %t24 call void @fn_emit(ptr %t276) call void @fn_emit(ptr @.str11521) %t277 = load ptr, ptr %t22 call void @fn_emit(ptr %t277) call void @fn_emit(ptr @.str11522) %t278 = load ptr, ptr %t257 call void @fn_emit(ptr %t278) call void @fn_emit(ptr @.str11523) %t279 = load ptr, ptr %t274 %t280 = call ptr @lp_str_concat(ptr @.str11524, ptr %t279) %t281 = call ptr @fn_emit_bind(ptr %t280) store ptr %t281, ptr %t282 %t283 = load ptr, ptr %t282 %t284 = call ptr @lp_str_concat(ptr @.str11525, ptr %t283) %t285 = call ptr @lp_str_concat(ptr %t284, ptr @.str11526) %t286 = call ptr @fn_emit_bind(ptr %t285) store ptr %t286, ptr %t287 %t288 = call ptr @fn_lbl(ptr @.str11527) store ptr %t288, ptr %t289 %t290 = call ptr @fn_lbl(ptr @.str11528) store ptr %t290, ptr %t291 call void @fn_emit(ptr @.str11529) %t292 = load ptr, ptr %t287 call void @fn_emit(ptr %t292) call void @fn_emit(ptr @.str11530) %t293 = load ptr, ptr %t291 call void @fn_emit(ptr %t293) call void @fn_emit(ptr @.str11531) %t294 = load ptr, ptr %t289 call void @fn_emit(ptr %t294) call void @fn_emit(ptr @.str11532) %t295 = load ptr, ptr %t289 call void @fn_emit(ptr %t295) call void @fn_emit(ptr @.str11533) call void @fn_emit(ptr @.str11534) %t296 = load ptr, ptr %t282 call void @fn_emit(ptr %t296) call void @fn_emit(ptr @.str11535) %t297 = load ptr, ptr %t112 call void @fn_emit(ptr %t297) call void @fn_emit(ptr @.str11536) call void @fn_emit(ptr @.str11537) %t298 = load ptr, ptr %t291 call void @fn_emit(ptr %t298) call void @fn_emit(ptr @.str11538) %t299 = load ptr, ptr %t291 call void @fn_emit(ptr %t299) call void @fn_emit(ptr @.str11539) %t300 = load ptr, ptr %t257 %t301 = call ptr @lp_str_concat(ptr @.str11540, ptr %t300) %t302 = call ptr @lp_str_concat(ptr %t301, ptr @.str11541) %t303 = call ptr @fn_emit_bind(ptr %t302) store ptr %t303, ptr %t304 call void @fn_emit(ptr @.str11542) %t305 = load ptr, ptr %t304 call void @fn_emit(ptr %t305) call void @fn_emit(ptr @.str11543) %t306 = load ptr, ptr %t244 call void @fn_emit(ptr %t306) call void @fn_emit(ptr @.str11544) call void @fn_emit(ptr @.str11545) %t307 = load ptr, ptr %t247 call void @fn_emit(ptr %t307) call void @fn_emit(ptr @.str11546) %t308 = load ptr, ptr %t251 call void @fn_emit(ptr %t308) call void @fn_emit(ptr @.str11547) call void @fn_emit(ptr @.str11548) br label %ifend45 ifend45: call void @fn_emit(ptr @.str11549) call void @fn_emit(ptr @.str11550) %t309 = load ptr, ptr %t18 %t310 = getelementptr inbounds %Cmp_Node, ptr %t309, i32 0, i32 2 %t311 = load i32, ptr %t310 %t312 = icmp eq i32 %t311, 1 %t313 = zext i1 %t312 to i32 %t314 = icmp ne i32 %t313, 0 br i1 %t314, label %then46, label %else47 then46: %t315 = load ptr, ptr %t168 %t316 = call ptr @lp_str_concat(ptr @.str11551, ptr %t315) %t317 = call ptr @fn_emit_bind(ptr %t316) store ptr %t317, ptr %t318 call void @fn_emit(ptr @.str11552) %t319 = load ptr, ptr %t318 call void @fn_emit(ptr %t319) call void @fn_emit(ptr @.str11553) br label %ifend48 else47: call void @fn_emit(ptr @.str11554) br label %ifend48 ifend48: store ptr null, ptr @g_g_cancel_addr %t320 = load ptr, ptr %t100 store ptr %t320, ptr @g_code store ptr @.str11555, ptr %t321 %t322 = load ptr, ptr %t18 %t323 = getelementptr inbounds %Cmp_Node, ptr %t322, i32 0, i32 2 %t324 = load i32, ptr %t323 %t325 = icmp eq i32 %t324, 1 %t326 = zext i1 %t325 to i32 %t327 = icmp ne i32 %t326, 0 br i1 %t327, label %then49, label %ifend51 then49: store ptr @.str11556, ptr %t321 br label %ifend51 ifend51: call void @fn_emit(ptr @.str11557) %t328 = load ptr, ptr %t321 call void @fn_emit(ptr %t328) call void @fn_emit(ptr @.str11558) %t329 = load ptr, ptr %t22 call void @fn_emit(ptr %t329) call void @fn_emit(ptr @.str11559) store i32 0, ptr %t330 br label %wcond52 wcond52: %t331 = load i32, ptr %t330 %t332 = load ptr, ptr %t18 %t333 = getelementptr inbounds %Cmp_Node, ptr %t332, i32 0, i32 7 %t334 = load ptr, ptr %t333 %t335 = getelementptr inbounds %LSlice, ptr %t334, i32 0, i32 1 %t336 = load i32, ptr %t335 %t337 = icmp slt i32 %t331, %t336 %t338 = zext i1 %t337 to i32 %t339 = icmp ne i32 %t338, 0 br i1 %t339, label %wbody53, label %wend54 wbody53: %t340 = load i32, ptr %t330 %t341 = icmp sgt i32 %t340, 0 %t342 = zext i1 %t341 to i32 %t343 = icmp ne i32 %t342, 0 br i1 %t343, label %then55, label %ifend57 then55: call void @fn_emit(ptr @.str11560) br label %ifend57 ifend57: %t344 = load ptr, ptr %t18 %t345 = getelementptr inbounds %Cmp_Node, ptr %t344, i32 0, i32 7 %t346 = load ptr, ptr %t345 %t347 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 0 %t348 = load ptr, ptr %t347 %t349 = load i32, ptr %t330 %t350 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 1 %t351 = load i32, ptr %t350 %t352 = icmp ult i32 %t349, %t351 br i1 %t352, label %ixok58, label %ixbad59 ixbad59: %t353 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t353, ptr @.fmt_bounds, ptr @.str11561, i32 %t349, i32 %t351) call void @exit(i32 1) unreachable ixok58: %t354 = getelementptr inbounds ptr, ptr %t348, i32 %t349 %t355 = load ptr, ptr %t354 %t356 = getelementptr inbounds %Cmp_Node, ptr %t355, i32 0, i32 3 %t357 = load ptr, ptr %t356 %t358 = call ptr @fn_llty(ptr %t357) call void @fn_emit(ptr %t358) call void @fn_emit(ptr @.str11562) %t359 = load i32, ptr %t330 %t360 = call ptr @fn_itoa(i32 %t359) call void @fn_emit(ptr %t360) %t361 = load i32, ptr %t330 %t362 = add i32 %t361, 1 store i32 %t362, ptr %t330 br label %wcond52 wend54: call void @fn_emit(ptr @.str11563) %t363 = load ptr, ptr @g_falloc %t364 = call ptr @fn_buf_str(ptr %t363) call void @fn_emit(ptr %t364) %t365 = load ptr, ptr %t97 %t366 = call ptr @fn_buf_str(ptr %t365) call void @fn_emit(ptr %t366) call void @fn_emit(ptr @.str11564) %t367 = load i32, ptr %t0 %t368 = add i32 %t367, 1 store i32 %t368, ptr %t0 br label %wcond0 wend2: %t369 = call ptr @fn_itoa(i32 16) store ptr %t369, ptr %t370 call void @fn_emit(ptr @.str11565) store i32 0, ptr %t371 br label %wcond60 wcond60: %t372 = load i32, ptr %t371 %t373 = load ptr, ptr @g_g_events %t374 = getelementptr inbounds %LSlice, ptr %t373, i32 0, i32 1 %t375 = load i32, ptr %t374 %t376 = icmp slt i32 %t372, %t375 %t377 = zext i1 %t376 to i32 %t378 = icmp ne i32 %t377, 0 br i1 %t378, label %wbody61, label %wend62 wbody61: %t379 = load ptr, ptr @g_g_events %t380 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 0 %t381 = load ptr, ptr %t380 %t382 = load i32, ptr %t371 %t383 = getelementptr inbounds %LSlice, ptr %t379, i32 0, i32 1 %t384 = load i32, ptr %t383 %t385 = icmp ult i32 %t382, %t384 br i1 %t385, label %ixok63, label %ixbad64 ixbad64: %t386 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t386, ptr @.fmt_bounds, ptr @.str11566, i32 %t382, i32 %t384) call void @exit(i32 1) unreachable ixok63: %t387 = getelementptr inbounds ptr, ptr %t381, i32 %t382 %t388 = load ptr, ptr %t387 %t389 = getelementptr inbounds %Cmp_Node, ptr %t388, i32 0, i32 1 %t390 = load ptr, ptr %t389 store ptr %t390, ptr %t391 %t392 = load i32, ptr %t371 %t393 = call ptr @fn_itoa(i32 %t392) store ptr %t393, ptr %t394 call void @fn_emit(ptr @.str11567) %t395 = load ptr, ptr %t394 call void @fn_emit(ptr %t395) call void @fn_emit(ptr @.str11568) call void @fn_emit(ptr @.str11569) %t396 = load ptr, ptr %t394 call void @fn_emit(ptr %t396) call void @fn_emit(ptr @.str11570) call void @fn_emit(ptr @.str11571) %t397 = load ptr, ptr %t394 call void @fn_emit(ptr %t397) call void @fn_emit(ptr @.str11572) %t398 = load ptr, ptr %t391 call void @fn_emit(ptr %t398) call void @fn_emit(ptr @.str11573) call void @fn_emit(ptr @.str11574) %t399 = load ptr, ptr %t394 call void @fn_emit(ptr %t399) call void @fn_emit(ptr @.str11575) %t400 = load ptr, ptr %t394 call void @fn_emit(ptr %t400) call void @fn_emit(ptr @.str11576) %t401 = load ptr, ptr %t394 call void @fn_emit(ptr %t401) call void @fn_emit(ptr @.str11577) call void @fn_emit(ptr @.str11578) %t402 = load ptr, ptr %t394 call void @fn_emit(ptr %t402) call void @fn_emit(ptr @.str11579) %t403 = load ptr, ptr %t394 call void @fn_emit(ptr %t403) call void @fn_emit(ptr @.str11580) %t404 = load ptr, ptr %t394 call void @fn_emit(ptr %t404) call void @fn_emit(ptr @.str11581) call void @fn_emit(ptr @.str11582) %t405 = load ptr, ptr %t394 call void @fn_emit(ptr %t405) call void @fn_emit(ptr @.str11583) call void @fn_emit(ptr @.str11584) %t406 = load ptr, ptr %t394 call void @fn_emit(ptr %t406) call void @fn_emit(ptr @.str11585) %t407 = load ptr, ptr %t370 call void @fn_emit(ptr %t407) call void @fn_emit(ptr @.str11586) %t408 = load ptr, ptr %t391 call void @fn_emit(ptr %t408) call void @fn_emit(ptr @.str11587) %t409 = load ptr, ptr %t394 call void @fn_emit(ptr %t409) call void @fn_emit(ptr @.str11588) call void @fn_emit(ptr @.str11589) %t410 = load ptr, ptr %t394 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str11590) %t411 = load ptr, ptr %t394 call void @fn_emit(ptr %t411) call void @fn_emit(ptr @.str11591) call void @fn_emit(ptr @.str11592) %t412 = load ptr, ptr %t394 call void @fn_emit(ptr %t412) call void @fn_emit(ptr @.str11593) %t413 = load ptr, ptr %t394 call void @fn_emit(ptr %t413) call void @fn_emit(ptr @.str11594) call void @fn_emit(ptr @.str11595) %t414 = load ptr, ptr %t394 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str11596) %t415 = load ptr, ptr %t394 call void @fn_emit(ptr %t415) call void @fn_emit(ptr @.str11597) %t416 = load ptr, ptr %t394 call void @fn_emit(ptr %t416) call void @fn_emit(ptr @.str11598) call void @fn_emit(ptr @.str11599) %t417 = load ptr, ptr %t394 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str11600) call void @fn_emit(ptr @.str11601) %t418 = load ptr, ptr %t394 call void @fn_emit(ptr %t418) call void @fn_emit(ptr @.str11602) %t419 = load ptr, ptr %t370 call void @fn_emit(ptr %t419) call void @fn_emit(ptr @.str11603) %t420 = load ptr, ptr %t391 call void @fn_emit(ptr %t420) call void @fn_emit(ptr @.str11604) %t421 = load ptr, ptr %t394 call void @fn_emit(ptr %t421) call void @fn_emit(ptr @.str11605) call void @fn_emit(ptr @.str11606) %t422 = load ptr, ptr %t394 call void @fn_emit(ptr %t422) call void @fn_emit(ptr @.str11607) %t423 = load ptr, ptr %t394 call void @fn_emit(ptr %t423) call void @fn_emit(ptr @.str11608) call void @fn_emit(ptr @.str11609) %t424 = load ptr, ptr %t394 call void @fn_emit(ptr %t424) call void @fn_emit(ptr @.str11610) call void @fn_emit(ptr @.str11611) %t425 = load ptr, ptr %t394 call void @fn_emit(ptr %t425) call void @fn_emit(ptr @.str11612) %t426 = load ptr, ptr %t394 call void @fn_emit(ptr %t426) call void @fn_emit(ptr @.str11613) %t427 = load ptr, ptr %t394 call void @fn_emit(ptr %t427) call void @fn_emit(ptr @.str11614) %t428 = load ptr, ptr %t394 call void @fn_emit(ptr %t428) call void @fn_emit(ptr @.str11615) call void @fn_emit(ptr @.str11616) %t429 = load ptr, ptr %t394 call void @fn_emit(ptr %t429) call void @fn_emit(ptr @.str11617) %t430 = load i32, ptr %t371 %t431 = add i32 %t430, 1 %t432 = load ptr, ptr @g_g_events %t433 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 1 %t434 = load i32, ptr %t433 %t435 = icmp slt i32 %t431, %t434 %t436 = zext i1 %t435 to i32 %t437 = icmp ne i32 %t436, 0 br i1 %t437, label %then65, label %else66 then65: call void @fn_emit(ptr @.str11618) %t438 = load i32, ptr %t371 %t439 = add i32 %t438, 1 %t440 = call ptr @fn_itoa(i32 %t439) call void @fn_emit(ptr %t440) call void @fn_emit(ptr @.str11619) br label %ifend67 else66: call void @fn_emit(ptr @.str11620) br label %ifend67 ifend67: %t441 = load i32, ptr %t371 %t442 = add i32 %t441, 1 store i32 %t442, ptr %t371 br label %wcond60 wend62: call void @fn_emit(ptr @.str11621) br label %ret ret: ret void } define void @fn_emit_world_table() { entry: %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t32 = alloca ptr %t33 = alloca i32 %t34 = alloca i32 %t70 = alloca ptr %t73 = alloca ptr %t121 = alloca ptr %t124 = alloca ptr %t131 = alloca i32 %t156 = alloca ptr %t162 = alloca ptr %t213 = alloca ptr %t217 = alloca ptr %t220 = alloca ptr %t231 = alloca i32 %t256 = alloca ptr %t262 = alloca ptr %t337 = alloca ptr %t341 = alloca ptr %t344 = alloca ptr %t355 = alloca i32 %t380 = alloca ptr %t386 = alloca ptr %t457 = alloca ptr %t460 = alloca ptr %t523 = alloca ptr %t526 = alloca ptr %t588 = alloca ptr %t590 = alloca ptr %t593 = alloca ptr %t596 = alloca ptr %t602 = alloca ptr %t646 = alloca ptr %t649 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 store i32 0, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load i32, ptr %t3 %t5 = load ptr, ptr @g_prog %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp slt i32 %t4, %t7 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %wbody1, label %wend2 wbody1: %t11 = load ptr, ptr @g_prog %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = load i32, ptr %t3 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t14, %t16 br i1 %t17, label %ixok3, label %ixbad4 ixbad4: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str11622, i32 %t14, i32 %t16) call void @exit(i32 1) unreachable ixok3: %t19 = getelementptr inbounds ptr, ptr %t13, i32 %t14 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 0 %t22 = load i32, ptr %t21 %t23 = icmp eq i32 %t22, 8 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then5, label %ifend7 then5: %t26 = load i32, ptr %t2 %t27 = add i32 %t26, 1 store i32 %t27, ptr %t2 br label %ifend7 ifend7: %t28 = load i32, ptr %t3 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t3 br label %wcond0 wend2: %t30 = load i32, ptr %t2 %t31 = call ptr @fn_itoa(i32 %t30) store ptr %t31, ptr %t32 call void @fn_emith(ptr @.str11623) call void @fn_emith(ptr @.str11624) call void @fn_emith(ptr @.str11625) call void @fn_emith(ptr @.str11626) call void @fn_emith(ptr @.str11627) call void @fn_emit(ptr @.str11628) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond8 wcond8: %t35 = load i32, ptr %t34 %t36 = load ptr, ptr @g_prog %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t38 = load i32, ptr %t37 %t39 = icmp slt i32 %t35, %t38 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %wbody9, label %wend10 wbody9: %t42 = load ptr, ptr @g_prog %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = load i32, ptr %t34 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 %t45, %t47 br i1 %t48, label %ixok11, label %ixbad12 ixbad12: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str11629, i32 %t45, i32 %t47) call void @exit(i32 1) unreachable ixok11: %t50 = getelementptr inbounds ptr, ptr %t44, i32 %t45 %t51 = load ptr, ptr %t50 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 0 %t53 = load i32, ptr %t52 %t54 = icmp eq i32 %t53, 8 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 br i1 %t56, label %then13, label %ifend15 then13: %t57 = load ptr, ptr @g_prog %t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0 %t59 = load ptr, ptr %t58 %t60 = load i32, ptr %t34 %t61 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 %t62 = load i32, ptr %t61 %t63 = icmp ult i32 %t60, %t62 br i1 %t63, label %ixok16, label %ixbad17 ixbad17: %t64 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t64, ptr @.fmt_bounds, ptr @.str11630, i32 %t60, i32 %t62) call void @exit(i32 1) unreachable ixok16: %t65 = getelementptr inbounds ptr, ptr %t59, i32 %t60 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1 %t68 = load ptr, ptr %t67 %t69 = call ptr @fn_emit_str_const(ptr %t68) store ptr %t69, ptr %t70 %t71 = load i32, ptr %t33 %t72 = call ptr @fn_itoa(i32 %t71) store ptr %t72, ptr %t73 call void @fn_emit(ptr @.str11631) %t74 = load ptr, ptr %t73 call void @fn_emit(ptr %t74) call void @fn_emit(ptr @.str11632) %t75 = load ptr, ptr %t70 call void @fn_emit(ptr %t75) call void @fn_emit(ptr @.str11633) call void @fn_emit(ptr @.str11634) %t76 = load ptr, ptr %t73 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str11635) %t77 = load ptr, ptr %t73 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str11636) call void @fn_emit(ptr @.str11637) %t78 = load ptr, ptr %t73 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str11638) %t79 = load ptr, ptr %t73 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str11639) %t80 = load ptr, ptr %t73 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str11640) call void @fn_emit(ptr @.str11641) %t81 = load ptr, ptr %t73 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str11642) %t82 = load ptr, ptr %t73 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str11643) call void @fn_emit(ptr @.str11644) %t83 = load ptr, ptr %t73 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str11645) %t84 = load i32, ptr %t33 %t85 = add i32 %t84, 1 store i32 %t85, ptr %t33 br label %ifend15 ifend15: %t86 = load i32, ptr %t34 %t87 = add i32 %t86, 1 store i32 %t87, ptr %t34 br label %wcond8 wend10: call void @fn_emit(ptr @.str11646) call void @fn_emit(ptr @.str11647) call void @fn_emit(ptr @.str11648) call void @fn_emit(ptr @.str11649) %t88 = load ptr, ptr %t32 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str11650) call void @fn_emit(ptr @.str11651) call void @fn_emit(ptr @.str11652) call void @fn_emit(ptr @.str11653) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond18 wcond18: %t89 = load i32, ptr %t34 %t90 = load ptr, ptr @g_prog %t91 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1 %t92 = load i32, ptr %t91 %t93 = icmp slt i32 %t89, %t92 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %wbody19, label %wend20 wbody19: %t96 = load ptr, ptr @g_prog %t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t98 = load ptr, ptr %t97 %t99 = load i32, ptr %t34 %t100 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 %t99, %t101 br i1 %t102, label %ixok21, label %ixbad22 ixbad22: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str11654, i32 %t99, i32 %t101) call void @exit(i32 1) unreachable ixok21: %t104 = getelementptr inbounds ptr, ptr %t98, i32 %t99 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 0 %t107 = load i32, ptr %t106 %t108 = icmp eq i32 %t107, 8 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then23, label %ifend25 then23: %t111 = load ptr, ptr @g_prog %t112 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 0 %t113 = load ptr, ptr %t112 %t114 = load i32, ptr %t34 %t115 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 1 %t116 = load i32, ptr %t115 %t117 = icmp ult i32 %t114, %t116 br i1 %t117, label %ixok26, label %ixbad27 ixbad27: %t118 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t118, ptr @.fmt_bounds, ptr @.str11655, i32 %t114, i32 %t116) call void @exit(i32 1) unreachable ixok26: %t119 = getelementptr inbounds ptr, ptr %t113, i32 %t114 %t120 = load ptr, ptr %t119 store ptr %t120, ptr %t121 %t122 = load i32, ptr %t33 %t123 = call ptr @fn_itoa(i32 %t122) store ptr %t123, ptr %t124 call void @fn_emit(ptr @.str11656) %t125 = load ptr, ptr %t124 call void @fn_emit(ptr %t125) call void @fn_emit(ptr @.str11657) %t126 = load ptr, ptr %t124 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str11658) call void @fn_emit(ptr @.str11659) %t127 = load ptr, ptr %t124 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str11660) %t128 = load ptr, ptr %t124 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str11661) %t129 = load ptr, ptr %t124 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str11662) call void @fn_emit(ptr @.str11663) %t130 = load ptr, ptr %t124 call void @fn_emit(ptr %t130) call void @fn_emit(ptr @.str11664) store i32 0, ptr %t131 br label %wcond28 wcond28: %t132 = load i32, ptr %t131 %t133 = load ptr, ptr %t121 %t134 = getelementptr inbounds %Cmp_Node, ptr %t133, i32 0, i32 7 %t135 = load ptr, ptr %t134 %t136 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 1 %t137 = load i32, ptr %t136 %t138 = icmp slt i32 %t132, %t137 %t139 = zext i1 %t138 to i32 %t140 = icmp ne i32 %t139, 0 br i1 %t140, label %wbody29, label %wend30 wbody29: %t141 = load ptr, ptr %t121 %t142 = getelementptr inbounds %Cmp_Node, ptr %t141, i32 0, i32 7 %t143 = load ptr, ptr %t142 %t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0 %t145 = load ptr, ptr %t144 %t146 = load i32, ptr %t131 %t147 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 1 %t148 = load i32, ptr %t147 %t149 = icmp ult i32 %t146, %t148 br i1 %t149, label %ixok31, label %ixbad32 ixbad32: %t150 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t150, ptr @.fmt_bounds, ptr @.str11665, i32 %t146, i32 %t148) call void @exit(i32 1) unreachable ixok31: %t151 = getelementptr inbounds ptr, ptr %t145, i32 %t146 %t152 = load ptr, ptr %t151 %t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 1 %t154 = load ptr, ptr %t153 %t155 = call ptr @fn_emit_str_const(ptr %t154) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t124 %t158 = call ptr @lp_str_concat(ptr %t157, ptr @.str11666) %t159 = load i32, ptr %t131 %t160 = call ptr @fn_itoa(i32 %t159) %t161 = call ptr @lp_str_concat(ptr %t158, ptr %t160) store ptr %t161, ptr %t162 call void @fn_emit(ptr @.str11667) %t163 = load ptr, ptr %t162 call void @fn_emit(ptr %t163) call void @fn_emit(ptr @.str11668) %t164 = load ptr, ptr %t156 call void @fn_emit(ptr %t164) call void @fn_emit(ptr @.str11669) call void @fn_emit(ptr @.str11670) %t165 = load ptr, ptr %t162 call void @fn_emit(ptr %t165) call void @fn_emit(ptr @.str11671) %t166 = load ptr, ptr %t162 call void @fn_emit(ptr %t166) call void @fn_emit(ptr @.str11672) call void @fn_emit(ptr @.str11673) %t167 = load ptr, ptr %t162 call void @fn_emit(ptr %t167) call void @fn_emit(ptr @.str11674) %t168 = load ptr, ptr %t162 call void @fn_emit(ptr %t168) call void @fn_emit(ptr @.str11675) %t169 = load ptr, ptr %t162 call void @fn_emit(ptr %t169) call void @fn_emit(ptr @.str11676) call void @fn_emit(ptr @.str11677) %t170 = load ptr, ptr %t162 call void @fn_emit(ptr %t170) call void @fn_emit(ptr @.str11678) %t171 = load i32, ptr %t131 %t172 = call ptr @fn_itoa(i32 %t171) call void @fn_emit(ptr %t172) call void @fn_emit(ptr @.str11679) call void @fn_emit(ptr @.str11680) %t173 = load ptr, ptr %t162 call void @fn_emit(ptr %t173) call void @fn_emit(ptr @.str11681) %t174 = load i32, ptr %t131 %t175 = add i32 %t174, 1 store i32 %t175, ptr %t131 br label %wcond28 wend30: call void @fn_emit(ptr @.str11682) call void @fn_emit(ptr @.str11683) %t176 = load ptr, ptr %t124 call void @fn_emit(ptr %t176) call void @fn_emit(ptr @.str11684) %t177 = load i32, ptr %t33 %t178 = add i32 %t177, 1 store i32 %t178, ptr %t33 br label %ifend25 ifend25: %t179 = load i32, ptr %t34 %t180 = add i32 %t179, 1 store i32 %t180, ptr %t34 br label %wcond18 wend20: call void @fn_emit(ptr @.str11685) call void @fn_emit(ptr @.str11686) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond33 wcond33: %t181 = load i32, ptr %t34 %t182 = load ptr, ptr @g_prog %t183 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 1 %t184 = load i32, ptr %t183 %t185 = icmp slt i32 %t181, %t184 %t186 = zext i1 %t185 to i32 %t187 = icmp ne i32 %t186, 0 br i1 %t187, label %wbody34, label %wend35 wbody34: %t188 = load ptr, ptr @g_prog %t189 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 0 %t190 = load ptr, ptr %t189 %t191 = load i32, ptr %t34 %t192 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 1 %t193 = load i32, ptr %t192 %t194 = icmp ult i32 %t191, %t193 br i1 %t194, label %ixok36, label %ixbad37 ixbad37: %t195 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t195, ptr @.fmt_bounds, ptr @.str11687, i32 %t191, i32 %t193) call void @exit(i32 1) unreachable ixok36: %t196 = getelementptr inbounds ptr, ptr %t190, i32 %t191 %t197 = load ptr, ptr %t196 %t198 = getelementptr inbounds %Cmp_Node, ptr %t197, i32 0, i32 0 %t199 = load i32, ptr %t198 %t200 = icmp eq i32 %t199, 8 %t201 = zext i1 %t200 to i32 %t202 = icmp ne i32 %t201, 0 br i1 %t202, label %then38, label %ifend40 then38: %t203 = load ptr, ptr @g_prog %t204 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 0 %t205 = load ptr, ptr %t204 %t206 = load i32, ptr %t34 %t207 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 1 %t208 = load i32, ptr %t207 %t209 = icmp ult i32 %t206, %t208 br i1 %t209, label %ixok41, label %ixbad42 ixbad42: %t210 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t210, ptr @.fmt_bounds, ptr @.str11688, i32 %t206, i32 %t208) call void @exit(i32 1) unreachable ixok41: %t211 = getelementptr inbounds ptr, ptr %t205, i32 %t206 %t212 = load ptr, ptr %t211 store ptr %t212, ptr %t213 %t214 = load ptr, ptr %t213 %t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 1 %t216 = load ptr, ptr %t215 store ptr %t216, ptr %t217 %t218 = load i32, ptr %t33 %t219 = call ptr @fn_itoa(i32 %t218) store ptr %t219, ptr %t220 call void @fn_emit(ptr @.str11689) %t221 = load ptr, ptr %t220 call void @fn_emit(ptr %t221) call void @fn_emit(ptr @.str11690) %t222 = load ptr, ptr %t220 call void @fn_emit(ptr %t222) call void @fn_emit(ptr @.str11691) call void @fn_emit(ptr @.str11692) %t223 = load ptr, ptr %t220 call void @fn_emit(ptr %t223) call void @fn_emit(ptr @.str11693) %t224 = load ptr, ptr %t220 call void @fn_emit(ptr %t224) call void @fn_emit(ptr @.str11694) %t225 = load ptr, ptr %t220 call void @fn_emit(ptr %t225) call void @fn_emit(ptr @.str11695) call void @fn_emit(ptr @.str11696) %t226 = load ptr, ptr %t220 call void @fn_emit(ptr %t226) call void @fn_emit(ptr @.str11697) call void @fn_emit(ptr @.str11698) %t227 = load ptr, ptr %t220 call void @fn_emit(ptr %t227) call void @fn_emit(ptr @.str11699) %t228 = load ptr, ptr %t1 call void @fn_emit(ptr %t228) call void @fn_emit(ptr @.str11700) %t229 = load ptr, ptr %t217 call void @fn_emit(ptr %t229) call void @fn_emit(ptr @.str11701) %t230 = load ptr, ptr %t217 call void @fn_emit(ptr %t230) call void @fn_emit(ptr @.str11702) store i32 0, ptr %t231 br label %wcond43 wcond43: %t232 = load i32, ptr %t231 %t233 = load ptr, ptr %t213 %t234 = getelementptr inbounds %Cmp_Node, ptr %t233, i32 0, i32 7 %t235 = load ptr, ptr %t234 %t236 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 1 %t237 = load i32, ptr %t236 %t238 = icmp slt i32 %t232, %t237 %t239 = zext i1 %t238 to i32 %t240 = icmp ne i32 %t239, 0 br i1 %t240, label %wbody44, label %wend45 wbody44: %t241 = load ptr, ptr %t213 %t242 = getelementptr inbounds %Cmp_Node, ptr %t241, i32 0, i32 7 %t243 = load ptr, ptr %t242 %t244 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 0 %t245 = load ptr, ptr %t244 %t246 = load i32, ptr %t231 %t247 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 1 %t248 = load i32, ptr %t247 %t249 = icmp ult i32 %t246, %t248 br i1 %t249, label %ixok46, label %ixbad47 ixbad47: %t250 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str11703, i32 %t246, i32 %t248) call void @exit(i32 1) unreachable ixok46: %t251 = getelementptr inbounds ptr, ptr %t245, i32 %t246 %t252 = load ptr, ptr %t251 %t253 = getelementptr inbounds %Cmp_Node, ptr %t252, i32 0, i32 3 %t254 = load ptr, ptr %t253 %t255 = call ptr @fn_llty(ptr %t254) store ptr %t255, ptr %t256 %t257 = load ptr, ptr %t220 %t258 = call ptr @lp_str_concat(ptr %t257, ptr @.str11704) %t259 = load i32, ptr %t231 %t260 = call ptr @fn_itoa(i32 %t259) %t261 = call ptr @lp_str_concat(ptr %t258, ptr %t260) store ptr %t261, ptr %t262 call void @fn_emit(ptr @.str11705) %t263 = load ptr, ptr %t262 call void @fn_emit(ptr %t263) call void @fn_emit(ptr @.str11706) %t264 = load i32, ptr %t231 %t265 = call ptr @fn_itoa(i32 %t264) call void @fn_emit(ptr %t265) call void @fn_emit(ptr @.str11707) call void @fn_emit(ptr @.str11708) %t266 = load ptr, ptr %t262 call void @fn_emit(ptr %t266) call void @fn_emit(ptr @.str11709) %t267 = load ptr, ptr %t262 call void @fn_emit(ptr %t267) call void @fn_emit(ptr @.str11710) %t268 = load ptr, ptr %t262 call void @fn_emit(ptr %t268) call void @fn_emit(ptr @.str11711) call void @fn_emit(ptr @.str11712) %t269 = load ptr, ptr %t262 call void @fn_emit(ptr %t269) call void @fn_emit(ptr @.str11713) call void @fn_emit(ptr @.str11714) %t270 = load ptr, ptr %t262 call void @fn_emit(ptr %t270) call void @fn_emit(ptr @.str11715) %t271 = load ptr, ptr %t217 call void @fn_emit(ptr %t271) call void @fn_emit(ptr @.str11716) %t272 = load ptr, ptr %t220 call void @fn_emit(ptr %t272) call void @fn_emit(ptr @.str11717) %t273 = load i32, ptr %t231 %t274 = call ptr @fn_itoa(i32 %t273) call void @fn_emit(ptr %t274) call void @fn_emit(ptr @.str11718) %t275 = load ptr, ptr %t256 %t276 = call i32 @lp_str_eq(ptr %t275, ptr @.str11719) %t277 = icmp ne i32 %t276, 0 br i1 %t277, label %then48, label %else49 then48: call void @fn_emit(ptr @.str11720) %t278 = load ptr, ptr %t262 call void @fn_emit(ptr %t278) call void @fn_emit(ptr @.str11721) %t279 = load ptr, ptr %t262 call void @fn_emit(ptr %t279) call void @fn_emit(ptr @.str11722) call void @fn_emit(ptr @.str11723) %t280 = load ptr, ptr %t262 call void @fn_emit(ptr %t280) call void @fn_emit(ptr @.str11724) %t281 = load ptr, ptr %t262 call void @fn_emit(ptr %t281) call void @fn_emit(ptr @.str11725) %t282 = load ptr, ptr %t262 call void @fn_emit(ptr %t282) call void @fn_emit(ptr @.str11726) br label %ifend50 else49: %t283 = load ptr, ptr %t256 %t284 = call i32 @lp_str_eq(ptr %t283, ptr @.str11727) %t285 = icmp ne i32 %t284, 0 br i1 %t285, label %then51, label %else52 then51: call void @fn_emit(ptr @.str11728) %t286 = load ptr, ptr %t262 call void @fn_emit(ptr %t286) call void @fn_emit(ptr @.str11729) %t287 = load ptr, ptr %t262 call void @fn_emit(ptr %t287) call void @fn_emit(ptr @.str11730) call void @fn_emit(ptr @.str11731) %t288 = load ptr, ptr %t262 call void @fn_emit(ptr %t288) call void @fn_emit(ptr @.str11732) %t289 = load ptr, ptr %t262 call void @fn_emit(ptr %t289) call void @fn_emit(ptr @.str11733) %t290 = load ptr, ptr %t262 call void @fn_emit(ptr %t290) call void @fn_emit(ptr @.str11734) br label %ifend53 else52: call void @fn_emit(ptr @.str11735) %t291 = load ptr, ptr %t262 call void @fn_emit(ptr %t291) call void @fn_emit(ptr @.str11736) %t292 = load ptr, ptr %t262 call void @fn_emit(ptr %t292) call void @fn_emit(ptr @.str11737) call void @fn_emit(ptr @.str11738) %t293 = load ptr, ptr %t262 call void @fn_emit(ptr %t293) call void @fn_emit(ptr @.str11739) %t294 = load ptr, ptr %t262 call void @fn_emit(ptr %t294) call void @fn_emit(ptr @.str11740) %t295 = load ptr, ptr %t262 call void @fn_emit(ptr %t295) call void @fn_emit(ptr @.str11741) br label %ifend53 ifend53: br label %ifend50 ifend50: call void @fn_emit(ptr @.str11742) %t296 = load ptr, ptr %t262 call void @fn_emit(ptr %t296) call void @fn_emit(ptr @.str11743) %t297 = load i32, ptr %t231 %t298 = add i32 %t297, 1 store i32 %t298, ptr %t231 br label %wcond43 wend45: call void @fn_emit(ptr @.str11744) call void @fn_emit(ptr @.str11745) %t299 = load ptr, ptr %t220 call void @fn_emit(ptr %t299) call void @fn_emit(ptr @.str11746) %t300 = load i32, ptr %t33 %t301 = add i32 %t300, 1 store i32 %t301, ptr %t33 br label %ifend40 ifend40: %t302 = load i32, ptr %t34 %t303 = add i32 %t302, 1 store i32 %t303, ptr %t34 br label %wcond33 wend35: call void @fn_emit(ptr @.str11747) %t304 = load ptr, ptr %t32 call void @fn_emit(ptr %t304) call void @fn_emit(ptr @.str11748) call void @fn_emit(ptr @.str11749) call void @fn_emit(ptr @.str11750) call void @fn_emit(ptr @.str11751) call void @fn_emit(ptr @.str11752) call void @fn_emit(ptr @.str11753) call void @fn_emit(ptr @.str11754) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond54 wcond54: %t305 = load i32, ptr %t34 %t306 = load ptr, ptr @g_prog %t307 = getelementptr inbounds %LSlice, ptr %t306, i32 0, i32 1 %t308 = load i32, ptr %t307 %t309 = icmp slt i32 %t305, %t308 %t310 = zext i1 %t309 to i32 %t311 = icmp ne i32 %t310, 0 br i1 %t311, label %wbody55, label %wend56 wbody55: %t312 = load ptr, ptr @g_prog %t313 = getelementptr inbounds %LSlice, ptr %t312, i32 0, i32 0 %t314 = load ptr, ptr %t313 %t315 = load i32, ptr %t34 %t316 = getelementptr inbounds %LSlice, ptr %t312, i32 0, i32 1 %t317 = load i32, ptr %t316 %t318 = icmp ult i32 %t315, %t317 br i1 %t318, label %ixok57, label %ixbad58 ixbad58: %t319 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t319, ptr @.fmt_bounds, ptr @.str11755, i32 %t315, i32 %t317) call void @exit(i32 1) unreachable ixok57: %t320 = getelementptr inbounds ptr, ptr %t314, i32 %t315 %t321 = load ptr, ptr %t320 %t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 0 %t323 = load i32, ptr %t322 %t324 = icmp eq i32 %t323, 8 %t325 = zext i1 %t324 to i32 %t326 = icmp ne i32 %t325, 0 br i1 %t326, label %then59, label %ifend61 then59: %t327 = load ptr, ptr @g_prog %t328 = getelementptr inbounds %LSlice, ptr %t327, i32 0, i32 0 %t329 = load ptr, ptr %t328 %t330 = load i32, ptr %t34 %t331 = getelementptr inbounds %LSlice, ptr %t327, i32 0, i32 1 %t332 = load i32, ptr %t331 %t333 = icmp ult i32 %t330, %t332 br i1 %t333, label %ixok62, label %ixbad63 ixbad63: %t334 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t334, ptr @.fmt_bounds, ptr @.str11756, i32 %t330, i32 %t332) call void @exit(i32 1) unreachable ixok62: %t335 = getelementptr inbounds ptr, ptr %t329, i32 %t330 %t336 = load ptr, ptr %t335 store ptr %t336, ptr %t337 %t338 = load ptr, ptr %t337 %t339 = getelementptr inbounds %Cmp_Node, ptr %t338, i32 0, i32 1 %t340 = load ptr, ptr %t339 store ptr %t340, ptr %t341 %t342 = load i32, ptr %t33 %t343 = call ptr @fn_itoa(i32 %t342) store ptr %t343, ptr %t344 call void @fn_emit(ptr @.str11757) %t345 = load ptr, ptr %t344 call void @fn_emit(ptr %t345) call void @fn_emit(ptr @.str11758) %t346 = load ptr, ptr %t344 call void @fn_emit(ptr %t346) call void @fn_emit(ptr @.str11759) call void @fn_emit(ptr @.str11760) %t347 = load ptr, ptr %t344 call void @fn_emit(ptr %t347) call void @fn_emit(ptr @.str11761) %t348 = load ptr, ptr %t344 call void @fn_emit(ptr %t348) call void @fn_emit(ptr @.str11762) %t349 = load ptr, ptr %t344 call void @fn_emit(ptr %t349) call void @fn_emit(ptr @.str11763) call void @fn_emit(ptr @.str11764) %t350 = load ptr, ptr %t344 call void @fn_emit(ptr %t350) call void @fn_emit(ptr @.str11765) call void @fn_emit(ptr @.str11766) %t351 = load ptr, ptr %t344 call void @fn_emit(ptr %t351) call void @fn_emit(ptr @.str11767) %t352 = load ptr, ptr %t1 call void @fn_emit(ptr %t352) call void @fn_emit(ptr @.str11768) %t353 = load ptr, ptr %t341 call void @fn_emit(ptr %t353) call void @fn_emit(ptr @.str11769) %t354 = load ptr, ptr %t341 call void @fn_emit(ptr %t354) call void @fn_emit(ptr @.str11770) store i32 0, ptr %t355 br label %wcond64 wcond64: %t356 = load i32, ptr %t355 %t357 = load ptr, ptr %t337 %t358 = getelementptr inbounds %Cmp_Node, ptr %t357, i32 0, i32 7 %t359 = load ptr, ptr %t358 %t360 = getelementptr inbounds %LSlice, ptr %t359, i32 0, i32 1 %t361 = load i32, ptr %t360 %t362 = icmp slt i32 %t356, %t361 %t363 = zext i1 %t362 to i32 %t364 = icmp ne i32 %t363, 0 br i1 %t364, label %wbody65, label %wend66 wbody65: %t365 = load ptr, ptr %t337 %t366 = getelementptr inbounds %Cmp_Node, ptr %t365, i32 0, i32 7 %t367 = load ptr, ptr %t366 %t368 = getelementptr inbounds %LSlice, ptr %t367, i32 0, i32 0 %t369 = load ptr, ptr %t368 %t370 = load i32, ptr %t355 %t371 = getelementptr inbounds %LSlice, ptr %t367, i32 0, i32 1 %t372 = load i32, ptr %t371 %t373 = icmp ult i32 %t370, %t372 br i1 %t373, label %ixok67, label %ixbad68 ixbad68: %t374 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t374, ptr @.fmt_bounds, ptr @.str11771, i32 %t370, i32 %t372) call void @exit(i32 1) unreachable ixok67: %t375 = getelementptr inbounds ptr, ptr %t369, i32 %t370 %t376 = load ptr, ptr %t375 %t377 = getelementptr inbounds %Cmp_Node, ptr %t376, i32 0, i32 3 %t378 = load ptr, ptr %t377 %t379 = call ptr @fn_llty(ptr %t378) store ptr %t379, ptr %t380 %t381 = load ptr, ptr %t344 %t382 = call ptr @lp_str_concat(ptr %t381, ptr @.str11772) %t383 = load i32, ptr %t355 %t384 = call ptr @fn_itoa(i32 %t383) %t385 = call ptr @lp_str_concat(ptr %t382, ptr %t384) store ptr %t385, ptr %t386 call void @fn_emit(ptr @.str11773) %t387 = load ptr, ptr %t386 call void @fn_emit(ptr %t387) call void @fn_emit(ptr @.str11774) %t388 = load i32, ptr %t355 %t389 = call ptr @fn_itoa(i32 %t388) call void @fn_emit(ptr %t389) call void @fn_emit(ptr @.str11775) call void @fn_emit(ptr @.str11776) %t390 = load ptr, ptr %t386 call void @fn_emit(ptr %t390) call void @fn_emit(ptr @.str11777) %t391 = load ptr, ptr %t386 call void @fn_emit(ptr %t391) call void @fn_emit(ptr @.str11778) %t392 = load ptr, ptr %t386 call void @fn_emit(ptr %t392) call void @fn_emit(ptr @.str11779) call void @fn_emit(ptr @.str11780) %t393 = load ptr, ptr %t386 call void @fn_emit(ptr %t393) call void @fn_emit(ptr @.str11781) call void @fn_emit(ptr @.str11782) %t394 = load ptr, ptr %t386 call void @fn_emit(ptr %t394) call void @fn_emit(ptr @.str11783) %t395 = load ptr, ptr %t341 call void @fn_emit(ptr %t395) call void @fn_emit(ptr @.str11784) %t396 = load ptr, ptr %t344 call void @fn_emit(ptr %t396) call void @fn_emit(ptr @.str11785) %t397 = load i32, ptr %t355 %t398 = call ptr @fn_itoa(i32 %t397) call void @fn_emit(ptr %t398) call void @fn_emit(ptr @.str11786) %t399 = load ptr, ptr %t380 %t400 = call i32 @lp_str_eq(ptr %t399, ptr @.str11787) %t401 = icmp ne i32 %t400, 0 br i1 %t401, label %then69, label %else70 then69: call void @fn_emit(ptr @.str11788) %t402 = load ptr, ptr %t386 call void @fn_emit(ptr %t402) call void @fn_emit(ptr @.str11789) call void @fn_emit(ptr @.str11790) %t403 = load ptr, ptr %t386 call void @fn_emit(ptr %t403) call void @fn_emit(ptr @.str11791) %t404 = load ptr, ptr %t386 call void @fn_emit(ptr %t404) call void @fn_emit(ptr @.str11792) br label %ifend71 else70: %t405 = load ptr, ptr %t380 %t406 = call i32 @lp_str_eq(ptr %t405, ptr @.str11793) %t407 = icmp ne i32 %t406, 0 br i1 %t407, label %then72, label %else73 then72: call void @fn_emit(ptr @.str11794) %t408 = load ptr, ptr %t386 call void @fn_emit(ptr %t408) call void @fn_emit(ptr @.str11795) call void @fn_emit(ptr @.str11796) %t409 = load ptr, ptr %t386 call void @fn_emit(ptr %t409) call void @fn_emit(ptr @.str11797) %t410 = load ptr, ptr %t386 call void @fn_emit(ptr %t410) call void @fn_emit(ptr @.str11798) br label %ifend74 else73: call void @fn_emit(ptr @.str11799) %t411 = load ptr, ptr %t386 call void @fn_emit(ptr %t411) call void @fn_emit(ptr @.str11800) call void @fn_emit(ptr @.str11801) %t412 = load ptr, ptr %t386 call void @fn_emit(ptr %t412) call void @fn_emit(ptr @.str11802) %t413 = load ptr, ptr %t386 call void @fn_emit(ptr %t413) call void @fn_emit(ptr @.str11803) br label %ifend74 ifend74: br label %ifend71 ifend71: call void @fn_emit(ptr @.str11804) %t414 = load ptr, ptr %t386 call void @fn_emit(ptr %t414) call void @fn_emit(ptr @.str11805) %t415 = load i32, ptr %t355 %t416 = add i32 %t415, 1 store i32 %t416, ptr %t355 br label %wcond64 wend66: call void @fn_emit(ptr @.str11806) call void @fn_emit(ptr @.str11807) %t417 = load ptr, ptr %t344 call void @fn_emit(ptr %t417) call void @fn_emit(ptr @.str11808) %t418 = load i32, ptr %t33 %t419 = add i32 %t418, 1 store i32 %t419, ptr %t33 br label %ifend61 ifend61: %t420 = load i32, ptr %t34 %t421 = add i32 %t420, 1 store i32 %t421, ptr %t34 br label %wcond54 wend56: call void @fn_emit(ptr @.str11809) %t422 = load ptr, ptr %t32 call void @fn_emit(ptr %t422) call void @fn_emit(ptr @.str11810) call void @fn_emit(ptr @.str11811) call void @fn_emit(ptr @.str11812) call void @fn_emit(ptr @.str11813) call void @fn_emit(ptr @.str11814) call void @fn_emit(ptr @.str11815) call void @fn_emit(ptr @.str11816) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond75 wcond75: %t423 = load i32, ptr %t34 %t424 = load ptr, ptr @g_prog %t425 = getelementptr inbounds %LSlice, ptr %t424, i32 0, i32 1 %t426 = load i32, ptr %t425 %t427 = icmp slt i32 %t423, %t426 %t428 = zext i1 %t427 to i32 %t429 = icmp ne i32 %t428, 0 br i1 %t429, label %wbody76, label %wend77 wbody76: %t430 = load ptr, ptr @g_prog %t431 = getelementptr inbounds %LSlice, ptr %t430, i32 0, i32 0 %t432 = load ptr, ptr %t431 %t433 = load i32, ptr %t34 %t434 = getelementptr inbounds %LSlice, ptr %t430, i32 0, i32 1 %t435 = load i32, ptr %t434 %t436 = icmp ult i32 %t433, %t435 br i1 %t436, label %ixok78, label %ixbad79 ixbad79: %t437 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t437, ptr @.fmt_bounds, ptr @.str11817, i32 %t433, i32 %t435) call void @exit(i32 1) unreachable ixok78: %t438 = getelementptr inbounds ptr, ptr %t432, i32 %t433 %t439 = load ptr, ptr %t438 %t440 = getelementptr inbounds %Cmp_Node, ptr %t439, i32 0, i32 0 %t441 = load i32, ptr %t440 %t442 = icmp eq i32 %t441, 8 %t443 = zext i1 %t442 to i32 %t444 = icmp ne i32 %t443, 0 br i1 %t444, label %then80, label %ifend82 then80: %t445 = load ptr, ptr @g_prog %t446 = getelementptr inbounds %LSlice, ptr %t445, i32 0, i32 0 %t447 = load ptr, ptr %t446 %t448 = load i32, ptr %t34 %t449 = getelementptr inbounds %LSlice, ptr %t445, i32 0, i32 1 %t450 = load i32, ptr %t449 %t451 = icmp ult i32 %t448, %t450 br i1 %t451, label %ixok83, label %ixbad84 ixbad84: %t452 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t452, ptr @.fmt_bounds, ptr @.str11818, i32 %t448, i32 %t450) call void @exit(i32 1) unreachable ixok83: %t453 = getelementptr inbounds ptr, ptr %t447, i32 %t448 %t454 = load ptr, ptr %t453 %t455 = getelementptr inbounds %Cmp_Node, ptr %t454, i32 0, i32 1 %t456 = load ptr, ptr %t455 store ptr %t456, ptr %t457 %t458 = load i32, ptr %t33 %t459 = call ptr @fn_itoa(i32 %t458) store ptr %t459, ptr %t460 call void @fn_emit(ptr @.str11819) %t461 = load ptr, ptr %t460 call void @fn_emit(ptr %t461) call void @fn_emit(ptr @.str11820) %t462 = load ptr, ptr %t460 call void @fn_emit(ptr %t462) call void @fn_emit(ptr @.str11821) call void @fn_emit(ptr @.str11822) %t463 = load ptr, ptr %t460 call void @fn_emit(ptr %t463) call void @fn_emit(ptr @.str11823) %t464 = load ptr, ptr %t460 call void @fn_emit(ptr %t464) call void @fn_emit(ptr @.str11824) %t465 = load ptr, ptr %t460 call void @fn_emit(ptr %t465) call void @fn_emit(ptr @.str11825) call void @fn_emit(ptr @.str11826) %t466 = load ptr, ptr %t460 call void @fn_emit(ptr %t466) call void @fn_emit(ptr @.str11827) call void @fn_emit(ptr @.str11828) %t467 = load ptr, ptr %t460 call void @fn_emit(ptr %t467) call void @fn_emit(ptr @.str11829) %t468 = load ptr, ptr %t1 call void @fn_emit(ptr %t468) call void @fn_emit(ptr @.str11830) %t469 = load ptr, ptr %t457 call void @fn_emit(ptr %t469) call void @fn_emit(ptr @.str11831) call void @fn_emit(ptr @.str11832) %t470 = load ptr, ptr %t460 call void @fn_emit(ptr %t470) call void @fn_emit(ptr @.str11833) %t471 = load ptr, ptr %t460 call void @fn_emit(ptr %t471) call void @fn_emit(ptr @.str11834) call void @fn_emit(ptr @.str11835) %t472 = load ptr, ptr %t460 call void @fn_emit(ptr %t472) call void @fn_emit(ptr @.str11836) %t473 = load ptr, ptr %t460 call void @fn_emit(ptr %t473) call void @fn_emit(ptr @.str11837) %t474 = load ptr, ptr %t460 call void @fn_emit(ptr %t474) call void @fn_emit(ptr @.str11838) call void @fn_emit(ptr @.str11839) %t475 = load ptr, ptr %t460 call void @fn_emit(ptr %t475) call void @fn_emit(ptr @.str11840) %t476 = load i32, ptr %t33 %t477 = add i32 %t476, 1 store i32 %t477, ptr %t33 br label %ifend82 ifend82: %t478 = load i32, ptr %t34 %t479 = add i32 %t478, 1 store i32 %t479, ptr %t34 br label %wcond75 wend77: call void @fn_emit(ptr @.str11841) %t480 = load ptr, ptr %t32 call void @fn_emit(ptr %t480) call void @fn_emit(ptr @.str11842) call void @fn_emit(ptr @.str11843) call void @fn_emit(ptr @.str11844) call void @fn_emit(ptr @.str11845) call void @fn_emit(ptr @.str11846) call void @fn_emit(ptr @.str11847) call void @fn_emit(ptr @.str11848) %t481 = load ptr, ptr %t1 call void @fn_emit(ptr %t481) call void @fn_emit(ptr @.str11849) call void @fn_emit(ptr @.str11850) call void @fn_emit(ptr @.str11851) call void @fn_emit(ptr @.str11852) %t482 = load ptr, ptr %t1 call void @fn_emit(ptr %t482) call void @fn_emit(ptr @.str11853) %t483 = load ptr, ptr %t1 call void @fn_emit(ptr %t483) call void @fn_emit(ptr @.str11854) call void @fn_emit(ptr @.str11855) call void @fn_emit(ptr @.str11856) call void @fn_emit(ptr @.str11857) call void @fn_emit(ptr @.str11858) %t484 = load ptr, ptr %t32 call void @fn_emit(ptr %t484) call void @fn_emit(ptr @.str11859) call void @fn_emit(ptr @.str11860) call void @fn_emit(ptr @.str11861) call void @fn_emit(ptr @.str11862) %t485 = load ptr, ptr %t32 call void @fn_emit(ptr %t485) call void @fn_emit(ptr @.str11863) call void @fn_emit(ptr @.str11864) call void @fn_emit(ptr @.str11865) %t486 = load ptr, ptr %t32 call void @fn_emit(ptr %t486) call void @fn_emit(ptr @.str11866) call void @fn_emit(ptr @.str11867) call void @fn_emit(ptr @.str11868) call void @fn_emit(ptr @.str11869) %t487 = load ptr, ptr %t1 call void @fn_emit(ptr %t487) call void @fn_emit(ptr @.str11870) call void @fn_emit(ptr @.str11871) call void @fn_emit(ptr @.str11872) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond85 wcond85: %t488 = load i32, ptr %t34 %t489 = load ptr, ptr @g_prog %t490 = getelementptr inbounds %LSlice, ptr %t489, i32 0, i32 1 %t491 = load i32, ptr %t490 %t492 = icmp slt i32 %t488, %t491 %t493 = zext i1 %t492 to i32 %t494 = icmp ne i32 %t493, 0 br i1 %t494, label %wbody86, label %wend87 wbody86: %t495 = load ptr, ptr @g_prog %t496 = getelementptr inbounds %LSlice, ptr %t495, i32 0, i32 0 %t497 = load ptr, ptr %t496 %t498 = load i32, ptr %t34 %t499 = getelementptr inbounds %LSlice, ptr %t495, i32 0, i32 1 %t500 = load i32, ptr %t499 %t501 = icmp ult i32 %t498, %t500 br i1 %t501, label %ixok88, label %ixbad89 ixbad89: %t502 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t502, ptr @.fmt_bounds, ptr @.str11873, i32 %t498, i32 %t500) call void @exit(i32 1) unreachable ixok88: %t503 = getelementptr inbounds ptr, ptr %t497, i32 %t498 %t504 = load ptr, ptr %t503 %t505 = getelementptr inbounds %Cmp_Node, ptr %t504, i32 0, i32 0 %t506 = load i32, ptr %t505 %t507 = icmp eq i32 %t506, 10 %t508 = zext i1 %t507 to i32 %t509 = icmp ne i32 %t508, 0 br i1 %t509, label %then90, label %ifend92 then90: %t510 = load ptr, ptr @g_prog %t511 = getelementptr inbounds %LSlice, ptr %t510, i32 0, i32 0 %t512 = load ptr, ptr %t511 %t513 = load i32, ptr %t34 %t514 = getelementptr inbounds %LSlice, ptr %t510, i32 0, i32 1 %t515 = load i32, ptr %t514 %t516 = icmp ult i32 %t513, %t515 br i1 %t516, label %ixok93, label %ixbad94 ixbad94: %t517 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t517, ptr @.fmt_bounds, ptr @.str11874, i32 %t513, i32 %t515) call void @exit(i32 1) unreachable ixok93: %t518 = getelementptr inbounds ptr, ptr %t512, i32 %t513 %t519 = load ptr, ptr %t518 %t520 = getelementptr inbounds %Cmp_Node, ptr %t519, i32 0, i32 1 %t521 = load ptr, ptr %t520 %t522 = call ptr @fn_emit_str_const(ptr %t521) store ptr %t522, ptr %t523 %t524 = load i32, ptr %t33 %t525 = call ptr @fn_itoa(i32 %t524) store ptr %t525, ptr %t526 call void @fn_emit(ptr @.str11875) %t527 = load ptr, ptr %t526 call void @fn_emit(ptr %t527) call void @fn_emit(ptr @.str11876) %t528 = load ptr, ptr %t523 call void @fn_emit(ptr %t528) call void @fn_emit(ptr @.str11877) call void @fn_emit(ptr @.str11878) %t529 = load ptr, ptr %t526 call void @fn_emit(ptr %t529) call void @fn_emit(ptr @.str11879) %t530 = load ptr, ptr %t526 call void @fn_emit(ptr %t530) call void @fn_emit(ptr @.str11880) call void @fn_emit(ptr @.str11881) %t531 = load ptr, ptr %t526 call void @fn_emit(ptr %t531) call void @fn_emit(ptr @.str11882) %t532 = load ptr, ptr %t526 call void @fn_emit(ptr %t532) call void @fn_emit(ptr @.str11883) %t533 = load ptr, ptr %t526 call void @fn_emit(ptr %t533) call void @fn_emit(ptr @.str11884) call void @fn_emit(ptr @.str11885) %t534 = load ptr, ptr %t526 call void @fn_emit(ptr %t534) call void @fn_emit(ptr @.str11886) %t535 = load ptr, ptr @g_prog %t536 = getelementptr inbounds %LSlice, ptr %t535, i32 0, i32 0 %t537 = load ptr, ptr %t536 %t538 = load i32, ptr %t34 %t539 = getelementptr inbounds %LSlice, ptr %t535, i32 0, i32 1 %t540 = load i32, ptr %t539 %t541 = icmp ult i32 %t538, %t540 br i1 %t541, label %ixok95, label %ixbad96 ixbad96: %t542 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t542, ptr @.fmt_bounds, ptr @.str11887, i32 %t538, i32 %t540) call void @exit(i32 1) unreachable ixok95: %t543 = getelementptr inbounds ptr, ptr %t537, i32 %t538 %t544 = load ptr, ptr %t543 %t545 = getelementptr inbounds %Cmp_Node, ptr %t544, i32 0, i32 1 %t546 = load ptr, ptr %t545 %t547 = call i32 @fn_find_arch_id(ptr %t546) %t548 = call ptr @fn_itoa(i32 %t547) call void @fn_emit(ptr %t548) call void @fn_emit(ptr @.str11888) call void @fn_emit(ptr @.str11889) %t549 = load ptr, ptr %t526 call void @fn_emit(ptr %t549) call void @fn_emit(ptr @.str11890) %t550 = load i32, ptr %t33 %t551 = add i32 %t550, 1 store i32 %t551, ptr %t33 br label %ifend92 ifend92: %t552 = load i32, ptr %t34 %t553 = add i32 %t552, 1 store i32 %t553, ptr %t34 br label %wcond85 wend87: call void @fn_emit(ptr @.str11891) store i32 0, ptr %t34 br label %wcond97 wcond97: %t554 = load i32, ptr %t34 %t555 = load ptr, ptr @g_prog %t556 = getelementptr inbounds %LSlice, ptr %t555, i32 0, i32 1 %t557 = load i32, ptr %t556 %t558 = icmp slt i32 %t554, %t557 %t559 = zext i1 %t558 to i32 %t560 = icmp ne i32 %t559, 0 br i1 %t560, label %wbody98, label %wend99 wbody98: %t561 = load ptr, ptr @g_prog %t562 = getelementptr inbounds %LSlice, ptr %t561, i32 0, i32 0 %t563 = load ptr, ptr %t562 %t564 = load i32, ptr %t34 %t565 = getelementptr inbounds %LSlice, ptr %t561, i32 0, i32 1 %t566 = load i32, ptr %t565 %t567 = icmp ult i32 %t564, %t566 br i1 %t567, label %ixok100, label %ixbad101 ixbad101: %t568 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t568, ptr @.fmt_bounds, ptr @.str11892, i32 %t564, i32 %t566) call void @exit(i32 1) unreachable ixok100: %t569 = getelementptr inbounds ptr, ptr %t563, i32 %t564 %t570 = load ptr, ptr %t569 %t571 = getelementptr inbounds %Cmp_Node, ptr %t570, i32 0, i32 0 %t572 = load i32, ptr %t571 %t573 = icmp eq i32 %t572, 10 %t574 = zext i1 %t573 to i32 %t575 = icmp ne i32 %t574, 0 br i1 %t575, label %then102, label %ifend104 then102: %t576 = load ptr, ptr @g_prog %t577 = getelementptr inbounds %LSlice, ptr %t576, i32 0, i32 0 %t578 = load ptr, ptr %t577 %t579 = load i32, ptr %t34 %t580 = getelementptr inbounds %LSlice, ptr %t576, i32 0, i32 1 %t581 = load i32, ptr %t580 %t582 = icmp ult i32 %t579, %t581 br i1 %t582, label %ixok105, label %ixbad106 ixbad106: %t583 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t583, ptr @.fmt_bounds, ptr @.str11893, i32 %t579, i32 %t581) call void @exit(i32 1) unreachable ixok105: %t584 = getelementptr inbounds ptr, ptr %t578, i32 %t579 %t585 = load ptr, ptr %t584 %t586 = getelementptr inbounds %Cmp_Node, ptr %t585, i32 0, i32 1 %t587 = load ptr, ptr %t586 store ptr %t587, ptr %t588 store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop store i32 0, ptr @g_nself store ptr @.str11894, ptr @g_ret_ty %t589 = call ptr @fn_buf_new() store ptr %t589, ptr %t590 %t591 = call ptr @fn_buf_new() store ptr %t591, ptr @g_falloc %t592 = load ptr, ptr @g_code store ptr %t592, ptr %t593 %t594 = load ptr, ptr %t590 store ptr %t594, ptr @g_code %t595 = call ptr @fn_node(i32 22) store ptr %t595, ptr %t596 %t597 = load ptr, ptr %t596 %t598 = getelementptr inbounds %Cmp_Node, ptr %t597, i32 0, i32 1 %t599 = load ptr, ptr %t588 store ptr %t599, ptr %t598 %t600 = load ptr, ptr %t596 %t601 = call ptr @fn_emit_spawn(ptr %t600) store ptr %t601, ptr %t602 call void @fn_emit(ptr @.str11895) %t603 = load ptr, ptr %t602 call void @fn_emit(ptr %t603) call void @fn_emit(ptr @.str11896) %t604 = load ptr, ptr %t593 store ptr %t604, ptr @g_code call void @fn_emit(ptr @.str11897) %t605 = load ptr, ptr %t588 call void @fn_emit(ptr %t605) call void @fn_emit(ptr @.str11898) %t606 = load ptr, ptr @g_falloc %t607 = call ptr @fn_buf_str(ptr %t606) call void @fn_emit(ptr %t607) %t608 = load ptr, ptr %t590 %t609 = call ptr @fn_buf_str(ptr %t608) call void @fn_emit(ptr %t609) call void @fn_emit(ptr @.str11899) br label %ifend104 ifend104: %t610 = load i32, ptr %t34 %t611 = add i32 %t610, 1 store i32 %t611, ptr %t34 br label %wcond97 wend99: call void @fn_emit(ptr @.str11900) store i32 0, ptr %t33 store i32 0, ptr %t34 br label %wcond107 wcond107: %t612 = load i32, ptr %t34 %t613 = load ptr, ptr @g_prog %t614 = getelementptr inbounds %LSlice, ptr %t613, i32 0, i32 1 %t615 = load i32, ptr %t614 %t616 = icmp slt i32 %t612, %t615 %t617 = zext i1 %t616 to i32 %t618 = icmp ne i32 %t617, 0 br i1 %t618, label %wbody108, label %wend109 wbody108: %t619 = load ptr, ptr @g_prog %t620 = getelementptr inbounds %LSlice, ptr %t619, i32 0, i32 0 %t621 = load ptr, ptr %t620 %t622 = load i32, ptr %t34 %t623 = getelementptr inbounds %LSlice, ptr %t619, i32 0, i32 1 %t624 = load i32, ptr %t623 %t625 = icmp ult i32 %t622, %t624 br i1 %t625, label %ixok110, label %ixbad111 ixbad111: %t626 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t626, ptr @.fmt_bounds, ptr @.str11901, i32 %t622, i32 %t624) call void @exit(i32 1) unreachable ixok110: %t627 = getelementptr inbounds ptr, ptr %t621, i32 %t622 %t628 = load ptr, ptr %t627 %t629 = getelementptr inbounds %Cmp_Node, ptr %t628, i32 0, i32 0 %t630 = load i32, ptr %t629 %t631 = icmp eq i32 %t630, 10 %t632 = zext i1 %t631 to i32 %t633 = icmp ne i32 %t632, 0 br i1 %t633, label %then112, label %ifend114 then112: %t634 = load ptr, ptr @g_prog %t635 = getelementptr inbounds %LSlice, ptr %t634, i32 0, i32 0 %t636 = load ptr, ptr %t635 %t637 = load i32, ptr %t34 %t638 = getelementptr inbounds %LSlice, ptr %t634, i32 0, i32 1 %t639 = load i32, ptr %t638 %t640 = icmp ult i32 %t637, %t639 br i1 %t640, label %ixok115, label %ixbad116 ixbad116: %t641 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t641, ptr @.fmt_bounds, ptr @.str11902, i32 %t637, i32 %t639) call void @exit(i32 1) unreachable ixok115: %t642 = getelementptr inbounds ptr, ptr %t636, i32 %t637 %t643 = load ptr, ptr %t642 %t644 = getelementptr inbounds %Cmp_Node, ptr %t643, i32 0, i32 1 %t645 = load ptr, ptr %t644 store ptr %t645, ptr %t646 %t647 = load i32, ptr %t33 %t648 = call ptr @fn_itoa(i32 %t647) store ptr %t648, ptr %t649 call void @fn_emit(ptr @.str11903) %t650 = load ptr, ptr %t649 call void @fn_emit(ptr %t650) call void @fn_emit(ptr @.str11904) %t651 = load ptr, ptr %t646 %t652 = call i32 @fn_find_arch_id(ptr %t651) %t653 = call ptr @fn_itoa(i32 %t652) call void @fn_emit(ptr %t653) call void @fn_emit(ptr @.str11905) call void @fn_emit(ptr @.str11906) %t654 = load ptr, ptr %t649 call void @fn_emit(ptr %t654) call void @fn_emit(ptr @.str11907) %t655 = load ptr, ptr %t649 call void @fn_emit(ptr %t655) call void @fn_emit(ptr @.str11908) %t656 = load ptr, ptr %t649 call void @fn_emit(ptr %t656) call void @fn_emit(ptr @.str11909) call void @fn_emit(ptr @.str11910) %t657 = load ptr, ptr %t649 call void @fn_emit(ptr %t657) call void @fn_emit(ptr @.str11911) %t658 = load ptr, ptr %t649 call void @fn_emit(ptr %t658) call void @fn_emit(ptr @.str11912) %t659 = load ptr, ptr %t646 call void @fn_emit(ptr %t659) call void @fn_emit(ptr @.str11913) %t660 = load ptr, ptr %t649 call void @fn_emit(ptr %t660) call void @fn_emit(ptr @.str11914) call void @fn_emit(ptr @.str11915) %t661 = load ptr, ptr %t649 call void @fn_emit(ptr %t661) call void @fn_emit(ptr @.str11916) %t662 = load i32, ptr %t33 %t663 = add i32 %t662, 1 store i32 %t663, ptr %t33 br label %ifend114 ifend114: %t664 = load i32, ptr %t34 %t665 = add i32 %t664, 1 store i32 %t665, ptr %t34 br label %wcond107 wend109: call void @fn_emit(ptr @.str11917) call void @fn_emit(ptr @.str11918) call void @fn_emit(ptr @.str11919) call void @fn_emit(ptr @.str11920) call void @fn_emit(ptr @.str11921) call void @fn_emit(ptr @.str11922) %t666 = load ptr, ptr %t1 call void @fn_emit(ptr %t666) call void @fn_emit(ptr @.str11923) call void @fn_emit(ptr @.str11924) call void @fn_emit(ptr @.str11925) call void @fn_emit(ptr @.str11926) call void @fn_emit(ptr @.str11927) call void @fn_emit(ptr @.str11928) call void @fn_emit_world_reflect_enum() br label %ret ret: ret void } define void @fn_emit_world_reflect_enum() { entry: %t1 = alloca ptr %t3 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t34 = alloca ptr %t36 = alloca i32 %t72 = alloca ptr %t75 = alloca ptr %t122 = alloca ptr %t125 = alloca ptr %t176 = alloca ptr %t179 = alloca ptr %t186 = alloca i32 %t211 = alloca ptr %t217 = alloca ptr %t268 = alloca ptr %t271 = alloca ptr %t278 = alloca i32 %t303 = alloca ptr %t309 = alloca ptr %t0 = call ptr @fn_emit_str_const(ptr @.str11929) store ptr %t0, ptr %t1 %t2 = call ptr @fn_emit_str_const(ptr @.str11930) store ptr %t2, ptr %t3 store i32 0, ptr %t4 store i32 0, ptr %t5 br label %wcond0 wcond0: %t6 = load i32, ptr %t5 %t7 = load ptr, ptr @g_prog %t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1 %t9 = load i32, ptr %t8 %t10 = icmp slt i32 %t6, %t9 %t11 = zext i1 %t10 to i32 %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %wbody1, label %wend2 wbody1: %t13 = load ptr, ptr @g_prog %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = load i32, ptr %t5 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t16, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str11931, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t15, i32 %t16 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 0 %t24 = load i32, ptr %t23 %t25 = icmp eq i32 %t24, 8 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then5, label %ifend7 then5: %t28 = load i32, ptr %t4 %t29 = add i32 %t28, 1 store i32 %t29, ptr %t4 br label %ifend7 ifend7: %t30 = load i32, ptr %t5 %t31 = add i32 %t30, 1 store i32 %t31, ptr %t5 br label %wcond0 wend2: %t32 = load i32, ptr %t4 %t33 = call ptr @fn_itoa(i32 %t32) store ptr %t33, ptr %t34 call void @fn_emit(ptr @.str11932) call void @fn_emit(ptr @.str11933) %t35 = load ptr, ptr %t34 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str11934) call void @fn_emit(ptr @.str11935) store i32 0, ptr %t36 store i32 0, ptr %t5 br label %wcond8 wcond8: %t37 = load i32, ptr %t5 %t38 = load ptr, ptr @g_prog %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp slt i32 %t37, %t40 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %wbody9, label %wend10 wbody9: %t44 = load ptr, ptr @g_prog %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = load i32, ptr %t5 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t47, %t49 br i1 %t50, label %ixok11, label %ixbad12 ixbad12: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str11936, i32 %t47, i32 %t49) call void @exit(i32 1) unreachable ixok11: %t52 = getelementptr inbounds ptr, ptr %t46, i32 %t47 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 0 %t55 = load i32, ptr %t54 %t56 = icmp eq i32 %t55, 8 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %then13, label %ifend15 then13: %t59 = load ptr, ptr @g_prog %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = load i32, ptr %t5 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t62, %t64 br i1 %t65, label %ixok16, label %ixbad17 ixbad17: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str11937, i32 %t62, i32 %t64) call void @exit(i32 1) unreachable ixok16: %t67 = getelementptr inbounds ptr, ptr %t61, i32 %t62 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1 %t70 = load ptr, ptr %t69 %t71 = call ptr @fn_emit_str_const(ptr %t70) store ptr %t71, ptr %t72 %t73 = load i32, ptr %t36 %t74 = call ptr @fn_itoa(i32 %t73) store ptr %t74, ptr %t75 call void @fn_emit(ptr @.str11938) %t76 = load ptr, ptr %t75 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str11939) %t77 = load ptr, ptr %t75 call void @fn_emit(ptr %t77) call void @fn_emit(ptr @.str11940) call void @fn_emit(ptr @.str11941) %t78 = load ptr, ptr %t75 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str11942) %t79 = load ptr, ptr %t75 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str11943) %t80 = load ptr, ptr %t75 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str11944) call void @fn_emit(ptr @.str11945) %t81 = load ptr, ptr %t75 call void @fn_emit(ptr %t81) call void @fn_emit(ptr @.str11946) %t82 = load ptr, ptr %t72 call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str11947) call void @fn_emit(ptr @.str11948) %t83 = load ptr, ptr %t75 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str11949) %t84 = load i32, ptr %t36 %t85 = add i32 %t84, 1 store i32 %t85, ptr %t36 br label %ifend15 ifend15: %t86 = load i32, ptr %t5 %t87 = add i32 %t86, 1 store i32 %t87, ptr %t5 br label %wcond8 wend10: call void @fn_emit(ptr @.str11950) %t88 = load ptr, ptr %t34 call void @fn_emit(ptr %t88) call void @fn_emit(ptr @.str11951) call void @fn_emit(ptr @.str11952) call void @fn_emit(ptr @.str11953) call void @fn_emit(ptr @.str11954) %t89 = load ptr, ptr %t1 call void @fn_emit(ptr %t89) call void @fn_emit(ptr @.str11955) call void @fn_emit(ptr @.str11956) store i32 0, ptr %t36 store i32 0, ptr %t5 br label %wcond18 wcond18: %t90 = load i32, ptr %t5 %t91 = load ptr, ptr @g_prog %t92 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 1 %t93 = load i32, ptr %t92 %t94 = icmp slt i32 %t90, %t93 %t95 = zext i1 %t94 to i32 %t96 = icmp ne i32 %t95, 0 br i1 %t96, label %wbody19, label %wend20 wbody19: %t97 = load ptr, ptr @g_prog %t98 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = load i32, ptr %t5 %t101 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1 %t102 = load i32, ptr %t101 %t103 = icmp ult i32 %t100, %t102 br i1 %t103, label %ixok21, label %ixbad22 ixbad22: %t104 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str11957, i32 %t100, i32 %t102) call void @exit(i32 1) unreachable ixok21: %t105 = getelementptr inbounds ptr, ptr %t99, i32 %t100 %t106 = load ptr, ptr %t105 %t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 0 %t108 = load i32, ptr %t107 %t109 = icmp eq i32 %t108, 8 %t110 = zext i1 %t109 to i32 %t111 = icmp ne i32 %t110, 0 br i1 %t111, label %then23, label %ifend25 then23: %t112 = load ptr, ptr @g_prog %t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0 %t114 = load ptr, ptr %t113 %t115 = load i32, ptr %t5 %t116 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1 %t117 = load i32, ptr %t116 %t118 = icmp ult i32 %t115, %t117 br i1 %t118, label %ixok26, label %ixbad27 ixbad27: %t119 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t119, ptr @.fmt_bounds, ptr @.str11958, i32 %t115, i32 %t117) call void @exit(i32 1) unreachable ixok26: %t120 = getelementptr inbounds ptr, ptr %t114, i32 %t115 %t121 = load ptr, ptr %t120 store ptr %t121, ptr %t122 %t123 = load i32, ptr %t36 %t124 = call ptr @fn_itoa(i32 %t123) store ptr %t124, ptr %t125 call void @fn_emit(ptr @.str11959) %t126 = load ptr, ptr %t125 call void @fn_emit(ptr %t126) call void @fn_emit(ptr @.str11960) %t127 = load ptr, ptr %t125 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str11961) call void @fn_emit(ptr @.str11962) %t128 = load ptr, ptr %t125 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str11963) %t129 = load ptr, ptr %t125 call void @fn_emit(ptr %t129) call void @fn_emit(ptr @.str11964) %t130 = load ptr, ptr %t125 call void @fn_emit(ptr %t130) call void @fn_emit(ptr @.str11965) call void @fn_emit(ptr @.str11966) %t131 = load ptr, ptr %t125 call void @fn_emit(ptr %t131) call void @fn_emit(ptr @.str11967) %t132 = load ptr, ptr %t122 %t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7 %t134 = load ptr, ptr %t133 %t135 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 1 %t136 = load i32, ptr %t135 %t137 = call ptr @fn_itoa(i32 %t136) call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str11968) call void @fn_emit(ptr @.str11969) %t138 = load ptr, ptr %t125 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str11970) %t139 = load i32, ptr %t36 %t140 = add i32 %t139, 1 store i32 %t140, ptr %t36 br label %ifend25 ifend25: %t141 = load i32, ptr %t5 %t142 = add i32 %t141, 1 store i32 %t142, ptr %t5 br label %wcond18 wend20: call void @fn_emit(ptr @.str11971) %t143 = load ptr, ptr %t34 call void @fn_emit(ptr %t143) call void @fn_emit(ptr @.str11972) call void @fn_emit(ptr @.str11973) call void @fn_emit(ptr @.str11974) call void @fn_emit(ptr @.str11975) call void @fn_emit(ptr @.str11976) store i32 0, ptr %t36 store i32 0, ptr %t5 br label %wcond28 wcond28: %t144 = load i32, ptr %t5 %t145 = load ptr, ptr @g_prog %t146 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 1 %t147 = load i32, ptr %t146 %t148 = icmp slt i32 %t144, %t147 %t149 = zext i1 %t148 to i32 %t150 = icmp ne i32 %t149, 0 br i1 %t150, label %wbody29, label %wend30 wbody29: %t151 = load ptr, ptr @g_prog %t152 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 0 %t153 = load ptr, ptr %t152 %t154 = load i32, ptr %t5 %t155 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 1 %t156 = load i32, ptr %t155 %t157 = icmp ult i32 %t154, %t156 br i1 %t157, label %ixok31, label %ixbad32 ixbad32: %t158 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t158, ptr @.fmt_bounds, ptr @.str11977, i32 %t154, i32 %t156) call void @exit(i32 1) unreachable ixok31: %t159 = getelementptr inbounds ptr, ptr %t153, i32 %t154 %t160 = load ptr, ptr %t159 %t161 = getelementptr inbounds %Cmp_Node, ptr %t160, i32 0, i32 0 %t162 = load i32, ptr %t161 %t163 = icmp eq i32 %t162, 8 %t164 = zext i1 %t163 to i32 %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then33, label %ifend35 then33: %t166 = load ptr, ptr @g_prog %t167 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 0 %t168 = load ptr, ptr %t167 %t169 = load i32, ptr %t5 %t170 = getelementptr inbounds %LSlice, ptr %t166, i32 0, i32 1 %t171 = load i32, ptr %t170 %t172 = icmp ult i32 %t169, %t171 br i1 %t172, label %ixok36, label %ixbad37 ixbad37: %t173 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t173, ptr @.fmt_bounds, ptr @.str11978, i32 %t169, i32 %t171) call void @exit(i32 1) unreachable ixok36: %t174 = getelementptr inbounds ptr, ptr %t168, i32 %t169 %t175 = load ptr, ptr %t174 store ptr %t175, ptr %t176 %t177 = load i32, ptr %t36 %t178 = call ptr @fn_itoa(i32 %t177) store ptr %t178, ptr %t179 call void @fn_emit(ptr @.str11979) %t180 = load ptr, ptr %t179 call void @fn_emit(ptr %t180) call void @fn_emit(ptr @.str11980) %t181 = load ptr, ptr %t179 call void @fn_emit(ptr %t181) call void @fn_emit(ptr @.str11981) call void @fn_emit(ptr @.str11982) %t182 = load ptr, ptr %t179 call void @fn_emit(ptr %t182) call void @fn_emit(ptr @.str11983) %t183 = load ptr, ptr %t179 call void @fn_emit(ptr %t183) call void @fn_emit(ptr @.str11984) %t184 = load ptr, ptr %t179 call void @fn_emit(ptr %t184) call void @fn_emit(ptr @.str11985) call void @fn_emit(ptr @.str11986) %t185 = load ptr, ptr %t179 call void @fn_emit(ptr %t185) call void @fn_emit(ptr @.str11987) store i32 0, ptr %t186 br label %wcond38 wcond38: %t187 = load i32, ptr %t186 %t188 = load ptr, ptr %t176 %t189 = getelementptr inbounds %Cmp_Node, ptr %t188, i32 0, i32 7 %t190 = load ptr, ptr %t189 %t191 = getelementptr inbounds %LSlice, ptr %t190, i32 0, i32 1 %t192 = load i32, ptr %t191 %t193 = icmp slt i32 %t187, %t192 %t194 = zext i1 %t193 to i32 %t195 = icmp ne i32 %t194, 0 br i1 %t195, label %wbody39, label %wend40 wbody39: %t196 = load ptr, ptr %t176 %t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 7 %t198 = load ptr, ptr %t197 %t199 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 0 %t200 = load ptr, ptr %t199 %t201 = load i32, ptr %t186 %t202 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 1 %t203 = load i32, ptr %t202 %t204 = icmp ult i32 %t201, %t203 br i1 %t204, label %ixok41, label %ixbad42 ixbad42: %t205 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str11988, i32 %t201, i32 %t203) call void @exit(i32 1) unreachable ixok41: %t206 = getelementptr inbounds ptr, ptr %t200, i32 %t201 %t207 = load ptr, ptr %t206 %t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 1 %t209 = load ptr, ptr %t208 %t210 = call ptr @fn_emit_str_const(ptr %t209) store ptr %t210, ptr %t211 %t212 = load ptr, ptr %t179 %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str11989) %t214 = load i32, ptr %t186 %t215 = call ptr @fn_itoa(i32 %t214) %t216 = call ptr @lp_str_concat(ptr %t213, ptr %t215) store ptr %t216, ptr %t217 call void @fn_emit(ptr @.str11990) %t218 = load ptr, ptr %t217 call void @fn_emit(ptr %t218) call void @fn_emit(ptr @.str11991) %t219 = load i32, ptr %t186 %t220 = call ptr @fn_itoa(i32 %t219) call void @fn_emit(ptr %t220) call void @fn_emit(ptr @.str11992) call void @fn_emit(ptr @.str11993) %t221 = load ptr, ptr %t217 call void @fn_emit(ptr %t221) call void @fn_emit(ptr @.str11994) %t222 = load ptr, ptr %t217 call void @fn_emit(ptr %t222) call void @fn_emit(ptr @.str11995) %t223 = load ptr, ptr %t217 call void @fn_emit(ptr %t223) call void @fn_emit(ptr @.str11996) call void @fn_emit(ptr @.str11997) %t224 = load ptr, ptr %t217 call void @fn_emit(ptr %t224) call void @fn_emit(ptr @.str11998) %t225 = load ptr, ptr %t211 call void @fn_emit(ptr %t225) call void @fn_emit(ptr @.str11999) call void @fn_emit(ptr @.str12000) %t226 = load ptr, ptr %t217 call void @fn_emit(ptr %t226) call void @fn_emit(ptr @.str12001) %t227 = load i32, ptr %t186 %t228 = add i32 %t227, 1 store i32 %t228, ptr %t186 br label %wcond38 wend40: call void @fn_emit(ptr @.str12002) %t229 = load ptr, ptr %t1 call void @fn_emit(ptr %t229) call void @fn_emit(ptr @.str12003) call void @fn_emit(ptr @.str12004) %t230 = load ptr, ptr %t179 call void @fn_emit(ptr %t230) call void @fn_emit(ptr @.str12005) %t231 = load i32, ptr %t36 %t232 = add i32 %t231, 1 store i32 %t232, ptr %t36 br label %ifend35 ifend35: %t233 = load i32, ptr %t5 %t234 = add i32 %t233, 1 store i32 %t234, ptr %t5 br label %wcond28 wend30: call void @fn_emit(ptr @.str12006) %t235 = load ptr, ptr %t1 call void @fn_emit(ptr %t235) call void @fn_emit(ptr @.str12007) call void @fn_emit(ptr @.str12008) store i32 0, ptr %t36 store i32 0, ptr %t5 br label %wcond43 wcond43: %t236 = load i32, ptr %t5 %t237 = load ptr, ptr @g_prog %t238 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 1 %t239 = load i32, ptr %t238 %t240 = icmp slt i32 %t236, %t239 %t241 = zext i1 %t240 to i32 %t242 = icmp ne i32 %t241, 0 br i1 %t242, label %wbody44, label %wend45 wbody44: %t243 = load ptr, ptr @g_prog %t244 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 0 %t245 = load ptr, ptr %t244 %t246 = load i32, ptr %t5 %t247 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 1 %t248 = load i32, ptr %t247 %t249 = icmp ult i32 %t246, %t248 br i1 %t249, label %ixok46, label %ixbad47 ixbad47: %t250 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t250, ptr @.fmt_bounds, ptr @.str12009, i32 %t246, i32 %t248) call void @exit(i32 1) unreachable ixok46: %t251 = getelementptr inbounds ptr, ptr %t245, i32 %t246 %t252 = load ptr, ptr %t251 %t253 = getelementptr inbounds %Cmp_Node, ptr %t252, i32 0, i32 0 %t254 = load i32, ptr %t253 %t255 = icmp eq i32 %t254, 8 %t256 = zext i1 %t255 to i32 %t257 = icmp ne i32 %t256, 0 br i1 %t257, label %then48, label %ifend50 then48: %t258 = load ptr, ptr @g_prog %t259 = getelementptr inbounds %LSlice, ptr %t258, i32 0, i32 0 %t260 = load ptr, ptr %t259 %t261 = load i32, ptr %t5 %t262 = getelementptr inbounds %LSlice, ptr %t258, i32 0, i32 1 %t263 = load i32, ptr %t262 %t264 = icmp ult i32 %t261, %t263 br i1 %t264, label %ixok51, label %ixbad52 ixbad52: %t265 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t265, ptr @.fmt_bounds, ptr @.str12010, i32 %t261, i32 %t263) call void @exit(i32 1) unreachable ixok51: %t266 = getelementptr inbounds ptr, ptr %t260, i32 %t261 %t267 = load ptr, ptr %t266 store ptr %t267, ptr %t268 %t269 = load i32, ptr %t36 %t270 = call ptr @fn_itoa(i32 %t269) store ptr %t270, ptr %t271 call void @fn_emit(ptr @.str12011) %t272 = load ptr, ptr %t271 call void @fn_emit(ptr %t272) call void @fn_emit(ptr @.str12012) %t273 = load ptr, ptr %t271 call void @fn_emit(ptr %t273) call void @fn_emit(ptr @.str12013) call void @fn_emit(ptr @.str12014) %t274 = load ptr, ptr %t271 call void @fn_emit(ptr %t274) call void @fn_emit(ptr @.str12015) %t275 = load ptr, ptr %t271 call void @fn_emit(ptr %t275) call void @fn_emit(ptr @.str12016) %t276 = load ptr, ptr %t271 call void @fn_emit(ptr %t276) call void @fn_emit(ptr @.str12017) call void @fn_emit(ptr @.str12018) %t277 = load ptr, ptr %t271 call void @fn_emit(ptr %t277) call void @fn_emit(ptr @.str12019) store i32 0, ptr %t278 br label %wcond53 wcond53: %t279 = load i32, ptr %t278 %t280 = load ptr, ptr %t268 %t281 = getelementptr inbounds %Cmp_Node, ptr %t280, i32 0, i32 7 %t282 = load ptr, ptr %t281 %t283 = getelementptr inbounds %LSlice, ptr %t282, i32 0, i32 1 %t284 = load i32, ptr %t283 %t285 = icmp slt i32 %t279, %t284 %t286 = zext i1 %t285 to i32 %t287 = icmp ne i32 %t286, 0 br i1 %t287, label %wbody54, label %wend55 wbody54: %t288 = load ptr, ptr %t268 %t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 7 %t290 = load ptr, ptr %t289 %t291 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 0 %t292 = load ptr, ptr %t291 %t293 = load i32, ptr %t278 %t294 = getelementptr inbounds %LSlice, ptr %t290, i32 0, i32 1 %t295 = load i32, ptr %t294 %t296 = icmp ult i32 %t293, %t295 br i1 %t296, label %ixok56, label %ixbad57 ixbad57: %t297 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t297, ptr @.fmt_bounds, ptr @.str12020, i32 %t293, i32 %t295) call void @exit(i32 1) unreachable ixok56: %t298 = getelementptr inbounds ptr, ptr %t292, i32 %t293 %t299 = load ptr, ptr %t298 %t300 = getelementptr inbounds %Cmp_Node, ptr %t299, i32 0, i32 3 %t301 = load ptr, ptr %t300 %t302 = call ptr @fn_emit_str_const(ptr %t301) store ptr %t302, ptr %t303 %t304 = load ptr, ptr %t271 %t305 = call ptr @lp_str_concat(ptr %t304, ptr @.str12021) %t306 = load i32, ptr %t278 %t307 = call ptr @fn_itoa(i32 %t306) %t308 = call ptr @lp_str_concat(ptr %t305, ptr %t307) store ptr %t308, ptr %t309 call void @fn_emit(ptr @.str12022) %t310 = load ptr, ptr %t309 call void @fn_emit(ptr %t310) call void @fn_emit(ptr @.str12023) %t311 = load i32, ptr %t278 %t312 = call ptr @fn_itoa(i32 %t311) call void @fn_emit(ptr %t312) call void @fn_emit(ptr @.str12024) call void @fn_emit(ptr @.str12025) %t313 = load ptr, ptr %t309 call void @fn_emit(ptr %t313) call void @fn_emit(ptr @.str12026) %t314 = load ptr, ptr %t309 call void @fn_emit(ptr %t314) call void @fn_emit(ptr @.str12027) %t315 = load ptr, ptr %t309 call void @fn_emit(ptr %t315) call void @fn_emit(ptr @.str12028) call void @fn_emit(ptr @.str12029) %t316 = load ptr, ptr %t309 call void @fn_emit(ptr %t316) call void @fn_emit(ptr @.str12030) %t317 = load ptr, ptr %t303 call void @fn_emit(ptr %t317) call void @fn_emit(ptr @.str12031) call void @fn_emit(ptr @.str12032) %t318 = load ptr, ptr %t309 call void @fn_emit(ptr %t318) call void @fn_emit(ptr @.str12033) %t319 = load i32, ptr %t278 %t320 = add i32 %t319, 1 store i32 %t320, ptr %t278 br label %wcond53 wend55: call void @fn_emit(ptr @.str12034) %t321 = load ptr, ptr %t3 call void @fn_emit(ptr %t321) call void @fn_emit(ptr @.str12035) call void @fn_emit(ptr @.str12036) %t322 = load ptr, ptr %t271 call void @fn_emit(ptr %t322) call void @fn_emit(ptr @.str12037) %t323 = load i32, ptr %t36 %t324 = add i32 %t323, 1 store i32 %t324, ptr %t36 br label %ifend50 ifend50: %t325 = load i32, ptr %t5 %t326 = add i32 %t325, 1 store i32 %t326, ptr %t5 br label %wcond43 wend45: call void @fn_emit(ptr @.str12038) %t327 = load ptr, ptr %t3 call void @fn_emit(ptr %t327) call void @fn_emit(ptr @.str12039) br label %ret ret: ret void } define void @fn_emit_tick_helpers() { entry: call void @fn_emit(ptr @.str12040) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit_calls_for_phase(ptr @.str12041) call void @fn_emit_calls_for_phase(ptr @.str12042) call void @fn_emit_calls_for_phase(ptr @.str12043) call void @fn_emit_calls_for_phase(ptr @.str12044) call void @fn_emit(ptr @.str12045) call void @fn_emit(ptr @.str12046) store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit_calls_for_phase(ptr @.str12047) call void @fn_emit_calls_for_phase(ptr @.str12048) call void @fn_emit(ptr @.str12049) br label %ret ret: ret void } define void @fn_emit_game_defs() { entry: %t0 = alloca i32 call void @fn_emit_system_registry() store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_prog %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_prog %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12050, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 9 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load ptr, ptr @g_prog %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = load i32, ptr %t0 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t26, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str12051, i32 %t26, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t25, i32 %t26 %t32 = load ptr, ptr %t31 call void @fn_emit_system_fn(ptr %t32) br label %ifend7 ifend7: %t33 = load i32, ptr %t0 %t34 = add i32 %t33, 1 store i32 %t34, ptr %t0 br label %wcond0 wend2: call void @fn_emit_despawn_hooks() call void @fn_emit_scene_hooks() %t35 = call i32 @fn_has_countdowns() %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then10, label %ifend12 then10: call void @fn_emit_countdown_system() br label %ifend12 ifend12: %t37 = call i32 @fn_has_prefabs() %t38 = icmp ne i32 %t37, 0 br i1 %t38, label %then13, label %ifend15 then13: call void @fn_emit_prefab_fns() br label %ifend15 ifend15: call void @fn_emit_tick_helpers() br label %ret ret: ret void } define void @fn_emit_game_main() { entry: %t12 = alloca i32 %t55 = alloca ptr %t60 = alloca ptr %t66 = alloca ptr %t71 = alloca ptr %t78 = alloca ptr %t81 = alloca i32 %t93 = alloca ptr %t100 = alloca ptr %t102 = alloca i32 %t114 = alloca ptr %t116 = alloca i32 %t129 = alloca ptr %t133 = alloca i32 %t145 = alloca ptr %t150 = alloca ptr call void @fn_emit_game_defs() call void @fn_emit(ptr @.str12052) call void @fn_emit(ptr @.str12053) call void @fn_emit(ptr @.str12054) %t0 = call ptr @fn_find_fn(ptr @.str12055) %t1 = icmp ne ptr %t0, null %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str12056) br label %ifend2 ifend2: call void @fn_emit(ptr @.str12057) call void @fn_emit_calls_for_phase(ptr @.str12058) %t4 = load ptr, ptr @g_g_scenes %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp sgt i32 %t6, 0 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str12059) %t10 = load i32, ptr @g_g_start_scene %t11 = call ptr @fn_itoa(i32 %t10) call void @fn_emit(ptr %t11) call void @fn_emit(ptr @.str12060) store i32 0, ptr %t12 br label %wcond6 wcond6: %t13 = load i32, ptr %t12 %t14 = load ptr, ptr @g_g_scenes %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp slt i32 %t13, %t16 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %wbody7, label %wend8 wbody7: %t20 = load ptr, ptr @g_g_scenes %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t12 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t23, %t25 br i1 %t26, label %ixok9, label %ixbad10 ixbad10: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str12061, i32 %t23, i32 %t25) call void @exit(i32 1) unreachable ixok9: %t28 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 2 %t31 = load i32, ptr %t30 %t32 = load i32, ptr @g_g_start_scene %t33 = icmp eq i32 %t31, %t32 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then11, label %ifend13 then11: call void @fn_emit(ptr @.str12062) %t36 = load ptr, ptr @g_g_scenes %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = load i32, ptr %t12 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t39, %t41 br i1 %t42, label %ixok14, label %ixbad15 ixbad15: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12063, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok14: %t44 = getelementptr inbounds ptr, ptr %t38, i32 %t39 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 call void @fn_emit(ptr %t47) call void @fn_emit(ptr @.str12064) br label %ifend13 ifend13: %t48 = load i32, ptr %t12 %t49 = add i32 %t48, 1 store i32 %t49, ptr %t12 br label %wcond6 wend8: br label %ifend5 ifend5: %t50 = call ptr @fn_find_event(ptr @.str12065) %t51 = icmp ne ptr %t50, null %t52 = zext i1 %t51 to i32 %t53 = icmp ne i32 %t52, 0 br i1 %t53, label %then16, label %ifend18 then16: call void @fn_emit(ptr @.str12066) br label %ifend18 ifend18: call void @fn_emit(ptr @.str12067) call void @fn_emit(ptr @.str12068) %t54 = call ptr @fn_emit_bind(ptr @.str12069) store ptr %t54, ptr %t55 %t56 = load ptr, ptr %t55 %t57 = call ptr @lp_str_concat(ptr @.str12070, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str12071) %t59 = call ptr @fn_emit_bind(ptr %t58) store ptr %t59, ptr %t60 %t61 = call ptr @fn_find_fn(ptr @.str12072) %t62 = icmp ne ptr %t61, null %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then19, label %else20 then19: %t65 = call ptr @fn_emit_bind(ptr @.str12073) store ptr %t65, ptr %t66 %t67 = load ptr, ptr %t66 %t68 = call ptr @lp_str_concat(ptr @.str12074, ptr %t67) %t69 = call ptr @lp_str_concat(ptr %t68, ptr @.str12075) %t70 = call ptr @fn_emit_bind(ptr %t69) store ptr %t70, ptr %t71 %t72 = load ptr, ptr %t60 %t73 = call ptr @lp_str_concat(ptr @.str12076, ptr %t72) %t74 = call ptr @lp_str_concat(ptr %t73, ptr @.str12077) %t75 = load ptr, ptr %t71 %t76 = call ptr @lp_str_concat(ptr %t74, ptr %t75) %t77 = call ptr @fn_emit_bind(ptr %t76) store ptr %t77, ptr %t78 call void @fn_emit(ptr @.str12078) %t79 = load ptr, ptr %t78 call void @fn_emit(ptr %t79) call void @fn_emit(ptr @.str12079) br label %ifend21 else20: call void @fn_emit(ptr @.str12080) %t80 = load ptr, ptr %t60 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str12081) br label %ifend21 ifend21: call void @fn_emit(ptr @.str12082) %t82 = load i32, ptr @g_g_uses_input %t83 = icmp ne i32 %t82, 0 %t84 = zext i1 %t83 to i32 store i32 %t84, ptr %t81 br i1 %t83, label %sc22, label %scend23 sc22: %t85 = call ptr @fn_find_fn(ptr @.str12083) %t86 = icmp ne ptr %t85, null %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t81 br label %scend23 scend23: %t90 = load i32, ptr %t81 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then24, label %else25 then24: %t92 = call ptr @fn_emit_bind(ptr @.str12084) store ptr %t92, ptr %t93 call void @fn_emit(ptr @.str12085) %t94 = load ptr, ptr %t93 call void @fn_emit(ptr %t94) call void @fn_emit(ptr @.str12086) br label %ifend26 else25: %t95 = call ptr @fn_find_fn(ptr @.str12087) %t96 = icmp ne ptr %t95, null %t97 = zext i1 %t96 to i32 %t98 = icmp ne i32 %t97, 0 br i1 %t98, label %then27, label %ifend29 then27: %t99 = call ptr @fn_emit_bind(ptr @.str12088) store ptr %t99, ptr %t100 call void @fn_emit(ptr @.str12089) %t101 = load ptr, ptr %t100 call void @fn_emit(ptr %t101) call void @fn_emit(ptr @.str12090) br label %ifend29 ifend29: br label %ifend26 ifend26: %t103 = call i32 @fn_has_ui() %t104 = icmp ne i32 %t103, 0 %t105 = zext i1 %t104 to i32 store i32 %t105, ptr %t102 br i1 %t104, label %sc30, label %scend31 sc30: %t106 = call ptr @fn_find_fn(ptr @.str12091) %t107 = icmp ne ptr %t106, null %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t102 br label %scend31 scend31: %t111 = load i32, ptr %t102 %t112 = icmp ne i32 %t111, 0 br i1 %t112, label %then32, label %ifend34 then32: %t113 = call ptr @fn_emit_bind(ptr @.str12092) store ptr %t113, ptr %t114 call void @fn_emit(ptr @.str12093) %t115 = load ptr, ptr %t114 call void @fn_emit(ptr %t115) call void @fn_emit(ptr @.str12094) br label %ifend34 ifend34: call void @fn_emit_calls_for_phase(ptr @.str12095) call void @fn_emit_calls_for_phase(ptr @.str12096) call void @fn_emit_calls_for_phase(ptr @.str12097) call void @fn_emit_calls_for_phase(ptr @.str12098) %t117 = load i32, ptr @g_g_has_clear_color %t118 = icmp ne i32 %t117, 0 %t119 = zext i1 %t118 to i32 store i32 %t119, ptr %t116 br i1 %t118, label %sc35, label %scend36 sc35: %t120 = call ptr @fn_find_fn(ptr @.str12099) %t121 = icmp ne ptr %t120, null %t122 = zext i1 %t121 to i32 %t123 = icmp ne i32 %t122, 0 %t124 = zext i1 %t123 to i32 store i32 %t124, ptr %t116 br label %scend36 scend36: %t125 = load i32, ptr %t116 %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then37, label %ifend39 then37: %t127 = load ptr, ptr @g_g_clear_color %t128 = call ptr @fn_emit_expr(ptr %t127) store ptr %t128, ptr %t129 call void @fn_emit(ptr @.str12100) %t130 = load ptr, ptr %t129 %t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0 %t132 = load ptr, ptr %t131 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str12101) br label %ifend39 ifend39: call void @fn_emit_calls_for_phase(ptr @.str12102) call void @fn_emit_calls_for_phase(ptr @.str12103) %t134 = load i32, ptr @g_g_has_clear_color %t135 = icmp ne i32 %t134, 0 %t136 = zext i1 %t135 to i32 store i32 %t136, ptr %t133 br i1 %t135, label %sc40, label %scend41 sc40: %t137 = call ptr @fn_find_fn(ptr @.str12104) %t138 = icmp ne ptr %t137, null %t139 = zext i1 %t138 to i32 %t140 = icmp ne i32 %t139, 0 %t141 = zext i1 %t140 to i32 store i32 %t141, ptr %t133 br label %scend41 scend41: %t142 = load i32, ptr %t133 %t143 = icmp ne i32 %t142, 0 br i1 %t143, label %then42, label %ifend44 then42: call void @fn_emit(ptr @.str12105) br label %ifend44 ifend44: %t144 = call ptr @fn_emit_bind(ptr @.str12106) store ptr %t144, ptr %t145 %t146 = load ptr, ptr %t145 %t147 = call ptr @lp_str_concat(ptr @.str12107, ptr %t146) %t148 = call ptr @lp_str_concat(ptr %t147, ptr @.str12108) %t149 = call ptr @fn_emit_bind(ptr %t148) store ptr %t149, ptr %t150 call void @fn_emit(ptr @.str12109) %t151 = load ptr, ptr %t150 call void @fn_emit(ptr %t151) call void @fn_emit(ptr @.str12110) call void @fn_emit(ptr @.str12111) call void @fn_emit(ptr @.str12112) %t152 = load ptr, ptr @g_g_ondespawn %t153 = getelementptr inbounds %LSlice, ptr %t152, i32 0, i32 1 %t154 = load i32, ptr %t153 %t155 = icmp sgt i32 %t154, 0 %t156 = zext i1 %t155 to i32 %t157 = icmp ne i32 %t156, 0 br i1 %t157, label %then45, label %ifend47 then45: call void @fn_emit(ptr @.str12113) br label %ifend47 ifend47: call void @fn_emit_calls_for_phase(ptr @.str12114) %t158 = call ptr @fn_find_event(ptr @.str12115) %t159 = icmp ne ptr %t158, null %t160 = zext i1 %t159 to i32 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then48, label %ifend50 then48: call void @fn_emit(ptr @.str12116) br label %ifend50 ifend50: %t162 = call ptr @fn_find_fn(ptr @.str12117) %t163 = icmp ne ptr %t162, null %t164 = zext i1 %t163 to i32 %t165 = icmp ne i32 %t164, 0 br i1 %t165, label %then51, label %ifend53 then51: call void @fn_emit(ptr @.str12118) br label %ifend53 ifend53: call void @fn_emit(ptr @.str12119) br label %ret ret: ret void } define ptr @fn_machine_var(ptr %arg_a) { entry: %retval = alloca ptr %t0 = alloca ptr %t11 = alloca ptr store ptr %arg_a, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 0 %t3 = load i32, ptr %t2 %t4 = icmp eq i32 %t3, 33 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then0, label %ifend2 then0: %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1 %t9 = load ptr, ptr %t8 %t10 = call ptr @fn_find_global(ptr %t9) store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t11 %t13 = icmp ne ptr %t12, null %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then3, label %ifend5 then3: %t16 = load ptr, ptr %t11 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0 %t18 = load i32, ptr %t17 %t19 = icmp eq i32 %t18, 2 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then6, label %ifend8 then6: %t22 = load ptr, ptr %t11 store ptr %t22, ptr %retval br label %ret ifend8: br label %ifend5 ifend5: br label %ifend2 ifend2: store ptr null, ptr %retval br label %ret ret: %t23 = load ptr, ptr %retval ret ptr %t23 } define ptr @fn_machine_state_value(ptr %arg_m, ptr %arg_state) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t18 = alloca ptr %t36 = alloca i32 store ptr %arg_m, ptr %t0 store ptr %arg_state, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 5 %t4 = load ptr, ptr %t3 %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: %t8 = load ptr, ptr %t1 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 5 %t10 = load ptr, ptr %t9 %t11 = call ptr @fn_emit_expr(ptr %t10) %t12 = getelementptr inbounds %Cmp_Val, ptr %t11, i32 0, i32 0 %t13 = load ptr, ptr %t12 store ptr %t13, ptr %retval br label %ret ifend2: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 4 %t16 = load ptr, ptr %t15 %t17 = call ptr @fn_machine_var(ptr %t16) store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 %t20 = icmp ne ptr %t19, null %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then3, label %ifend5 then3: %t23 = load ptr, ptr %t18 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 3 %t25 = load ptr, ptr %t24 %t26 = icmp ne ptr %t25, null %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then6, label %ifend8 then6: %t29 = load ptr, ptr %t18 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 3 %t31 = load ptr, ptr %t30 %t32 = load ptr, ptr %t1 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1 %t34 = load ptr, ptr %t33 %t35 = call i32 @fn_enum_ordinal(ptr %t31, ptr %t34) store i32 %t35, ptr %t36 %t37 = load i32, ptr %t36 %t38 = icmp sge i32 %t37, 0 %t39 = zext i1 %t38 to i32 %t40 = icmp ne i32 %t39, 0 br i1 %t40, label %then9, label %ifend11 then9: %t41 = load i32, ptr %t36 %t42 = call ptr @fn_itoa(i32 %t41) store ptr %t42, ptr %retval br label %ret ifend11: %t43 = load ptr, ptr %t18 %t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 3 %t45 = load ptr, ptr %t44 %t46 = call ptr @fn_find_enum(ptr %t45) %t47 = icmp ne ptr %t46, null %t48 = zext i1 %t47 to i32 %t49 = icmp ne i32 %t48, 0 br i1 %t49, label %then12, label %ifend14 then12: %t50 = load ptr, ptr %t1 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 1 %t52 = load ptr, ptr %t51 %t53 = call ptr @lp_str_concat(ptr @.str12120, ptr %t52) %t54 = call ptr @lp_str_concat(ptr %t53, ptr @.str12121) %t55 = load ptr, ptr %t18 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 3 %t57 = load ptr, ptr %t56 %t58 = call ptr @lp_str_concat(ptr %t54, ptr %t57) call void @fn_perr(ptr %t58) br label %ifend14 ifend14: br label %ifend8 ifend8: br label %ifend5 ifend5: %t59 = load ptr, ptr %t1 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 2 %t61 = load i32, ptr %t60 %t62 = call ptr @fn_itoa(i32 %t61) store ptr %t62, ptr %retval br label %ret ret: %t63 = load ptr, ptr %retval ret ptr %t63 } define void @fn_emit_machine(ptr %arg_st) { entry: %t0 = alloca ptr %t5 = alloca ptr %t6 = alloca ptr %t22 = alloca ptr %t69 = alloca ptr %t70 = alloca i32 %t92 = alloca ptr %t96 = alloca ptr %t103 = alloca ptr %t105 = alloca ptr %t107 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4 %t3 = load ptr, ptr %t2 %t4 = call ptr @fn_machine_var(ptr %t3) store ptr %t4, ptr %t5 store ptr @.str12122, ptr %t6 %t7 = load ptr, ptr %t5 %t8 = icmp ne ptr %t7, null %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then0, label %else1 then0: %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4 %t13 = load ptr, ptr %t12 %t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1 %t15 = load ptr, ptr %t14 %t16 = call ptr @lp_str_concat(ptr @.str12123, ptr %t15) %t17 = call ptr @fn_emit_bind(ptr %t16) store ptr %t17, ptr %t6 br label %ifend2 else1: %t18 = load ptr, ptr %t0 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4 %t20 = load ptr, ptr %t19 %t21 = call ptr @fn_emit_expr(ptr %t20) store ptr %t21, ptr %t22 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = call ptr @lp_str_concat(ptr @.str12124, ptr %t25) %t27 = call ptr @lp_str_concat(ptr %t26, ptr @.str12125) %t28 = call ptr @fn_emit_bind(ptr %t27) store ptr %t28, ptr %t6 br label %ifend2 ifend2: %t29 = load i32, ptr @g_nmach %t30 = load ptr, ptr @g_mach_stk %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp slt i32 %t29, %t32 %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then3, label %else4 then3: %t36 = load ptr, ptr @g_mach_stk %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = load i32, ptr @g_nmach %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t39, %t41 br i1 %t42, label %ixok6, label %ixbad7 ixbad7: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12126, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok6: %t44 = getelementptr inbounds ptr, ptr %t38, i32 %t39 %t45 = load ptr, ptr %t0 store ptr %t45, ptr %t44 br label %ifend5 else4: %t46 = load ptr, ptr @g_mach_stk %t47 = load ptr, ptr %t0 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t49 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 2 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t51 = load i32, ptr %t48 %t52 = load i32, ptr %t49 %t53 = icmp sge i32 %t51, %t52 br i1 %t53, label %grow8, label %put9 grow8: %t54 = mul i32 %t52, 2 %t55 = icmp eq i32 %t52, 0 %t56 = select i1 %t55, i32 8, i32 %t54 %t57 = getelementptr ptr, ptr null, i32 1 %t58 = ptrtoint ptr %t57 to i64 %t59 = zext i32 %t56 to i64 %t60 = mul i64 %t59, %t58 %t61 = load ptr, ptr %t50 %t62 = call ptr @realloc(ptr %t61, i64 %t60) store ptr %t62, ptr %t50 store i32 %t56, ptr %t49 br label %put9 put9: %t63 = load ptr, ptr %t50 %t64 = getelementptr inbounds ptr, ptr %t63, i32 %t51 store ptr %t47, ptr %t64 %t65 = add i32 %t51, 1 store i32 %t65, ptr %t48 br label %ifend5 ifend5: %t66 = load i32, ptr @g_nmach %t67 = add i32 %t66, 1 store i32 %t67, ptr @g_nmach %t68 = call ptr @fn_lbl(ptr @.str12127) store ptr %t68, ptr %t69 store i32 0, ptr %t70 br label %wcond10 wcond10: %t71 = load i32, ptr %t70 %t72 = load ptr, ptr %t0 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 7 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp slt i32 %t71, %t76 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 br i1 %t79, label %wbody11, label %wend12 wbody11: %t80 = load ptr, ptr %t0 %t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 7 %t82 = load ptr, ptr %t81 %t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0 %t84 = load ptr, ptr %t83 %t85 = load i32, ptr %t70 %t86 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 1 %t87 = load i32, ptr %t86 %t88 = icmp ult i32 %t85, %t87 br i1 %t88, label %ixok13, label %ixbad14 ixbad14: %t89 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t89, ptr @.fmt_bounds, ptr @.str12128, i32 %t85, i32 %t87) call void @exit(i32 1) unreachable ixok13: %t90 = getelementptr inbounds ptr, ptr %t84, i32 %t85 %t91 = load ptr, ptr %t90 store ptr %t91, ptr %t92 %t93 = load ptr, ptr %t0 %t94 = load ptr, ptr %t92 %t95 = call ptr @fn_machine_state_value(ptr %t93, ptr %t94) store ptr %t95, ptr %t96 %t97 = load ptr, ptr %t6 %t98 = call ptr @lp_str_concat(ptr @.str12129, ptr %t97) %t99 = call ptr @lp_str_concat(ptr %t98, ptr @.str12130) %t100 = load ptr, ptr %t96 %t101 = call ptr @lp_str_concat(ptr %t99, ptr %t100) %t102 = call ptr @fn_emit_bind(ptr %t101) store ptr %t102, ptr %t103 %t104 = call ptr @fn_lbl(ptr @.str12131) store ptr %t104, ptr %t105 %t106 = call ptr @fn_lbl(ptr @.str12132) store ptr %t106, ptr %t107 call void @fn_emit(ptr @.str12133) %t108 = load ptr, ptr %t103 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str12134) %t109 = load ptr, ptr %t105 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str12135) %t110 = load ptr, ptr %t107 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str12136) %t111 = load ptr, ptr %t105 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str12137) store i32 0, ptr @g_g_term %t112 = load ptr, ptr %t92 %t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 4 %t114 = load ptr, ptr %t113 call void @fn_emit_block(ptr %t114) %t115 = load i32, ptr @g_g_term %t116 = icmp eq i32 %t115, 0 %t117 = zext i1 %t116 to i32 %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then15, label %ifend17 then15: call void @fn_emit(ptr @.str12138) %t119 = load ptr, ptr %t69 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str12139) br label %ifend17 ifend17: %t120 = load ptr, ptr %t107 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str12140) store i32 0, ptr @g_g_term %t121 = load i32, ptr %t70 %t122 = add i32 %t121, 1 store i32 %t122, ptr %t70 br label %wcond10 wend12: %t123 = load i32, ptr @g_g_term %t124 = icmp eq i32 %t123, 0 %t125 = zext i1 %t124 to i32 %t126 = icmp ne i32 %t125, 0 br i1 %t126, label %then18, label %ifend20 then18: call void @fn_emit(ptr @.str12141) %t127 = load ptr, ptr %t69 call void @fn_emit(ptr %t127) call void @fn_emit(ptr @.str12142) br label %ifend20 ifend20: %t128 = load ptr, ptr %t69 call void @fn_emit(ptr %t128) call void @fn_emit(ptr @.str12143) store i32 0, ptr @g_g_term %t129 = load i32, ptr @g_nmach %t130 = sub i32 %t129, 1 store i32 %t130, ptr @g_nmach br label %ret ret: ret void } define void @fn_emit_become(ptr %arg_st) { entry: %t0 = alloca ptr %t16 = alloca ptr %t17 = alloca ptr %t18 = alloca i32 %t69 = alloca ptr %t73 = alloca ptr %t88 = alloca ptr %t97 = alloca ptr store ptr %arg_st, ptr %t0 %t1 = load i32, ptr @g_nmach %t2 = icmp sgt i32 %t1, 0 %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: %t5 = load ptr, ptr @g_mach_stk %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0 %t7 = load ptr, ptr %t6 %t8 = load i32, ptr @g_nmach %t9 = sub i32 %t8, 1 %t10 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp ult i32 %t9, %t11 br i1 %t12, label %ixok3, label %ixbad4 ixbad4: %t13 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t13, ptr @.fmt_bounds, ptr @.str12144, i32 %t9, i32 %t11) call void @exit(i32 1) unreachable ixok3: %t14 = getelementptr inbounds ptr, ptr %t7, i32 %t9 %t15 = load ptr, ptr %t14 store ptr %t15, ptr %t16 store ptr null, ptr %t17 store i32 0, ptr %t18 br label %wcond5 wcond5: %t19 = load i32, ptr %t18 %t20 = load ptr, ptr %t16 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 7 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp slt i32 %t19, %t24 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %wbody6, label %wend7 wbody6: %t28 = load ptr, ptr %t16 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7 %t30 = load ptr, ptr %t29 %t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0 %t32 = load ptr, ptr %t31 %t33 = load i32, ptr %t18 %t34 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1 %t35 = load i32, ptr %t34 %t36 = icmp ult i32 %t33, %t35 br i1 %t36, label %ixok8, label %ixbad9 ixbad9: %t37 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t37, ptr @.fmt_bounds, ptr @.str12145, i32 %t33, i32 %t35) call void @exit(i32 1) unreachable ixok8: %t38 = getelementptr inbounds ptr, ptr %t32, i32 %t33 %t39 = load ptr, ptr %t38 %t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 1 %t41 = load ptr, ptr %t40 %t42 = load ptr, ptr %t0 %t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1 %t44 = load ptr, ptr %t43 %t45 = call i32 @lp_str_eq(ptr %t41, ptr %t44) %t46 = icmp ne i32 %t45, 0 br i1 %t46, label %then10, label %ifend12 then10: %t47 = load ptr, ptr %t16 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 7 %t49 = load ptr, ptr %t48 %t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0 %t51 = load ptr, ptr %t50 %t52 = load i32, ptr %t18 %t53 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp ult i32 %t52, %t54 br i1 %t55, label %ixok13, label %ixbad14 ixbad14: %t56 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t56, ptr @.fmt_bounds, ptr @.str12146, i32 %t52, i32 %t54) call void @exit(i32 1) unreachable ixok13: %t57 = getelementptr inbounds ptr, ptr %t51, i32 %t52 %t58 = load ptr, ptr %t57 store ptr %t58, ptr %t17 br label %ifend12 ifend12: %t59 = load i32, ptr %t18 %t60 = add i32 %t59, 1 store i32 %t60, ptr %t18 br label %wcond5 wend7: %t61 = load ptr, ptr %t17 %t62 = icmp ne ptr %t61, null %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then15, label %ifend17 then15: %t65 = load ptr, ptr %t16 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 4 %t67 = load ptr, ptr %t66 %t68 = call ptr @fn_machine_var(ptr %t67) store ptr %t68, ptr %t69 %t70 = load ptr, ptr %t16 %t71 = load ptr, ptr %t17 %t72 = call ptr @fn_machine_state_value(ptr %t70, ptr %t71) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t69 %t75 = icmp ne ptr %t74, null %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %then18, label %else19 then18: call void @fn_emit(ptr @.str12147) %t78 = load ptr, ptr %t73 call void @fn_emit(ptr %t78) call void @fn_emit(ptr @.str12148) %t79 = load ptr, ptr %t16 %t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 4 %t81 = load ptr, ptr %t80 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1 %t83 = load ptr, ptr %t82 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str12149) br label %ifend20 else19: %t84 = load ptr, ptr %t16 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 4 %t86 = load ptr, ptr %t85 %t87 = call ptr @fn_emit_expr(ptr %t86) store ptr %t87, ptr %t88 call void @fn_emit(ptr @.str12150) %t89 = load ptr, ptr %t88 %t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0 %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str12151) %t92 = load ptr, ptr %t73 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str12152) br label %ifend20 ifend20: br label %ret ifend17: br label %ifend2 ifend2: %t93 = load ptr, ptr %t0 %t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 1 %t95 = load ptr, ptr %t94 %t96 = call ptr @fn_find_scene(ptr %t95) store ptr %t96, ptr %t97 %t98 = load ptr, ptr %t97 %t99 = icmp eq ptr %t98, null %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then21, label %ifend23 then21: %t102 = load ptr, ptr %t0 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 1 %t104 = load ptr, ptr %t103 %t105 = call ptr @lp_str_concat(ptr @.str12153, ptr %t104) call void @fn_perr(ptr %t105) br label %ifend23 ifend23: %t106 = load ptr, ptr @g_g_cur_scene %t107 = icmp ne ptr %t106, null %t108 = zext i1 %t107 to i32 %t109 = icmp ne i32 %t108, 0 br i1 %t109, label %then24, label %else25 then24: call void @fn_emit(ptr @.str12154) %t110 = load ptr, ptr @g_g_cur_scene %t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1 %t112 = load ptr, ptr %t111 call void @fn_emit(ptr %t112) call void @fn_emit(ptr @.str12155) br label %ifend26 else25: call void @fn_emit(ptr @.str12156) br label %ifend26 ifend26: call void @fn_emit(ptr @.str12157) %t113 = load ptr, ptr %t97 %t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 2 %t115 = load i32, ptr %t114 %t116 = call ptr @fn_itoa(i32 %t115) call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str12158) call void @fn_emit(ptr @.str12159) %t117 = load ptr, ptr %t97 %t118 = getelementptr inbounds %Cmp_Node, ptr %t117, i32 0, i32 1 %t119 = load ptr, ptr %t118 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str12160) br label %ret ret: ret void } define void @fn_emit_io(ptr %arg_fn2, ptr %arg_p, ptr %arg_bytes) { entry: %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca ptr %t9 = alloca ptr %t22 = alloca ptr %t32 = alloca ptr %t47 = alloca ptr store ptr %arg_fn2, ptr %t0 store ptr %arg_p, ptr %t1 store ptr %arg_bytes, ptr %t2 %t3 = load ptr, ptr @g_g_snap_mode %t4 = call i32 @lp_str_eq(ptr %t3, ptr @.str12161) %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load i32, ptr @g_g_iok %t7 = call ptr @fn_itoa(i32 %t6) %t8 = call ptr @lp_str_concat(ptr @.str12162, ptr %t7) store ptr %t8, ptr %t9 %t10 = load i32, ptr @g_g_iok %t11 = add i32 %t10, 1 store i32 %t11, ptr @g_g_iok call void @fn_emit(ptr @.str12163) %t12 = load ptr, ptr %t9 call void @fn_emit(ptr %t12) call void @fn_emit(ptr @.str12164) %t13 = load ptr, ptr %t0 call void @fn_emit(ptr %t13) call void @fn_emit(ptr @.str12165) %t14 = load ptr, ptr %t1 call void @fn_emit(ptr %t14) call void @fn_emit(ptr @.str12166) %t15 = load ptr, ptr %t2 call void @fn_emit(ptr %t15) call void @fn_emit(ptr @.str12167) br label %ret ifend2: %t16 = load ptr, ptr @g_g_snap_mode %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str12168) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t19 = load i32, ptr @g_g_iok %t20 = call ptr @fn_itoa(i32 %t19) %t21 = call ptr @lp_str_concat(ptr @.str12169, ptr %t20) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str12170) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str12171) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str12172) %t25 = load ptr, ptr %t2 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str12173) %t26 = load ptr, ptr %t22 store ptr %t26, ptr @g_g_off %t27 = load i32, ptr @g_g_iok %t28 = add i32 %t27, 1 store i32 %t28, ptr @g_g_iok br label %ret ifend5: %t29 = load i32, ptr @g_g_iok %t30 = call ptr @fn_itoa(i32 %t29) %t31 = call ptr @lp_str_concat(ptr @.str12174, ptr %t30) store ptr %t31, ptr %t32 call void @fn_emit(ptr @.str12175) %t33 = load ptr, ptr %t32 call void @fn_emit(ptr %t33) call void @fn_emit(ptr @.str12176) %t34 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t34) call void @fn_emit(ptr @.str12177) %t35 = load ptr, ptr @g_g_snap_mode %t36 = call i32 @lp_str_eq(ptr %t35, ptr @.str12178) %t37 = icmp ne i32 %t36, 0 br i1 %t37, label %then6, label %else7 then6: call void @fn_emit(ptr @.str12179) %t38 = load ptr, ptr %t32 call void @fn_emit(ptr %t38) call void @fn_emit(ptr @.str12180) %t39 = load ptr, ptr %t1 call void @fn_emit(ptr %t39) call void @fn_emit(ptr @.str12181) %t40 = load ptr, ptr %t2 call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str12182) br label %ifend8 else7: call void @fn_emit(ptr @.str12183) %t41 = load ptr, ptr %t1 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str12184) %t42 = load ptr, ptr %t32 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str12185) %t43 = load ptr, ptr %t2 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str12186) br label %ifend8 ifend8: %t44 = load i32, ptr @g_g_iok %t45 = call ptr @fn_itoa(i32 %t44) %t46 = call ptr @lp_str_concat(ptr @.str12187, ptr %t45) store ptr %t46, ptr %t47 call void @fn_emit(ptr @.str12188) %t48 = load ptr, ptr %t47 call void @fn_emit(ptr %t48) call void @fn_emit(ptr @.str12189) %t49 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t49) call void @fn_emit(ptr @.str12190) %t50 = load ptr, ptr %t2 call void @fn_emit(ptr %t50) call void @fn_emit(ptr @.str12191) %t51 = load ptr, ptr %t47 store ptr %t51, ptr @g_g_off %t52 = load i32, ptr @g_g_iok %t53 = add i32 %t52, 1 store i32 %t53, ptr @g_g_iok br label %ret ret: ret void } define void @fn_emit_snapshot_blocks(ptr %arg_fn2) { entry: %t0 = alloca ptr %t2 = alloca ptr %t12 = alloca i32 %t51 = alloca i32 %t86 = alloca ptr %t90 = alloca ptr store ptr %arg_fn2, ptr %t0 store i32 0, ptr @g_g_iok store ptr @.str12192, ptr @g_g_off %t1 = call ptr @fn_itoa(i32 1024) store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t3, ptr @.str12193, ptr @.str12194) %t4 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t4, ptr @.str12195, ptr @.str12196) call void @fn_emit(ptr @.str12197) %t5 = load ptr, ptr %t2 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str12198) %t6 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t6, ptr @.str12199, ptr @.str12200) %t7 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t7, ptr @.str12201, ptr @.str12202) %t8 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t8, ptr @.str12203, ptr @.str12204) %t9 = call i32 @fn_net_has_owned() %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then0, label %ifend2 then0: %t11 = load ptr, ptr %t0 call void @fn_emit_io(ptr %t11, ptr @.str12205, ptr @.str12206) br label %ifend2 ifend2: store i32 0, ptr %t12 br label %wcond3 wcond3: %t13 = load i32, ptr %t12 %t14 = load ptr, ptr @g_prog %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp slt i32 %t13, %t16 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %wbody4, label %wend5 wbody4: %t20 = load ptr, ptr @g_prog %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t12 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t23, %t25 br i1 %t26, label %ixok6, label %ixbad7 ixbad7: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str12207, i32 %t23, i32 %t25) call void @exit(i32 1) unreachable ixok6: %t28 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 0 %t31 = load i32, ptr %t30 %t32 = icmp eq i32 %t31, 2 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then8, label %ifend10 then8: %t35 = load ptr, ptr %t0 %t36 = load ptr, ptr @g_prog %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = load i32, ptr %t12 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t39, %t41 br i1 %t42, label %ixok11, label %ixbad12 ixbad12: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12209, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok11: %t44 = getelementptr inbounds ptr, ptr %t38, i32 %t39 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 %t48 = call ptr @lp_str_concat(ptr @.str12208, ptr %t47) call void @fn_emit_io(ptr %t35, ptr %t48, ptr @.str12210) br label %ifend10 ifend10: %t49 = load i32, ptr %t12 %t50 = add i32 %t49, 1 store i32 %t50, ptr %t12 br label %wcond3 wend5: store i32 0, ptr %t51 store i32 0, ptr %t12 br label %wcond13 wcond13: %t52 = load i32, ptr %t12 %t53 = load ptr, ptr @g_prog %t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp slt i32 %t52, %t55 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %wbody14, label %wend15 wbody14: %t59 = load ptr, ptr @g_prog %t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0 %t61 = load ptr, ptr %t60 %t62 = load i32, ptr %t12 %t63 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = icmp ult i32 %t62, %t64 br i1 %t65, label %ixok16, label %ixbad17 ixbad17: %t66 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t66, ptr @.fmt_bounds, ptr @.str12211, i32 %t62, i32 %t64) call void @exit(i32 1) unreachable ixok16: %t67 = getelementptr inbounds ptr, ptr %t61, i32 %t62 %t68 = load ptr, ptr %t67 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 0 %t70 = load i32, ptr %t69 %t71 = icmp eq i32 %t70, 8 %t72 = zext i1 %t71 to i32 %t73 = icmp ne i32 %t72, 0 br i1 %t73, label %then18, label %ifend20 then18: %t74 = load ptr, ptr @g_prog %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 %t76 = load ptr, ptr %t75 %t77 = load i32, ptr %t12 %t78 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 %t79 = load i32, ptr %t78 %t80 = icmp ult i32 %t77, %t79 br i1 %t80, label %ixok21, label %ixbad22 ixbad22: %t81 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str12212, i32 %t77, i32 %t79) call void @exit(i32 1) unreachable ixok21: %t82 = getelementptr inbounds ptr, ptr %t76, i32 %t77 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1 %t85 = load ptr, ptr %t84 store ptr %t85, ptr %t86 %t87 = load i32, ptr %t51 %t88 = call ptr @fn_itoa(i32 %t87) %t89 = call ptr @lp_str_concat(ptr @.str12213, ptr %t88) store ptr %t89, ptr %t90 call void @fn_emit(ptr @.str12214) %t91 = load ptr, ptr %t90 call void @fn_emit(ptr %t91) call void @fn_emit(ptr @.str12215) %t92 = load ptr, ptr %t86 call void @fn_emit(ptr %t92) call void @fn_emit(ptr @.str12216) %t93 = load ptr, ptr %t2 call void @fn_emit(ptr %t93) call void @fn_emit(ptr @.str12217) %t94 = load ptr, ptr %t0 %t95 = load ptr, ptr %t86 %t96 = call ptr @lp_str_concat(ptr @.str12218, ptr %t95) %t97 = load ptr, ptr %t90 call void @fn_emit_io(ptr %t94, ptr %t96, ptr %t97) %t98 = load ptr, ptr %t0 %t99 = load ptr, ptr %t86 %t100 = call ptr @lp_str_concat(ptr @.str12219, ptr %t99) %t101 = load ptr, ptr %t2 call void @fn_emit_io(ptr %t98, ptr %t100, ptr %t101) %t102 = load i32, ptr %t51 %t103 = add i32 %t102, 1 store i32 %t103, ptr %t51 br label %ifend20 ifend20: %t104 = load i32, ptr %t12 %t105 = add i32 %t104, 1 store i32 %t105, ptr %t12 br label %wcond13 wend15: br label %ret ret: ret void } define void @fn_emit_snapshot() { entry: %t3 = alloca i32 %t7 = alloca i32 %t15 = alloca ptr %t22 = alloca ptr store ptr @.str12220, ptr @g_g_snap_mode call void @fn_emith(ptr @.str12221) call void @fn_emith(ptr @.str12222) call void @fn_emith(ptr @.str12223) %t0 = call ptr @fn_find_fn(ptr @.str12224) %t1 = icmp ne ptr %t0, null %t2 = zext i1 %t1 to i32 store i32 %t2, ptr %t3 %t4 = call ptr @fn_find_fn(ptr @.str12225) %t5 = icmp ne ptr %t4, null %t6 = zext i1 %t5 to i32 store i32 %t6, ptr %t7 call void @fn_emit(ptr @.str12226) call void @fn_emit(ptr @.str12227) call void @fn_emit(ptr @.str12228) call void @fn_emit(ptr @.str12229) call void @fn_emit_snapshot_blocks(ptr @.str12230) %t8 = load i32, ptr %t3 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str12231) br label %ifend2 ifend2: call void @fn_emit(ptr @.str12232) call void @fn_emit(ptr @.str12233) call void @fn_emit(ptr @.str12234) call void @fn_emit(ptr @.str12235) call void @fn_emit(ptr @.str12236) call void @fn_emit_snapshot_blocks(ptr @.str12237) %t10 = load i32, ptr %t7 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str12238) br label %ifend5 ifend5: call void @fn_emit(ptr @.str12239) call void @fn_emit(ptr @.str12240) store ptr @.str12241, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str12242) %t12 = load i32, ptr @g_g_iok %t13 = call ptr @fn_itoa(i32 %t12) %t14 = call ptr @lp_str_concat(ptr @.str12243, ptr %t13) store ptr %t14, ptr %t15 call void @fn_emit(ptr @.str12244) %t16 = load ptr, ptr %t15 call void @fn_emit(ptr %t16) call void @fn_emit(ptr @.str12245) %t17 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str12246) call void @fn_emit(ptr @.str12247) %t18 = load ptr, ptr %t15 call void @fn_emit(ptr %t18) call void @fn_emit(ptr @.str12248) call void @fn_emit(ptr @.str12249) store ptr @.str12250, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str12251) call void @fn_emit(ptr @.str12252) call void @fn_emit(ptr @.str12253) store ptr @.str12254, ptr @g_g_snap_mode call void @fn_emit_snapshot_blocks(ptr @.str12255) %t19 = load i32, ptr @g_g_iok %t20 = call ptr @fn_itoa(i32 %t19) %t21 = call ptr @lp_str_concat(ptr @.str12256, ptr %t20) store ptr %t21, ptr %t22 call void @fn_emit(ptr @.str12257) %t23 = load ptr, ptr %t22 call void @fn_emit(ptr %t23) call void @fn_emit(ptr @.str12258) %t24 = load ptr, ptr @g_g_off call void @fn_emit(ptr %t24) call void @fn_emit(ptr @.str12259) call void @fn_emit(ptr @.str12260) %t25 = load ptr, ptr %t22 call void @fn_emit(ptr %t25) call void @fn_emit(ptr @.str12261) store ptr @.str12262, ptr @g_g_snap_mode br label %ret ret: ret void } define i32 @fn_net_field_ibytes(ptr %arg_ty) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_ty, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_llty(ptr %t1) %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str12263) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store i32 1, ptr %retval br label %ret ifend2: store i32 4, ptr %retval br label %ret ret: %t5 = load i32, ptr %retval ret i32 %t5 } define ptr @fn_net_field_bytes(ptr %arg_ty) { entry: %retval = alloca ptr %t0 = alloca ptr store ptr %arg_ty, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call ptr @fn_llty(ptr %t1) %t3 = call i32 @lp_str_eq(ptr %t2, ptr @.str12264) %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: store ptr @.str12265, ptr %retval br label %ret ifend2: store ptr @.str12266, ptr %retval br label %ret ret: %t5 = load ptr, ptr %retval ret ptr %t5 } define i32 @fn_net_model_bytes(ptr %arg_m) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t44 = alloca ptr %t49 = alloca i32 store ptr %arg_m, ptr %t0 store i32 0, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp slt i32 %t3, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7 %t14 = load ptr, ptr %t13 %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 %t16 = load ptr, ptr %t15 %t17 = load i32, ptr %t2 %t18 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 %t19 = load i32, ptr %t18 %t20 = icmp ult i32 %t17, %t19 br i1 %t20, label %ixok3, label %ixbad4 ixbad4: %t21 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t21, ptr @.fmt_bounds, ptr @.str12267, i32 %t17, i32 %t19) call void @exit(i32 1) unreachable ixok3: %t22 = getelementptr inbounds ptr, ptr %t16, i32 %t17 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 2 %t25 = load i32, ptr %t24 %t26 = icmp eq i32 %t25, 1 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 br i1 %t28, label %then5, label %ifend7 then5: %t29 = load ptr, ptr %t0 %t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t33 = load ptr, ptr %t32 %t34 = load i32, ptr %t2 %t35 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t36 = load i32, ptr %t35 %t37 = icmp ult i32 %t34, %t36 br i1 %t37, label %ixok8, label %ixbad9 ixbad9: %t38 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t38, ptr @.fmt_bounds, ptr @.str12268, i32 %t34, i32 %t36) call void @exit(i32 1) unreachable ixok8: %t39 = getelementptr inbounds ptr, ptr %t33, i32 %t34 %t40 = load ptr, ptr %t39 %t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1 %t42 = load ptr, ptr %t41 %t43 = call ptr @fn_find_comp(ptr %t42) store ptr %t43, ptr %t44 %t45 = load ptr, ptr %t44 %t46 = icmp ne ptr %t45, null %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then10, label %ifend12 then10: store i32 0, ptr %t49 br label %wcond13 wcond13: %t50 = load i32, ptr %t49 %t51 = load ptr, ptr %t44 %t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 7 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1 %t55 = load i32, ptr %t54 %t56 = icmp slt i32 %t50, %t55 %t57 = zext i1 %t56 to i32 %t58 = icmp ne i32 %t57, 0 br i1 %t58, label %wbody14, label %wend15 wbody14: %t59 = load ptr, ptr %t44 %t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 7 %t61 = load ptr, ptr %t60 %t62 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 %t63 = load ptr, ptr %t62 %t64 = load i32, ptr %t49 %t65 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 1 %t66 = load i32, ptr %t65 %t67 = icmp ult i32 %t64, %t66 br i1 %t67, label %ixok16, label %ixbad17 ixbad17: %t68 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t68, ptr @.fmt_bounds, ptr @.str12269, i32 %t64, i32 %t66) call void @exit(i32 1) unreachable ixok16: %t69 = getelementptr inbounds ptr, ptr %t63, i32 %t64 %t70 = load ptr, ptr %t69 %t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 2 %t72 = load i32, ptr %t71 %t73 = icmp eq i32 %t72, 1 %t74 = zext i1 %t73 to i32 %t75 = icmp ne i32 %t74, 0 br i1 %t75, label %then18, label %ifend20 then18: %t76 = load ptr, ptr %t44 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7 %t78 = load ptr, ptr %t77 %t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = load i32, ptr %t49 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t81, %t83 br i1 %t84, label %ixok21, label %ixbad22 ixbad22: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str12270, i32 %t81, i32 %t83) call void @exit(i32 1) unreachable ixok21: %t86 = getelementptr inbounds ptr, ptr %t80, i32 %t81 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 3 %t89 = load ptr, ptr %t88 %t90 = call i32 @fn_net_field_ibytes(ptr %t89) %t91 = load i32, ptr %t1 %t92 = add i32 %t91, %t90 store i32 %t92, ptr %t1 br label %ifend20 ifend20: %t93 = load i32, ptr %t49 %t94 = add i32 %t93, 1 store i32 %t94, ptr %t49 br label %wcond13 wend15: br label %ifend12 ifend12: br label %ifend7 ifend7: %t95 = load i32, ptr %t2 %t96 = add i32 %t95, 1 store i32 %t96, ptr %t2 br label %wcond0 wend2: %t97 = load i32, ptr %t1 store i32 %t97, ptr %retval br label %ret ret: %t98 = load i32, ptr %retval ret i32 %t98 } define i32 @fn_net_model_syncs(ptr %arg_m) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_m, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @fn_net_model_bytes(ptr %t1) %t3 = icmp sgt i32 %t2, 0 %t4 = zext i1 %t3 to i32 store i32 %t4, ptr %retval br label %ret ret: %t5 = load i32, ptr %retval ret i32 %t5 } define i32 @fn_net_has_sync() { entry: %retval = alloca i32 %t0 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_prog %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_prog %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12271, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 10 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load ptr, ptr @g_prog %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = load i32, ptr %t0 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t26, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str12272, i32 %t26, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t25, i32 %t26 %t32 = load ptr, ptr %t31 %t33 = call i32 @fn_net_model_syncs(ptr %t32) %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %then10, label %ifend12 then10: store i32 1, ptr %retval br label %ret ifend12: br label %ifend7 ifend7: %t35 = load i32, ptr %t0 %t36 = add i32 %t35, 1 store i32 %t36, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t37 = load i32, ptr %retval ret i32 %t37 } define i32 @fn_net_has_owned() { entry: %retval = alloca i32 %t0 = alloca i32 %t8 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_prog %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_prog %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t0 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12273, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0 %t20 = load i32, ptr %t19 %t21 = icmp eq i32 %t20, 10 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t8 br i1 %t23, label %sc5, label %scend6 sc5: %t25 = load ptr, ptr @g_prog %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = load i32, ptr %t0 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t28, %t30 br i1 %t31, label %ixok7, label %ixbad8 ixbad8: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str12274, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok7: %t33 = getelementptr inbounds ptr, ptr %t27, i32 %t28 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 2 %t36 = load i32, ptr %t35 %t37 = icmp eq i32 %t36, 1 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t8 br label %scend6 scend6: %t41 = load i32, ptr %t8 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t43 = load i32, ptr %t0 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t45 = load i32, ptr %retval ret i32 %t45 } define i32 @fn_net_has_role() { entry: %retval = alloca i32 %t0 = alloca i32 %t8 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_prog %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_prog %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t0 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12275, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0 %t20 = load i32, ptr %t19 %t21 = icmp eq i32 %t20, 9 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t8 br i1 %t23, label %sc5, label %scend6 sc5: %t25 = load ptr, ptr @g_prog %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = load i32, ptr %t0 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t28, %t30 br i1 %t31, label %ixok7, label %ixbad8 ixbad8: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str12276, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok7: %t33 = getelementptr inbounds ptr, ptr %t27, i32 %t28 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 2 %t36 = load i32, ptr %t35 %t37 = icmp ne i32 %t36, 0 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t8 br label %scend6 scend6: %t41 = load i32, ptr %t8 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t43 = load i32, ptr %t0 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t45 = load i32, ptr %retval ret i32 %t45 } define i32 @fn_net_any() { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t2 = call i32 @fn_net_has_sync() %t3 = icmp ne i32 %t2, 0 %t4 = zext i1 %t3 to i32 store i32 %t4, ptr %t1 br i1 %t3, label %scend1, label %sc0 sc0: %t5 = call i32 @fn_net_has_owned() %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t1 br label %scend1 scend1: %t8 = load i32, ptr %t1 %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t0 br i1 %t9, label %scend3, label %sc2 sc2: %t11 = call i32 @fn_net_has_role() %t12 = icmp ne i32 %t11, 0 %t13 = zext i1 %t12 to i32 store i32 %t13, ptr %t0 br label %scend3 scend3: %t14 = load i32, ptr %t0 store i32 %t14, ptr %retval br label %ret ret: %t15 = load i32, ptr %retval ret i32 %t15 } define void @fn_net_warn(ptr %arg_msg) { entry: %t0 = alloca ptr %t2 = alloca ptr store ptr %arg_msg, ptr %t0 %t1 = load ptr, ptr @__stderrp store ptr %t1, ptr %t2 %t3 = load ptr, ptr %t2 %t4 = zext i32 23 to i64 %t5 = call i64 @fwrite(ptr @.str12277, i64 1, i64 %t4, ptr %t3) %t6 = trunc i64 %t5 to i32 %t7 = load ptr, ptr %t2 %t8 = load ptr, ptr %t0 %t9 = load ptr, ptr %t0 %t10 = call i64 @strlen(ptr %t9) %t11 = trunc i64 %t10 to i32 %t12 = zext i32 %t11 to i64 %t13 = call i64 @fwrite(ptr %t8, i64 1, i64 %t12, ptr %t7) %t14 = trunc i64 %t13 to i32 %t15 = load ptr, ptr %t2 %t16 = zext i32 1 to i64 %t17 = call i64 @fwrite(ptr @.str12278, i64 1, i64 %t16, ptr %t15) %t18 = trunc i64 %t17 to i32 br label %ret ret: ret void } define void @fn_net_check() { entry: %t0 = alloca i32 %t33 = alloca ptr %t34 = alloca i32 %t75 = alloca ptr %t78 = alloca ptr %t83 = alloca i32 %t84 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_prog %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_prog %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12279, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0 %t19 = load i32, ptr %t18 %t20 = icmp eq i32 %t19, 10 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: %t23 = load ptr, ptr @g_prog %t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0 %t25 = load ptr, ptr %t24 %t26 = load i32, ptr %t0 %t27 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1 %t28 = load i32, ptr %t27 %t29 = icmp ult i32 %t26, %t28 br i1 %t29, label %ixok8, label %ixbad9 ixbad9: %t30 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t30, ptr @.fmt_bounds, ptr @.str12280, i32 %t26, i32 %t28) call void @exit(i32 1) unreachable ixok8: %t31 = getelementptr inbounds ptr, ptr %t25, i32 %t26 %t32 = load ptr, ptr %t31 store ptr %t32, ptr %t33 store i32 0, ptr %t34 br label %wcond10 wcond10: %t35 = load i32, ptr %t34 %t36 = load ptr, ptr %t33 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7 %t38 = load ptr, ptr %t37 %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp slt i32 %t35, %t40 %t42 = zext i1 %t41 to i32 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %wbody11, label %wend12 wbody11: %t44 = load ptr, ptr %t33 %t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 %t48 = load ptr, ptr %t47 %t49 = load i32, ptr %t34 %t50 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 %t51 = load i32, ptr %t50 %t52 = icmp ult i32 %t49, %t51 br i1 %t52, label %ixok13, label %ixbad14 ixbad14: %t53 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t53, ptr @.fmt_bounds, ptr @.str12281, i32 %t49, i32 %t51) call void @exit(i32 1) unreachable ixok13: %t54 = getelementptr inbounds ptr, ptr %t48, i32 %t49 %t55 = load ptr, ptr %t54 %t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 2 %t57 = load i32, ptr %t56 %t58 = icmp eq i32 %t57, 1 %t59 = zext i1 %t58 to i32 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then15, label %ifend17 then15: %t61 = load ptr, ptr %t33 %t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 7 %t63 = load ptr, ptr %t62 %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = load i32, ptr %t34 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp ult i32 %t66, %t68 br i1 %t69, label %ixok18, label %ixbad19 ixbad19: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str12282, i32 %t66, i32 %t68) call void @exit(i32 1) unreachable ixok18: %t71 = getelementptr inbounds ptr, ptr %t65, i32 %t66 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 %t74 = load ptr, ptr %t73 store ptr %t74, ptr %t75 %t76 = load ptr, ptr %t75 %t77 = call ptr @fn_find_comp(ptr %t76) store ptr %t77, ptr %t78 %t79 = load ptr, ptr %t78 %t80 = icmp ne ptr %t79, null %t81 = zext i1 %t80 to i32 %t82 = icmp ne i32 %t81, 0 br i1 %t82, label %then20, label %ifend22 then20: store i32 0, ptr %t83 store i32 0, ptr %t84 br label %wcond23 wcond23: %t85 = load i32, ptr %t84 %t86 = load ptr, ptr %t78 %t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 7 %t88 = load ptr, ptr %t87 %t89 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 1 %t90 = load i32, ptr %t89 %t91 = icmp slt i32 %t85, %t90 %t92 = zext i1 %t91 to i32 %t93 = icmp ne i32 %t92, 0 br i1 %t93, label %wbody24, label %wend25 wbody24: %t94 = load ptr, ptr %t78 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 7 %t96 = load ptr, ptr %t95 %t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t98 = load ptr, ptr %t97 %t99 = load i32, ptr %t84 %t100 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t101 = load i32, ptr %t100 %t102 = icmp ult i32 %t99, %t101 br i1 %t102, label %ixok26, label %ixbad27 ixbad27: %t103 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t103, ptr @.fmt_bounds, ptr @.str12283, i32 %t99, i32 %t101) call void @exit(i32 1) unreachable ixok26: %t104 = getelementptr inbounds ptr, ptr %t98, i32 %t99 %t105 = load ptr, ptr %t104 %t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 2 %t107 = load i32, ptr %t106 %t108 = icmp eq i32 %t107, 1 %t109 = zext i1 %t108 to i32 %t110 = icmp ne i32 %t109, 0 br i1 %t110, label %then28, label %ifend30 then28: store i32 1, ptr %t83 %t111 = load ptr, ptr %t78 %t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 7 %t113 = load ptr, ptr %t112 %t114 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 0 %t115 = load ptr, ptr %t114 %t116 = load i32, ptr %t84 %t117 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1 %t118 = load i32, ptr %t117 %t119 = icmp ult i32 %t116, %t118 br i1 %t119, label %ixok31, label %ixbad32 ixbad32: %t120 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t120, ptr @.fmt_bounds, ptr @.str12284, i32 %t116, i32 %t118) call void @exit(i32 1) unreachable ixok31: %t121 = getelementptr inbounds ptr, ptr %t115, i32 %t116 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 3 %t124 = load ptr, ptr %t123 %t125 = call ptr @fn_llty(ptr %t124) %t126 = call i32 @lp_str_eq(ptr %t125, ptr @.str12285) %t127 = icmp ne i32 %t126, 0 br i1 %t127, label %then33, label %ifend35 then33: %t128 = load ptr, ptr %t75 %t129 = call ptr @lp_str_concat(ptr @.str12286, ptr %t128) %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str12287) %t131 = load ptr, ptr %t78 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 7 %t133 = load ptr, ptr %t132 %t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0 %t135 = load ptr, ptr %t134 %t136 = load i32, ptr %t84 %t137 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 1 %t138 = load i32, ptr %t137 %t139 = icmp ult i32 %t136, %t138 br i1 %t139, label %ixok36, label %ixbad37 ixbad37: %t140 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t140, ptr @.fmt_bounds, ptr @.str12288, i32 %t136, i32 %t138) call void @exit(i32 1) unreachable ixok36: %t141 = getelementptr inbounds ptr, ptr %t135, i32 %t136 %t142 = load ptr, ptr %t141 %t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 1 %t144 = load ptr, ptr %t143 %t145 = call ptr @lp_str_concat(ptr %t130, ptr %t144) %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str12289) call void @fn_perr(ptr %t146) br label %ifend35 ifend35: br label %ifend30 ifend30: %t147 = load i32, ptr %t84 %t148 = add i32 %t147, 1 store i32 %t148, ptr %t84 br label %wcond23 wend25: %t149 = load i32, ptr %t83 %t150 = icmp eq i32 %t149, 0 %t151 = zext i1 %t150 to i32 %t152 = icmp ne i32 %t151, 0 br i1 %t152, label %then38, label %ifend40 then38: %t153 = load ptr, ptr %t33 %t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 1 %t155 = load ptr, ptr %t154 %t156 = call ptr @lp_str_concat(ptr @.str12290, ptr %t155) %t157 = call ptr @lp_str_concat(ptr %t156, ptr @.str12291) %t158 = load ptr, ptr %t75 %t159 = call ptr @lp_str_concat(ptr %t157, ptr %t158) %t160 = call ptr @lp_str_concat(ptr %t159, ptr @.str12292) call void @fn_net_warn(ptr %t160) br label %ifend40 ifend40: br label %ifend22 ifend22: br label %ifend17 ifend17: %t161 = load i32, ptr %t34 %t162 = add i32 %t161, 1 store i32 %t162, ptr %t34 br label %wcond10 wend12: br label %ifend7 ifend7: %t163 = load i32, ptr %t0 %t164 = add i32 %t163, 1 store i32 %t164, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_emit_net_serialize(ptr %arg_m) { entry: %t0 = alloca ptr %t2 = alloca ptr %t6 = alloca i32 %t7 = alloca i32 %t48 = alloca ptr %t51 = alloca ptr %t57 = alloca ptr %t62 = alloca i32 %t104 = alloca ptr %t106 = alloca ptr %t113 = alloca ptr store ptr %arg_m, ptr %t0 store i32 0, ptr @g_ll_t %t1 = call ptr @fn_itoa(i32 1024) store ptr %t1, ptr %t2 call void @fn_emit(ptr @.str12293) %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1 %t5 = load ptr, ptr %t4 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str12294) store i32 0, ptr %t6 store i32 0, ptr %t7 br label %wcond0 wcond0: %t8 = load i32, ptr %t7 %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp slt i32 %t8, %t13 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %wbody1, label %wend2 wbody1: %t17 = load ptr, ptr %t0 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = load i32, ptr %t7 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t22, %t24 br i1 %t25, label %ixok3, label %ixbad4 ixbad4: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str12295, i32 %t22, i32 %t24) call void @exit(i32 1) unreachable ixok3: %t27 = getelementptr inbounds ptr, ptr %t21, i32 %t22 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 2 %t30 = load i32, ptr %t29 %t31 = icmp eq i32 %t30, 1 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then5, label %ifend7 then5: %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 7 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = load i32, ptr %t7 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t39, %t41 br i1 %t42, label %ixok8, label %ixbad9 ixbad9: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12296, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok8: %t44 = getelementptr inbounds ptr, ptr %t38, i32 %t39 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t48 %t50 = call ptr @fn_find_comp(ptr %t49) store ptr %t50, ptr %t51 %t52 = load ptr, ptr %t51 %t53 = icmp ne ptr %t52, null %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then10, label %ifend12 then10: %t56 = call ptr @fn_nreg() store ptr %t56, ptr %t57 call void @fn_emit(ptr @.str12297) %t58 = load ptr, ptr %t57 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str12298) %t59 = load ptr, ptr %t2 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str12299) %t60 = load ptr, ptr %t48 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str12300) %t61 = load ptr, ptr %t48 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str12301) store i32 0, ptr %t62 br label %wcond13 wcond13: %t63 = load i32, ptr %t62 %t64 = load ptr, ptr %t51 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp slt i32 %t63, %t68 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %wbody14, label %wend15 wbody14: %t72 = load ptr, ptr %t51 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 7 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 %t76 = load ptr, ptr %t75 %t77 = load i32, ptr %t62 %t78 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 %t79 = load i32, ptr %t78 %t80 = icmp ult i32 %t77, %t79 br i1 %t80, label %ixok16, label %ixbad17 ixbad17: %t81 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str12302, i32 %t77, i32 %t79) call void @exit(i32 1) unreachable ixok16: %t82 = getelementptr inbounds ptr, ptr %t76, i32 %t77 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 2 %t85 = load i32, ptr %t84 %t86 = icmp eq i32 %t85, 1 %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then18, label %ifend20 then18: %t89 = load ptr, ptr %t51 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 7 %t91 = load ptr, ptr %t90 %t92 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 0 %t93 = load ptr, ptr %t92 %t94 = load i32, ptr %t62 %t95 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 1 %t96 = load i32, ptr %t95 %t97 = icmp ult i32 %t94, %t96 br i1 %t97, label %ixok21, label %ixbad22 ixbad22: %t98 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str12303, i32 %t94, i32 %t96) call void @exit(i32 1) unreachable ixok21: %t99 = getelementptr inbounds ptr, ptr %t93, i32 %t94 %t100 = load ptr, ptr %t99 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 3 %t102 = load ptr, ptr %t101 %t103 = call ptr @fn_net_field_bytes(ptr %t102) store ptr %t103, ptr %t104 %t105 = call ptr @fn_nreg() store ptr %t105, ptr %t106 call void @fn_emit(ptr @.str12304) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str12305) %t108 = load ptr, ptr %t48 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str12306) %t109 = load ptr, ptr %t57 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str12307) %t110 = load i32, ptr %t62 %t111 = call ptr @fn_itoa(i32 %t110) call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str12308) %t112 = call ptr @fn_nreg() store ptr %t112, ptr %t113 call void @fn_emit(ptr @.str12309) %t114 = load ptr, ptr %t113 call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str12310) %t115 = load i32, ptr %t6 %t116 = call ptr @fn_itoa(i32 %t115) call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str12311) call void @fn_emit(ptr @.str12312) %t117 = load ptr, ptr %t113 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str12313) %t118 = load ptr, ptr %t106 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str12314) %t119 = load ptr, ptr %t104 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str12315) %t120 = load ptr, ptr %t51 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 7 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 0 %t124 = load ptr, ptr %t123 %t125 = load i32, ptr %t62 %t126 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 1 %t127 = load i32, ptr %t126 %t128 = icmp ult i32 %t125, %t127 br i1 %t128, label %ixok23, label %ixbad24 ixbad24: %t129 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str12316, i32 %t125, i32 %t127) call void @exit(i32 1) unreachable ixok23: %t130 = getelementptr inbounds ptr, ptr %t124, i32 %t125 %t131 = load ptr, ptr %t130 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 3 %t133 = load ptr, ptr %t132 %t134 = call i32 @fn_net_field_ibytes(ptr %t133) %t135 = load i32, ptr %t6 %t136 = add i32 %t135, %t134 store i32 %t136, ptr %t6 br label %ifend20 ifend20: %t137 = load i32, ptr %t62 %t138 = add i32 %t137, 1 store i32 %t138, ptr %t62 br label %wcond13 wend15: br label %ifend12 ifend12: br label %ifend7 ifend7: %t139 = load i32, ptr %t7 %t140 = add i32 %t139, 1 store i32 %t140, ptr %t7 br label %wcond0 wend2: call void @fn_emit(ptr @.str12317) %t141 = load i32, ptr %t6 %t142 = call ptr @fn_itoa(i32 %t141) call void @fn_emit(ptr %t142) call void @fn_emit(ptr @.str12318) br label %ret ret: ret void } define void @fn_emit_net_apply(ptr %arg_m) { entry: %t0 = alloca ptr %t2 = alloca ptr %t6 = alloca i32 %t7 = alloca i32 %t48 = alloca ptr %t51 = alloca ptr %t57 = alloca ptr %t62 = alloca i32 %t104 = alloca ptr %t106 = alloca ptr %t113 = alloca ptr store ptr %arg_m, ptr %t0 store i32 0, ptr @g_ll_t %t1 = call ptr @fn_itoa(i32 1024) store ptr %t1, ptr %t2 call void @fn_emit(ptr @.str12319) %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1 %t5 = load ptr, ptr %t4 call void @fn_emit(ptr %t5) call void @fn_emit(ptr @.str12320) store i32 0, ptr %t6 store i32 0, ptr %t7 br label %wcond0 wcond0: %t8 = load i32, ptr %t7 %t9 = load ptr, ptr %t0 %t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7 %t11 = load ptr, ptr %t10 %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp slt i32 %t8, %t13 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %wbody1, label %wend2 wbody1: %t17 = load ptr, ptr %t0 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0 %t21 = load ptr, ptr %t20 %t22 = load i32, ptr %t7 %t23 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1 %t24 = load i32, ptr %t23 %t25 = icmp ult i32 %t22, %t24 br i1 %t25, label %ixok3, label %ixbad4 ixbad4: %t26 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t26, ptr @.fmt_bounds, ptr @.str12321, i32 %t22, i32 %t24) call void @exit(i32 1) unreachable ixok3: %t27 = getelementptr inbounds ptr, ptr %t21, i32 %t22 %t28 = load ptr, ptr %t27 %t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 2 %t30 = load i32, ptr %t29 %t31 = icmp eq i32 %t30, 1 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then5, label %ifend7 then5: %t34 = load ptr, ptr %t0 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 7 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = load i32, ptr %t7 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t39, %t41 br i1 %t42, label %ixok8, label %ixbad9 ixbad9: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12322, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok8: %t44 = getelementptr inbounds ptr, ptr %t38, i32 %t39 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1 %t47 = load ptr, ptr %t46 store ptr %t47, ptr %t48 %t49 = load ptr, ptr %t48 %t50 = call ptr @fn_find_comp(ptr %t49) store ptr %t50, ptr %t51 %t52 = load ptr, ptr %t51 %t53 = icmp ne ptr %t52, null %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then10, label %ifend12 then10: %t56 = call ptr @fn_nreg() store ptr %t56, ptr %t57 call void @fn_emit(ptr @.str12323) %t58 = load ptr, ptr %t57 call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str12324) %t59 = load ptr, ptr %t2 call void @fn_emit(ptr %t59) call void @fn_emit(ptr @.str12325) %t60 = load ptr, ptr %t48 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str12326) %t61 = load ptr, ptr %t48 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str12327) store i32 0, ptr %t62 br label %wcond13 wcond13: %t63 = load i32, ptr %t62 %t64 = load ptr, ptr %t51 %t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7 %t66 = load ptr, ptr %t65 %t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp slt i32 %t63, %t68 %t70 = zext i1 %t69 to i32 %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %wbody14, label %wend15 wbody14: %t72 = load ptr, ptr %t51 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 7 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0 %t76 = load ptr, ptr %t75 %t77 = load i32, ptr %t62 %t78 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1 %t79 = load i32, ptr %t78 %t80 = icmp ult i32 %t77, %t79 br i1 %t80, label %ixok16, label %ixbad17 ixbad17: %t81 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t81, ptr @.fmt_bounds, ptr @.str12328, i32 %t77, i32 %t79) call void @exit(i32 1) unreachable ixok16: %t82 = getelementptr inbounds ptr, ptr %t76, i32 %t77 %t83 = load ptr, ptr %t82 %t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 2 %t85 = load i32, ptr %t84 %t86 = icmp eq i32 %t85, 1 %t87 = zext i1 %t86 to i32 %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then18, label %ifend20 then18: %t89 = load ptr, ptr %t51 %t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 7 %t91 = load ptr, ptr %t90 %t92 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 0 %t93 = load ptr, ptr %t92 %t94 = load i32, ptr %t62 %t95 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 1 %t96 = load i32, ptr %t95 %t97 = icmp ult i32 %t94, %t96 br i1 %t97, label %ixok21, label %ixbad22 ixbad22: %t98 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t98, ptr @.fmt_bounds, ptr @.str12329, i32 %t94, i32 %t96) call void @exit(i32 1) unreachable ixok21: %t99 = getelementptr inbounds ptr, ptr %t93, i32 %t94 %t100 = load ptr, ptr %t99 %t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 3 %t102 = load ptr, ptr %t101 %t103 = call ptr @fn_net_field_bytes(ptr %t102) store ptr %t103, ptr %t104 %t105 = call ptr @fn_nreg() store ptr %t105, ptr %t106 call void @fn_emit(ptr @.str12330) %t107 = load ptr, ptr %t106 call void @fn_emit(ptr %t107) call void @fn_emit(ptr @.str12331) %t108 = load ptr, ptr %t48 call void @fn_emit(ptr %t108) call void @fn_emit(ptr @.str12332) %t109 = load ptr, ptr %t57 call void @fn_emit(ptr %t109) call void @fn_emit(ptr @.str12333) %t110 = load i32, ptr %t62 %t111 = call ptr @fn_itoa(i32 %t110) call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str12334) %t112 = call ptr @fn_nreg() store ptr %t112, ptr %t113 call void @fn_emit(ptr @.str12335) %t114 = load ptr, ptr %t113 call void @fn_emit(ptr %t114) call void @fn_emit(ptr @.str12336) %t115 = load i32, ptr %t6 %t116 = call ptr @fn_itoa(i32 %t115) call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str12337) call void @fn_emit(ptr @.str12338) %t117 = load ptr, ptr %t106 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str12339) %t118 = load ptr, ptr %t113 call void @fn_emit(ptr %t118) call void @fn_emit(ptr @.str12340) %t119 = load ptr, ptr %t104 call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str12341) %t120 = load ptr, ptr %t51 %t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 7 %t122 = load ptr, ptr %t121 %t123 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 0 %t124 = load ptr, ptr %t123 %t125 = load i32, ptr %t62 %t126 = getelementptr inbounds %LSlice, ptr %t122, i32 0, i32 1 %t127 = load i32, ptr %t126 %t128 = icmp ult i32 %t125, %t127 br i1 %t128, label %ixok23, label %ixbad24 ixbad24: %t129 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t129, ptr @.fmt_bounds, ptr @.str12342, i32 %t125, i32 %t127) call void @exit(i32 1) unreachable ixok23: %t130 = getelementptr inbounds ptr, ptr %t124, i32 %t125 %t131 = load ptr, ptr %t130 %t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 3 %t133 = load ptr, ptr %t132 %t134 = call i32 @fn_net_field_ibytes(ptr %t133) %t135 = load i32, ptr %t6 %t136 = add i32 %t135, %t134 store i32 %t136, ptr %t6 br label %ifend20 ifend20: %t137 = load i32, ptr %t62 %t138 = add i32 %t137, 1 store i32 %t138, ptr %t62 br label %wcond13 wend15: br label %ifend12 ifend12: br label %ifend7 ifend7: %t139 = load i32, ptr %t7 %t140 = add i32 %t139, 1 store i32 %t140, ptr %t7 br label %wcond0 wend2: call void @fn_emit(ptr @.str12343) br label %ret ret: ret void } define void @fn_emit_net_dispatch() { entry: %t1 = alloca ptr %t3 = alloca i32 %t4 = alloca i32 %t12 = alloca i32 %t56 = alloca ptr %t59 = alloca ptr %t84 = alloca i32 %t128 = alloca ptr %t131 = alloca ptr %t154 = alloca i32 %t198 = alloca ptr %t201 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 call void @fn_emit(ptr @.str12344) call void @fn_emit(ptr @.str12345) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str12346) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond0 wcond0: %t5 = load i32, ptr %t4 %t6 = load ptr, ptr @g_prog %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = icmp slt i32 %t5, %t8 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t13 = load ptr, ptr @g_prog %t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0 %t15 = load ptr, ptr %t14 %t16 = load i32, ptr %t4 %t17 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1 %t18 = load i32, ptr %t17 %t19 = icmp ult i32 %t16, %t18 br i1 %t19, label %ixok3, label %ixbad4 ixbad4: %t20 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t20, ptr @.fmt_bounds, ptr @.str12347, i32 %t16, i32 %t18) call void @exit(i32 1) unreachable ixok3: %t21 = getelementptr inbounds ptr, ptr %t15, i32 %t16 %t22 = load ptr, ptr %t21 %t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 0 %t24 = load i32, ptr %t23 %t25 = icmp eq i32 %t24, 10 %t26 = zext i1 %t25 to i32 %t27 = icmp ne i32 %t26, 0 %t28 = zext i1 %t27 to i32 store i32 %t28, ptr %t12 br i1 %t27, label %sc5, label %scend6 sc5: %t29 = load ptr, ptr @g_prog %t30 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0 %t31 = load ptr, ptr %t30 %t32 = load i32, ptr %t4 %t33 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t34 = load i32, ptr %t33 %t35 = icmp ult i32 %t32, %t34 br i1 %t35, label %ixok7, label %ixbad8 ixbad8: %t36 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t36, ptr @.fmt_bounds, ptr @.str12348, i32 %t32, i32 %t34) call void @exit(i32 1) unreachable ixok7: %t37 = getelementptr inbounds ptr, ptr %t31, i32 %t32 %t38 = load ptr, ptr %t37 %t39 = call i32 @fn_net_model_syncs(ptr %t38) %t40 = icmp ne i32 %t39, 0 %t41 = zext i1 %t40 to i32 store i32 %t41, ptr %t12 br label %scend6 scend6: %t42 = load i32, ptr %t12 %t43 = icmp ne i32 %t42, 0 br i1 %t43, label %then9, label %ifend11 then9: %t44 = load ptr, ptr @g_prog %t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0 %t46 = load ptr, ptr %t45 %t47 = load i32, ptr %t4 %t48 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1 %t49 = load i32, ptr %t48 %t50 = icmp ult i32 %t47, %t49 br i1 %t50, label %ixok12, label %ixbad13 ixbad13: %t51 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t51, ptr @.fmt_bounds, ptr @.str12349, i32 %t47, i32 %t49) call void @exit(i32 1) unreachable ixok12: %t52 = getelementptr inbounds ptr, ptr %t46, i32 %t47 %t53 = load ptr, ptr %t52 %t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1 %t55 = load ptr, ptr %t54 store ptr %t55, ptr %t56 %t57 = load i32, ptr %t3 %t58 = call ptr @fn_itoa(i32 %t57) store ptr %t58, ptr %t59 call void @fn_emit(ptr @.str12350) %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str12351) %t61 = load ptr, ptr %t56 %t62 = call i32 @fn_find_arch_id(ptr %t61) %t63 = call ptr @fn_itoa(i32 %t62) call void @fn_emit(ptr %t63) call void @fn_emit(ptr @.str12352) call void @fn_emit(ptr @.str12353) %t64 = load ptr, ptr %t59 call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str12354) %t65 = load ptr, ptr %t59 call void @fn_emit(ptr %t65) call void @fn_emit(ptr @.str12355) %t66 = load ptr, ptr %t59 call void @fn_emit(ptr %t66) call void @fn_emit(ptr @.str12356) call void @fn_emit(ptr @.str12357) %t67 = load ptr, ptr %t59 call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str12358) %t68 = load ptr, ptr %t59 call void @fn_emit(ptr %t68) call void @fn_emit(ptr @.str12359) %t69 = load ptr, ptr %t56 call void @fn_emit(ptr %t69) call void @fn_emit(ptr @.str12360) %t70 = load ptr, ptr %t59 call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str12361) call void @fn_emit(ptr @.str12362) %t71 = load ptr, ptr %t59 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str12363) %t72 = load i32, ptr %t3 %t73 = add i32 %t72, 1 store i32 %t73, ptr %t3 br label %ifend11 ifend11: %t74 = load i32, ptr %t4 %t75 = add i32 %t74, 1 store i32 %t75, ptr %t4 br label %wcond0 wend2: call void @fn_emit(ptr @.str12364) call void @fn_emit(ptr @.str12365) call void @fn_emit(ptr @.str12366) %t76 = load ptr, ptr %t1 call void @fn_emit(ptr %t76) call void @fn_emit(ptr @.str12367) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond14 wcond14: %t77 = load i32, ptr %t4 %t78 = load ptr, ptr @g_prog %t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t80 = load i32, ptr %t79 %t81 = icmp slt i32 %t77, %t80 %t82 = zext i1 %t81 to i32 %t83 = icmp ne i32 %t82, 0 br i1 %t83, label %wbody15, label %wend16 wbody15: %t85 = load ptr, ptr @g_prog %t86 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0 %t87 = load ptr, ptr %t86 %t88 = load i32, ptr %t4 %t89 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 1 %t90 = load i32, ptr %t89 %t91 = icmp ult i32 %t88, %t90 br i1 %t91, label %ixok17, label %ixbad18 ixbad18: %t92 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t92, ptr @.fmt_bounds, ptr @.str12368, i32 %t88, i32 %t90) call void @exit(i32 1) unreachable ixok17: %t93 = getelementptr inbounds ptr, ptr %t87, i32 %t88 %t94 = load ptr, ptr %t93 %t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 0 %t96 = load i32, ptr %t95 %t97 = icmp eq i32 %t96, 10 %t98 = zext i1 %t97 to i32 %t99 = icmp ne i32 %t98, 0 %t100 = zext i1 %t99 to i32 store i32 %t100, ptr %t84 br i1 %t99, label %sc19, label %scend20 sc19: %t101 = load ptr, ptr @g_prog %t102 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0 %t103 = load ptr, ptr %t102 %t104 = load i32, ptr %t4 %t105 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 1 %t106 = load i32, ptr %t105 %t107 = icmp ult i32 %t104, %t106 br i1 %t107, label %ixok21, label %ixbad22 ixbad22: %t108 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t108, ptr @.fmt_bounds, ptr @.str12369, i32 %t104, i32 %t106) call void @exit(i32 1) unreachable ixok21: %t109 = getelementptr inbounds ptr, ptr %t103, i32 %t104 %t110 = load ptr, ptr %t109 %t111 = call i32 @fn_net_model_syncs(ptr %t110) %t112 = icmp ne i32 %t111, 0 %t113 = zext i1 %t112 to i32 store i32 %t113, ptr %t84 br label %scend20 scend20: %t114 = load i32, ptr %t84 %t115 = icmp ne i32 %t114, 0 br i1 %t115, label %then23, label %ifend25 then23: %t116 = load ptr, ptr @g_prog %t117 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 0 %t118 = load ptr, ptr %t117 %t119 = load i32, ptr %t4 %t120 = getelementptr inbounds %LSlice, ptr %t116, i32 0, i32 1 %t121 = load i32, ptr %t120 %t122 = icmp ult i32 %t119, %t121 br i1 %t122, label %ixok26, label %ixbad27 ixbad27: %t123 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t123, ptr @.fmt_bounds, ptr @.str12370, i32 %t119, i32 %t121) call void @exit(i32 1) unreachable ixok26: %t124 = getelementptr inbounds ptr, ptr %t118, i32 %t119 %t125 = load ptr, ptr %t124 %t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 1 %t127 = load ptr, ptr %t126 store ptr %t127, ptr %t128 %t129 = load i32, ptr %t3 %t130 = call ptr @fn_itoa(i32 %t129) store ptr %t130, ptr %t131 call void @fn_emit(ptr @.str12371) %t132 = load ptr, ptr %t131 call void @fn_emit(ptr %t132) call void @fn_emit(ptr @.str12372) %t133 = load ptr, ptr %t128 %t134 = call i32 @fn_find_arch_id(ptr %t133) %t135 = call ptr @fn_itoa(i32 %t134) call void @fn_emit(ptr %t135) call void @fn_emit(ptr @.str12373) call void @fn_emit(ptr @.str12374) %t136 = load ptr, ptr %t131 call void @fn_emit(ptr %t136) call void @fn_emit(ptr @.str12375) %t137 = load ptr, ptr %t131 call void @fn_emit(ptr %t137) call void @fn_emit(ptr @.str12376) %t138 = load ptr, ptr %t131 call void @fn_emit(ptr %t138) call void @fn_emit(ptr @.str12377) call void @fn_emit(ptr @.str12378) %t139 = load ptr, ptr %t131 call void @fn_emit(ptr %t139) call void @fn_emit(ptr @.str12379) %t140 = load ptr, ptr %t128 call void @fn_emit(ptr %t140) call void @fn_emit(ptr @.str12380) call void @fn_emit(ptr @.str12381) %t141 = load ptr, ptr %t131 call void @fn_emit(ptr %t141) call void @fn_emit(ptr @.str12382) %t142 = load i32, ptr %t3 %t143 = add i32 %t142, 1 store i32 %t143, ptr %t3 br label %ifend25 ifend25: %t144 = load i32, ptr %t4 %t145 = add i32 %t144, 1 store i32 %t145, ptr %t4 br label %wcond14 wend16: call void @fn_emit(ptr @.str12383) call void @fn_emit(ptr @.str12384) call void @fn_emit(ptr @.str12385) %t146 = load ptr, ptr %t1 call void @fn_emit(ptr %t146) call void @fn_emit(ptr @.str12386) store i32 0, ptr %t3 store i32 0, ptr %t4 br label %wcond28 wcond28: %t147 = load i32, ptr %t4 %t148 = load ptr, ptr @g_prog %t149 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 1 %t150 = load i32, ptr %t149 %t151 = icmp slt i32 %t147, %t150 %t152 = zext i1 %t151 to i32 %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %wbody29, label %wend30 wbody29: %t155 = load ptr, ptr @g_prog %t156 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 0 %t157 = load ptr, ptr %t156 %t158 = load i32, ptr %t4 %t159 = getelementptr inbounds %LSlice, ptr %t155, i32 0, i32 1 %t160 = load i32, ptr %t159 %t161 = icmp ult i32 %t158, %t160 br i1 %t161, label %ixok31, label %ixbad32 ixbad32: %t162 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t162, ptr @.fmt_bounds, ptr @.str12387, i32 %t158, i32 %t160) call void @exit(i32 1) unreachable ixok31: %t163 = getelementptr inbounds ptr, ptr %t157, i32 %t158 %t164 = load ptr, ptr %t163 %t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 0 %t166 = load i32, ptr %t165 %t167 = icmp eq i32 %t166, 10 %t168 = zext i1 %t167 to i32 %t169 = icmp ne i32 %t168, 0 %t170 = zext i1 %t169 to i32 store i32 %t170, ptr %t154 br i1 %t169, label %sc33, label %scend34 sc33: %t171 = load ptr, ptr @g_prog %t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0 %t173 = load ptr, ptr %t172 %t174 = load i32, ptr %t4 %t175 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1 %t176 = load i32, ptr %t175 %t177 = icmp ult i32 %t174, %t176 br i1 %t177, label %ixok35, label %ixbad36 ixbad36: %t178 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t178, ptr @.fmt_bounds, ptr @.str12388, i32 %t174, i32 %t176) call void @exit(i32 1) unreachable ixok35: %t179 = getelementptr inbounds ptr, ptr %t173, i32 %t174 %t180 = load ptr, ptr %t179 %t181 = call i32 @fn_net_model_syncs(ptr %t180) %t182 = icmp ne i32 %t181, 0 %t183 = zext i1 %t182 to i32 store i32 %t183, ptr %t154 br label %scend34 scend34: %t184 = load i32, ptr %t154 %t185 = icmp ne i32 %t184, 0 br i1 %t185, label %then37, label %ifend39 then37: %t186 = load ptr, ptr @g_prog %t187 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 0 %t188 = load ptr, ptr %t187 %t189 = load i32, ptr %t4 %t190 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 1 %t191 = load i32, ptr %t190 %t192 = icmp ult i32 %t189, %t191 br i1 %t192, label %ixok40, label %ixbad41 ixbad41: %t193 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t193, ptr @.fmt_bounds, ptr @.str12389, i32 %t189, i32 %t191) call void @exit(i32 1) unreachable ixok40: %t194 = getelementptr inbounds ptr, ptr %t188, i32 %t189 %t195 = load ptr, ptr %t194 %t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 1 %t197 = load ptr, ptr %t196 store ptr %t197, ptr %t198 %t199 = load i32, ptr %t3 %t200 = call ptr @fn_itoa(i32 %t199) store ptr %t200, ptr %t201 call void @fn_emit(ptr @.str12390) %t202 = load ptr, ptr %t201 call void @fn_emit(ptr %t202) call void @fn_emit(ptr @.str12391) %t203 = load ptr, ptr %t198 %t204 = call i32 @fn_find_arch_id(ptr %t203) %t205 = call ptr @fn_itoa(i32 %t204) call void @fn_emit(ptr %t205) call void @fn_emit(ptr @.str12392) call void @fn_emit(ptr @.str12393) %t206 = load ptr, ptr %t201 call void @fn_emit(ptr %t206) call void @fn_emit(ptr @.str12394) %t207 = load ptr, ptr %t201 call void @fn_emit(ptr %t207) call void @fn_emit(ptr @.str12395) %t208 = load ptr, ptr %t201 call void @fn_emit(ptr %t208) call void @fn_emit(ptr @.str12396) call void @fn_emit(ptr @.str12397) %t209 = load ptr, ptr %t201 call void @fn_emit(ptr %t209) call void @fn_emit(ptr @.str12398) %t210 = load ptr, ptr @g_prog %t211 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 0 %t212 = load ptr, ptr %t211 %t213 = load i32, ptr %t4 %t214 = getelementptr inbounds %LSlice, ptr %t210, i32 0, i32 1 %t215 = load i32, ptr %t214 %t216 = icmp ult i32 %t213, %t215 br i1 %t216, label %ixok42, label %ixbad43 ixbad43: %t217 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t217, ptr @.fmt_bounds, ptr @.str12399, i32 %t213, i32 %t215) call void @exit(i32 1) unreachable ixok42: %t218 = getelementptr inbounds ptr, ptr %t212, i32 %t213 %t219 = load ptr, ptr %t218 %t220 = call i32 @fn_net_model_bytes(ptr %t219) %t221 = call ptr @fn_itoa(i32 %t220) call void @fn_emit(ptr %t221) call void @fn_emit(ptr @.str12400) call void @fn_emit(ptr @.str12401) %t222 = load ptr, ptr %t201 call void @fn_emit(ptr %t222) call void @fn_emit(ptr @.str12402) %t223 = load i32, ptr %t3 %t224 = add i32 %t223, 1 store i32 %t224, ptr %t3 br label %ifend39 ifend39: %t225 = load i32, ptr %t4 %t226 = add i32 %t225, 1 store i32 %t226, ptr %t4 br label %wcond28 wend30: call void @fn_emit(ptr @.str12403) br label %ret ret: ret void } define void @fn_emit_net_owner() { entry: %t1 = alloca ptr %t0 = call ptr @fn_itoa(i32 1024) store ptr %t0, ptr %t1 call void @fn_emit(ptr @.str12404) call void @fn_emit(ptr @.str12405) %t2 = load ptr, ptr %t1 call void @fn_emit(ptr %t2) call void @fn_emit(ptr @.str12406) call void @fn_emit(ptr @.str12407) call void @fn_emit(ptr @.str12408) %t3 = load ptr, ptr %t1 call void @fn_emit(ptr %t3) call void @fn_emit(ptr @.str12409) call void @fn_emit(ptr @.str12410) call void @fn_emit(ptr @.str12411) %t4 = load ptr, ptr %t1 call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str12412) call void @fn_emit(ptr @.str12413) br label %ret ret: ret void } define void @fn_emit_loopback() { entry: call void @fn_emith(ptr @.str12414) call void @fn_emith(ptr @.str12415) call void @fn_emith(ptr @.str12416) call void @fn_emith(ptr @.str12417) call void @fn_emit(ptr @.str12418) call void @fn_emit(ptr @.str12419) call void @fn_emit(ptr @.str12420) call void @fn_emit(ptr @.str12421) call void @fn_emit(ptr @.str12422) call void @fn_emit(ptr @.str12423) call void @fn_emit(ptr @.str12424) call void @fn_emit(ptr @.str12425) call void @fn_emit(ptr @.str12426) call void @fn_emit(ptr @.str12427) call void @fn_emit(ptr @.str12428) call void @fn_emit(ptr @.str12429) call void @fn_emit(ptr @.str12430) call void @fn_emit(ptr @.str12431) call void @fn_emit(ptr @.str12432) call void @fn_emit(ptr @.str12433) call void @fn_emit(ptr @.str12434) call void @fn_emit(ptr @.str12435) call void @fn_emit(ptr @.str12436) call void @fn_emit(ptr @.str12437) call void @fn_emit(ptr @.str12438) call void @fn_emit(ptr @.str12439) br label %ret ret: ret void } define i32 @fn_net_has_remote() { entry: %retval = alloca i32 %t0 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_events %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_g_events %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12440, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 3 %t19 = load ptr, ptr %t18 %t20 = icmp ne ptr %t19, null %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: store i32 1, ptr %retval br label %ret ifend7: %t23 = load i32, ptr %t0 %t24 = add i32 %t23, 1 store i32 %t24, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t25 = load i32, ptr %retval ret i32 %t25 } define i32 @fn_net_event_id(ptr %arg_name) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_name, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr @g_g_events %t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1 %t5 = load i32, ptr %t4 %t6 = icmp slt i32 %t2, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_g_events %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t1 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12441, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1 %t20 = load ptr, ptr %t19 %t21 = load ptr, ptr %t0 %t22 = call i32 @lp_str_eq(ptr %t20, ptr %t21) %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then5, label %ifend7 then5: %t24 = load i32, ptr %t1 store i32 %t24, ptr %retval br label %ret ifend7: %t25 = load i32, ptr %t1 %t26 = add i32 %t25, 1 store i32 %t26, ptr %t1 br label %wcond0 wend2: %t27 = sub i32 0, 1 store i32 %t27, ptr %retval br label %ret ret: %t28 = load i32, ptr %retval ret i32 %t28 } define ptr @fn_net_send_sym() { entry: %retval = alloca ptr %t1 = alloca ptr %t0 = call ptr @fn_find_extern(ptr @.str12442) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp ne ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t1 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 4 %t8 = load ptr, ptr %t7 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %retval br label %ret ifend2: store ptr @.str12443, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval ret ptr %t11 } define ptr @fn_net_poll_sym() { entry: %retval = alloca ptr %t1 = alloca ptr %t0 = call ptr @fn_find_extern(ptr @.str12444) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp ne ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t1 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 4 %t8 = load ptr, ptr %t7 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %retval br label %ret ifend2: store ptr @.str12445, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval ret ptr %t11 } define void @fn_emit_net_pump() { entry: %t5 = alloca ptr %t7 = alloca i32 %t25 = alloca ptr %t34 = alloca ptr %t45 = alloca i32 %t46 = alloca i32 %t48 = alloca ptr %t73 = alloca ptr %t79 = alloca ptr call void @fn_emith(ptr @.str12446) %t0 = call ptr @fn_find_extern(ptr @.str12447) %t1 = icmp eq ptr %t0, null %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store i32 1, ptr @g_g_uses_loopback br label %ifend2 ifend2: %t4 = call ptr @fn_net_poll_sym() store ptr %t4, ptr %t5 call void @fn_emit(ptr @.str12448) call void @fn_emit(ptr @.str12449) %t6 = load ptr, ptr %t5 call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str12450) call void @fn_emit(ptr @.str12451) call void @fn_emit(ptr @.str12452) store i32 0, ptr %t7 br label %wcond3 wcond3: %t8 = load i32, ptr %t7 %t9 = load ptr, ptr @g_g_events %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t11 = load i32, ptr %t10 %t12 = icmp slt i32 %t8, %t11 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %wbody4, label %wend5 wbody4: %t15 = load ptr, ptr @g_g_events %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0 %t17 = load ptr, ptr %t16 %t18 = load i32, ptr %t7 %t19 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t20 = load i32, ptr %t19 %t21 = icmp ult i32 %t18, %t20 br i1 %t21, label %ixok6, label %ixbad7 ixbad7: %t22 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t22, ptr @.fmt_bounds, ptr @.str12453, i32 %t18, i32 %t20) call void @exit(i32 1) unreachable ixok6: %t23 = getelementptr inbounds ptr, ptr %t17, i32 %t18 %t24 = load ptr, ptr %t23 store ptr %t24, ptr %t25 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 3 %t28 = load ptr, ptr %t27 %t29 = icmp ne ptr %t28, null %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 br i1 %t31, label %then8, label %ifend10 then8: %t32 = load i32, ptr %t7 %t33 = call ptr @fn_itoa(i32 %t32) store ptr %t33, ptr %t34 call void @fn_emit(ptr @.str12454) %t35 = load ptr, ptr %t34 call void @fn_emit(ptr %t35) call void @fn_emit(ptr @.str12455) %t36 = load ptr, ptr %t25 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1 %t38 = load ptr, ptr %t37 %t39 = call i32 @fn_net_event_id(ptr %t38) %t40 = call ptr @fn_itoa(i32 %t39) call void @fn_emit(ptr %t40) call void @fn_emit(ptr @.str12456) call void @fn_emit(ptr @.str12457) %t41 = load ptr, ptr %t34 call void @fn_emit(ptr %t41) call void @fn_emit(ptr @.str12458) %t42 = load ptr, ptr %t34 call void @fn_emit(ptr %t42) call void @fn_emit(ptr @.str12459) %t43 = load ptr, ptr %t34 call void @fn_emit(ptr %t43) call void @fn_emit(ptr @.str12460) call void @fn_emit(ptr @.str12461) %t44 = load ptr, ptr %t34 call void @fn_emit(ptr %t44) call void @fn_emit(ptr @.str12462) store i32 4, ptr %t45 store i32 0, ptr %t46 %t47 = call ptr @fn_buf_new() store ptr %t47, ptr %t48 br label %wcond11 wcond11: %t49 = load i32, ptr %t46 %t50 = load ptr, ptr %t25 %t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 7 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t54 = load i32, ptr %t53 %t55 = icmp slt i32 %t49, %t54 %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %wbody12, label %wend13 wbody12: %t58 = load ptr, ptr %t25 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 7 %t60 = load ptr, ptr %t59 %t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = load i32, ptr %t46 %t64 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 %t63, %t65 br i1 %t66, label %ixok14, label %ixbad15 ixbad15: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str12463, i32 %t63, i32 %t65) call void @exit(i32 1) unreachable ixok14: %t68 = getelementptr inbounds ptr, ptr %t62, i32 %t63 %t69 = load ptr, ptr %t68 %t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 3 %t71 = load ptr, ptr %t70 %t72 = call ptr @fn_llty(ptr %t71) store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t34 %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str12464) %t76 = load i32, ptr %t46 %t77 = call ptr @fn_itoa(i32 %t76) %t78 = call ptr @lp_str_concat(ptr %t75, ptr %t77) store ptr %t78, ptr %t79 call void @fn_emit(ptr @.str12465) %t80 = load ptr, ptr %t79 call void @fn_emit(ptr %t80) call void @fn_emit(ptr @.str12466) %t81 = load i32, ptr %t45 %t82 = call ptr @fn_itoa(i32 %t81) call void @fn_emit(ptr %t82) call void @fn_emit(ptr @.str12467) call void @fn_emit(ptr @.str12468) %t83 = load ptr, ptr %t79 call void @fn_emit(ptr %t83) call void @fn_emit(ptr @.str12469) %t84 = load ptr, ptr %t73 call void @fn_emit(ptr %t84) call void @fn_emit(ptr @.str12470) %t85 = load ptr, ptr %t79 call void @fn_emit(ptr %t85) call void @fn_emit(ptr @.str12471) %t86 = load i32, ptr %t46 %t87 = icmp sgt i32 %t86, 0 %t88 = zext i1 %t87 to i32 %t89 = icmp ne i32 %t88, 0 br i1 %t89, label %then16, label %ifend18 then16: %t90 = load ptr, ptr %t48 call void @fn_buf_puts(ptr %t90, ptr @.str12472) br label %ifend18 ifend18: %t91 = load ptr, ptr %t48 %t92 = load ptr, ptr %t73 call void @fn_buf_puts(ptr %t91, ptr %t92) %t93 = load ptr, ptr %t48 call void @fn_buf_puts(ptr %t93, ptr @.str12473) %t94 = load ptr, ptr %t48 %t95 = load ptr, ptr %t79 call void @fn_buf_puts(ptr %t94, ptr %t95) %t96 = load ptr, ptr %t25 %t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 7 %t98 = load ptr, ptr %t97 %t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0 %t100 = load ptr, ptr %t99 %t101 = load i32, ptr %t46 %t102 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1 %t103 = load i32, ptr %t102 %t104 = icmp ult i32 %t101, %t103 br i1 %t104, label %ixok19, label %ixbad20 ixbad20: %t105 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t105, ptr @.fmt_bounds, ptr @.str12474, i32 %t101, i32 %t103) call void @exit(i32 1) unreachable ixok19: %t106 = getelementptr inbounds ptr, ptr %t100, i32 %t101 %t107 = load ptr, ptr %t106 %t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 3 %t109 = load ptr, ptr %t108 %t110 = call i32 @fn_net_field_ibytes(ptr %t109) %t111 = load i32, ptr %t45 %t112 = add i32 %t111, %t110 store i32 %t112, ptr %t45 %t113 = load i32, ptr %t46 %t114 = add i32 %t113, 1 store i32 %t114, ptr %t46 br label %wcond11 wend13: call void @fn_emit(ptr @.str12475) %t115 = load ptr, ptr %t25 %t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1 %t117 = load ptr, ptr %t116 call void @fn_emit(ptr %t117) call void @fn_emit(ptr @.str12476) %t118 = load ptr, ptr %t48 %t119 = call ptr @fn_buf_str(ptr %t118) call void @fn_emit(ptr %t119) call void @fn_emit(ptr @.str12477) call void @fn_emit(ptr @.str12478) call void @fn_emit(ptr @.str12479) %t120 = load ptr, ptr %t34 call void @fn_emit(ptr %t120) call void @fn_emit(ptr @.str12480) br label %ifend10 ifend10: %t121 = load i32, ptr %t7 %t122 = add i32 %t121, 1 store i32 %t122, ptr %t7 br label %wcond3 wend5: call void @fn_emit(ptr @.str12481) call void @fn_emit(ptr @.str12482) br label %ret ret: ret void } define void @fn_emit_net() { entry: %t2 = alloca i32 %t10 = alloca i32 %t0 = call i32 @fn_net_has_sync() %t1 = icmp ne i32 %t0, 0 br i1 %t1, label %then0, label %ifend2 then0: call void @fn_net_check() store i32 0, ptr %t2 br label %wcond3 wcond3: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr @g_prog %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp slt i32 %t3, %t6 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %wbody4, label %wend5 wbody4: %t11 = load ptr, ptr @g_prog %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0 %t13 = load ptr, ptr %t12 %t14 = load i32, ptr %t2 %t15 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t16 = load i32, ptr %t15 %t17 = icmp ult i32 %t14, %t16 br i1 %t17, label %ixok6, label %ixbad7 ixbad7: %t18 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t18, ptr @.fmt_bounds, ptr @.str12483, i32 %t14, i32 %t16) call void @exit(i32 1) unreachable ixok6: %t19 = getelementptr inbounds ptr, ptr %t13, i32 %t14 %t20 = load ptr, ptr %t19 %t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 0 %t22 = load i32, ptr %t21 %t23 = icmp eq i32 %t22, 10 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 %t26 = zext i1 %t25 to i32 store i32 %t26, ptr %t10 br i1 %t25, label %sc8, label %scend9 sc8: %t27 = load ptr, ptr @g_prog %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = load i32, ptr %t2 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t30, %t32 br i1 %t33, label %ixok10, label %ixbad11 ixbad11: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str12484, i32 %t30, i32 %t32) call void @exit(i32 1) unreachable ixok10: %t35 = getelementptr inbounds ptr, ptr %t29, i32 %t30 %t36 = load ptr, ptr %t35 %t37 = call i32 @fn_net_model_syncs(ptr %t36) %t38 = icmp ne i32 %t37, 0 %t39 = zext i1 %t38 to i32 store i32 %t39, ptr %t10 br label %scend9 scend9: %t40 = load i32, ptr %t10 %t41 = icmp ne i32 %t40, 0 br i1 %t41, label %then12, label %ifend14 then12: %t42 = load ptr, ptr @g_prog %t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0 %t44 = load ptr, ptr %t43 %t45 = load i32, ptr %t2 %t46 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1 %t47 = load i32, ptr %t46 %t48 = icmp ult i32 %t45, %t47 br i1 %t48, label %ixok15, label %ixbad16 ixbad16: %t49 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t49, ptr @.fmt_bounds, ptr @.str12485, i32 %t45, i32 %t47) call void @exit(i32 1) unreachable ixok15: %t50 = getelementptr inbounds ptr, ptr %t44, i32 %t45 %t51 = load ptr, ptr %t50 call void @fn_emit_net_serialize(ptr %t51) %t52 = load ptr, ptr @g_prog %t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 %t54 = load ptr, ptr %t53 %t55 = load i32, ptr %t2 %t56 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 %t57 = load i32, ptr %t56 %t58 = icmp ult i32 %t55, %t57 br i1 %t58, label %ixok17, label %ixbad18 ixbad18: %t59 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t59, ptr @.fmt_bounds, ptr @.str12486, i32 %t55, i32 %t57) call void @exit(i32 1) unreachable ixok17: %t60 = getelementptr inbounds ptr, ptr %t54, i32 %t55 %t61 = load ptr, ptr %t60 call void @fn_emit_net_apply(ptr %t61) br label %ifend14 ifend14: %t62 = load i32, ptr %t2 %t63 = add i32 %t62, 1 store i32 %t63, ptr %t2 br label %wcond3 wend5: call void @fn_emit_net_dispatch() br label %ifend2 ifend2: %t64 = call i32 @fn_net_has_owned() %t65 = icmp ne i32 %t64, 0 br i1 %t65, label %then19, label %ifend21 then19: call void @fn_emit_net_owner() br label %ifend21 ifend21: %t66 = call i32 @fn_net_has_remote() %t67 = icmp ne i32 %t66, 0 br i1 %t67, label %then22, label %ifend24 then22: call void @fn_emith(ptr @.str12487) call void @fn_emit_net_pump() br label %ifend24 ifend24: br label %ret ret: ret void } define i32 @fn_ui_wtype(ptr %arg_w) { entry: %retval = alloca i32 %t0 = alloca ptr %t4 = alloca ptr store ptr %arg_w, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 %t6 = call i32 @lp_str_eq(ptr %t5, ptr @.str12488) %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %ifend2 then0: store i32 0, ptr %retval br label %ret ifend2: %t8 = load ptr, ptr %t4 %t9 = call i32 @lp_str_eq(ptr %t8, ptr @.str12489) %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t11 = load ptr, ptr %t4 %t12 = call i32 @lp_str_eq(ptr %t11, ptr @.str12490) %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %then6, label %ifend8 then6: store i32 2, ptr %retval br label %ret ifend8: %t14 = load ptr, ptr %t4 %t15 = call i32 @lp_str_eq(ptr %t14, ptr @.str12491) %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then9, label %ifend11 then9: store i32 3, ptr %retval br label %ret ifend11: %t17 = load ptr, ptr %t4 %t18 = call i32 @lp_str_eq(ptr %t17, ptr @.str12492) %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %then12, label %ifend14 then12: store i32 4, ptr %retval br label %ret ifend14: %t20 = load ptr, ptr %t4 %t21 = call i32 @lp_str_eq(ptr %t20, ptr @.str12493) %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then15, label %ifend17 then15: store i32 5, ptr %retval br label %ret ifend17: %t23 = load ptr, ptr %t4 %t24 = call i32 @lp_str_eq(ptr %t23, ptr @.str12494) %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then18, label %ifend20 then18: store i32 6, ptr %retval br label %ret ifend20: store i32 0, ptr %retval br label %ret ret: %t26 = load i32, ptr %retval ret i32 %t26 } define ptr @fn_ui_prop(ptr %arg_w, ptr %arg_key) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 store ptr %arg_w, ptr %t0 store ptr %arg_key, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t3 = load i32, ptr %t2 %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 5 %t6 = load ptr, ptr %t5 %t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 7 %t8 = load ptr, ptr %t7 %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t10 = load i32, ptr %t9 %t11 = icmp slt i32 %t3, %t10 %t12 = zext i1 %t11 to i32 %t13 = icmp ne i32 %t12, 0 br i1 %t13, label %wbody1, label %wend2 wbody1: %t14 = load ptr, ptr %t0 %t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 5 %t16 = load ptr, ptr %t15 %t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = load i32, ptr %t2 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t21, %t23 br i1 %t24, label %ixok3, label %ixbad4 ixbad4: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str12495, i32 %t21, i32 %t23) call void @exit(i32 1) unreachable ixok3: %t26 = getelementptr inbounds ptr, ptr %t20, i32 %t21 %t27 = load ptr, ptr %t26 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1 %t29 = load ptr, ptr %t28 %t30 = load ptr, ptr %t1 %t31 = call i32 @lp_str_eq(ptr %t29, ptr %t30) %t32 = icmp ne i32 %t31, 0 br i1 %t32, label %then5, label %ifend7 then5: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 5 %t35 = load ptr, ptr %t34 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 7 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = load i32, ptr %t2 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t40, %t42 br i1 %t43, label %ixok8, label %ixbad9 ixbad9: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str12496, i32 %t40, i32 %t42) call void @exit(i32 1) unreachable ixok8: %t45 = getelementptr inbounds ptr, ptr %t39, i32 %t40 %t46 = load ptr, ptr %t45 %t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 4 %t48 = load ptr, ptr %t47 store ptr %t48, ptr %retval br label %ret ifend7: %t49 = load i32, ptr %t2 %t50 = add i32 %t49, 1 store i32 %t50, ptr %t2 br label %wcond0 wend2: store ptr null, ptr %retval br label %ret ret: %t51 = load ptr, ptr %retval ret ptr %t51 } define ptr @fn_ui_props_with_inherited(i32 %arg_i) { entry: %retval = alloca ptr %t0 = alloca i32 %t11 = alloca ptr %t18 = alloca ptr %t19 = alloca i32 %t72 = alloca ptr %t149 = alloca i32 %t182 = alloca i32 %t208 = alloca ptr %t214 = alloca ptr store i32 %arg_i, ptr %t0 %t1 = load ptr, ptr @g_uiw %t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0 %t3 = load ptr, ptr %t2 %t4 = load i32, ptr %t0 %t5 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1 %t6 = load i32, ptr %t5 %t7 = icmp ult i32 %t4, %t6 br i1 %t7, label %ixok0, label %ixbad1 ixbad1: %t8 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t8, ptr @.fmt_bounds, ptr @.str12497, i32 %t4, i32 %t6) call void @exit(i32 1) unreachable ixok0: %t9 = getelementptr inbounds ptr, ptr %t3, i32 %t4 %t10 = load ptr, ptr %t9 store ptr %t10, ptr %t11 %t12 = getelementptr %LSlice, ptr null, i32 1 %t13 = ptrtoint ptr %t12 to i64 %t14 = call ptr @malloc(i64 %t13) %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 store ptr null, ptr %t15 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 store i32 0, ptr %t16 %t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2 store i32 0, ptr %t17 store ptr %t14, ptr %t18 store i32 0, ptr %t19 br label %wcond2 wcond2: %t20 = load i32, ptr %t19 %t21 = load ptr, ptr %t11 %t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 5 %t23 = load ptr, ptr %t22 %t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7 %t25 = load ptr, ptr %t24 %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp slt i32 %t20, %t27 %t29 = zext i1 %t28 to i32 %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %wbody3, label %wend4 wbody3: %t31 = load ptr, ptr %t18 %t32 = load ptr, ptr %t11 %t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 5 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 7 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = load i32, ptr %t19 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t39, %t41 br i1 %t42, label %ixok5, label %ixbad6 ixbad6: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12498, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok5: %t44 = getelementptr inbounds ptr, ptr %t38, i32 %t39 %t45 = load ptr, ptr %t44 %t46 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1 %t47 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2 %t48 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0 %t49 = load i32, ptr %t46 %t50 = load i32, ptr %t47 %t51 = icmp sge i32 %t49, %t50 br i1 %t51, label %grow7, label %put8 grow7: %t52 = mul i32 %t50, 2 %t53 = icmp eq i32 %t50, 0 %t54 = select i1 %t53, i32 8, i32 %t52 %t55 = getelementptr ptr, ptr null, i32 1 %t56 = ptrtoint ptr %t55 to i64 %t57 = zext i32 %t54 to i64 %t58 = mul i64 %t57, %t56 %t59 = load ptr, ptr %t48 %t60 = call ptr @realloc(ptr %t59, i64 %t58) store ptr %t60, ptr %t48 store i32 %t54, ptr %t47 br label %put8 put8: %t61 = load ptr, ptr %t48 %t62 = getelementptr inbounds ptr, ptr %t61, i32 %t49 store ptr %t45, ptr %t62 %t63 = add i32 %t49, 1 store i32 %t63, ptr %t46 %t64 = load i32, ptr %t19 %t65 = add i32 %t64, 1 store i32 %t65, ptr %t19 br label %wcond2 wend4: %t66 = getelementptr %LSlice, ptr null, i32 1 %t67 = ptrtoint ptr %t66 to i64 %t68 = call ptr @malloc(i64 %t67) %t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0 store ptr null, ptr %t69 %t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1 store i32 0, ptr %t70 %t71 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 2 store i32 0, ptr %t71 store ptr %t68, ptr %t72 %t73 = load ptr, ptr %t72 %t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1 %t75 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 2 %t76 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0 %t77 = load i32, ptr %t74 %t78 = load i32, ptr %t75 %t79 = icmp sge i32 %t77, %t78 br i1 %t79, label %grow9, label %put10 grow9: %t80 = mul i32 %t78, 2 %t81 = icmp eq i32 %t78, 0 %t82 = select i1 %t81, i32 8, i32 %t80 %t83 = getelementptr ptr, ptr null, i32 1 %t84 = ptrtoint ptr %t83 to i64 %t85 = zext i32 %t82 to i64 %t86 = mul i64 %t85, %t84 %t87 = load ptr, ptr %t76 %t88 = call ptr @realloc(ptr %t87, i64 %t86) store ptr %t88, ptr %t76 store i32 %t82, ptr %t75 br label %put10 put10: %t89 = load ptr, ptr %t76 %t90 = getelementptr inbounds ptr, ptr %t89, i32 %t77 store ptr @.str12499, ptr %t90 %t91 = add i32 %t77, 1 store i32 %t91, ptr %t74 %t92 = load ptr, ptr %t72 %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 %t94 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 2 %t95 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 %t96 = load i32, ptr %t93 %t97 = load i32, ptr %t94 %t98 = icmp sge i32 %t96, %t97 br i1 %t98, label %grow11, label %put12 grow11: %t99 = mul i32 %t97, 2 %t100 = icmp eq i32 %t97, 0 %t101 = select i1 %t100, i32 8, i32 %t99 %t102 = getelementptr ptr, ptr null, i32 1 %t103 = ptrtoint ptr %t102 to i64 %t104 = zext i32 %t101 to i64 %t105 = mul i64 %t104, %t103 %t106 = load ptr, ptr %t95 %t107 = call ptr @realloc(ptr %t106, i64 %t105) store ptr %t107, ptr %t95 store i32 %t101, ptr %t94 br label %put12 put12: %t108 = load ptr, ptr %t95 %t109 = getelementptr inbounds ptr, ptr %t108, i32 %t96 store ptr @.str12500, ptr %t109 %t110 = add i32 %t96, 1 store i32 %t110, ptr %t93 %t111 = load ptr, ptr %t72 %t112 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 1 %t113 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 2 %t114 = getelementptr inbounds %LSlice, ptr %t111, i32 0, i32 0 %t115 = load i32, ptr %t112 %t116 = load i32, ptr %t113 %t117 = icmp sge i32 %t115, %t116 br i1 %t117, label %grow13, label %put14 grow13: %t118 = mul i32 %t116, 2 %t119 = icmp eq i32 %t116, 0 %t120 = select i1 %t119, i32 8, i32 %t118 %t121 = getelementptr ptr, ptr null, i32 1 %t122 = ptrtoint ptr %t121 to i64 %t123 = zext i32 %t120 to i64 %t124 = mul i64 %t123, %t122 %t125 = load ptr, ptr %t114 %t126 = call ptr @realloc(ptr %t125, i64 %t124) store ptr %t126, ptr %t114 store i32 %t120, ptr %t113 br label %put14 put14: %t127 = load ptr, ptr %t114 %t128 = getelementptr inbounds ptr, ptr %t127, i32 %t115 store ptr @.str12501, ptr %t128 %t129 = add i32 %t115, 1 store i32 %t129, ptr %t112 %t130 = load ptr, ptr %t72 %t131 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 1 %t132 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 2 %t133 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0 %t134 = load i32, ptr %t131 %t135 = load i32, ptr %t132 %t136 = icmp sge i32 %t134, %t135 br i1 %t136, label %grow15, label %put16 grow15: %t137 = mul i32 %t135, 2 %t138 = icmp eq i32 %t135, 0 %t139 = select i1 %t138, i32 8, i32 %t137 %t140 = getelementptr ptr, ptr null, i32 1 %t141 = ptrtoint ptr %t140 to i64 %t142 = zext i32 %t139 to i64 %t143 = mul i64 %t142, %t141 %t144 = load ptr, ptr %t133 %t145 = call ptr @realloc(ptr %t144, i64 %t143) store ptr %t145, ptr %t133 store i32 %t139, ptr %t132 br label %put16 put16: %t146 = load ptr, ptr %t133 %t147 = getelementptr inbounds ptr, ptr %t146, i32 %t134 store ptr @.str12502, ptr %t147 %t148 = add i32 %t134, 1 store i32 %t148, ptr %t131 store i32 0, ptr %t149 br label %wcond17 wcond17: %t150 = load i32, ptr %t149 %t151 = load ptr, ptr %t72 %t152 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 1 %t153 = load i32, ptr %t152 %t154 = icmp slt i32 %t150, %t153 %t155 = zext i1 %t154 to i32 %t156 = icmp ne i32 %t155, 0 br i1 %t156, label %wbody18, label %wend19 wbody18: %t157 = load ptr, ptr %t11 %t158 = load ptr, ptr %t72 %t159 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 0 %t160 = load ptr, ptr %t159 %t161 = load i32, ptr %t149 %t162 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1 %t163 = load i32, ptr %t162 %t164 = icmp ult i32 %t161, %t163 br i1 %t164, label %ixok20, label %ixbad21 ixbad21: %t165 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t165, ptr @.fmt_bounds, ptr @.str12503, i32 %t161, i32 %t163) call void @exit(i32 1) unreachable ixok20: %t166 = getelementptr inbounds ptr, ptr %t160, i32 %t161 %t167 = load ptr, ptr %t166 %t168 = call ptr @fn_ui_prop(ptr %t157, ptr %t167) %t169 = icmp eq ptr %t168, null %t170 = zext i1 %t169 to i32 %t171 = icmp ne i32 %t170, 0 br i1 %t171, label %then22, label %ifend24 then22: %t172 = load ptr, ptr @g_uiw_parent %t173 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 0 %t174 = load ptr, ptr %t173 %t175 = load i32, ptr %t0 %t176 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 1 %t177 = load i32, ptr %t176 %t178 = icmp ult i32 %t175, %t177 br i1 %t178, label %ixok25, label %ixbad26 ixbad26: %t179 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t179, ptr @.fmt_bounds, ptr @.str12504, i32 %t175, i32 %t177) call void @exit(i32 1) unreachable ixok25: %t180 = getelementptr inbounds i32, ptr %t174, i32 %t175 %t181 = load i32, ptr %t180 store i32 %t181, ptr %t182 br label %wcond27 wcond27: %t183 = load i32, ptr %t182 %t184 = icmp sge i32 %t183, 0 %t185 = zext i1 %t184 to i32 %t186 = icmp ne i32 %t185, 0 br i1 %t186, label %wbody28, label %wend29 wbody28: %t187 = load ptr, ptr @g_uiw %t188 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 0 %t189 = load ptr, ptr %t188 %t190 = load i32, ptr %t182 %t191 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 1 %t192 = load i32, ptr %t191 %t193 = icmp ult i32 %t190, %t192 br i1 %t193, label %ixok30, label %ixbad31 ixbad31: %t194 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t194, ptr @.fmt_bounds, ptr @.str12505, i32 %t190, i32 %t192) call void @exit(i32 1) unreachable ixok30: %t195 = getelementptr inbounds ptr, ptr %t189, i32 %t190 %t196 = load ptr, ptr %t195 %t197 = load ptr, ptr %t72 %t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0 %t199 = load ptr, ptr %t198 %t200 = load i32, ptr %t149 %t201 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 1 %t202 = load i32, ptr %t201 %t203 = icmp ult i32 %t200, %t202 br i1 %t203, label %ixok32, label %ixbad33 ixbad33: %t204 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t204, ptr @.fmt_bounds, ptr @.str12506, i32 %t200, i32 %t202) call void @exit(i32 1) unreachable ixok32: %t205 = getelementptr inbounds ptr, ptr %t199, i32 %t200 %t206 = load ptr, ptr %t205 %t207 = call ptr @fn_ui_prop(ptr %t196, ptr %t206) store ptr %t207, ptr %t208 %t209 = load ptr, ptr %t208 %t210 = icmp ne ptr %t209, null %t211 = zext i1 %t210 to i32 %t212 = icmp ne i32 %t211, 0 br i1 %t212, label %then34, label %else35 then34: %t213 = call ptr @fn_node(i32 42) store ptr %t213, ptr %t214 %t215 = load ptr, ptr %t214 %t216 = getelementptr inbounds %Cmp_Node, ptr %t215, i32 0, i32 1 %t217 = load ptr, ptr %t72 %t218 = getelementptr inbounds %LSlice, ptr %t217, i32 0, i32 0 %t219 = load ptr, ptr %t218 %t220 = load i32, ptr %t149 %t221 = getelementptr inbounds %LSlice, ptr %t217, i32 0, i32 1 %t222 = load i32, ptr %t221 %t223 = icmp ult i32 %t220, %t222 br i1 %t223, label %ixok37, label %ixbad38 ixbad38: %t224 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t224, ptr @.fmt_bounds, ptr @.str12507, i32 %t220, i32 %t222) call void @exit(i32 1) unreachable ixok37: %t225 = getelementptr inbounds ptr, ptr %t219, i32 %t220 %t226 = load ptr, ptr %t225 store ptr %t226, ptr %t216 %t227 = load ptr, ptr %t214 %t228 = getelementptr inbounds %Cmp_Node, ptr %t227, i32 0, i32 4 %t229 = load ptr, ptr %t208 store ptr %t229, ptr %t228 %t230 = load ptr, ptr %t18 %t231 = load ptr, ptr %t214 %t232 = getelementptr inbounds %LSlice, ptr %t230, i32 0, i32 1 %t233 = getelementptr inbounds %LSlice, ptr %t230, i32 0, i32 2 %t234 = getelementptr inbounds %LSlice, ptr %t230, i32 0, i32 0 %t235 = load i32, ptr %t232 %t236 = load i32, ptr %t233 %t237 = icmp sge i32 %t235, %t236 br i1 %t237, label %grow39, label %put40 grow39: %t238 = mul i32 %t236, 2 %t239 = icmp eq i32 %t236, 0 %t240 = select i1 %t239, i32 8, i32 %t238 %t241 = getelementptr ptr, ptr null, i32 1 %t242 = ptrtoint ptr %t241 to i64 %t243 = zext i32 %t240 to i64 %t244 = mul i64 %t243, %t242 %t245 = load ptr, ptr %t234 %t246 = call ptr @realloc(ptr %t245, i64 %t244) store ptr %t246, ptr %t234 store i32 %t240, ptr %t233 br label %put40 put40: %t247 = load ptr, ptr %t234 %t248 = getelementptr inbounds ptr, ptr %t247, i32 %t235 store ptr %t231, ptr %t248 %t249 = add i32 %t235, 1 store i32 %t249, ptr %t232 %t250 = sub i32 0, 1 store i32 %t250, ptr %t182 br label %ifend36 else35: %t251 = load ptr, ptr @g_uiw_parent %t252 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 0 %t253 = load ptr, ptr %t252 %t254 = load i32, ptr %t182 %t255 = getelementptr inbounds %LSlice, ptr %t251, i32 0, i32 1 %t256 = load i32, ptr %t255 %t257 = icmp ult i32 %t254, %t256 br i1 %t257, label %ixok41, label %ixbad42 ixbad42: %t258 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t258, ptr @.fmt_bounds, ptr @.str12508, i32 %t254, i32 %t256) call void @exit(i32 1) unreachable ixok41: %t259 = getelementptr inbounds i32, ptr %t253, i32 %t254 %t260 = load i32, ptr %t259 store i32 %t260, ptr %t182 br label %ifend36 ifend36: br label %wcond27 wend29: br label %ifend24 ifend24: %t261 = load i32, ptr %t149 %t262 = add i32 %t261, 1 store i32 %t262, ptr %t149 br label %wcond17 wend19: %t263 = load ptr, ptr %t18 store ptr %t263, ptr %retval br label %ret ret: %t264 = load ptr, ptr %retval ret ptr %t264 } define void @fn_ui_flatten(ptr %arg_w, i32 %arg_parent) { entry: %t0 = alloca ptr %t1 = alloca i32 %t5 = alloca i32 %t46 = alloca i32 store ptr %arg_w, ptr %t0 store i32 %arg_parent, ptr %t1 %t2 = load ptr, ptr @g_uiw %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 store i32 %t4, ptr %t5 %t6 = load ptr, ptr @g_uiw %t7 = load ptr, ptr %t0 %t8 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t9 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 2 %t10 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0 %t11 = load i32, ptr %t8 %t12 = load i32, ptr %t9 %t13 = icmp sge i32 %t11, %t12 br i1 %t13, label %grow0, label %put1 grow0: %t14 = mul i32 %t12, 2 %t15 = icmp eq i32 %t12, 0 %t16 = select i1 %t15, i32 8, i32 %t14 %t17 = getelementptr ptr, ptr null, i32 1 %t18 = ptrtoint ptr %t17 to i64 %t19 = zext i32 %t16 to i64 %t20 = mul i64 %t19, %t18 %t21 = load ptr, ptr %t10 %t22 = call ptr @realloc(ptr %t21, i64 %t20) store ptr %t22, ptr %t10 store i32 %t16, ptr %t9 br label %put1 put1: %t23 = load ptr, ptr %t10 %t24 = getelementptr inbounds ptr, ptr %t23, i32 %t11 store ptr %t7, ptr %t24 %t25 = add i32 %t11, 1 store i32 %t25, ptr %t8 %t26 = load ptr, ptr @g_uiw_parent %t27 = load i32, ptr %t1 %t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t31 = load i32, ptr %t28 %t32 = load i32, ptr %t29 %t33 = icmp sge i32 %t31, %t32 br i1 %t33, label %grow2, label %put3 grow2: %t34 = mul i32 %t32, 2 %t35 = icmp eq i32 %t32, 0 %t36 = select i1 %t35, i32 8, i32 %t34 %t37 = getelementptr i32, ptr null, i32 1 %t38 = ptrtoint ptr %t37 to i64 %t39 = zext i32 %t36 to i64 %t40 = mul i64 %t39, %t38 %t41 = load ptr, ptr %t30 %t42 = call ptr @realloc(ptr %t41, i64 %t40) store ptr %t42, ptr %t30 store i32 %t36, ptr %t29 br label %put3 put3: %t43 = load ptr, ptr %t30 %t44 = getelementptr inbounds i32, ptr %t43, i32 %t31 store i32 %t27, ptr %t44 %t45 = add i32 %t31, 1 store i32 %t45, ptr %t28 store i32 0, ptr %t46 br label %wcond4 wcond4: %t47 = load i32, ptr %t46 %t48 = load ptr, ptr %t0 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7 %t50 = load ptr, ptr %t49 %t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1 %t52 = load i32, ptr %t51 %t53 = icmp slt i32 %t47, %t52 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %wbody5, label %wend6 wbody5: %t56 = load ptr, ptr %t0 %t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7 %t58 = load ptr, ptr %t57 %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 %t60 = load ptr, ptr %t59 %t61 = load i32, ptr %t46 %t62 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 %t63 = load i32, ptr %t62 %t64 = icmp ult i32 %t61, %t63 br i1 %t64, label %ixok7, label %ixbad8 ixbad8: %t65 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t65, ptr @.fmt_bounds, ptr @.str12509, i32 %t61, i32 %t63) call void @exit(i32 1) unreachable ixok7: %t66 = getelementptr inbounds ptr, ptr %t60, i32 %t61 %t67 = load ptr, ptr %t66 %t68 = load i32, ptr %t5 call void @fn_ui_flatten(ptr %t67, i32 %t68) %t69 = load i32, ptr %t46 %t70 = add i32 %t69, 1 store i32 %t70, ptr %t46 br label %wcond4 wend6: br label %ret ret: ret void } define void @fn_ui_flatten_all() { entry: %t18 = alloca i32 %t26 = alloca i32 %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 %t2 = call ptr @malloc(i64 %t1) %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 store ptr null, ptr %t3 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 store i32 0, ptr %t4 %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 store i32 0, ptr %t5 store ptr %t2, ptr @g_uiw %t6 = getelementptr %LSlice, ptr null, i32 1 %t7 = ptrtoint ptr %t6 to i64 %t8 = call ptr @malloc(i64 %t7) %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 store ptr null, ptr %t9 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 store i32 0, ptr %t10 %t11 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 2 store i32 0, ptr %t11 store ptr %t8, ptr @g_uiw_parent %t12 = getelementptr %LSlice, ptr null, i32 1 %t13 = ptrtoint ptr %t12 to i64 %t14 = call ptr @malloc(i64 %t13) %t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0 store ptr null, ptr %t15 %t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1 store i32 0, ptr %t16 %t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2 store i32 0, ptr %t17 store ptr %t14, ptr @g_ui_roots store i32 0, ptr %t18 br label %wcond0 wcond0: %t19 = load i32, ptr %t18 %t20 = load ptr, ptr @g_prog %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp slt i32 %t19, %t22 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %wbody1, label %wend2 wbody1: %t27 = load ptr, ptr @g_prog %t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0 %t29 = load ptr, ptr %t28 %t30 = load i32, ptr %t18 %t31 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1 %t32 = load i32, ptr %t31 %t33 = icmp ult i32 %t30, %t32 br i1 %t33, label %ixok3, label %ixbad4 ixbad4: %t34 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t34, ptr @.fmt_bounds, ptr @.str12510, i32 %t30, i32 %t32) call void @exit(i32 1) unreachable ixok3: %t35 = getelementptr inbounds ptr, ptr %t29, i32 %t30 %t36 = load ptr, ptr %t35 %t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 0 %t38 = load i32, ptr %t37 %t39 = icmp eq i32 %t38, 12 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t26 br i1 %t41, label %sc5, label %scend6 sc5: %t43 = load ptr, ptr @g_prog %t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0 %t45 = load ptr, ptr %t44 %t46 = load i32, ptr %t18 %t47 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1 %t48 = load i32, ptr %t47 %t49 = icmp ult i32 %t46, %t48 br i1 %t49, label %ixok7, label %ixbad8 ixbad8: %t50 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t50, ptr @.fmt_bounds, ptr @.str12511, i32 %t46, i32 %t48) call void @exit(i32 1) unreachable ixok7: %t51 = getelementptr inbounds ptr, ptr %t45, i32 %t46 %t52 = load ptr, ptr %t51 %t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 2 %t54 = load i32, ptr %t53 %t55 = icmp eq i32 %t54, 1 %t56 = zext i1 %t55 to i32 %t57 = icmp ne i32 %t56, 0 %t58 = zext i1 %t57 to i32 store i32 %t58, ptr %t26 br label %scend6 scend6: %t59 = load i32, ptr %t26 %t60 = icmp ne i32 %t59, 0 br i1 %t60, label %then9, label %ifend11 then9: %t61 = load ptr, ptr @g_ui_roots %t62 = load ptr, ptr @g_uiw %t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1 %t64 = load i32, ptr %t63 %t65 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 1 %t66 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 2 %t67 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0 %t68 = load i32, ptr %t65 %t69 = load i32, ptr %t66 %t70 = icmp sge i32 %t68, %t69 br i1 %t70, label %grow12, label %put13 grow12: %t71 = mul i32 %t69, 2 %t72 = icmp eq i32 %t69, 0 %t73 = select i1 %t72, i32 8, i32 %t71 %t74 = getelementptr i32, ptr null, i32 1 %t75 = ptrtoint ptr %t74 to i64 %t76 = zext i32 %t73 to i64 %t77 = mul i64 %t76, %t75 %t78 = load ptr, ptr %t67 %t79 = call ptr @realloc(ptr %t78, i64 %t77) store ptr %t79, ptr %t67 store i32 %t73, ptr %t66 br label %put13 put13: %t80 = load ptr, ptr %t67 %t81 = getelementptr inbounds i32, ptr %t80, i32 %t68 store i32 %t64, ptr %t81 %t82 = add i32 %t68, 1 store i32 %t82, ptr %t65 %t83 = load ptr, ptr @g_prog %t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0 %t85 = load ptr, ptr %t84 %t86 = load i32, ptr %t18 %t87 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 1 %t88 = load i32, ptr %t87 %t89 = icmp ult i32 %t86, %t88 br i1 %t89, label %ixok14, label %ixbad15 ixbad15: %t90 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t90, ptr @.fmt_bounds, ptr @.str12512, i32 %t86, i32 %t88) call void @exit(i32 1) unreachable ixok14: %t91 = getelementptr inbounds ptr, ptr %t85, i32 %t86 %t92 = load ptr, ptr %t91 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 4 %t94 = load ptr, ptr %t93 %t95 = sub i32 0, 1 call void @fn_ui_flatten(ptr %t94, i32 %t95) br label %ifend11 ifend11: %t96 = load i32, ptr %t18 %t97 = add i32 %t96, 1 store i32 %t97, ptr %t18 br label %wcond0 wend2: br label %ret ret: ret void } define i32 @fn_has_ui() { entry: %retval = alloca i32 %t0 = alloca i32 %t8 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_prog %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t9 = load ptr, ptr @g_prog %t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0 %t11 = load ptr, ptr %t10 %t12 = load i32, ptr %t0 %t13 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp ult i32 %t12, %t14 br i1 %t15, label %ixok3, label %ixbad4 ixbad4: %t16 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t16, ptr @.fmt_bounds, ptr @.str12513, i32 %t12, i32 %t14) call void @exit(i32 1) unreachable ixok3: %t17 = getelementptr inbounds ptr, ptr %t11, i32 %t12 %t18 = load ptr, ptr %t17 %t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0 %t20 = load i32, ptr %t19 %t21 = icmp eq i32 %t20, 12 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 %t24 = zext i1 %t23 to i32 store i32 %t24, ptr %t8 br i1 %t23, label %sc5, label %scend6 sc5: %t25 = load ptr, ptr @g_prog %t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0 %t27 = load ptr, ptr %t26 %t28 = load i32, ptr %t0 %t29 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 1 %t30 = load i32, ptr %t29 %t31 = icmp ult i32 %t28, %t30 br i1 %t31, label %ixok7, label %ixbad8 ixbad8: %t32 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t32, ptr @.fmt_bounds, ptr @.str12514, i32 %t28, i32 %t30) call void @exit(i32 1) unreachable ixok7: %t33 = getelementptr inbounds ptr, ptr %t27, i32 %t28 %t34 = load ptr, ptr %t33 %t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 2 %t36 = load i32, ptr %t35 %t37 = icmp eq i32 %t36, 1 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t8 br label %scend6 scend6: %t41 = load i32, ptr %t8 %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then9, label %ifend11 then9: store i32 1, ptr %retval br label %ret ifend11: %t43 = load i32, ptr %t0 %t44 = add i32 %t43, 1 store i32 %t44, ptr %t0 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t45 = load i32, ptr %retval ret i32 %t45 } define i32 @fn_ui_index_of(ptr %arg_nm) { entry: %retval = alloca i32 %t0 = alloca ptr %t10 = alloca ptr %t11 = alloca i32 %t12 = alloca i32 %t13 = alloca i32 %t21 = alloca i32 %t103 = alloca ptr %t108 = alloca i32 store ptr %arg_nm, ptr %t0 %t1 = load ptr, ptr @g_uiw %t2 = icmp eq ptr %t1, null %t3 = zext i1 %t2 to i32 %t4 = icmp ne i32 %t3, 0 br i1 %t4, label %then0, label %ifend2 then0: call void @fn_ui_flatten_all() br label %ifend2 ifend2: %t5 = load ptr, ptr %t0 %t6 = load ptr, ptr %t0 %t7 = call i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 %t9 = call ptr @lp_str_slice(ptr %t5, i32 3, i32 %t8) store ptr %t9, ptr %t10 store i32 0, ptr %t11 store i32 0, ptr %t12 store i32 0, ptr %t13 br label %wcond3 wcond3: %t14 = load i32, ptr %t13 %t15 = load ptr, ptr @g_prog %t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1 %t17 = load i32, ptr %t16 %t18 = icmp slt i32 %t14, %t17 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %wbody4, label %wend5 wbody4: %t22 = load ptr, ptr @g_prog %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 %t24 = load ptr, ptr %t23 %t25 = load i32, ptr %t13 %t26 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 %t27 = load i32, ptr %t26 %t28 = icmp ult i32 %t25, %t27 br i1 %t28, label %ixok6, label %ixbad7 ixbad7: %t29 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t29, ptr @.fmt_bounds, ptr @.str12515, i32 %t25, i32 %t27) call void @exit(i32 1) unreachable ixok6: %t30 = getelementptr inbounds ptr, ptr %t24, i32 %t25 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 %t33 = load i32, ptr %t32 %t34 = icmp eq i32 %t33, 12 %t35 = zext i1 %t34 to i32 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t21 br i1 %t36, label %sc8, label %scend9 sc8: %t38 = load ptr, ptr @g_prog %t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0 %t40 = load ptr, ptr %t39 %t41 = load i32, ptr %t13 %t42 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1 %t43 = load i32, ptr %t42 %t44 = icmp ult i32 %t41, %t43 br i1 %t44, label %ixok10, label %ixbad11 ixbad11: %t45 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t45, ptr @.fmt_bounds, ptr @.str12516, i32 %t41, i32 %t43) call void @exit(i32 1) unreachable ixok10: %t46 = getelementptr inbounds ptr, ptr %t40, i32 %t41 %t47 = load ptr, ptr %t46 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 2 %t49 = load i32, ptr %t48 %t50 = icmp eq i32 %t49, 1 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t21 br label %scend9 scend9: %t54 = load i32, ptr %t21 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then12, label %ifend14 then12: %t56 = load ptr, ptr @g_prog %t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0 %t58 = load ptr, ptr %t57 %t59 = load i32, ptr %t13 %t60 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1 %t61 = load i32, ptr %t60 %t62 = icmp ult i32 %t59, %t61 br i1 %t62, label %ixok15, label %ixbad16 ixbad16: %t63 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t63, ptr @.fmt_bounds, ptr @.str12517, i32 %t59, i32 %t61) call void @exit(i32 1) unreachable ixok15: %t64 = getelementptr inbounds ptr, ptr %t58, i32 %t59 %t65 = load ptr, ptr %t64 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 1 %t67 = load ptr, ptr %t66 %t68 = load ptr, ptr %t10 %t69 = call i32 @lp_str_eq(ptr %t67, ptr %t68) %t70 = icmp ne i32 %t69, 0 br i1 %t70, label %then17, label %ifend19 then17: %t71 = load ptr, ptr @g_ui_roots %t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0 %t73 = load ptr, ptr %t72 %t74 = load i32, ptr %t12 %t75 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 1 %t76 = load i32, ptr %t75 %t77 = icmp ult i32 %t74, %t76 br i1 %t77, label %ixok20, label %ixbad21 ixbad21: %t78 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t78, ptr @.fmt_bounds, ptr @.str12518, i32 %t74, i32 %t76) call void @exit(i32 1) unreachable ixok20: %t79 = getelementptr inbounds i32, ptr %t73, i32 %t74 %t80 = load i32, ptr %t79 store i32 %t80, ptr %retval br label %ret ifend19: %t81 = load i32, ptr %t12 %t82 = add i32 %t81, 1 store i32 %t82, ptr %t12 br label %ifend14 ifend14: %t83 = load i32, ptr %t13 %t84 = add i32 %t83, 1 store i32 %t84, ptr %t13 br label %wcond3 wend5: store i32 0, ptr %t13 br label %wcond22 wcond22: %t85 = load i32, ptr %t13 %t86 = load ptr, ptr @g_uiw %t87 = getelementptr inbounds %LSlice, ptr %t86, i32 0, i32 1 %t88 = load i32, ptr %t87 %t89 = icmp slt i32 %t85, %t88 %t90 = zext i1 %t89 to i32 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %wbody23, label %wend24 wbody23: %t92 = load ptr, ptr @g_uiw %t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 0 %t94 = load ptr, ptr %t93 %t95 = load i32, ptr %t13 %t96 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1 %t97 = load i32, ptr %t96 %t98 = icmp ult i32 %t95, %t97 br i1 %t98, label %ixok25, label %ixbad26 ixbad26: %t99 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t99, ptr @.fmt_bounds, ptr @.str12519, i32 %t95, i32 %t97) call void @exit(i32 1) unreachable ixok25: %t100 = getelementptr inbounds ptr, ptr %t94, i32 %t95 %t101 = load ptr, ptr %t100 %t102 = call ptr @fn_ui_prop(ptr %t101, ptr @.str12520) store ptr %t102, ptr %t103 %t104 = load ptr, ptr %t103 %t105 = icmp ne ptr %t104, null %t106 = zext i1 %t105 to i32 %t107 = icmp ne i32 %t106, 0 br i1 %t107, label %then27, label %ifend29 then27: %t109 = load ptr, ptr %t103 %t110 = getelementptr inbounds %Cmp_Node, ptr %t109, i32 0, i32 0 %t111 = load i32, ptr %t110 %t112 = icmp eq i32 %t111, 33 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 %t115 = zext i1 %t114 to i32 store i32 %t115, ptr %t108 br i1 %t114, label %sc30, label %scend31 sc30: %t116 = load ptr, ptr %t103 %t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 1 %t118 = load ptr, ptr %t117 %t119 = load ptr, ptr %t10 %t120 = call i32 @lp_str_eq(ptr %t118, ptr %t119) %t121 = icmp ne i32 %t120, 0 %t122 = zext i1 %t121 to i32 store i32 %t122, ptr %t108 br label %scend31 scend31: %t123 = load i32, ptr %t108 %t124 = icmp ne i32 %t123, 0 br i1 %t124, label %then32, label %ifend34 then32: %t125 = load i32, ptr %t13 store i32 %t125, ptr %retval br label %ret ifend34: br label %ifend29 ifend29: %t126 = load i32, ptr %t13 %t127 = add i32 %t126, 1 store i32 %t127, ptr %t13 br label %wcond22 wend24: store i32 0, ptr %retval br label %ret ret: %t128 = load i32, ptr %retval ret i32 %t128 } define i32 @fn_is_ui_ident(ptr %arg_nm) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_nm, ptr %t0 %t4 = load ptr, ptr %t0 %t5 = call i64 @strlen(ptr %t4) %t6 = trunc i64 %t5 to i32 %t7 = icmp sgt i32 %t6, 3 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t3 br i1 %t9, label %sc0, label %scend1 sc0: %t11 = load ptr, ptr %t0 %t12 = getelementptr inbounds i8, ptr %t11, i32 0 %t13 = load i8, ptr %t12 %t14 = zext i8 %t13 to i32 %t15 = icmp eq i32 %t14, 85 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 %t18 = zext i1 %t17 to i32 store i32 %t18, ptr %t3 br label %scend1 scend1: %t19 = load i32, ptr %t3 %t20 = icmp ne i32 %t19, 0 %t21 = zext i1 %t20 to i32 store i32 %t21, ptr %t2 br i1 %t20, label %sc2, label %scend3 sc2: %t22 = load ptr, ptr %t0 %t23 = getelementptr inbounds i8, ptr %t22, i32 1 %t24 = load i8, ptr %t23 %t25 = zext i8 %t24 to i32 %t26 = icmp eq i32 %t25, 73 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t2 br label %scend3 scend3: %t30 = load i32, ptr %t2 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t1 br i1 %t31, label %sc4, label %scend5 sc4: %t33 = load ptr, ptr %t0 %t34 = getelementptr inbounds i8, ptr %t33, i32 2 %t35 = load i8, ptr %t34 %t36 = zext i8 %t35 to i32 %t37 = icmp eq i32 %t36, 95 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 %t40 = zext i1 %t39 to i32 store i32 %t40, ptr %t1 br label %scend5 scend5: %t41 = load i32, ptr %t1 store i32 %t41, ptr %retval br label %ret ret: %t42 = load i32, ptr %retval ret i32 %t42 } define void @fn_ll_ui_set(i32 %arg_idx, i32 %arg_key, ptr %arg_val) { entry: %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca ptr store i32 %arg_idx, ptr %t0 store i32 %arg_key, ptr %t1 store ptr %arg_val, ptr %t2 call void @fn_emit(ptr @.str12521) %t3 = load i32, ptr %t0 %t4 = call ptr @fn_itoa(i32 %t3) call void @fn_emit(ptr %t4) call void @fn_emit(ptr @.str12522) %t5 = load i32, ptr %t1 %t6 = call ptr @fn_itoa(i32 %t5) call void @fn_emit(ptr %t6) call void @fn_emit(ptr @.str12523) %t7 = load ptr, ptr %t2 call void @fn_emit(ptr %t7) call void @fn_emit(ptr @.str12524) br label %ret ret: ret void } define i32 @fn_ui_prop_key(ptr %arg_k) { entry: %retval = alloca i32 %t0 = alloca ptr store ptr %arg_k, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i32 @lp_str_eq(ptr %t1, ptr @.str12525) %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: store i32 2, ptr %retval br label %ret ifend2: %t4 = load ptr, ptr %t0 %t5 = call i32 @lp_str_eq(ptr %t4, ptr @.str12526) %t6 = icmp ne i32 %t5, 0 br i1 %t6, label %then3, label %ifend5 then3: store i32 3, ptr %retval br label %ret ifend5: %t7 = load ptr, ptr %t0 %t8 = call i32 @lp_str_eq(ptr %t7, ptr @.str12527) %t9 = icmp ne i32 %t8, 0 br i1 %t9, label %then6, label %ifend8 then6: store i32 4, ptr %retval br label %ret ifend8: %t10 = load ptr, ptr %t0 %t11 = call i32 @lp_str_eq(ptr %t10, ptr @.str12528) %t12 = icmp ne i32 %t11, 0 br i1 %t12, label %then9, label %ifend11 then9: store i32 5, ptr %retval br label %ret ifend11: %t13 = load ptr, ptr %t0 %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str12529) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then12, label %ifend14 then12: store i32 7, ptr %retval br label %ret ifend14: %t16 = load ptr, ptr %t0 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str12530) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then15, label %ifend17 then15: store i32 8, ptr %retval br label %ret ifend17: %t19 = load ptr, ptr %t0 %t20 = call i32 @lp_str_eq(ptr %t19, ptr @.str12531) %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %then18, label %ifend20 then18: store i32 9, ptr %retval br label %ret ifend20: %t22 = load ptr, ptr %t0 %t23 = call i32 @lp_str_eq(ptr %t22, ptr @.str12532) %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then21, label %ifend23 then21: store i32 10, ptr %retval br label %ret ifend23: %t25 = load ptr, ptr %t0 %t26 = call i32 @lp_str_eq(ptr %t25, ptr @.str12533) %t27 = icmp ne i32 %t26, 0 br i1 %t27, label %then24, label %ifend26 then24: store i32 11, ptr %retval br label %ret ifend26: %t28 = load ptr, ptr %t0 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str12534) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then27, label %ifend29 then27: store i32 13, ptr %retval br label %ret ifend29: %t31 = load ptr, ptr %t0 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str12535) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then30, label %ifend32 then30: store i32 14, ptr %retval br label %ret ifend32: %t34 = load ptr, ptr %t0 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str12536) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then33, label %ifend35 then33: store i32 15, ptr %retval br label %ret ifend35: %t37 = load ptr, ptr %t0 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str12537) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then36, label %ifend38 then36: store i32 16, ptr %retval br label %ret ifend38: %t40 = load ptr, ptr %t0 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str12538) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then39, label %ifend41 then39: store i32 17, ptr %retval br label %ret ifend41: %t43 = sub i32 0, 1 store i32 %t43, ptr %retval br label %ret ret: %t44 = load i32, ptr %retval ret i32 %t44 } define void @fn_emit_ui_build() { entry: %t1 = alloca ptr %t4 = alloca ptr %t10 = alloca i32 %t28 = alloca ptr %t31 = alloca i32 %t54 = alloca ptr %t55 = alloca i32 %t73 = alloca ptr %t77 = alloca ptr %t81 = alloca ptr %t82 = alloca i32 %t100 = alloca ptr %t106 = alloca i32 %t119 = alloca ptr %t126 = alloca ptr %t143 = alloca i32 %t159 = alloca ptr %t166 = alloca i32 %t173 = alloca ptr %t179 = alloca i32 call void @fn_ui_flatten_all() store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop %t0 = call ptr @fn_buf_new() store ptr %t0, ptr %t1 %t2 = call ptr @fn_buf_new() store ptr %t2, ptr @g_falloc %t3 = load ptr, ptr @g_code store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t1 store ptr %t5, ptr @g_code call void @fn_emit(ptr @.str12539) %t6 = load ptr, ptr @g_uiw %t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1 %t8 = load i32, ptr %t7 %t9 = call ptr @fn_itoa(i32 %t8) call void @fn_emit(ptr %t9) call void @fn_emit(ptr @.str12540) store i32 0, ptr %t10 br label %wcond0 wcond0: %t11 = load i32, ptr %t10 %t12 = load ptr, ptr @g_uiw %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 %t14 = load i32, ptr %t13 %t15 = icmp slt i32 %t11, %t14 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %wbody1, label %wend2 wbody1: %t18 = load ptr, ptr @g_uiw %t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0 %t20 = load ptr, ptr %t19 %t21 = load i32, ptr %t10 %t22 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1 %t23 = load i32, ptr %t22 %t24 = icmp ult i32 %t21, %t23 br i1 %t24, label %ixok3, label %ixbad4 ixbad4: %t25 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t25, ptr @.fmt_bounds, ptr @.str12541, i32 %t21, i32 %t23) call void @exit(i32 1) unreachable ixok3: %t26 = getelementptr inbounds ptr, ptr %t20, i32 %t21 %t27 = load ptr, ptr %t26 store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = call i32 @fn_ui_wtype(ptr %t29) store i32 %t30, ptr %t31 %t32 = load i32, ptr %t10 %t33 = load i32, ptr %t31 %t34 = call ptr @fn_itoa(i32 %t33) call void @fn_ll_ui_set(i32 %t32, i32 0, ptr %t34) %t35 = load i32, ptr %t10 %t36 = load ptr, ptr @g_uiw_parent %t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0 %t38 = load ptr, ptr %t37 %t39 = load i32, ptr %t10 %t40 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 1 %t41 = load i32, ptr %t40 %t42 = icmp ult i32 %t39, %t41 br i1 %t42, label %ixok5, label %ixbad6 ixbad6: %t43 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t43, ptr @.fmt_bounds, ptr @.str12542, i32 %t39, i32 %t41) call void @exit(i32 1) unreachable ixok5: %t44 = getelementptr inbounds i32, ptr %t38, i32 %t39 %t45 = load i32, ptr %t44 %t46 = call ptr @fn_itoa(i32 %t45) call void @fn_ll_ui_set(i32 %t35, i32 1, ptr %t46) %t47 = load i32, ptr %t31 %t48 = icmp eq i32 %t47, 4 %t49 = zext i1 %t48 to i32 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %then7, label %ifend9 then7: %t51 = load i32, ptr %t10 call void @fn_ll_ui_set(i32 %t51, i32 17, ptr @.str12543) br label %ifend9 ifend9: %t52 = load i32, ptr %t10 %t53 = call ptr @fn_ui_props_with_inherited(i32 %t52) store ptr %t53, ptr %t54 store i32 0, ptr %t55 br label %wcond10 wcond10: %t56 = load i32, ptr %t55 %t57 = load ptr, ptr %t54 %t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 %t59 = load i32, ptr %t58 %t60 = icmp slt i32 %t56, %t59 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %wbody11, label %wend12 wbody11: %t63 = load ptr, ptr %t54 %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = load i32, ptr %t55 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp ult i32 %t66, %t68 br i1 %t69, label %ixok13, label %ixbad14 ixbad14: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str12544, i32 %t66, i32 %t68) call void @exit(i32 1) unreachable ixok13: %t71 = getelementptr inbounds ptr, ptr %t65, i32 %t66 %t72 = load ptr, ptr %t71 store ptr %t72, ptr %t73 %t74 = load ptr, ptr %t73 %t75 = getelementptr inbounds %Cmp_Node, ptr %t74, i32 0, i32 1 %t76 = load ptr, ptr %t75 store ptr %t76, ptr %t77 %t78 = load ptr, ptr %t73 %t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 4 %t80 = load ptr, ptr %t79 store ptr %t80, ptr %t81 %t83 = load ptr, ptr %t77 %t84 = call i32 @lp_str_eq(ptr %t83, ptr @.str12545) %t85 = icmp ne i32 %t84, 0 %t86 = zext i1 %t85 to i32 store i32 %t86, ptr %t82 br i1 %t85, label %scend16, label %sc15 sc15: %t87 = load ptr, ptr %t77 %t88 = call i32 @lp_str_eq(ptr %t87, ptr @.str12546) %t89 = icmp ne i32 %t88, 0 %t90 = zext i1 %t89 to i32 store i32 %t90, ptr %t82 br label %scend16 scend16: %t91 = load i32, ptr %t82 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then17, label %ifend19 then17: %t93 = load i32, ptr %t55 %t94 = add i32 %t93, 1 store i32 %t94, ptr %t55 br label %wcond10 ifend19: %t95 = load ptr, ptr %t77 %t96 = call i32 @lp_str_eq(ptr %t95, ptr @.str12547) %t97 = icmp ne i32 %t96, 0 br i1 %t97, label %then20, label %else21 then20: %t98 = load ptr, ptr %t81 %t99 = call ptr @fn_emit_expr(ptr %t98) store ptr %t99, ptr %t100 call void @fn_emit(ptr @.str12548) %t101 = load i32, ptr %t10 %t102 = call ptr @fn_itoa(i32 %t101) call void @fn_emit(ptr %t102) call void @fn_emit(ptr @.str12549) %t103 = load ptr, ptr %t100 %t104 = getelementptr inbounds %Cmp_Val, ptr %t103, i32 0, i32 0 %t105 = load ptr, ptr %t104 call void @fn_emit(ptr %t105) call void @fn_emit(ptr @.str12550) br label %ifend22 else21: %t107 = load ptr, ptr %t77 %t108 = call i32 @lp_str_eq(ptr %t107, ptr @.str12551) %t109 = icmp ne i32 %t108, 0 %t110 = zext i1 %t109 to i32 store i32 %t110, ptr %t106 br i1 %t109, label %scend24, label %sc23 sc23: %t111 = load ptr, ptr %t77 %t112 = call i32 @lp_str_eq(ptr %t111, ptr @.str12552) %t113 = icmp ne i32 %t112, 0 %t114 = zext i1 %t113 to i32 store i32 %t114, ptr %t106 br label %scend24 scend24: %t115 = load i32, ptr %t106 %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then25, label %else26 then25: %t117 = load ptr, ptr %t81 %t118 = call ptr @fn_emit_expr(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t119 %t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0 %t122 = load ptr, ptr %t121 %t123 = call ptr @lp_str_concat(ptr @.str12553, ptr %t122) %t124 = call ptr @lp_str_concat(ptr %t123, ptr @.str12554) %t125 = call ptr @fn_emit_bind(ptr %t124) store ptr %t125, ptr %t126 %t127 = load ptr, ptr %t77 %t128 = call i32 @lp_str_eq(ptr %t127, ptr @.str12555) %t129 = icmp ne i32 %t128, 0 br i1 %t129, label %then28, label %else29 then28: %t130 = load i32, ptr %t10 %t131 = load ptr, ptr %t126 call void @fn_ll_ui_set(i32 %t130, i32 20, ptr %t131) br label %ifend30 else29: %t132 = load i32, ptr %t10 %t133 = load ptr, ptr %t126 call void @fn_ll_ui_set(i32 %t132, i32 19, ptr %t133) br label %ifend30 ifend30: br label %ifend27 else26: %t134 = load ptr, ptr %t77 %t135 = call i32 @lp_str_eq(ptr %t134, ptr @.str12556) %t136 = icmp ne i32 %t135, 0 br i1 %t136, label %then31, label %else32 then31: %t137 = load ptr, ptr %t81 %t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 0 %t139 = load i32, ptr %t138 %t140 = icmp eq i32 %t139, 33 %t141 = zext i1 %t140 to i32 %t142 = icmp ne i32 %t141, 0 br i1 %t142, label %then34, label %else35 then34: store i32 0, ptr %t143 %t144 = load ptr, ptr %t81 %t145 = getelementptr inbounds %Cmp_Node, ptr %t144, i32 0, i32 1 %t146 = load ptr, ptr %t145 %t147 = call i32 @lp_str_eq(ptr %t146, ptr @.str12557) %t148 = icmp ne i32 %t147, 0 br i1 %t148, label %then37, label %ifend39 then37: store i32 1, ptr %t143 br label %ifend39 ifend39: %t149 = load ptr, ptr %t81 %t150 = getelementptr inbounds %Cmp_Node, ptr %t149, i32 0, i32 1 %t151 = load ptr, ptr %t150 %t152 = call i32 @lp_str_eq(ptr %t151, ptr @.str12558) %t153 = icmp ne i32 %t152, 0 br i1 %t153, label %then40, label %ifend42 then40: store i32 2, ptr %t143 br label %ifend42 ifend42: %t154 = load i32, ptr %t10 %t155 = load i32, ptr %t143 %t156 = call ptr @fn_itoa(i32 %t155) call void @fn_ll_ui_set(i32 %t154, i32 12, ptr %t156) br label %ifend36 else35: %t157 = load ptr, ptr %t81 %t158 = call ptr @fn_emit_expr(ptr %t157) store ptr %t158, ptr %t159 %t160 = load i32, ptr %t10 %t161 = load ptr, ptr %t159 %t162 = getelementptr inbounds %Cmp_Val, ptr %t161, i32 0, i32 0 %t163 = load ptr, ptr %t162 call void @fn_ll_ui_set(i32 %t160, i32 12, ptr %t163) br label %ifend36 ifend36: br label %ifend33 else32: %t164 = load ptr, ptr %t77 %t165 = call i32 @fn_ui_prop_key(ptr %t164) store i32 %t165, ptr %t166 %t167 = load i32, ptr %t166 %t168 = icmp sge i32 %t167, 0 %t169 = zext i1 %t168 to i32 %t170 = icmp ne i32 %t169, 0 br i1 %t170, label %then43, label %ifend45 then43: %t171 = load ptr, ptr %t81 %t172 = call ptr @fn_emit_expr(ptr %t171) store ptr %t172, ptr %t173 %t174 = load i32, ptr %t10 %t175 = load i32, ptr %t166 %t176 = load ptr, ptr %t173 %t177 = getelementptr inbounds %Cmp_Val, ptr %t176, i32 0, i32 0 %t178 = load ptr, ptr %t177 call void @fn_ll_ui_set(i32 %t174, i32 %t175, ptr %t178) %t180 = load i32, ptr %t166 %t181 = icmp eq i32 %t180, 4 %t182 = zext i1 %t181 to i32 %t183 = icmp ne i32 %t182, 0 %t184 = zext i1 %t183 to i32 store i32 %t184, ptr %t179 br i1 %t183, label %scend47, label %sc46 sc46: %t185 = load i32, ptr %t166 %t186 = icmp eq i32 %t185, 5 %t187 = zext i1 %t186 to i32 %t188 = icmp ne i32 %t187, 0 %t189 = zext i1 %t188 to i32 store i32 %t189, ptr %t179 br label %scend47 scend47: %t190 = load i32, ptr %t179 %t191 = icmp ne i32 %t190, 0 br i1 %t191, label %then48, label %ifend50 then48: %t192 = load i32, ptr %t10 call void @fn_ll_ui_set(i32 %t192, i32 6, ptr @.str12559) br label %ifend50 ifend50: br label %ifend45 ifend45: br label %ifend33 ifend33: br label %ifend27 ifend27: br label %ifend22 ifend22: %t193 = load i32, ptr %t55 %t194 = add i32 %t193, 1 store i32 %t194, ptr %t55 br label %wcond10 wend12: %t195 = load i32, ptr %t10 %t196 = add i32 %t195, 1 store i32 %t196, ptr %t10 br label %wcond0 wend2: %t197 = load ptr, ptr %t4 store ptr %t197, ptr @g_code call void @fn_emit(ptr @.str12560) %t198 = load ptr, ptr @g_falloc %t199 = call ptr @fn_buf_str(ptr %t198) call void @fn_emit(ptr %t199) %t200 = load ptr, ptr %t1 %t201 = call ptr @fn_buf_str(ptr %t200) call void @fn_emit(ptr %t201) call void @fn_emit(ptr @.str12561) br label %ret ret: ret void } define void @fn_emit_params_sig(ptr %arg_d) { entry: %t0 = alloca ptr %t1 = alloca i32 store ptr %arg_d, ptr %t0 store i32 0, ptr %t1 br label %wcond0 wcond0: %t2 = load i32, ptr %t1 %t3 = load ptr, ptr %t0 %t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7 %t5 = load ptr, ptr %t4 %t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1 %t7 = load i32, ptr %t6 %t8 = icmp slt i32 %t2, %t7 %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %wbody1, label %wend2 wbody1: %t11 = load i32, ptr %t1 %t12 = icmp sgt i32 %t11, 0 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str12562) br label %ifend5 ifend5: %t15 = load ptr, ptr %t0 %t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7 %t17 = load ptr, ptr %t16 %t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0 %t19 = load ptr, ptr %t18 %t20 = load i32, ptr %t1 %t21 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1 %t22 = load i32, ptr %t21 %t23 = icmp ult i32 %t20, %t22 br i1 %t23, label %ixok6, label %ixbad7 ixbad7: %t24 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t24, ptr @.fmt_bounds, ptr @.str12563, i32 %t20, i32 %t22) call void @exit(i32 1) unreachable ixok6: %t25 = getelementptr inbounds ptr, ptr %t19, i32 %t20 %t26 = load ptr, ptr %t25 %t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 3 %t28 = load ptr, ptr %t27 %t29 = call ptr @fn_llty(ptr %t28) call void @fn_emit(ptr %t29) call void @fn_emit(ptr @.str12564) %t30 = load ptr, ptr %t0 %t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7 %t32 = load ptr, ptr %t31 %t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0 %t34 = load ptr, ptr %t33 %t35 = load i32, ptr %t1 %t36 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1 %t37 = load i32, ptr %t36 %t38 = icmp ult i32 %t35, %t37 br i1 %t38, label %ixok8, label %ixbad9 ixbad9: %t39 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t39, ptr @.fmt_bounds, ptr @.str12565, i32 %t35, i32 %t37) call void @exit(i32 1) unreachable ixok8: %t40 = getelementptr inbounds ptr, ptr %t34, i32 %t35 %t41 = load ptr, ptr %t40 %t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1 %t43 = load ptr, ptr %t42 call void @fn_emit(ptr %t43) %t44 = load i32, ptr %t1 %t45 = add i32 %t44, 1 store i32 %t45, ptr %t1 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_emit_fn(ptr %arg_d) { entry: %t0 = alloca ptr %t8 = alloca ptr %t11 = alloca ptr %t15 = alloca ptr %t25 = alloca i32 %t47 = alloca ptr %t53 = alloca ptr %t74 = alloca i32 %t109 = alloca ptr store ptr %arg_d, ptr %t0 store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop %t1 = load ptr, ptr %t0 %t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1 %t3 = load ptr, ptr %t2 call void @fn_det_enter(ptr %t3) store ptr null, ptr @g_g_cur_scene %t4 = load ptr, ptr %t0 %t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 3 %t6 = load ptr, ptr %t5 store ptr %t6, ptr @g_ret_ty %t7 = call ptr @fn_buf_new() store ptr %t7, ptr %t8 %t9 = call ptr @fn_buf_new() store ptr %t9, ptr @g_falloc %t10 = load ptr, ptr @g_code store ptr %t10, ptr %t11 %t12 = load ptr, ptr %t8 store ptr %t12, ptr @g_code %t13 = load ptr, ptr @g_ret_ty %t14 = call ptr @fn_llty(ptr %t13) store ptr %t14, ptr %t15 %t16 = load ptr, ptr %t15 %t17 = call i32 @lp_str_eq(ptr %t16, ptr @.str12566) %t18 = icmp eq i32 %t17, 0 %t19 = zext i1 %t18 to i32 %t20 = icmp ne i32 %t19, 0 br i1 %t20, label %then0, label %ifend2 then0: %t21 = load ptr, ptr @g_falloc call void @fn_buf_puts(ptr %t21, ptr @.str12567) %t22 = load ptr, ptr @g_falloc %t23 = load ptr, ptr %t15 call void @fn_buf_puts(ptr %t22, ptr %t23) %t24 = load ptr, ptr @g_falloc call void @fn_buf_puts(ptr %t24, ptr @.str12568) br label %ifend2 ifend2: store i32 0, ptr %t25 br label %wcond3 wcond3: %t26 = load i32, ptr %t25 %t27 = load ptr, ptr %t0 %t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 7 %t29 = load ptr, ptr %t28 %t30 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp slt i32 %t26, %t31 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %wbody4, label %wend5 wbody4: %t35 = load ptr, ptr %t0 %t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 7 %t37 = load ptr, ptr %t36 %t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0 %t39 = load ptr, ptr %t38 %t40 = load i32, ptr %t25 %t41 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1 %t42 = load i32, ptr %t41 %t43 = icmp ult i32 %t40, %t42 br i1 %t43, label %ixok6, label %ixbad7 ixbad7: %t44 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t44, ptr @.fmt_bounds, ptr @.str12569, i32 %t40, i32 %t42) call void @exit(i32 1) unreachable ixok6: %t45 = getelementptr inbounds ptr, ptr %t39, i32 %t40 %t46 = load ptr, ptr %t45 store ptr %t46, ptr %t47 %t48 = load ptr, ptr %t47 %t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 3 %t50 = load ptr, ptr %t49 %t51 = call ptr @fn_llty(ptr %t50) %t52 = call ptr @fn_emit_alloca(ptr %t51) store ptr %t52, ptr %t53 call void @fn_emit(ptr @.str12570) %t54 = load ptr, ptr %t47 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 3 %t56 = load ptr, ptr %t55 %t57 = call ptr @fn_llty(ptr %t56) call void @fn_emit(ptr %t57) call void @fn_emit(ptr @.str12571) %t58 = load ptr, ptr %t47 %t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1 %t60 = load ptr, ptr %t59 call void @fn_emit(ptr %t60) call void @fn_emit(ptr @.str12572) %t61 = load ptr, ptr %t53 call void @fn_emit(ptr %t61) call void @fn_emit(ptr @.str12573) %t62 = load ptr, ptr %t47 %t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1 %t64 = load ptr, ptr %t63 %t65 = load ptr, ptr %t53 %t66 = load ptr, ptr %t47 %t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 3 %t68 = load ptr, ptr %t67 call void @fn_loc_push(ptr %t64, ptr %t65, ptr %t68) %t69 = load i32, ptr %t25 %t70 = add i32 %t69, 1 store i32 %t70, ptr %t25 br label %wcond3 wend5: %t71 = load ptr, ptr %t0 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 4 %t73 = load ptr, ptr %t72 call void @fn_emit_block(ptr %t73) %t75 = load ptr, ptr %t15 %t76 = call i32 @lp_str_eq(ptr %t75, ptr @.str12574) %t77 = icmp eq i32 %t76, 0 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t74 br i1 %t79, label %sc8, label %scend9 sc8: %t81 = load ptr, ptr %t0 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 4 %t83 = load ptr, ptr %t82 %t84 = call i32 @fn_block_ends(ptr %t83) %t85 = icmp eq i32 %t84, 0 %t86 = zext i1 %t85 to i32 %t87 = icmp ne i32 %t86, 0 %t88 = zext i1 %t87 to i32 store i32 %t88, ptr %t74 br label %scend9 scend9: %t89 = load i32, ptr %t74 %t90 = icmp ne i32 %t89, 0 br i1 %t90, label %then10, label %ifend12 then10: %t91 = load ptr, ptr %t0 %t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 1 %t93 = load ptr, ptr %t92 %t94 = call ptr @lp_str_concat(ptr @.str12575, ptr %t93) %t95 = call ptr @lp_str_concat(ptr %t94, ptr @.str12576) %t96 = load ptr, ptr @g_ret_ty %t97 = call ptr @lp_str_concat(ptr %t95, ptr %t96) call void @fn_perr(ptr %t97) br label %ifend12 ifend12: %t98 = load i32, ptr @g_g_term %t99 = icmp eq i32 %t98, 0 %t100 = zext i1 %t99 to i32 %t101 = icmp ne i32 %t100, 0 br i1 %t101, label %then13, label %ifend15 then13: call void @fn_emit(ptr @.str12577) br label %ifend15 ifend15: call void @fn_emit(ptr @.str12578) %t102 = load ptr, ptr %t15 %t103 = call i32 @lp_str_eq(ptr %t102, ptr @.str12579) %t104 = icmp ne i32 %t103, 0 br i1 %t104, label %then16, label %else17 then16: call void @fn_emit(ptr @.str12580) br label %ifend18 else17: %t105 = load ptr, ptr %t15 %t106 = call ptr @lp_str_concat(ptr @.str12581, ptr %t105) %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str12582) %t108 = call ptr @fn_emit_bind(ptr %t107) store ptr %t108, ptr %t109 call void @fn_emit(ptr @.str12583) %t110 = load ptr, ptr %t15 call void @fn_emit(ptr %t110) call void @fn_emit(ptr @.str12584) %t111 = load ptr, ptr %t109 call void @fn_emit(ptr %t111) call void @fn_emit(ptr @.str12585) br label %ifend18 ifend18: %t112 = load ptr, ptr %t11 store ptr %t112, ptr @g_code call void @fn_emit(ptr @.str12586) %t113 = load ptr, ptr %t15 call void @fn_emit(ptr %t113) call void @fn_emit(ptr @.str12587) %t114 = load ptr, ptr %t0 %t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1 %t116 = load ptr, ptr %t115 call void @fn_emit(ptr %t116) call void @fn_emit(ptr @.str12588) %t117 = load ptr, ptr %t0 call void @fn_emit_params_sig(ptr %t117) call void @fn_emit(ptr @.str12589) %t118 = load ptr, ptr @g_falloc %t119 = call ptr @fn_buf_str(ptr %t118) call void @fn_emit(ptr %t119) %t120 = load ptr, ptr %t8 %t121 = call ptr @fn_buf_str(ptr %t120) call void @fn_emit(ptr %t121) call void @fn_emit(ptr @.str12590) store ptr @.str12591, ptr @g_g_det_ctx br label %ret ret: ret void } define void @fn_emit_main(ptr %arg_d) { entry: %t0 = alloca ptr %t2 = alloca ptr %t5 = alloca ptr %t20 = alloca ptr store ptr %arg_d, ptr %t0 store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop store ptr @.str12592, ptr @g_ret_ty %t1 = call ptr @fn_buf_new() store ptr %t1, ptr %t2 %t3 = call ptr @fn_buf_new() store ptr %t3, ptr @g_falloc %t4 = load ptr, ptr @g_code store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t2 store ptr %t6, ptr @g_code %t7 = load ptr, ptr @g_falloc call void @fn_buf_puts(ptr %t7, ptr @.str12593) call void @fn_emit(ptr @.str12594) call void @fn_emit(ptr @.str12595) call void @fn_emit(ptr @.str12596) %t8 = call ptr @fn_find_fn(ptr @.str12597) %t9 = icmp ne ptr %t8, null %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str12598) br label %ifend2 ifend2: call void @fn_emit(ptr @.str12599) %t12 = load ptr, ptr %t0 %t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 4 %t14 = load ptr, ptr %t13 call void @fn_emit_block(ptr %t14) %t15 = load i32, ptr @g_g_term %t16 = icmp eq i32 %t15, 0 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: call void @fn_emit(ptr @.str12600) br label %ifend5 ifend5: call void @fn_emit(ptr @.str12601) %t19 = call ptr @fn_emit_bind(ptr @.str12602) store ptr %t19, ptr %t20 call void @fn_emit(ptr @.str12603) %t21 = load ptr, ptr %t20 call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str12604) %t22 = load ptr, ptr %t5 store ptr %t22, ptr @g_code call void @fn_emit(ptr @.str12605) %t23 = load ptr, ptr @g_falloc %t24 = call ptr @fn_buf_str(ptr %t23) call void @fn_emit(ptr %t24) %t25 = load ptr, ptr %t2 %t26 = call ptr @fn_buf_str(ptr %t25) call void @fn_emit(ptr %t26) call void @fn_emit(ptr @.str12606) br label %ret ret: ret void } define void @fn_emit_test_fn(ptr %arg_t, i32 %arg_idx) { entry: %t0 = alloca ptr %t1 = alloca i32 %t3 = alloca ptr %t6 = alloca ptr store ptr %arg_t, ptr %t0 store i32 %arg_idx, ptr %t1 store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl store i32 0, ptr @g_g_term call void @fn_loc_reset() store i32 0, ptr @g_nloop store ptr @.str12607, ptr @g_ret_ty %t2 = call ptr @fn_buf_new() store ptr %t2, ptr %t3 %t4 = call ptr @fn_buf_new() store ptr %t4, ptr @g_falloc %t5 = load ptr, ptr @g_code store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t3 store ptr %t7, ptr @g_code %t8 = load ptr, ptr %t0 %t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4 %t10 = load ptr, ptr %t9 call void @fn_emit_block(ptr %t10) %t11 = load i32, ptr @g_g_term %t12 = icmp eq i32 %t11, 0 %t13 = zext i1 %t12 to i32 %t14 = icmp ne i32 %t13, 0 br i1 %t14, label %then0, label %ifend2 then0: call void @fn_emit(ptr @.str12608) br label %ifend2 ifend2: call void @fn_emit(ptr @.str12609) %t15 = load ptr, ptr %t6 store ptr %t15, ptr @g_code call void @fn_emit(ptr @.str12610) %t16 = load i32, ptr %t1 %t17 = call ptr @fn_itoa(i32 %t16) call void @fn_emit(ptr %t17) call void @fn_emit(ptr @.str12611) %t18 = load ptr, ptr @g_falloc %t19 = call ptr @fn_buf_str(ptr %t18) call void @fn_emit(ptr %t19) %t20 = load ptr, ptr %t3 %t21 = call ptr @fn_buf_str(ptr %t20) call void @fn_emit(ptr %t21) call void @fn_emit(ptr @.str12612) br label %ret ret: ret void } define void @fn_emit_test_runner() { entry: %t0 = alloca i32 %t24 = alloca ptr %t26 = alloca ptr %t28 = alloca ptr %t41 = alloca ptr %t45 = alloca ptr %t77 = alloca ptr %t92 = alloca ptr %t106 = alloca ptr %t108 = alloca ptr %t110 = alloca ptr %t112 = alloca ptr %t114 = alloca ptr %t119 = alloca ptr %t138 = alloca ptr %t143 = alloca ptr %t156 = alloca ptr %t161 = alloca ptr %t170 = alloca ptr %t175 = alloca ptr %t177 = alloca ptr %t179 = alloca ptr %t181 = alloca ptr %t202 = alloca ptr %t207 = alloca ptr %t227 = alloca ptr %t229 = alloca ptr %t231 = alloca ptr %t233 = alloca ptr %t238 = alloca ptr %t243 = alloca ptr %t250 = alloca ptr %t268 = alloca ptr %t275 = alloca ptr %t286 = alloca ptr %t291 = alloca ptr call void @fn_emith(ptr @.str12613) call void @fn_emith(ptr @.str12614) call void @fn_emith(ptr @.str12615) store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_g_tests %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_g_tests %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12616, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 %t18 = load i32, ptr %t0 call void @fn_emit_test_fn(ptr %t17, i32 %t18) %t19 = load i32, ptr %t0 %t20 = add i32 %t19, 1 store i32 %t20, ptr %t0 br label %wcond0 wend2: %t21 = load i32, ptr @g_g_uses_expect %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then5, label %ifend7 then5: call void @fn_emith(ptr @.str12617) br label %ifend7 ifend7: store i32 0, ptr @g_ll_t store i32 0, ptr @g_ll_lbl call void @fn_emit(ptr @.str12618) call void @fn_emit(ptr @.str12619) call void @fn_emit(ptr @.str12620) call void @fn_emit(ptr @.str12621) call void @fn_emit(ptr @.str12622) call void @fn_emit(ptr @.str12623) %t23 = call ptr @fn_lbl(ptr @.str12624) store ptr %t23, ptr %t24 %t25 = call ptr @fn_lbl(ptr @.str12625) store ptr %t25, ptr %t26 %t27 = call ptr @fn_emit_bind(ptr @.str12626) store ptr %t27, ptr %t28 %t29 = load ptr, ptr %t28 %t30 = call ptr @lp_str_concat(ptr @.str12627, ptr %t29) %t31 = call ptr @lp_str_concat(ptr %t30, ptr @.str12628) %t32 = load ptr, ptr %t24 %t33 = call ptr @lp_str_concat(ptr %t31, ptr %t32) %t34 = call ptr @lp_str_concat(ptr %t33, ptr @.str12629) %t35 = load ptr, ptr %t26 %t36 = call ptr @lp_str_concat(ptr %t34, ptr %t35) %t37 = call ptr @lp_str_concat(ptr %t36, ptr @.str12630) call void @fn_emit(ptr %t37) %t38 = load ptr, ptr %t24 %t39 = call ptr @lp_str_concat(ptr %t38, ptr @.str12631) call void @fn_emit(ptr %t39) %t40 = call ptr @fn_emit_bind(ptr @.str12632) store ptr %t40, ptr %t41 %t42 = load ptr, ptr %t41 %t43 = call ptr @lp_str_concat(ptr @.str12633, ptr %t42) %t44 = call ptr @fn_emit_bind(ptr %t43) store ptr %t44, ptr %t45 %t46 = load ptr, ptr %t45 %t47 = call ptr @lp_str_concat(ptr @.str12634, ptr %t46) %t48 = call ptr @lp_str_concat(ptr %t47, ptr @.str12635) call void @fn_emit(ptr %t48) %t49 = load ptr, ptr %t26 %t50 = call ptr @lp_str_concat(ptr @.str12636, ptr %t49) %t51 = call ptr @lp_str_concat(ptr %t50, ptr @.str12637) call void @fn_emit(ptr %t51) %t52 = load ptr, ptr %t26 %t53 = call ptr @lp_str_concat(ptr %t52, ptr @.str12638) call void @fn_emit(ptr %t53) %t54 = call i32 @fn_has_ecs() %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then8, label %ifend10 then8: call void @fn_emit(ptr @.str12639) br label %ifend10 ifend10: call void @fn_emit(ptr @.str12640) store i32 0, ptr %t0 br label %wcond11 wcond11: %t56 = load i32, ptr %t0 %t57 = load ptr, ptr @g_g_tests %t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1 %t59 = load i32, ptr %t58 %t60 = icmp slt i32 %t56, %t59 %t61 = zext i1 %t60 to i32 %t62 = icmp ne i32 %t61, 0 br i1 %t62, label %wbody12, label %wend13 wbody12: %t63 = load ptr, ptr @g_g_tests %t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 0 %t65 = load ptr, ptr %t64 %t66 = load i32, ptr %t0 %t67 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1 %t68 = load i32, ptr %t67 %t69 = icmp ult i32 %t66, %t68 br i1 %t69, label %ixok14, label %ixbad15 ixbad15: %t70 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t70, ptr @.fmt_bounds, ptr @.str12642, i32 %t66, i32 %t68) call void @exit(i32 1) unreachable ixok14: %t71 = getelementptr inbounds ptr, ptr %t65, i32 %t66 %t72 = load ptr, ptr %t71 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1 %t74 = load ptr, ptr %t73 %t75 = call ptr @lp_str_concat(ptr @.str12641, ptr %t74) %t76 = call ptr @fn_emit_str_const(ptr %t75) store ptr %t76, ptr %t77 %t78 = load ptr, ptr @g_g_tests %t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = load i32, ptr %t0 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t81, %t83 br i1 %t84, label %ixok16, label %ixbad17 ixbad17: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str12644, i32 %t81, i32 %t83) call void @exit(i32 1) unreachable ixok16: %t86 = getelementptr inbounds ptr, ptr %t80, i32 %t81 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 1 %t89 = load ptr, ptr %t88 %t90 = call ptr @lp_str_concat(ptr @.str12643, ptr %t89) %t91 = call ptr @fn_emit_str_const(ptr %t90) store ptr %t91, ptr %t92 %t93 = load ptr, ptr @g_g_tests %t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0 %t95 = load ptr, ptr %t94 %t96 = load i32, ptr %t0 %t97 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1 %t98 = load i32, ptr %t97 %t99 = icmp ult i32 %t96, %t98 br i1 %t99, label %ixok18, label %ixbad19 ixbad19: %t100 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t100, ptr @.fmt_bounds, ptr @.str12645, i32 %t96, i32 %t98) call void @exit(i32 1) unreachable ixok18: %t101 = getelementptr inbounds ptr, ptr %t95, i32 %t96 %t102 = load ptr, ptr %t101 %t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 1 %t104 = load ptr, ptr %t103 %t105 = call ptr @fn_emit_str_const(ptr %t104) store ptr %t105, ptr %t106 %t107 = call ptr @fn_lbl(ptr @.str12646) store ptr %t107, ptr %t108 %t109 = call ptr @fn_lbl(ptr @.str12647) store ptr %t109, ptr %t110 %t111 = call ptr @fn_lbl(ptr @.str12648) store ptr %t111, ptr %t112 %t113 = call ptr @fn_emit_bind(ptr @.str12649) store ptr %t113, ptr %t114 %t115 = load ptr, ptr %t114 %t116 = call ptr @lp_str_concat(ptr @.str12650, ptr %t115) %t117 = call ptr @lp_str_concat(ptr %t116, ptr @.str12651) %t118 = call ptr @fn_emit_bind(ptr %t117) store ptr %t118, ptr %t119 %t120 = load ptr, ptr %t119 %t121 = call ptr @lp_str_concat(ptr @.str12652, ptr %t120) %t122 = call ptr @lp_str_concat(ptr %t121, ptr @.str12653) %t123 = load ptr, ptr %t110 %t124 = call ptr @lp_str_concat(ptr %t122, ptr %t123) %t125 = call ptr @lp_str_concat(ptr %t124, ptr @.str12654) %t126 = load ptr, ptr %t108 %t127 = call ptr @lp_str_concat(ptr %t125, ptr %t126) %t128 = call ptr @lp_str_concat(ptr %t127, ptr @.str12655) call void @fn_emit(ptr %t128) %t129 = load ptr, ptr %t108 %t130 = call ptr @lp_str_concat(ptr %t129, ptr @.str12656) call void @fn_emit(ptr %t130) %t131 = load ptr, ptr %t114 %t132 = call ptr @lp_str_concat(ptr @.str12657, ptr %t131) %t133 = call ptr @lp_str_concat(ptr %t132, ptr @.str12658) %t134 = load ptr, ptr %t106 %t135 = call ptr @lp_str_concat(ptr %t133, ptr %t134) %t136 = call ptr @lp_str_concat(ptr %t135, ptr @.str12659) %t137 = call ptr @fn_emit_bind(ptr %t136) store ptr %t137, ptr %t138 %t139 = load ptr, ptr %t138 %t140 = call ptr @lp_str_concat(ptr @.str12660, ptr %t139) %t141 = call ptr @lp_str_concat(ptr %t140, ptr @.str12661) %t142 = call ptr @fn_emit_bind(ptr %t141) store ptr %t142, ptr %t143 %t144 = load ptr, ptr %t143 %t145 = call ptr @lp_str_concat(ptr @.str12662, ptr %t144) %t146 = call ptr @lp_str_concat(ptr %t145, ptr @.str12663) %t147 = load ptr, ptr %t110 %t148 = call ptr @lp_str_concat(ptr %t146, ptr %t147) %t149 = call ptr @lp_str_concat(ptr %t148, ptr @.str12664) %t150 = load ptr, ptr %t112 %t151 = call ptr @lp_str_concat(ptr %t149, ptr %t150) %t152 = call ptr @lp_str_concat(ptr %t151, ptr @.str12665) call void @fn_emit(ptr %t152) %t153 = load ptr, ptr %t110 %t154 = call ptr @lp_str_concat(ptr %t153, ptr @.str12666) call void @fn_emit(ptr %t154) %t155 = call ptr @fn_emit_bind(ptr @.str12667) store ptr %t155, ptr %t156 %t157 = load ptr, ptr %t156 %t158 = call ptr @lp_str_concat(ptr @.str12668, ptr %t157) %t159 = call ptr @lp_str_concat(ptr %t158, ptr @.str12669) %t160 = call ptr @fn_emit_bind(ptr %t159) store ptr %t160, ptr %t161 %t162 = load ptr, ptr %t161 %t163 = call ptr @lp_str_concat(ptr @.str12670, ptr %t162) %t164 = call ptr @lp_str_concat(ptr %t163, ptr @.str12671) call void @fn_emit(ptr %t164) call void @fn_emit(ptr @.str12672) %t165 = load i32, ptr %t0 %t166 = call ptr @fn_itoa(i32 %t165) %t167 = call ptr @lp_str_concat(ptr @.str12673, ptr %t166) %t168 = call ptr @lp_str_concat(ptr %t167, ptr @.str12674) call void @fn_emit(ptr %t168) %t169 = call ptr @fn_emit_bind(ptr @.str12675) store ptr %t169, ptr %t170 %t171 = load ptr, ptr %t170 %t172 = call ptr @lp_str_concat(ptr @.str12676, ptr %t171) %t173 = call ptr @lp_str_concat(ptr %t172, ptr @.str12677) %t174 = call ptr @fn_emit_bind(ptr %t173) store ptr %t174, ptr %t175 %t176 = call ptr @fn_lbl(ptr @.str12678) store ptr %t176, ptr %t177 %t178 = call ptr @fn_lbl(ptr @.str12679) store ptr %t178, ptr %t179 %t180 = call ptr @fn_lbl(ptr @.str12680) store ptr %t180, ptr %t181 %t182 = load ptr, ptr %t175 %t183 = call ptr @lp_str_concat(ptr @.str12681, ptr %t182) %t184 = call ptr @lp_str_concat(ptr %t183, ptr @.str12682) %t185 = load ptr, ptr %t179 %t186 = call ptr @lp_str_concat(ptr %t184, ptr %t185) %t187 = call ptr @lp_str_concat(ptr %t186, ptr @.str12683) %t188 = load ptr, ptr %t177 %t189 = call ptr @lp_str_concat(ptr %t187, ptr %t188) %t190 = call ptr @lp_str_concat(ptr %t189, ptr @.str12684) call void @fn_emit(ptr %t190) %t191 = load ptr, ptr %t177 %t192 = call ptr @lp_str_concat(ptr %t191, ptr @.str12685) call void @fn_emit(ptr %t192) %t193 = load ptr, ptr %t77 %t194 = call ptr @lp_str_concat(ptr @.str12686, ptr %t193) %t195 = call ptr @lp_str_concat(ptr %t194, ptr @.str12687) call void @fn_emit(ptr %t195) %t196 = load ptr, ptr %t181 %t197 = call ptr @lp_str_concat(ptr @.str12688, ptr %t196) %t198 = call ptr @lp_str_concat(ptr %t197, ptr @.str12689) call void @fn_emit(ptr %t198) %t199 = load ptr, ptr %t179 %t200 = call ptr @lp_str_concat(ptr %t199, ptr @.str12690) call void @fn_emit(ptr %t200) %t201 = call ptr @fn_emit_bind(ptr @.str12691) store ptr %t201, ptr %t202 %t203 = load ptr, ptr %t202 %t204 = call ptr @lp_str_concat(ptr @.str12692, ptr %t203) %t205 = call ptr @lp_str_concat(ptr %t204, ptr @.str12693) %t206 = call ptr @fn_emit_bind(ptr %t205) store ptr %t206, ptr %t207 %t208 = load ptr, ptr %t207 %t209 = call ptr @lp_str_concat(ptr @.str12694, ptr %t208) %t210 = call ptr @lp_str_concat(ptr %t209, ptr @.str12695) call void @fn_emit(ptr %t210) %t211 = load ptr, ptr %t92 %t212 = call ptr @lp_str_concat(ptr @.str12696, ptr %t211) %t213 = call ptr @lp_str_concat(ptr %t212, ptr @.str12697) call void @fn_emit(ptr %t213) %t214 = load ptr, ptr %t181 %t215 = call ptr @lp_str_concat(ptr @.str12698, ptr %t214) %t216 = call ptr @lp_str_concat(ptr %t215, ptr @.str12699) call void @fn_emit(ptr %t216) %t217 = load ptr, ptr %t181 %t218 = call ptr @lp_str_concat(ptr %t217, ptr @.str12700) call void @fn_emit(ptr %t218) %t219 = load ptr, ptr %t112 %t220 = call ptr @lp_str_concat(ptr @.str12701, ptr %t219) %t221 = call ptr @lp_str_concat(ptr %t220, ptr @.str12702) call void @fn_emit(ptr %t221) %t222 = load ptr, ptr %t112 %t223 = call ptr @lp_str_concat(ptr %t222, ptr @.str12703) call void @fn_emit(ptr %t223) %t224 = load i32, ptr %t0 %t225 = add i32 %t224, 1 store i32 %t225, ptr %t0 br label %wcond11 wend13: %t226 = call ptr @fn_lbl(ptr @.str12704) store ptr %t226, ptr %t227 %t228 = call ptr @fn_lbl(ptr @.str12705) store ptr %t228, ptr %t229 %t230 = call ptr @fn_emit_bind(ptr @.str12706) store ptr %t230, ptr %t231 %t232 = call ptr @fn_emit_bind(ptr @.str12707) store ptr %t232, ptr %t233 %t234 = load ptr, ptr %t233 %t235 = call ptr @lp_str_concat(ptr @.str12708, ptr %t234) %t236 = call ptr @lp_str_concat(ptr %t235, ptr @.str12709) %t237 = call ptr @fn_emit_bind(ptr %t236) store ptr %t237, ptr %t238 %t239 = load ptr, ptr %t231 %t240 = call ptr @lp_str_concat(ptr @.str12710, ptr %t239) %t241 = call ptr @lp_str_concat(ptr %t240, ptr @.str12711) %t242 = call ptr @fn_emit_bind(ptr %t241) store ptr %t242, ptr %t243 %t244 = load ptr, ptr %t238 %t245 = call ptr @lp_str_concat(ptr @.str12712, ptr %t244) %t246 = call ptr @lp_str_concat(ptr %t245, ptr @.str12713) %t247 = load ptr, ptr %t243 %t248 = call ptr @lp_str_concat(ptr %t246, ptr %t247) %t249 = call ptr @fn_emit_bind(ptr %t248) store ptr %t249, ptr %t250 %t251 = load ptr, ptr %t250 %t252 = call ptr @lp_str_concat(ptr @.str12714, ptr %t251) %t253 = call ptr @lp_str_concat(ptr %t252, ptr @.str12715) %t254 = load ptr, ptr %t227 %t255 = call ptr @lp_str_concat(ptr %t253, ptr %t254) %t256 = call ptr @lp_str_concat(ptr %t255, ptr @.str12716) %t257 = load ptr, ptr %t229 %t258 = call ptr @lp_str_concat(ptr %t256, ptr %t257) %t259 = call ptr @lp_str_concat(ptr %t258, ptr @.str12717) call void @fn_emit(ptr %t259) %t260 = load ptr, ptr %t227 %t261 = call ptr @lp_str_concat(ptr %t260, ptr @.str12718) call void @fn_emit(ptr %t261) %t262 = load ptr, ptr %t233 %t263 = call ptr @lp_str_concat(ptr @.str12719, ptr %t262) %t264 = call ptr @lp_str_concat(ptr %t263, ptr @.str12720) call void @fn_emit(ptr %t264) call void @fn_emit(ptr @.str12721) %t265 = load ptr, ptr %t229 %t266 = call ptr @lp_str_concat(ptr %t265, ptr @.str12722) call void @fn_emit(ptr %t266) %t267 = call ptr @fn_emit_bind(ptr @.str12723) store ptr %t267, ptr %t268 %t269 = load ptr, ptr %t231 %t270 = call ptr @lp_str_concat(ptr @.str12724, ptr %t269) %t271 = call ptr @lp_str_concat(ptr %t270, ptr @.str12725) %t272 = load ptr, ptr %t268 %t273 = call ptr @lp_str_concat(ptr %t271, ptr %t272) %t274 = call ptr @fn_emit_bind(ptr %t273) store ptr %t274, ptr %t275 %t276 = load ptr, ptr %t275 %t277 = call ptr @lp_str_concat(ptr @.str12726, ptr %t276) %t278 = call ptr @lp_str_concat(ptr %t277, ptr @.str12727) %t279 = load ptr, ptr %t268 %t280 = call ptr @lp_str_concat(ptr %t278, ptr %t279) %t281 = call ptr @lp_str_concat(ptr %t280, ptr @.str12728) call void @fn_emit(ptr %t281) %t282 = load ptr, ptr %t268 %t283 = call ptr @lp_str_concat(ptr @.str12729, ptr %t282) %t284 = call ptr @lp_str_concat(ptr %t283, ptr @.str12730) %t285 = call ptr @fn_emit_bind(ptr %t284) store ptr %t285, ptr %t286 %t287 = load ptr, ptr %t286 %t288 = call ptr @lp_str_concat(ptr @.str12731, ptr %t287) %t289 = call ptr @lp_str_concat(ptr %t288, ptr @.str12732) %t290 = call ptr @fn_emit_bind(ptr %t289) store ptr %t290, ptr %t291 %t292 = load ptr, ptr %t291 %t293 = call ptr @lp_str_concat(ptr @.str12733, ptr %t292) %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str12734) call void @fn_emit(ptr %t294) br label %ret ret: ret void } define void @fn_check_duplicate_fns() { entry: %t0 = alloca i32 %t18 = alloca ptr %t27 = alloca i32 %t45 = alloca ptr %t46 = alloca i32 store i32 0, ptr %t0 br label %wcond0 wcond0: %t1 = load i32, ptr %t0 %t2 = load ptr, ptr @g_prog %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 %t4 = load i32, ptr %t3 %t5 = icmp slt i32 %t1, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %wbody1, label %wend2 wbody1: %t8 = load ptr, ptr @g_prog %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 %t10 = load ptr, ptr %t9 %t11 = load i32, ptr %t0 %t12 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp ult i32 %t11, %t13 br i1 %t14, label %ixok3, label %ixbad4 ixbad4: %t15 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t15, ptr @.fmt_bounds, ptr @.str12735, i32 %t11, i32 %t13) call void @exit(i32 1) unreachable ixok3: %t16 = getelementptr inbounds ptr, ptr %t10, i32 %t11 %t17 = load ptr, ptr %t16 store ptr %t17, ptr %t18 %t19 = load ptr, ptr %t18 %t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0 %t21 = load i32, ptr %t20 %t22 = icmp eq i32 %t21, 4 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %then5, label %ifend7 then5: %t25 = load i32, ptr %t0 %t26 = add i32 %t25, 1 store i32 %t26, ptr %t27 br label %wcond8 wcond8: %t28 = load i32, ptr %t27 %t29 = load ptr, ptr @g_prog %t30 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp slt i32 %t28, %t31 %t33 = zext i1 %t32 to i32 %t34 = icmp ne i32 %t33, 0 br i1 %t34, label %wbody9, label %wend10 wbody9: %t35 = load ptr, ptr @g_prog %t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0 %t37 = load ptr, ptr %t36 %t38 = load i32, ptr %t27 %t39 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 1 %t40 = load i32, ptr %t39 %t41 = icmp ult i32 %t38, %t40 br i1 %t41, label %ixok11, label %ixbad12 ixbad12: %t42 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t42, ptr @.fmt_bounds, ptr @.str12736, i32 %t38, i32 %t40) call void @exit(i32 1) unreachable ixok11: %t43 = getelementptr inbounds ptr, ptr %t37, i32 %t38 %t44 = load ptr, ptr %t43 store ptr %t44, ptr %t45 %t47 = load ptr, ptr %t45 %t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 0 %t49 = load i32, ptr %t48 %t50 = icmp eq i32 %t49, 4 %t51 = zext i1 %t50 to i32 %t52 = icmp ne i32 %t51, 0 %t53 = zext i1 %t52 to i32 store i32 %t53, ptr %t46 br i1 %t52, label %sc13, label %scend14 sc13: %t54 = load ptr, ptr %t45 %t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1 %t56 = load ptr, ptr %t55 %t57 = load ptr, ptr %t18 %t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 1 %t59 = load ptr, ptr %t58 %t60 = call i32 @lp_str_eq(ptr %t56, ptr %t59) %t61 = icmp ne i32 %t60, 0 %t62 = zext i1 %t61 to i32 store i32 %t62, ptr %t46 br label %scend14 scend14: %t63 = load i32, ptr %t46 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then15, label %ifend17 then15: %t65 = load ptr, ptr %t45 %t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 9 %t67 = load ptr, ptr %t66 store ptr %t67, ptr @g_g_err_file %t68 = load ptr, ptr %t45 %t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 8 %t70 = load i32, ptr %t69 store i32 %t70, ptr @g_g_err_line %t71 = load ptr, ptr %t18 %t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1 %t73 = load ptr, ptr %t72 %t74 = call ptr @lp_str_concat(ptr @.str12737, ptr %t73) %t75 = call ptr @lp_str_concat(ptr %t74, ptr @.str12738) %t76 = load ptr, ptr %t18 %t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 9 %t78 = load ptr, ptr %t77 %t79 = call ptr @lp_str_concat(ptr %t75, ptr %t78) %t80 = call ptr @lp_str_concat(ptr %t79, ptr @.str12739) %t81 = load ptr, ptr %t18 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 8 %t83 = load i32, ptr %t82 %t84 = call ptr @fn_itoa(i32 %t83) %t85 = call ptr @lp_str_concat(ptr %t80, ptr %t84) %t86 = call ptr @lp_str_concat(ptr %t85, ptr @.str12740) call void @fn_perr(ptr %t86) br label %ifend17 ifend17: %t87 = load i32, ptr %t27 %t88 = add i32 %t87, 1 store i32 %t88, ptr %t27 br label %wcond8 wend10: br label %ifend7 ifend7: %t89 = load i32, ptr %t0 %t90 = add i32 %t89, 1 store i32 %t90, ptr %t0 br label %wcond0 wend2: br label %ret ret: ret void } define i32 @fn_decl_group(i32 %arg_k) { entry: %retval = alloca i32 %t0 = alloca i32 %t1 = alloca i32 %t2 = alloca i32 %t23 = alloca i32 %t24 = alloca i32 store i32 %arg_k, ptr %t0 %t3 = load i32, ptr %t0 %t4 = icmp eq i32 %t3, 2 %t5 = zext i1 %t4 to i32 %t6 = icmp ne i32 %t5, 0 %t7 = zext i1 %t6 to i32 store i32 %t7, ptr %t2 br i1 %t6, label %scend1, label %sc0 sc0: %t8 = load i32, ptr %t0 %t9 = icmp eq i32 %t8, 3 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 %t12 = zext i1 %t11 to i32 store i32 %t12, ptr %t2 br label %scend1 scend1: %t13 = load i32, ptr %t2 %t14 = icmp ne i32 %t13, 0 %t15 = zext i1 %t14 to i32 store i32 %t15, ptr %t1 br i1 %t14, label %scend3, label %sc2 sc2: %t16 = load i32, ptr %t0 %t17 = icmp eq i32 %t16, 27 %t18 = zext i1 %t17 to i32 %t19 = icmp ne i32 %t18, 0 %t20 = zext i1 %t19 to i32 store i32 %t20, ptr %t1 br label %scend3 scend3: %t21 = load i32, ptr %t1 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %then4, label %ifend6 then4: store i32 1, ptr %retval br label %ret ifend6: %t25 = load i32, ptr %t0 %t26 = icmp eq i32 %t25, 0 %t27 = zext i1 %t26 to i32 %t28 = icmp ne i32 %t27, 0 %t29 = zext i1 %t28 to i32 store i32 %t29, ptr %t24 br i1 %t28, label %scend8, label %sc7 sc7: %t30 = load i32, ptr %t0 %t31 = icmp eq i32 %t30, 8 %t32 = zext i1 %t31 to i32 %t33 = icmp ne i32 %t32, 0 %t34 = zext i1 %t33 to i32 store i32 %t34, ptr %t24 br label %scend8 scend8: %t35 = load i32, ptr %t24 %t36 = icmp ne i32 %t35, 0 %t37 = zext i1 %t36 to i32 store i32 %t37, ptr %t23 br i1 %t36, label %scend10, label %sc9 sc9: %t38 = load i32, ptr %t0 %t39 = icmp eq i32 %t38, 48 %t40 = zext i1 %t39 to i32 %t41 = icmp ne i32 %t40, 0 %t42 = zext i1 %t41 to i32 store i32 %t42, ptr %t23 br label %scend10 scend10: %t43 = load i32, ptr %t23 %t44 = icmp ne i32 %t43, 0 br i1 %t44, label %then11, label %ifend13 then11: store i32 2, ptr %retval br label %ret ifend13: store i32 0, ptr %retval br label %ret ret: %t45 = load i32, ptr %retval ret i32 %t45 } define void @fn_check_duplicate_decls() { entry: %t1 = alloca i32 %t2 = alloca i32 %t3 = alloca i32 %t30 = alloca ptr %t35 = alloca i32 %t42 = alloca i32 %t43 = alloca i32 %t70 = alloca ptr %t71 = alloca i32 %t0 = load i32, ptr @g_g_prog_user_end store i32 %t0, ptr %t1 store i32 0, ptr %t2 br label %wcond0 wcond0: %t4 = load i32, ptr %t2 %t5 = load i32, ptr %t1 %t6 = icmp slt i32 %t4, %t5 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 %t9 = zext i1 %t8 to i32 store i32 %t9, ptr %t3 br i1 %t8, label %sc3, label %scend4 sc3: %t10 = load i32, ptr %t2 %t11 = load ptr, ptr @g_prog %t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1 %t13 = load i32, ptr %t12 %t14 = icmp slt i32 %t10, %t13 %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 %t17 = zext i1 %t16 to i32 store i32 %t17, ptr %t3 br label %scend4 scend4: %t18 = load i32, ptr %t3 %t19 = icmp ne i32 %t18, 0 br i1 %t19, label %wbody1, label %wend2 wbody1: %t20 = load ptr, ptr @g_prog %t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0 %t22 = load ptr, ptr %t21 %t23 = load i32, ptr %t2 %t24 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1 %t25 = load i32, ptr %t24 %t26 = icmp ult i32 %t23, %t25 br i1 %t26, label %ixok5, label %ixbad6 ixbad6: %t27 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t27, ptr @.fmt_bounds, ptr @.str12741, i32 %t23, i32 %t25) call void @exit(i32 1) unreachable ixok5: %t28 = getelementptr inbounds ptr, ptr %t22, i32 %t23 %t29 = load ptr, ptr %t28 store ptr %t29, ptr %t30 %t31 = load ptr, ptr %t30 %t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 0 %t33 = load i32, ptr %t32 %t34 = call i32 @fn_decl_group(i32 %t33) store i32 %t34, ptr %t35 %t36 = load i32, ptr %t35 %t37 = icmp sgt i32 %t36, 0 %t38 = zext i1 %t37 to i32 %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then7, label %ifend9 then7: %t40 = load i32, ptr %t2 %t41 = add i32 %t40, 1 store i32 %t41, ptr %t42 br label %wcond10 wcond10: %t44 = load i32, ptr %t42 %t45 = load i32, ptr %t1 %t46 = icmp slt i32 %t44, %t45 %t47 = zext i1 %t46 to i32 %t48 = icmp ne i32 %t47, 0 %t49 = zext i1 %t48 to i32 store i32 %t49, ptr %t43 br i1 %t48, label %sc13, label %scend14 sc13: %t50 = load i32, ptr %t42 %t51 = load ptr, ptr @g_prog %t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 1 %t53 = load i32, ptr %t52 %t54 = icmp slt i32 %t50, %t53 %t55 = zext i1 %t54 to i32 %t56 = icmp ne i32 %t55, 0 %t57 = zext i1 %t56 to i32 store i32 %t57, ptr %t43 br label %scend14 scend14: %t58 = load i32, ptr %t43 %t59 = icmp ne i32 %t58, 0 br i1 %t59, label %wbody11, label %wend12 wbody11: %t60 = load ptr, ptr @g_prog %t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0 %t62 = load ptr, ptr %t61 %t63 = load i32, ptr %t42 %t64 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 1 %t65 = load i32, ptr %t64 %t66 = icmp ult i32 %t63, %t65 br i1 %t66, label %ixok15, label %ixbad16 ixbad16: %t67 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t67, ptr @.fmt_bounds, ptr @.str12742, i32 %t63, i32 %t65) call void @exit(i32 1) unreachable ixok15: %t68 = getelementptr inbounds ptr, ptr %t62, i32 %t63 %t69 = load ptr, ptr %t68 store ptr %t69, ptr %t70 %t72 = load ptr, ptr %t70 %t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 0 %t74 = load i32, ptr %t73 %t75 = call i32 @fn_decl_group(i32 %t74) %t76 = load i32, ptr %t35 %t77 = icmp eq i32 %t75, %t76 %t78 = zext i1 %t77 to i32 %t79 = icmp ne i32 %t78, 0 %t80 = zext i1 %t79 to i32 store i32 %t80, ptr %t71 br i1 %t79, label %sc17, label %scend18 sc17: %t81 = load ptr, ptr %t70 %t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 1 %t83 = load ptr, ptr %t82 %t84 = load ptr, ptr %t30 %t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 1 %t86 = load ptr, ptr %t85 %t87 = call i32 @lp_str_eq(ptr %t83, ptr %t86) %t88 = icmp ne i32 %t87, 0 %t89 = zext i1 %t88 to i32 store i32 %t89, ptr %t71 br label %scend18 scend18: %t90 = load i32, ptr %t71 %t91 = icmp ne i32 %t90, 0 br i1 %t91, label %then19, label %ifend21 then19: %t92 = load ptr, ptr %t70 %t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 9 %t94 = load ptr, ptr %t93 store ptr %t94, ptr @g_g_err_file %t95 = load ptr, ptr %t70 %t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 8 %t97 = load i32, ptr %t96 store i32 %t97, ptr @g_g_err_line %t98 = load ptr, ptr %t30 %t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 1 %t100 = load ptr, ptr %t99 %t101 = call ptr @lp_str_concat(ptr @.str12743, ptr %t100) %t102 = call ptr @lp_str_concat(ptr %t101, ptr @.str12744) %t103 = load ptr, ptr %t30 %t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 9 %t105 = load ptr, ptr %t104 %t106 = call ptr @lp_str_concat(ptr %t102, ptr %t105) %t107 = call ptr @lp_str_concat(ptr %t106, ptr @.str12745) %t108 = load ptr, ptr %t30 %t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 8 %t110 = load i32, ptr %t109 %t111 = call ptr @fn_itoa(i32 %t110) %t112 = call ptr @lp_str_concat(ptr %t107, ptr %t111) %t113 = call ptr @lp_str_concat(ptr %t112, ptr @.str12746) call void @fn_perr(ptr %t113) br label %ifend21 ifend21: %t114 = load i32, ptr %t42 %t115 = add i32 %t114, 1 store i32 %t115, ptr %t42 br label %wcond10 wend12: br label %ifend9 ifend9: %t116 = load i32, ptr %t2 %t117 = add i32 %t116, 1 store i32 %t117, ptr %t2 br label %wcond0 wend2: br label %ret ret: ret void } define void @fn_emit_program() { entry: %t70 = alloca i32 %t131 = alloca i32 %t242 = alloca i32 call void @fn_check_duplicate_fns() call void @fn_check_duplicate_decls() %t0 = call ptr @fn_buf_new() store ptr %t0, ptr @g_head %t1 = call ptr @fn_buf_new() store ptr %t1, ptr @g_code store i32 0, ptr @g_g_uses_str store i32 0, ptr @g_g_uses_intstr store i32 0, ptr @g_g_uses_fpstr %t2 = getelementptr %LSlice, ptr null, i32 1 %t3 = ptrtoint ptr %t2 to i64 %t4 = call ptr @malloc(i64 %t3) %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0 store ptr null, ptr %t5 %t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 store i32 0, ptr %t6 %t7 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 2 store i32 0, ptr %t7 store ptr %t4, ptr @g_g_fp_decls %t8 = getelementptr %LSlice, ptr null, i32 1 %t9 = ptrtoint ptr %t8 to i64 %t10 = call ptr @malloc(i64 %t9) %t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0 store ptr null, ptr %t11 %t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1 store i32 0, ptr %t12 %t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2 store i32 0, ptr %t13 store ptr %t10, ptr @g_g_prevals store i32 0, ptr @g_g_uses_strslice store i32 0, ptr @g_g_uses_loopback store i32 0, ptr @g_g_uses_expect store i32 0, ptr @g_g_uses_panic store i32 0, ptr @g_g_fprintf_declared store i32 0, ptr @g_g_uses_result store i32 0, ptr @g_g_uses_option store i32 0, ptr @g_g_uses_world_despawn %t14 = getelementptr %LSlice, ptr null, i32 1 %t15 = ptrtoint ptr %t14 to i64 %t16 = call ptr @malloc(i64 %t15) %t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0 store ptr null, ptr %t17 %t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1 store i32 0, ptr %t18 %t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 2 store i32 0, ptr %t19 store ptr %t16, ptr @g_g_cov_lines store i32 1, ptr @g_g_cov_active %t20 = getelementptr %LSlice, ptr null, i32 1 %t21 = ptrtoint ptr %t20 to i64 %t22 = call ptr @malloc(i64 %t21) %t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0 store ptr null, ptr %t23 %t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1 store i32 0, ptr %t24 %t25 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 2 store i32 0, ptr %t25 store ptr %t22, ptr @g_loc_name %t26 = getelementptr %LSlice, ptr null, i32 1 %t27 = ptrtoint ptr %t26 to i64 %t28 = call ptr @malloc(i64 %t27) %t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0 store ptr null, ptr %t29 %t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1 store i32 0, ptr %t30 %t31 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 2 store i32 0, ptr %t31 store ptr %t28, ptr @g_loc_reg %t32 = getelementptr %LSlice, ptr null, i32 1 %t33 = ptrtoint ptr %t32 to i64 %t34 = call ptr @malloc(i64 %t33) %t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0 store ptr null, ptr %t35 %t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1 store i32 0, ptr %t36 %t37 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 2 store i32 0, ptr %t37 store ptr %t34, ptr @g_loc_ty %t38 = getelementptr %LSlice, ptr null, i32 1 %t39 = ptrtoint ptr %t38 to i64 %t40 = call ptr @malloc(i64 %t39) %t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0 store ptr null, ptr %t41 %t42 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1 store i32 0, ptr %t42 %t43 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 2 store i32 0, ptr %t43 store ptr %t40, ptr @g_loc_mut %t44 = getelementptr %LSlice, ptr null, i32 1 %t45 = ptrtoint ptr %t44 to i64 %t46 = call ptr @malloc(i64 %t45) %t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0 store ptr null, ptr %t47 %t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1 store i32 0, ptr %t48 %t49 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 2 store i32 0, ptr %t49 store ptr %t46, ptr @g_brk_lbl %t50 = getelementptr %LSlice, ptr null, i32 1 %t51 = ptrtoint ptr %t50 to i64 %t52 = call ptr @malloc(i64 %t51) %t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0 store ptr null, ptr %t53 %t54 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1 store i32 0, ptr %t54 %t55 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 2 store i32 0, ptr %t55 store ptr %t52, ptr @g_cnt_lbl %t56 = getelementptr %LSlice, ptr null, i32 1 %t57 = ptrtoint ptr %t56 to i64 %t58 = call ptr @malloc(i64 %t57) %t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0 store ptr null, ptr %t59 %t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1 store i32 0, ptr %t60 %t61 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 2 store i32 0, ptr %t61 store ptr %t58, ptr @g_self_stk %t62 = getelementptr %LSlice, ptr null, i32 1 %t63 = ptrtoint ptr %t62 to i64 %t64 = call ptr @malloc(i64 %t63) %t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0 store ptr null, ptr %t65 %t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1 store i32 0, ptr %t66 %t67 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 2 store i32 0, ptr %t67 store ptr %t64, ptr @g_mach_stk call void @fn_emit_header() call void @fn_emit_extern_decls() %t68 = call i32 @fn_has_ecs() %t69 = icmp ne i32 %t68, 0 br i1 %t69, label %then0, label %ifend2 then0: call void @fn_emit_ecs_storage() br label %ifend2 ifend2: store i32 0, ptr %t70 br label %wcond3 wcond3: %t71 = load i32, ptr %t70 %t72 = load ptr, ptr @g_prog %t73 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1 %t74 = load i32, ptr %t73 %t75 = icmp slt i32 %t71, %t74 %t76 = zext i1 %t75 to i32 %t77 = icmp ne i32 %t76, 0 br i1 %t77, label %wbody4, label %wend5 wbody4: %t78 = load ptr, ptr @g_prog %t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0 %t80 = load ptr, ptr %t79 %t81 = load i32, ptr %t70 %t82 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1 %t83 = load i32, ptr %t82 %t84 = icmp ult i32 %t81, %t83 br i1 %t84, label %ixok6, label %ixbad7 ixbad7: %t85 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t85, ptr @.fmt_bounds, ptr @.str12747, i32 %t81, i32 %t83) call void @exit(i32 1) unreachable ixok6: %t86 = getelementptr inbounds ptr, ptr %t80, i32 %t81 %t87 = load ptr, ptr %t86 %t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 0 %t89 = load i32, ptr %t88 %t90 = icmp eq i32 %t89, 4 %t91 = zext i1 %t90 to i32 %t92 = icmp ne i32 %t91, 0 br i1 %t92, label %then8, label %ifend10 then8: %t93 = load i32, ptr %t70 %t94 = load i32, ptr @g_g_prog_user_end %t95 = icmp slt i32 %t93, %t94 %t96 = zext i1 %t95 to i32 store i32 %t96, ptr @g_g_cov_active %t97 = load ptr, ptr @g_prog %t98 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 0 %t99 = load ptr, ptr %t98 %t100 = load i32, ptr %t70 %t101 = getelementptr inbounds %LSlice, ptr %t97, i32 0, i32 1 %t102 = load i32, ptr %t101 %t103 = icmp ult i32 %t100, %t102 br i1 %t103, label %ixok11, label %ixbad12 ixbad12: %t104 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t104, ptr @.fmt_bounds, ptr @.str12748, i32 %t100, i32 %t102) call void @exit(i32 1) unreachable ixok11: %t105 = getelementptr inbounds ptr, ptr %t99, i32 %t100 %t106 = load ptr, ptr %t105 call void @fn_emit_fn(ptr %t106) store i32 1, ptr @g_g_cov_active br label %ifend10 ifend10: %t107 = load i32, ptr %t70 %t108 = add i32 %t107, 1 store i32 %t108, ptr %t70 br label %wcond3 wend5: call void @fn_emit_global_init_fn() %t109 = load ptr, ptr @g_g_events %t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1 %t111 = load i32, ptr %t110 %t112 = icmp sgt i32 %t111, 0 %t113 = zext i1 %t112 to i32 %t114 = icmp ne i32 %t113, 0 br i1 %t114, label %then13, label %ifend15 then13: call void @fn_emit_event_fns() br label %ifend15 ifend15: %t115 = call i32 @fn_has_ecs() %t116 = icmp ne i32 %t115, 0 br i1 %t116, label %then16, label %ifend18 then16: call void @fn_emit_world_table() br label %ifend18 ifend18: %t117 = call i32 @fn_has_ecs() %t118 = icmp ne i32 %t117, 0 br i1 %t118, label %then19, label %ifend21 then19: call void @fn_emit_ecs_allocator() call void @fn_emit_snapshot() br label %ifend21 ifend21: %t119 = call i32 @fn_has_ecs() %t120 = icmp ne i32 %t119, 0 br i1 %t120, label %then22, label %ifend24 then22: call void @fn_emit_net() br label %ifend24 ifend24: %t121 = call i32 @fn_has_ui() %t122 = icmp ne i32 %t121, 0 br i1 %t122, label %then25, label %ifend27 then25: call void @fn_emit_ui_build() br label %ifend27 ifend27: %t123 = load ptr, ptr @g_g_tests %t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 1 %t125 = load i32, ptr %t124 %t126 = icmp sgt i32 %t125, 0 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then28, label %else29 then28: %t129 = call i32 @fn_has_systems() %t130 = icmp ne i32 %t129, 0 br i1 %t130, label %then31, label %ifend33 then31: call void @fn_emit_game_defs() br label %ifend33 ifend33: call void @fn_emit_test_runner() br label %ifend30 else29: %t132 = call i32 @fn_has_systems() %t133 = icmp ne i32 %t132, 0 %t134 = zext i1 %t133 to i32 store i32 %t134, ptr %t131 br i1 %t133, label %sc34, label %scend35 sc34: %t135 = call i32 @fn_has_entry() %t136 = icmp ne i32 %t135, 0 %t137 = zext i1 %t136 to i32 store i32 %t137, ptr %t131 br label %scend35 scend35: %t138 = load i32, ptr %t131 %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then36, label %else37 then36: call void @fn_emit_game_defs() store i32 0, ptr %t70 br label %wcond39 wcond39: %t140 = load i32, ptr %t70 %t141 = load ptr, ptr @g_prog %t142 = getelementptr inbounds %LSlice, ptr %t141, i32 0, i32 1 %t143 = load i32, ptr %t142 %t144 = icmp slt i32 %t140, %t143 %t145 = zext i1 %t144 to i32 %t146 = icmp ne i32 %t145, 0 br i1 %t146, label %wbody40, label %wend41 wbody40: %t147 = load ptr, ptr @g_prog %t148 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 0 %t149 = load ptr, ptr %t148 %t150 = load i32, ptr %t70 %t151 = getelementptr inbounds %LSlice, ptr %t147, i32 0, i32 1 %t152 = load i32, ptr %t151 %t153 = icmp ult i32 %t150, %t152 br i1 %t153, label %ixok42, label %ixbad43 ixbad43: %t154 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t154, ptr @.fmt_bounds, ptr @.str12749, i32 %t150, i32 %t152) call void @exit(i32 1) unreachable ixok42: %t155 = getelementptr inbounds ptr, ptr %t149, i32 %t150 %t156 = load ptr, ptr %t155 %t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 0 %t158 = load i32, ptr %t157 %t159 = icmp eq i32 %t158, 6 %t160 = zext i1 %t159 to i32 %t161 = icmp ne i32 %t160, 0 br i1 %t161, label %then44, label %ifend46 then44: %t162 = load ptr, ptr @g_prog %t163 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 0 %t164 = load ptr, ptr %t163 %t165 = load i32, ptr %t70 %t166 = getelementptr inbounds %LSlice, ptr %t162, i32 0, i32 1 %t167 = load i32, ptr %t166 %t168 = icmp ult i32 %t165, %t167 br i1 %t168, label %ixok47, label %ixbad48 ixbad48: %t169 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t169, ptr @.fmt_bounds, ptr @.str12750, i32 %t165, i32 %t167) call void @exit(i32 1) unreachable ixok47: %t170 = getelementptr inbounds ptr, ptr %t164, i32 %t165 %t171 = load ptr, ptr %t170 call void @fn_emit_main(ptr %t171) br label %ifend46 ifend46: %t172 = load i32, ptr %t70 %t173 = add i32 %t172, 1 store i32 %t173, ptr %t70 br label %wcond39 wend41: br label %ifend38 else37: %t174 = call i32 @fn_has_systems() %t175 = icmp ne i32 %t174, 0 br i1 %t175, label %then49, label %else50 then49: call void @fn_emit_game_main() br label %ifend51 else50: store i32 0, ptr %t70 br label %wcond52 wcond52: %t176 = load i32, ptr %t70 %t177 = load ptr, ptr @g_prog %t178 = getelementptr inbounds %LSlice, ptr %t177, i32 0, i32 1 %t179 = load i32, ptr %t178 %t180 = icmp slt i32 %t176, %t179 %t181 = zext i1 %t180 to i32 %t182 = icmp ne i32 %t181, 0 br i1 %t182, label %wbody53, label %wend54 wbody53: %t183 = load ptr, ptr @g_prog %t184 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 0 %t185 = load ptr, ptr %t184 %t186 = load i32, ptr %t70 %t187 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 1 %t188 = load i32, ptr %t187 %t189 = icmp ult i32 %t186, %t188 br i1 %t189, label %ixok55, label %ixbad56 ixbad56: %t190 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t190, ptr @.fmt_bounds, ptr @.str12751, i32 %t186, i32 %t188) call void @exit(i32 1) unreachable ixok55: %t191 = getelementptr inbounds ptr, ptr %t185, i32 %t186 %t192 = load ptr, ptr %t191 %t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 0 %t194 = load i32, ptr %t193 %t195 = icmp eq i32 %t194, 6 %t196 = zext i1 %t195 to i32 %t197 = icmp ne i32 %t196, 0 br i1 %t197, label %then57, label %ifend59 then57: %t198 = load ptr, ptr @g_prog %t199 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 0 %t200 = load ptr, ptr %t199 %t201 = load i32, ptr %t70 %t202 = getelementptr inbounds %LSlice, ptr %t198, i32 0, i32 1 %t203 = load i32, ptr %t202 %t204 = icmp ult i32 %t201, %t203 br i1 %t204, label %ixok60, label %ixbad61 ixbad61: %t205 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t205, ptr @.fmt_bounds, ptr @.str12752, i32 %t201, i32 %t203) call void @exit(i32 1) unreachable ixok60: %t206 = getelementptr inbounds ptr, ptr %t200, i32 %t201 %t207 = load ptr, ptr %t206 call void @fn_emit_main(ptr %t207) br label %ifend59 ifend59: %t208 = load i32, ptr %t70 %t209 = add i32 %t208, 1 store i32 %t209, ptr %t70 br label %wcond52 wend54: br label %ifend51 ifend51: br label %ifend38 ifend38: br label %ifend30 ifend30: %t210 = load i32, ptr @g_g_uses_world_despawn %t211 = icmp ne i32 %t210, 0 br i1 %t211, label %then62, label %ifend64 then62: call void @fn_emit_world_despawn_fn() br label %ifend64 ifend64: %t212 = load i32, ptr @g_g_uses_loopback %t213 = icmp ne i32 %t212, 0 br i1 %t213, label %then65, label %ifend67 then65: call void @fn_emit_loopback() br label %ifend67 ifend67: %t214 = load i32, ptr @g_g_uses_str %t215 = icmp ne i32 %t214, 0 br i1 %t215, label %then68, label %ifend70 then68: call void @fn_emit_str_prelude() br label %ifend70 ifend70: %t216 = load i32, ptr @g_g_uses_intstr %t217 = icmp ne i32 %t216, 0 br i1 %t217, label %then71, label %ifend73 then71: call void @fn_emit_int_str() br label %ifend73 ifend73: %t218 = load i32, ptr @g_g_uses_fpstr %t219 = icmp ne i32 %t218, 0 br i1 %t219, label %then74, label %ifend76 then74: call void @fn_emit_fp_str_fn() br label %ifend76 ifend76: %t220 = load i32, ptr @g_g_uses_longstr %t221 = icmp ne i32 %t220, 0 br i1 %t221, label %then77, label %ifend79 then77: call void @fn_emit_long_str() br label %ifend79 ifend79: %t222 = load i32, ptr @g_g_uses_strslice %t223 = icmp ne i32 %t222, 0 br i1 %t223, label %then80, label %ifend82 then80: call void @fn_emit_str_slice() br label %ifend82 ifend82: %t224 = load i32, ptr @g_g_uses_mathrt %t225 = icmp ne i32 %t224, 0 br i1 %t225, label %then83, label %ifend85 then83: call void @fn_emit_math_prelude() br label %ifend85 ifend85: %t226 = load i32, ptr @g_g_uses_textrt %t227 = icmp ne i32 %t226, 0 br i1 %t227, label %then86, label %ifend88 then86: call void @fn_emit_text_prelude() br label %ifend88 ifend88: %t228 = load i32, ptr @g_g_uses_textrt2 %t229 = icmp ne i32 %t228, 0 br i1 %t229, label %then89, label %ifend91 then89: call void @fn_emit_text2_prelude() br label %ifend91 ifend91: %t230 = load i32, ptr @g_g_uses_hashrt %t231 = icmp ne i32 %t230, 0 br i1 %t231, label %then92, label %ifend94 then92: call void @fn_emit_hash_prelude() br label %ifend94 ifend94: %t232 = load i32, ptr @g_g_uses_cryptort %t233 = icmp ne i32 %t232, 0 br i1 %t233, label %then95, label %ifend97 then95: call void @fn_emit_crypto_prelude() br label %ifend97 ifend97: %t234 = load i32, ptr @g_g_uses_uuidrt %t235 = icmp ne i32 %t234, 0 br i1 %t235, label %then98, label %ifend100 then98: call void @fn_emit_uuid_prelude() br label %ifend100 ifend100: %t236 = load i32, ptr @g_g_uses_noisert %t237 = icmp ne i32 %t236, 0 br i1 %t237, label %then101, label %ifend103 then101: call void @fn_emit_noise_prelude() br label %ifend103 ifend103: %t238 = load i32, ptr @g_g_uses_logrt %t239 = icmp ne i32 %t238, 0 br i1 %t239, label %then104, label %ifend106 then104: call void @fn_emit_log_prelude() br label %ifend106 ifend106: %t240 = load i32, ptr @g_g_uses_osrt %t241 = icmp ne i32 %t240, 0 br i1 %t241, label %then107, label %ifend109 then107: call void @fn_emit_os_prelude() br label %ifend109 ifend109: %t243 = load i32, ptr @g_g_uses_pid %t244 = icmp ne i32 %t243, 0 %t245 = zext i1 %t244 to i32 store i32 %t245, ptr %t242 br i1 %t244, label %sc110, label %scend111 sc110: %t246 = load i32, ptr @g_g_target_win %t247 = icmp eq i32 %t246, 0 %t248 = zext i1 %t247 to i32 %t249 = icmp ne i32 %t248, 0 %t250 = zext i1 %t249 to i32 store i32 %t250, ptr %t242 br label %scend111 scend111: %t251 = load i32, ptr %t242 %t252 = icmp ne i32 %t251, 0 br i1 %t252, label %then112, label %ifend114 then112: call void @fn_emith(ptr @.str12753) br label %ifend114 ifend114: %t253 = load i32, ptr @g_g_uses_unicodert %t254 = icmp ne i32 %t253, 0 br i1 %t254, label %then115, label %ifend117 then115: call void @fn_emit_unicode_prelude() br label %ifend117 ifend117: %t255 = load i32, ptr @g_g_uses_fsrt %t256 = icmp ne i32 %t255, 0 br i1 %t256, label %then118, label %ifend120 then118: call void @fn_emit_fs_prelude() br label %ifend120 ifend120: %t257 = load i32, ptr @g_g_uses_pak %t258 = icmp ne i32 %t257, 0 br i1 %t258, label %then121, label %ifend123 then121: call void @fn_emit_pak_prelude() br label %ifend123 ifend123: %t259 = load i32, ptr @g_g_uses_datert %t260 = icmp ne i32 %t259, 0 br i1 %t260, label %then124, label %ifend126 then124: call void @fn_emit_datetime_prelude() br label %ifend126 ifend126: %t261 = load i32, ptr @g_g_uses_panic %t262 = icmp ne i32 %t261, 0 br i1 %t262, label %then127, label %ifend129 then127: call void @fn_emith(ptr @.str12754) store i32 1, ptr @g_g_fprintf_declared call void @fn_emith(ptr @.str12755) br label %ifend129 ifend129: %t263 = load i32, ptr @g_g_uses_bounds %t264 = icmp ne i32 %t263, 0 br i1 %t264, label %then130, label %ifend132 then130: %t265 = load i32, ptr @g_g_fprintf_declared %t266 = icmp eq i32 %t265, 0 %t267 = zext i1 %t266 to i32 %t268 = icmp ne i32 %t267, 0 br i1 %t268, label %then133, label %ifend135 then133: call void @fn_emith(ptr @.str12756) store i32 1, ptr @g_g_fprintf_declared br label %ifend135 ifend135: call void @fn_emith(ptr @.str12757) br label %ifend132 ifend132: %t269 = load i32, ptr @g_g_uses_result %t270 = icmp ne i32 %t269, 0 br i1 %t270, label %then136, label %ifend138 then136: call void @fn_emith(ptr @.str12758) br label %ifend138 ifend138: %t271 = load i32, ptr @g_g_uses_option %t272 = icmp ne i32 %t271, 0 br i1 %t272, label %then139, label %ifend141 then139: call void @fn_emith(ptr @.str12759) br label %ifend141 ifend141: call void @fn_emit_cov_runtime() %t273 = load i32, ptr @g_g_emit_module %t274 = icmp ne i32 %t273, 0 br i1 %t274, label %then142, label %ifend144 then142: call void @fn_emit_module_glue() br label %ifend144 ifend144: br label %ret ret: ret void } define void @fn_emit_cov_runtime() { entry: %t7 = alloca i32 %t14 = alloca ptr %t16 = alloca i32 %t45 = alloca ptr %t47 = alloca ptr %t49 = alloca ptr %t51 = alloca ptr %t0 = load i32, ptr @g_g_coverage %t1 = icmp eq i32 %t0, 0 %t2 = zext i1 %t1 to i32 %t3 = icmp ne i32 %t2, 0 br i1 %t3, label %then0, label %ifend2 then0: br label %ret ifend2: %t4 = load ptr, ptr @g_g_cov_lines %t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1 %t6 = load i32, ptr %t5 store i32 %t6, ptr %t7 %t8 = load i32, ptr %t7 %t9 = icmp eq i32 %t8, 0 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %then3, label %ifend5 then3: br label %ret ifend5: %t12 = load i32, ptr %t7 %t13 = call ptr @fn_itoa(i32 %t12) store ptr %t13, ptr %t14 call void @fn_emith(ptr @.str12760) %t15 = load ptr, ptr %t14 call void @fn_emith(ptr %t15) call void @fn_emith(ptr @.str12761) store i32 0, ptr %t16 br label %wcond6 wcond6: %t17 = load i32, ptr %t16 %t18 = load i32, ptr %t7 %t19 = icmp slt i32 %t17, %t18 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 br i1 %t21, label %wbody7, label %wend8 wbody7: %t22 = load i32, ptr %t16 %t23 = icmp sgt i32 %t22, 0 %t24 = zext i1 %t23 to i32 %t25 = icmp ne i32 %t24, 0 br i1 %t25, label %then9, label %ifend11 then9: call void @fn_emith(ptr @.str12762) br label %ifend11 ifend11: call void @fn_emith(ptr @.str12763) %t26 = load ptr, ptr @g_g_cov_lines %t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0 %t28 = load ptr, ptr %t27 %t29 = load i32, ptr %t16 %t30 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1 %t31 = load i32, ptr %t30 %t32 = icmp ult i32 %t29, %t31 br i1 %t32, label %ixok12, label %ixbad13 ixbad13: %t33 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t33, ptr @.fmt_bounds, ptr @.str12764, i32 %t29, i32 %t31) call void @exit(i32 1) unreachable ixok12: %t34 = getelementptr inbounds i32, ptr %t28, i32 %t29 %t35 = load i32, ptr %t34 %t36 = call ptr @fn_itoa(i32 %t35) call void @fn_emith(ptr %t36) %t37 = load i32, ptr %t16 %t38 = add i32 %t37, 1 store i32 %t38, ptr %t16 br label %wcond6 wend8: call void @fn_emith(ptr @.str12765) call void @fn_emith(ptr @.str12766) %t39 = load ptr, ptr %t14 call void @fn_emith(ptr %t39) call void @fn_emith(ptr @.str12767) %t40 = load ptr, ptr %t14 %t41 = call ptr @lp_str_concat(ptr @.str12768, ptr %t40) %t42 = call ptr @lp_str_concat(ptr %t41, ptr @.str12769) call void @fn_emith(ptr %t42) %t43 = load ptr, ptr @g_g_src_name %t44 = call ptr @fn_emit_str_const(ptr %t43) store ptr %t44, ptr %t45 %t46 = call ptr @fn_emit_str_const(ptr @.str12770) store ptr %t46, ptr %t47 %t48 = call ptr @fn_emit_str_const(ptr @.str12771) store ptr %t48, ptr %t49 %t50 = call ptr @fn_emit_str_const(ptr @.str12772) store ptr %t50, ptr %t51 call void @fn_emith(ptr @.str12773) call void @fn_emith(ptr @.str12774) %t52 = load i32, ptr @g_g_fprintf_declared %t53 = icmp eq i32 %t52, 0 %t54 = zext i1 %t53 to i32 %t55 = icmp ne i32 %t54, 0 br i1 %t55, label %then14, label %ifend16 then14: call void @fn_emith(ptr @.str12775) store i32 1, ptr @g_g_fprintf_declared br label %ifend16 ifend16: call void @fn_emith(ptr @.str12776) call void @fn_emit(ptr @.str12777) %t56 = load ptr, ptr %t47 %t57 = call ptr @lp_str_concat(ptr @.str12778, ptr %t56) %t58 = call ptr @lp_str_concat(ptr %t57, ptr @.str12779) call void @fn_emit(ptr %t58) call void @fn_emit(ptr @.str12780) %t59 = load ptr, ptr %t49 %t60 = call ptr @lp_str_concat(ptr @.str12781, ptr %t59) %t61 = call ptr @lp_str_concat(ptr %t60, ptr @.str12782) call void @fn_emit(ptr %t61) %t62 = load ptr, ptr %t51 %t63 = call ptr @lp_str_concat(ptr @.str12783, ptr %t62) %t64 = call ptr @lp_str_concat(ptr %t63, ptr @.str12784) call void @fn_emit(ptr %t64) call void @fn_emit(ptr @.str12785) call void @fn_emit(ptr @.str12786) call void @fn_emit(ptr @.str12787) %t65 = load ptr, ptr %t45 %t66 = call ptr @lp_str_concat(ptr @.str12788, ptr %t65) %t67 = call ptr @lp_str_concat(ptr %t66, ptr @.str12789) call void @fn_emit(ptr %t67) call void @fn_emit(ptr @.str12790) call void @fn_emit(ptr @.str12791) call void @fn_emit(ptr @.str12792) %t68 = load ptr, ptr %t14 %t69 = call ptr @lp_str_concat(ptr @.str12793, ptr %t68) %t70 = call ptr @lp_str_concat(ptr %t69, ptr @.str12794) call void @fn_emit(ptr %t70) call void @fn_emit(ptr @.str12795) call void @fn_emit(ptr @.str12796) call void @fn_emit(ptr @.str12797) %t71 = load ptr, ptr %t14 call void @fn_emit(ptr %t71) call void @fn_emit(ptr @.str12798) call void @fn_emit(ptr @.str12799) call void @fn_emit(ptr @.str12800) %t72 = load ptr, ptr %t14 call void @fn_emit(ptr %t72) call void @fn_emit(ptr @.str12801) call void @fn_emit(ptr @.str12802) call void @fn_emit(ptr @.str12803) call void @fn_emit(ptr @.str12804) call void @fn_emit(ptr @.str12805) call void @fn_emit(ptr @.str12806) call void @fn_emit(ptr @.str12807) call void @fn_emit(ptr @.str12808) call void @fn_emit(ptr @.str12809) call void @fn_emit(ptr @.str12810) call void @fn_emit(ptr @.str12811) call void @fn_emit(ptr @.str12812) call void @fn_emith(ptr @.str12813) br label %ret ret: ret void } define i32 @fn_ir_flush(ptr %arg_path) { entry: %retval = alloca i32 %t0 = alloca ptr %t3 = alloca ptr %t6 = alloca ptr %t12 = alloca ptr %t31 = alloca ptr store ptr %arg_path, ptr %t0 %t1 = load ptr, ptr @g_head %t2 = call ptr @fn_buf_str(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr @g_code %t5 = call ptr @fn_buf_str(ptr %t4) store ptr %t5, ptr %t6 %t7 = load ptr, ptr %t0 %t8 = icmp eq ptr %t7, null %t9 = zext i1 %t8 to i32 %t10 = icmp ne i32 %t9, 0 br i1 %t10, label %then0, label %ifend2 then0: %t11 = load ptr, ptr @__stdoutp store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = load ptr, ptr %t3 %t15 = load ptr, ptr %t3 %t16 = call i64 @strlen(ptr %t15) %t17 = trunc i64 %t16 to i32 %t18 = zext i32 %t17 to i64 %t19 = call i64 @fwrite(ptr %t14, i64 1, i64 %t18, ptr %t13) %t20 = trunc i64 %t19 to i32 %t21 = load ptr, ptr %t12 %t22 = load ptr, ptr %t6 %t23 = load ptr, ptr %t6 %t24 = call i64 @strlen(ptr %t23) %t25 = trunc i64 %t24 to i32 %t26 = zext i32 %t25 to i64 %t27 = call i64 @fwrite(ptr %t22, i64 1, i64 %t26, ptr %t21) %t28 = trunc i64 %t27 to i32 store i32 1, ptr %retval br label %ret ifend2: %t29 = load ptr, ptr %t0 %t30 = call ptr @lp_pak_open(ptr %t29, ptr @.str12814) store ptr %t30, ptr %t31 %t32 = load ptr, ptr %t31 %t33 = icmp eq ptr %t32, null %t34 = zext i1 %t33 to i32 %t35 = icmp ne i32 %t34, 0 br i1 %t35, label %then3, label %ifend5 then3: store i32 0, ptr %retval br label %ret ifend5: %t36 = load ptr, ptr %t31 %t37 = load ptr, ptr %t3 %t38 = load ptr, ptr %t3 %t39 = call i64 @strlen(ptr %t38) %t40 = trunc i64 %t39 to i32 %t41 = zext i32 %t40 to i64 %t42 = call i64 @fwrite(ptr %t37, i64 1, i64 %t41, ptr %t36) %t43 = trunc i64 %t42 to i32 %t44 = load ptr, ptr %t31 %t45 = load ptr, ptr %t6 %t46 = load ptr, ptr %t6 %t47 = call i64 @strlen(ptr %t46) %t48 = trunc i64 %t47 to i32 %t49 = zext i32 %t48 to i64 %t50 = call i64 @fwrite(ptr %t45, i64 1, i64 %t49, ptr %t44) %t51 = trunc i64 %t50 to i32 %t52 = load ptr, ptr %t31 call i32 @fclose(ptr %t52) store i32 1, ptr %retval br label %ret ret: %t53 = load i32, ptr %retval ret i32 %t53 } define ptr @fn_base_name(ptr %arg_path) { entry: %retval = alloca ptr %t0 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 store ptr %arg_path, ptr %t0 %t1 = sub i32 0, 1 store i32 %t1, ptr %t2 store i32 0, ptr %t3 br label %wcond0 wcond0: %t4 = load ptr, ptr %t0 %t5 = load i32, ptr %t3 %t6 = getelementptr inbounds i8, ptr %t4, i32 %t5 %t7 = load i8, ptr %t6 %t8 = zext i8 %t7 to i32 %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 %t11 = icmp ne i32 %t10, 0 br i1 %t11, label %wbody1, label %wend2 wbody1: %t12 = load ptr, ptr %t0 %t13 = load i32, ptr %t3 %t14 = getelementptr inbounds i8, ptr %t12, i32 %t13 %t15 = load i8, ptr %t14 %t16 = zext i8 %t15 to i32 %t17 = call i32 @fn_is_sep(i32 %t16) %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t19 = load i32, ptr %t3 store i32 %t19, ptr %t2 br label %ifend5 ifend5: %t20 = load i32, ptr %t3 %t21 = add i32 %t20, 1 store i32 %t21, ptr %t3 br label %wcond0 wend2: %t22 = load ptr, ptr %t0 %t23 = load i32, ptr %t2 %t24 = add i32 %t23, 1 %t25 = load i32, ptr %t3 %t26 = call ptr @lp_str_slice(ptr %t22, i32 %t24, i32 %t25) store ptr %t26, ptr %retval br label %ret ret: %t27 = load ptr, ptr %retval ret ptr %t27 } define ptr @fn_strip_ludic(ptr %arg_name) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 store ptr %arg_name, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i64 @strlen(ptr %t1) %t3 = trunc i64 %t2 to i32 store i32 %t3, ptr %t4 %t5 = load i32, ptr %t4 %t6 = icmp sgt i32 %t5, 6 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t0 %t10 = load i32, ptr %t4 %t11 = sub i32 %t10, 6 %t12 = load i32, ptr %t4 %t13 = call ptr @lp_str_slice(ptr %t9, i32 %t11, i32 %t12) %t14 = call i32 @lp_str_eq(ptr %t13, ptr @.str12815) %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %then3, label %ifend5 then3: %t16 = load ptr, ptr %t0 %t17 = load i32, ptr %t4 %t18 = sub i32 %t17, 6 %t19 = call ptr @lp_str_slice(ptr %t16, i32 0, i32 %t18) store ptr %t19, ptr %retval br label %ret ifend5: br label %ifend2 ifend2: %t20 = load ptr, ptr %t0 store ptr %t20, ptr %retval br label %ret ret: %t21 = load ptr, ptr %retval ret ptr %t21 } define ptr @fn_getenv_or(ptr %arg_name, ptr %arg_dflt) { entry: %retval = alloca ptr %t0 = alloca ptr %t1 = alloca ptr %t4 = alloca ptr store ptr %arg_name, ptr %t0 store ptr %arg_dflt, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call ptr @getenv(ptr %t2) store ptr %t3, ptr %t4 %t5 = load ptr, ptr %t4 %t6 = icmp eq ptr %t5, null %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t1 store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t4 store ptr %t10, ptr %retval br label %ret ret: %t11 = load ptr, ptr %retval ret ptr %t11 } define ptr @fn_ensure_slash(ptr %arg_d) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 store ptr %arg_d, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i64 @strlen(ptr %t1) %t3 = trunc i64 %t2 to i32 store i32 %t3, ptr %t4 %t5 = load i32, ptr %t4 %t6 = icmp eq i32 %t5, 0 %t7 = zext i1 %t6 to i32 %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then0, label %ifend2 then0: %t9 = load ptr, ptr %t0 store ptr %t9, ptr %retval br label %ret ifend2: %t10 = load ptr, ptr %t0 %t11 = load i32, ptr %t4 %t12 = sub i32 %t11, 1 %t13 = getelementptr inbounds i8, ptr %t10, i32 %t12 %t14 = load i8, ptr %t13 %t15 = zext i8 %t14 to i32 %t16 = icmp eq i32 %t15, 47 %t17 = zext i1 %t16 to i32 %t18 = icmp ne i32 %t17, 0 br i1 %t18, label %then3, label %ifend5 then3: %t19 = load ptr, ptr %t0 store ptr %t19, ptr %retval br label %ret ifend5: %t20 = load ptr, ptr %t0 %t21 = call ptr @lp_str_concat(ptr %t20, ptr @.str12816) store ptr %t21, ptr %retval br label %ret ret: %t22 = load ptr, ptr %retval ret ptr %t22 } define void @fn_die(ptr %arg_msg) { entry: %t0 = alloca ptr store ptr %arg_msg, ptr %t0 %t1 = load ptr, ptr @__stderrp %t2 = load ptr, ptr %t0 %t3 = load ptr, ptr %t0 %t4 = call i64 @strlen(ptr %t3) %t5 = trunc i64 %t4 to i32 %t6 = zext i32 %t5 to i64 %t7 = call i64 @fwrite(ptr %t2, i64 1, i64 %t6, ptr %t1) %t8 = trunc i64 %t7 to i32 call void @exit(i32 1) unreachable ret: ret void } define ptr @fn_chomp(ptr %arg_s) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 %t5 = alloca i32 %t11 = alloca i32 %t12 = alloca i32 store ptr %arg_s, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i64 @strlen(ptr %t1) %t3 = trunc i64 %t2 to i32 store i32 %t3, ptr %t4 br label %wcond0 wcond0: %t6 = load i32, ptr %t4 %t7 = icmp sgt i32 %t6, 0 %t8 = zext i1 %t7 to i32 %t9 = icmp ne i32 %t8, 0 %t10 = zext i1 %t9 to i32 store i32 %t10, ptr %t5 br i1 %t9, label %sc3, label %scend4 sc3: %t13 = load ptr, ptr %t0 %t14 = load i32, ptr %t4 %t15 = sub i32 %t14, 1 %t16 = getelementptr inbounds i8, ptr %t13, i32 %t15 %t17 = load i8, ptr %t16 %t18 = zext i8 %t17 to i32 %t19 = icmp eq i32 %t18, 10 %t20 = zext i1 %t19 to i32 %t21 = icmp ne i32 %t20, 0 %t22 = zext i1 %t21 to i32 store i32 %t22, ptr %t12 br i1 %t21, label %scend6, label %sc5 sc5: %t23 = load ptr, ptr %t0 %t24 = load i32, ptr %t4 %t25 = sub i32 %t24, 1 %t26 = getelementptr inbounds i8, ptr %t23, i32 %t25 %t27 = load i8, ptr %t26 %t28 = zext i8 %t27 to i32 %t29 = icmp eq i32 %t28, 13 %t30 = zext i1 %t29 to i32 %t31 = icmp ne i32 %t30, 0 %t32 = zext i1 %t31 to i32 store i32 %t32, ptr %t12 br label %scend6 scend6: %t33 = load i32, ptr %t12 %t34 = icmp ne i32 %t33, 0 %t35 = zext i1 %t34 to i32 store i32 %t35, ptr %t11 br i1 %t34, label %scend8, label %sc7 sc7: %t36 = load ptr, ptr %t0 %t37 = load i32, ptr %t4 %t38 = sub i32 %t37, 1 %t39 = getelementptr inbounds i8, ptr %t36, i32 %t38 %t40 = load i8, ptr %t39 %t41 = zext i8 %t40 to i32 %t42 = icmp eq i32 %t41, 32 %t43 = zext i1 %t42 to i32 %t44 = icmp ne i32 %t43, 0 %t45 = zext i1 %t44 to i32 store i32 %t45, ptr %t11 br label %scend8 scend8: %t46 = load i32, ptr %t11 %t47 = icmp ne i32 %t46, 0 %t48 = zext i1 %t47 to i32 store i32 %t48, ptr %t5 br label %scend4 scend4: %t49 = load i32, ptr %t5 %t50 = icmp ne i32 %t49, 0 br i1 %t50, label %wbody1, label %wend2 wbody1: %t51 = load i32, ptr %t4 %t52 = sub i32 %t51, 1 store i32 %t52, ptr %t4 br label %wcond0 wend2: %t53 = load ptr, ptr %t0 %t54 = load i32, ptr %t4 %t55 = call ptr @lp_str_slice(ptr %t53, i32 0, i32 %t54) store ptr %t55, ptr %retval br label %ret ret: %t56 = load ptr, ptr %retval ret ptr %t56 } define i32 @fn_has_sub(ptr %arg_s, ptr %arg_sub) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t5 = alloca i32 %t9 = alloca i32 %t10 = alloca i32 store ptr %arg_s, ptr %t0 store ptr %arg_sub, ptr %t1 %t2 = load ptr, ptr %t0 %t3 = call i64 @strlen(ptr %t2) %t4 = trunc i64 %t3 to i32 store i32 %t4, ptr %t5 %t6 = load ptr, ptr %t1 %t7 = call i64 @strlen(ptr %t6) %t8 = trunc i64 %t7 to i32 store i32 %t8, ptr %t9 store i32 0, ptr %t10 br label %wcond0 wcond0: %t11 = load i32, ptr %t10 %t12 = load i32, ptr %t9 %t13 = add i32 %t11, %t12 %t14 = load i32, ptr %t5 %t15 = icmp sle i32 %t13, %t14 %t16 = zext i1 %t15 to i32 %t17 = icmp ne i32 %t16, 0 br i1 %t17, label %wbody1, label %wend2 wbody1: %t18 = load ptr, ptr %t0 %t19 = load i32, ptr %t10 %t20 = load i32, ptr %t10 %t21 = load i32, ptr %t9 %t22 = add i32 %t20, %t21 %t23 = call ptr @lp_str_slice(ptr %t18, i32 %t19, i32 %t22) %t24 = load ptr, ptr %t1 %t25 = call i32 @lp_str_eq(ptr %t23, ptr %t24) %t26 = icmp ne i32 %t25, 0 br i1 %t26, label %then3, label %ifend5 then3: store i32 1, ptr %retval br label %ret ifend5: %t27 = load i32, ptr %t10 %t28 = add i32 %t27, 1 store i32 %t28, ptr %t10 br label %wcond0 wend2: store i32 0, ptr %retval br label %ret ret: %t29 = load i32, ptr %retval ret i32 %t29 } define ptr @fn_win_path(ptr %arg_p) { entry: %retval = alloca ptr %t0 = alloca ptr %t4 = alloca i32 %t9 = alloca ptr %t10 = alloca i32 store ptr %arg_p, ptr %t0 %t1 = load ptr, ptr %t0 %t2 = call i64 @strlen(ptr %t1) %t3 = trunc i64 %t2 to i32 store i32 %t3, ptr %t4 %t5 = load i32, ptr %t4 %t6 = add i32 %t5, 1 %t7 = zext i32 %t6 to i64 %t8 = call ptr @malloc(i64 %t7) store ptr %t8, ptr %t9 store i32 0, ptr %t10 br label %wcond0 wcond0: %t11 = load i32, ptr %t10 %t12 = load i32, ptr %t4 %t13 = icmp slt i32 %t11, %t12 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %wbody1, label %wend2 wbody1: %t16 = load ptr, ptr %t0 %t17 = load i32, ptr %t10 %t18 = getelementptr inbounds i8, ptr %t16, i32 %t17 %t19 = load i8, ptr %t18 %t20 = zext i8 %t19 to i32 %t21 = icmp eq i32 %t20, 47 %t22 = zext i1 %t21 to i32 %t23 = icmp ne i32 %t22, 0 br i1 %t23, label %then3, label %else4 then3: %t24 = load ptr, ptr %t9 %t25 = load i32, ptr %t10 %t26 = getelementptr inbounds i8, ptr %t24, i32 %t25 %t27 = trunc i32 92 to i8 store i8 %t27, ptr %t26 br label %ifend5 else4: %t28 = load ptr, ptr %t9 %t29 = load i32, ptr %t10 %t30 = getelementptr inbounds i8, ptr %t28, i32 %t29 %t31 = load ptr, ptr %t0 %t32 = load i32, ptr %t10 %t33 = getelementptr inbounds i8, ptr %t31, i32 %t32 %t34 = load i8, ptr %t33 %t35 = zext i8 %t34 to i32 %t36 = trunc i32 %t35 to i8 store i8 %t36, ptr %t30 br label %ifend5 ifend5: %t37 = load i32, ptr %t10 %t38 = add i32 %t37, 1 store i32 %t38, ptr %t10 br label %wcond0 wend2: %t39 = load ptr, ptr %t9 %t40 = load i32, ptr %t4 %t41 = getelementptr inbounds i8, ptr %t39, i32 %t40 %t42 = trunc i32 0 to i8 store i8 %t42, ptr %t41 %t43 = load ptr, ptr %t9 store ptr %t43, ptr %retval br label %ret ret: %t44 = load ptr, ptr %retval ret ptr %t44 } define void @fn_make_dir(ptr %arg_d) { entry: %t0 = alloca ptr %t5 = alloca ptr store ptr %arg_d, ptr %t0 %t1 = call i32 @fn_host_is_windows() %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %then0, label %else1 then0: %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_win_path(ptr %t3) store ptr %t4, ptr %t5 %t6 = load ptr, ptr %t5 %t7 = call ptr @lp_str_concat(ptr @.str12817, ptr %t6) %t8 = call ptr @lp_str_concat(ptr %t7, ptr @.str12818) %t9 = load ptr, ptr %t5 %t10 = call ptr @lp_str_concat(ptr %t8, ptr %t9) %t11 = call ptr @lp_str_concat(ptr %t10, ptr @.str12819) %t12 = call i32 @system(ptr %t11) br label %ifend2 else1: %t13 = load ptr, ptr %t0 %t14 = call ptr @lp_str_concat(ptr @.str12820, ptr %t13) %t15 = call i32 @system(ptr %t14) br label %ifend2 ifend2: br label %ret ret: ret void } define void @fn_remove_file(ptr %arg_p) { entry: %t0 = alloca ptr store ptr %arg_p, ptr %t0 %t1 = call i32 @fn_host_is_windows() %t2 = icmp ne i32 %t1, 0 br i1 %t2, label %then0, label %else1 then0: %t3 = load ptr, ptr %t0 %t4 = call ptr @fn_win_path(ptr %t3) %t5 = call ptr @lp_str_concat(ptr @.str12821, ptr %t4) %t6 = call ptr @lp_str_concat(ptr %t5, ptr @.str12822) %t7 = call i32 @system(ptr %t6) br label %ifend2 else1: %t8 = load ptr, ptr %t0 %t9 = call ptr @lp_str_concat(ptr @.str12823, ptr %t8) %t10 = call i32 @system(ptr %t9) br label %ifend2 ifend2: br label %ret ret: ret void } define ptr @fn_find_cc() { entry: %retval = alloca ptr %t1 = alloca ptr %t9 = alloca ptr %t12 = alloca ptr %t0 = call ptr @getenv(ptr @.str12824) store ptr %t0, ptr %t1 %t2 = load ptr, ptr %t1 %t3 = icmp ne ptr %t2, null %t4 = zext i1 %t3 to i32 %t5 = icmp ne i32 %t4, 0 br i1 %t5, label %then0, label %ifend2 then0: %t6 = load ptr, ptr %t1 store ptr %t6, ptr %retval br label %ret ifend2: %t7 = call i32 @fn_host_is_windows() %t8 = icmp ne i32 %t7, 0 br i1 %t8, label %then3, label %ifend5 then3: store ptr @.str12825, ptr %t9 %t10 = load ptr, ptr %t9 %t11 = call ptr @lp_pak_open(ptr %t10, ptr @.str12826) store ptr %t11, ptr %t12 %t13 = load ptr, ptr %t12 %t14 = icmp ne ptr %t13, null %t15 = zext i1 %t14 to i32 %t16 = icmp ne i32 %t15, 0 br i1 %t16, label %then6, label %ifend8 then6: %t17 = load ptr, ptr %t12 call i32 @fclose(ptr %t17) %t18 = load ptr, ptr %t9 %t19 = call ptr @lp_str_concat(ptr @.str12827, ptr %t18) %t20 = call ptr @lp_str_concat(ptr %t19, ptr @.str12828) store ptr %t20, ptr %retval br label %ret ifend8: br label %ifend5 ifend5: store ptr @.str12829, ptr %retval br label %ret ret: %t21 = load ptr, ptr %retval ret ptr %t21 } define void @fn_show_version() { entry: %t3 = alloca ptr %t0 = call ptr @fn_ludic_home() %t1 = call ptr @fn_join_path(ptr %t0, ptr @.str12830) %t2 = call ptr @fn_read_file(ptr %t1) store ptr %t2, ptr %t3 %t4 = load ptr, ptr %t3 %t5 = icmp eq ptr %t4, null %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %then0, label %else1 then0: call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr @.str12831) br label %ifend2 else1: %t8 = load ptr, ptr %t3 %t9 = call ptr @fn_chomp(ptr %t8) %t10 = call ptr @lp_str_concat(ptr @.str12832, ptr %t9) call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr %t10) br label %ifend2 ifend2: call void @exit(i32 0) unreachable ret: ret void } define void @L_init_globals() { entry: store ptr @.str12833, ptr @g_g_parse_file %t0 = getelementptr %LSlice, ptr null, i32 1 %t1 = ptrtoint ptr %t0 to i64 %t2 = call ptr @malloc(i64 %t1) %t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0 store ptr null, ptr %t3 %t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1 store i32 0, ptr %t4 %t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2 store i32 0, ptr %t5 store ptr %t2, ptr @g_g_float_files store ptr @.str12834, ptr @g_g_err_file store ptr @.str12835, ptr @g_g_src_name store ptr @.str12836, ptr @g_g_ret_label %t6 = getelementptr %LSlice, ptr null, i32 1 %t7 = ptrtoint ptr %t6 to i64 %t8 = call ptr @malloc(i64 %t7) %t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0 store ptr null, ptr %t9 %t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1 store i32 0, ptr %t10 %t11 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 2 store i32 0, ptr %t11 store ptr %t8, ptr @g_g_det_names store ptr @.str12837, ptr @g_g_det_ctx ret void } define i32 @main(i32 %argc, ptr %argv) { entry: %retval = alloca i32 %t0 = alloca ptr %t1 = alloca ptr %t2 = alloca i32 %t3 = alloca i32 %t4 = alloca i32 %t5 = alloca i32 %t6 = alloca i32 %t7 = alloca ptr %t8 = alloca ptr %t9 = alloca i32 %t16 = alloca ptr %t17 = alloca i32 %t27 = alloca ptr %t143 = alloca ptr %t168 = alloca ptr %t182 = alloca i32 %t200 = alloca i32 %t210 = alloca i32 %t219 = alloca i32 %t236 = alloca i32 %t265 = alloca i32 %t266 = alloca i32 %t285 = alloca ptr %t295 = alloca ptr %t302 = alloca ptr %t304 = alloca ptr %t309 = alloca ptr %t316 = alloca ptr %t326 = alloca ptr %t336 = alloca ptr %t346 = alloca ptr %t381 = alloca i32 %t412 = alloca ptr %t420 = alloca ptr %t432 = alloca ptr %t435 = alloca ptr %t438 = alloca ptr %t456 = alloca ptr %t459 = alloca ptr %t472 = alloca ptr %t475 = alloca ptr %t487 = alloca i32 %t498 = alloca i32 %t527 = alloca ptr %t535 = alloca i32 %t556 = alloca i32 store i32 %argc, ptr @L_argc store ptr %argv, ptr @L_argv store i32 0, ptr %retval call void @L_init_globals() store ptr null, ptr %t0 store ptr null, ptr %t1 store i32 0, ptr %t2 store i32 0, ptr %t3 store i32 0, ptr %t4 store i32 0, ptr %t5 store i32 0, ptr %t6 store ptr null, ptr %t7 store ptr null, ptr %t8 store i32 0, ptr %t9 %t10 = getelementptr %LSlice, ptr null, i32 1 %t11 = ptrtoint ptr %t10 to i64 %t12 = call ptr @malloc(i64 %t11) %t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0 store ptr null, ptr %t13 %t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1 store i32 0, ptr %t14 %t15 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 2 store i32 0, ptr %t15 store ptr %t12, ptr %t16 store i32 0, ptr @g_g_coverage store i32 1, ptr %t17 br label %wcond0 wcond0: %t18 = load i32, ptr %t17 %t19 = load i32, ptr @L_argc %t20 = icmp slt i32 %t18, %t19 %t21 = zext i1 %t20 to i32 %t22 = icmp ne i32 %t21, 0 br i1 %t22, label %wbody1, label %wend2 wbody1: %t23 = load i32, ptr %t17 %t24 = load ptr, ptr @L_argv %t25 = getelementptr ptr, ptr %t24, i32 %t23 %t26 = load ptr, ptr %t25 store ptr %t26, ptr %t27 %t28 = load ptr, ptr %t27 %t29 = call i32 @lp_str_eq(ptr %t28, ptr @.str12838) %t30 = icmp ne i32 %t29, 0 br i1 %t30, label %then3, label %else4 then3: call void @fn_show_version() br label %ifend5 else4: %t31 = load ptr, ptr %t27 %t32 = call i32 @lp_str_eq(ptr %t31, ptr @.str12839) %t33 = icmp ne i32 %t32, 0 br i1 %t33, label %then6, label %else7 then6: store i32 1, ptr %t2 br label %ifend8 else7: %t34 = load ptr, ptr %t27 %t35 = call i32 @lp_str_eq(ptr %t34, ptr @.str12840) %t36 = icmp ne i32 %t35, 0 br i1 %t36, label %then9, label %else10 then9: store i32 2, ptr %t2 br label %ifend11 else10: %t37 = load ptr, ptr %t27 %t38 = call i32 @lp_str_eq(ptr %t37, ptr @.str12841) %t39 = icmp ne i32 %t38, 0 br i1 %t39, label %then12, label %else13 then12: store i32 1, ptr %t3 br label %ifend14 else13: %t40 = load ptr, ptr %t27 %t41 = call i32 @lp_str_eq(ptr %t40, ptr @.str12842) %t42 = icmp ne i32 %t41, 0 br i1 %t42, label %then15, label %else16 then15: store i32 1, ptr @g_g_emit_module store i32 1, ptr %t3 br label %ifend17 else16: %t43 = load ptr, ptr %t27 %t44 = call i32 @lp_str_eq(ptr %t43, ptr @.str12843) %t45 = icmp ne i32 %t44, 0 br i1 %t45, label %then18, label %else19 then18: store i32 1, ptr %t4 br label %ifend20 else19: %t46 = load ptr, ptr %t27 %t47 = call i32 @lp_str_eq(ptr %t46, ptr @.str12844) %t48 = icmp ne i32 %t47, 0 br i1 %t48, label %then21, label %else22 then21: store i32 1, ptr %t5 br label %ifend23 else22: %t49 = load ptr, ptr %t27 %t50 = call i32 @lp_str_eq(ptr %t49, ptr @.str12845) %t51 = icmp ne i32 %t50, 0 br i1 %t51, label %then24, label %else25 then24: store i32 1, ptr %t6 br label %ifend26 else25: %t52 = load ptr, ptr %t27 %t53 = call i32 @lp_str_eq(ptr %t52, ptr @.str12846) %t54 = icmp ne i32 %t53, 0 br i1 %t54, label %then27, label %else28 then27: store i32 1, ptr @g_g_coverage br label %ifend29 else28: %t55 = load ptr, ptr %t27 %t56 = call i32 @lp_str_eq(ptr %t55, ptr @.str12847) %t57 = icmp ne i32 %t56, 0 br i1 %t57, label %then30, label %else31 then30: %t58 = load i32, ptr %t17 %t59 = add i32 %t58, 1 store i32 %t59, ptr %t17 %t60 = load i32, ptr %t17 %t61 = load i32, ptr @L_argc %t62 = icmp slt i32 %t60, %t61 %t63 = zext i1 %t62 to i32 %t64 = icmp ne i32 %t63, 0 br i1 %t64, label %then33, label %ifend35 then33: %t65 = load i32, ptr %t17 %t66 = load ptr, ptr @L_argv %t67 = getelementptr ptr, ptr %t66, i32 %t65 %t68 = load ptr, ptr %t67 store ptr %t68, ptr %t7 br label %ifend35 ifend35: br label %ifend32 else31: %t69 = load ptr, ptr %t27 %t70 = call i32 @lp_str_eq(ptr %t69, ptr @.str12848) %t71 = icmp ne i32 %t70, 0 br i1 %t71, label %then36, label %else37 then36: store i32 1, ptr %t9 br label %ifend38 else37: %t72 = load ptr, ptr %t27 %t73 = call i32 @lp_str_eq(ptr %t72, ptr @.str12849) %t74 = icmp ne i32 %t73, 0 br i1 %t74, label %then39, label %else40 then39: %t75 = load i32, ptr %t17 %t76 = add i32 %t75, 1 store i32 %t76, ptr %t17 %t77 = load i32, ptr %t17 %t78 = load i32, ptr @L_argc %t79 = icmp slt i32 %t77, %t78 %t80 = zext i1 %t79 to i32 %t81 = icmp ne i32 %t80, 0 br i1 %t81, label %then42, label %ifend44 then42: %t82 = load i32, ptr %t17 %t83 = load ptr, ptr @L_argv %t84 = getelementptr ptr, ptr %t83, i32 %t82 %t85 = load ptr, ptr %t84 store ptr %t85, ptr %t8 br label %ifend44 ifend44: br label %ifend41 else40: %t86 = load ptr, ptr %t27 %t87 = call i32 @lp_str_eq(ptr %t86, ptr @.str12850) %t88 = icmp ne i32 %t87, 0 br i1 %t88, label %then45, label %else46 then45: %t89 = load i32, ptr %t17 %t90 = add i32 %t89, 1 store i32 %t90, ptr %t17 %t91 = load i32, ptr %t17 %t92 = load i32, ptr @L_argc %t93 = icmp slt i32 %t91, %t92 %t94 = zext i1 %t93 to i32 %t95 = icmp ne i32 %t94, 0 br i1 %t95, label %then48, label %ifend50 then48: %t96 = load ptr, ptr %t16 %t97 = load i32, ptr %t17 %t98 = load ptr, ptr @L_argv %t99 = getelementptr ptr, ptr %t98, i32 %t97 %t100 = load ptr, ptr %t99 %t101 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 1 %t102 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 2 %t103 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0 %t104 = load i32, ptr %t101 %t105 = load i32, ptr %t102 %t106 = icmp sge i32 %t104, %t105 br i1 %t106, label %grow51, label %put52 grow51: %t107 = mul i32 %t105, 2 %t108 = icmp eq i32 %t105, 0 %t109 = select i1 %t108, i32 8, i32 %t107 %t110 = getelementptr ptr, ptr null, i32 1 %t111 = ptrtoint ptr %t110 to i64 %t112 = zext i32 %t109 to i64 %t113 = mul i64 %t112, %t111 %t114 = load ptr, ptr %t103 %t115 = call ptr @realloc(ptr %t114, i64 %t113) store ptr %t115, ptr %t103 store i32 %t109, ptr %t102 br label %put52 put52: %t116 = load ptr, ptr %t103 %t117 = getelementptr inbounds ptr, ptr %t116, i32 %t104 store ptr %t100, ptr %t117 %t118 = add i32 %t104, 1 store i32 %t118, ptr %t101 br label %ifend50 ifend50: br label %ifend47 else46: %t119 = load ptr, ptr %t27 %t120 = call i32 @lp_str_eq(ptr %t119, ptr @.str12851) %t121 = icmp ne i32 %t120, 0 br i1 %t121, label %then53, label %else54 then53: %t122 = load i32, ptr %t17 %t123 = add i32 %t122, 1 store i32 %t123, ptr %t17 %t124 = load i32, ptr %t17 %t125 = load i32, ptr @L_argc %t126 = icmp slt i32 %t124, %t125 %t127 = zext i1 %t126 to i32 %t128 = icmp ne i32 %t127, 0 br i1 %t128, label %then56, label %ifend58 then56: %t129 = load i32, ptr %t17 %t130 = load ptr, ptr @L_argv %t131 = getelementptr ptr, ptr %t130, i32 %t129 %t132 = load ptr, ptr %t131 store ptr %t132, ptr %t1 br label %ifend58 ifend58: br label %ifend55 else54: %t133 = load ptr, ptr %t27 %t134 = getelementptr inbounds i8, ptr %t133, i32 0 %t135 = load i8, ptr %t134 %t136 = zext i8 %t135 to i32 %t137 = icmp eq i32 %t136, 45 %t138 = zext i1 %t137 to i32 %t139 = icmp ne i32 %t138, 0 br i1 %t139, label %then59, label %else60 then59: %t140 = load ptr, ptr %t27 %t141 = call ptr @lp_str_concat(ptr @.str12852, ptr %t140) %t142 = call ptr @lp_str_concat(ptr %t141, ptr @.str12853) store ptr %t142, ptr %t143 %t144 = load ptr, ptr @__stderrp %t145 = load ptr, ptr %t143 %t146 = load ptr, ptr %t143 %t147 = call i64 @strlen(ptr %t146) %t148 = trunc i64 %t147 to i32 %t149 = zext i32 %t148 to i64 %t150 = call i64 @fwrite(ptr %t145, i64 1, i64 %t149, ptr %t144) %t151 = trunc i64 %t150 to i32 br label %ifend61 else60: %t152 = load ptr, ptr %t27 store ptr %t152, ptr %t0 br label %ifend61 ifend61: br label %ifend55 ifend55: br label %ifend47 ifend47: br label %ifend41 ifend41: br label %ifend38 ifend38: br label %ifend32 ifend32: br label %ifend29 ifend29: br label %ifend26 ifend26: br label %ifend23 ifend23: br label %ifend20 ifend20: br label %ifend17 ifend17: br label %ifend14 ifend14: br label %ifend11 ifend11: br label %ifend8 ifend8: br label %ifend5 ifend5: %t153 = load i32, ptr %t17 %t154 = add i32 %t153, 1 store i32 %t154, ptr %t17 br label %wcond0 wend2: %t155 = load ptr, ptr %t0 %t156 = icmp eq ptr %t155, null %t157 = zext i1 %t156 to i32 %t158 = icmp ne i32 %t157, 0 br i1 %t158, label %then62, label %ifend64 then62: call void @fn_die(ptr @.str12854) br label %ifend64 ifend64: %t159 = load ptr, ptr %t7 %t160 = icmp ne ptr %t159, null %t161 = zext i1 %t160 to i32 %t162 = icmp ne i32 %t161, 0 br i1 %t162, label %then65, label %else66 then65: %t163 = load ptr, ptr %t7 %t164 = call i32 @fn_has_sub(ptr %t163, ptr @.str12855) store i32 %t164, ptr @g_g_target_win br label %ifend67 else66: %t165 = call i32 @fn_host_is_windows() store i32 %t165, ptr @g_g_target_win br label %ifend67 ifend67: %t166 = load ptr, ptr %t0 %t167 = call ptr @fn_read_file(ptr %t166) store ptr %t167, ptr %t168 %t169 = load ptr, ptr %t168 %t170 = icmp eq ptr %t169, null %t171 = zext i1 %t170 to i32 %t172 = icmp ne i32 %t171, 0 br i1 %t172, label %then68, label %ifend70 then68: call void @fn_die(ptr @.str12856) br label %ifend70 ifend70: %t173 = load ptr, ptr %t0 %t174 = call ptr @fn_dir_of(ptr %t173) store ptr %t174, ptr @g_cur_dir %t175 = load ptr, ptr %t0 %t176 = call ptr @fn_base_name(ptr %t175) store ptr %t176, ptr @g_g_src_name %t177 = load ptr, ptr %t0 store ptr %t177, ptr @g_g_parse_file %t178 = load ptr, ptr %t168 call void @fn_lex(ptr %t178) call void @fn_parse_program() %t179 = load ptr, ptr @g_prog %t180 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 1 %t181 = load i32, ptr %t180 store i32 %t181, ptr @g_g_prog_user_end %t183 = load ptr, ptr %t8 %t184 = icmp ne ptr %t183, null %t185 = zext i1 %t184 to i32 %t186 = icmp ne i32 %t185, 0 %t187 = zext i1 %t186 to i32 store i32 %t187, ptr %t182 br i1 %t186, label %sc71, label %scend72 sc71: %t188 = load ptr, ptr %t8 %t189 = call i64 @strlen(ptr %t188) %t190 = trunc i64 %t189 to i32 %t191 = icmp sgt i32 %t190, 0 %t192 = zext i1 %t191 to i32 %t193 = icmp ne i32 %t192, 0 %t194 = zext i1 %t193 to i32 store i32 %t194, ptr %t182 br label %scend72 scend72: %t195 = load i32, ptr %t182 %t196 = icmp ne i32 %t195, 0 br i1 %t196, label %then73, label %ifend75 then73: %t197 = load ptr, ptr %t8 store ptr %t197, ptr @g_g_game_name br label %ifend75 ifend75: %t198 = load i32, ptr %t4 %t199 = icmp ne i32 %t198, 0 br i1 %t199, label %then76, label %ifend78 then76: call void @exit(i32 0) unreachable ifend78: call void @fn_maybe_splice_runtime() call void @fn_ui_register_gotos() %t201 = load i32, ptr %t6 %t202 = icmp ne i32 %t201, 0 %t203 = zext i1 %t202 to i32 store i32 %t203, ptr %t200 br i1 %t202, label %scend80, label %sc79 sc79: %t204 = load ptr, ptr %t1 %t205 = icmp ne ptr %t204, null %t206 = zext i1 %t205 to i32 %t207 = icmp ne i32 %t206, 0 %t208 = zext i1 %t207 to i32 store i32 %t208, ptr %t200 br label %scend80 scend80: %t209 = load i32, ptr %t200 store i32 %t209, ptr %t210 %t211 = load i32, ptr %t2 %t212 = icmp eq i32 %t211, 1 %t213 = zext i1 %t212 to i32 %t214 = icmp ne i32 %t213, 0 br i1 %t214, label %then81, label %else82 then81: store i32 1, ptr @g_g_windowed br label %ifend83 else82: %t215 = load i32, ptr %t2 %t216 = icmp eq i32 %t215, 2 %t217 = zext i1 %t216 to i32 %t218 = icmp ne i32 %t217, 0 br i1 %t218, label %then84, label %else85 then84: store i32 0, ptr @g_g_windowed br label %ifend86 else85: %t220 = load i32, ptr %t210 %t221 = icmp ne i32 %t220, 0 %t222 = zext i1 %t221 to i32 store i32 %t222, ptr %t219 br i1 %t221, label %sc87, label %scend88 sc87: %t223 = call i32 @fn_has_systems() %t224 = icmp ne i32 %t223, 0 %t225 = zext i1 %t224 to i32 store i32 %t225, ptr %t219 br label %scend88 scend88: %t226 = load i32, ptr %t219 store i32 %t226, ptr @g_g_windowed br label %ifend86 ifend86: br label %ifend83 ifend83: store i32 0, ptr @g_g_parsing call void @fn_emit_program() %t227 = load i32, ptr %t3 %t228 = icmp ne i32 %t227, 0 br i1 %t228, label %then89, label %ifend91 then89: %t229 = load ptr, ptr %t1 %t230 = call i32 @fn_ir_flush(ptr %t229) br label %ret ifend91: %t231 = load i32, ptr %t210 %t232 = icmp eq i32 %t231, 0 %t233 = zext i1 %t232 to i32 %t234 = icmp ne i32 %t233, 0 br i1 %t234, label %then92, label %ifend94 then92: %t235 = call i32 @fn_ir_flush(ptr null) br label %ret ifend94: %t237 = load i32, ptr %t6 %t238 = icmp ne i32 %t237, 0 %t239 = zext i1 %t238 to i32 store i32 %t239, ptr %t236 br i1 %t238, label %sc95, label %scend96 sc95: %t240 = load ptr, ptr %t1 %t241 = icmp eq ptr %t240, null %t242 = zext i1 %t241 to i32 %t243 = icmp ne i32 %t242, 0 %t244 = zext i1 %t243 to i32 store i32 %t244, ptr %t236 br label %scend96 scend96: %t245 = load i32, ptr %t236 %t246 = icmp ne i32 %t245, 0 br i1 %t246, label %then97, label %ifend99 then97: %t247 = call i32 @fn_host_is_windows() %t248 = icmp ne i32 %t247, 0 br i1 %t248, label %then100, label %else101 then100: %t249 = call ptr @fn_getenv_or(ptr @.str12857, ptr @.str12858) %t250 = call ptr @fn_fwd_slashes(ptr %t249) %t251 = call ptr @lp_str_concat(ptr %t250, ptr @.str12859) %t252 = load ptr, ptr %t0 %t253 = call ptr @fn_base_name(ptr %t252) %t254 = call ptr @fn_strip_ludic(ptr %t253) %t255 = call ptr @lp_str_concat(ptr %t251, ptr %t254) store ptr %t255, ptr %t1 br label %ifend102 else101: %t256 = load ptr, ptr %t0 %t257 = call ptr @fn_base_name(ptr %t256) %t258 = call ptr @fn_strip_ludic(ptr %t257) %t259 = call ptr @lp_str_concat(ptr @.str12860, ptr %t258) store ptr %t259, ptr %t1 br label %ifend102 ifend102: br label %ifend99 ifend99: %t260 = load i32, ptr @g_g_target_win %t261 = icmp ne i32 %t260, 0 br i1 %t261, label %then103, label %ifend105 then103: %t262 = load ptr, ptr %t1 %t263 = call i64 @strlen(ptr %t262) %t264 = trunc i64 %t263 to i32 store i32 %t264, ptr %t265 store i32 0, ptr %t266 %t267 = load i32, ptr %t265 %t268 = icmp sge i32 %t267, 4 %t269 = zext i1 %t268 to i32 %t270 = icmp ne i32 %t269, 0 br i1 %t270, label %then106, label %ifend108 then106: %t271 = load ptr, ptr %t1 %t272 = load i32, ptr %t265 %t273 = sub i32 %t272, 4 %t274 = load i32, ptr %t265 %t275 = call ptr @lp_str_slice(ptr %t271, i32 %t273, i32 %t274) %t276 = call i32 @lp_str_eq(ptr %t275, ptr @.str12861) store i32 %t276, ptr %t266 br label %ifend108 ifend108: %t277 = load i32, ptr %t266 %t278 = icmp eq i32 %t277, 0 %t279 = zext i1 %t278 to i32 %t280 = icmp ne i32 %t279, 0 br i1 %t280, label %then109, label %ifend111 then109: %t281 = load ptr, ptr %t1 %t282 = call ptr @lp_str_concat(ptr %t281, ptr @.str12862) store ptr %t282, ptr %t1 br label %ifend111 ifend111: br label %ifend105 ifend105: %t283 = load ptr, ptr %t1 %t284 = call ptr @fn_dir_of(ptr %t283) store ptr %t284, ptr %t285 %t286 = load ptr, ptr %t285 %t287 = call i64 @strlen(ptr %t286) %t288 = trunc i64 %t287 to i32 %t289 = icmp sgt i32 %t288, 0 %t290 = zext i1 %t289 to i32 %t291 = icmp ne i32 %t290, 0 br i1 %t291, label %then112, label %ifend114 then112: %t292 = load ptr, ptr %t285 call void @fn_make_dir(ptr %t292) br label %ifend114 ifend114: %t293 = load ptr, ptr %t1 %t294 = call ptr @lp_str_concat(ptr %t293, ptr @.str12863) store ptr %t294, ptr %t295 %t296 = load ptr, ptr %t295 %t297 = call i32 @fn_ir_flush(ptr %t296) %t298 = icmp eq i32 %t297, 0 %t299 = zext i1 %t298 to i32 %t300 = icmp ne i32 %t299, 0 br i1 %t300, label %then115, label %ifend117 then115: call void @fn_die(ptr @.str12864) br label %ifend117 ifend117: %t301 = call ptr @fn_find_cc() store ptr %t301, ptr %t302 %t303 = call ptr @fn_ludic_home() store ptr %t303, ptr %t304 %t305 = load ptr, ptr %t302 %t306 = call ptr @lp_str_concat(ptr %t305, ptr @.str12865) %t307 = load ptr, ptr %t295 %t308 = call ptr @lp_str_concat(ptr %t306, ptr %t307) store ptr %t308, ptr %t309 %t310 = load i32, ptr @g_g_target_win %t311 = icmp ne i32 %t310, 0 br i1 %t311, label %then118, label %else119 then118: %t312 = load i32, ptr @g_g_windowed %t313 = icmp ne i32 %t312, 0 br i1 %t313, label %then121, label %ifend123 then121: %t314 = load ptr, ptr %t304 %t315 = call ptr @fn_join_path(ptr %t314, ptr @.str12866) store ptr %t315, ptr %t316 %t317 = load ptr, ptr %t309 %t318 = call ptr @lp_str_concat(ptr %t317, ptr @.str12867) %t319 = load ptr, ptr %t316 %t320 = call ptr @lp_str_concat(ptr %t318, ptr %t319) %t321 = call ptr @lp_str_concat(ptr %t320, ptr @.str12868) store ptr %t321, ptr %t309 %t322 = load i32, ptr @g_g_uses_audio %t323 = icmp ne i32 %t322, 0 br i1 %t323, label %then124, label %ifend126 then124: %t324 = load ptr, ptr %t304 %t325 = call ptr @fn_join_path(ptr %t324, ptr @.str12869) store ptr %t325, ptr %t326 %t327 = load ptr, ptr %t309 %t328 = call ptr @lp_str_concat(ptr %t327, ptr @.str12870) %t329 = load ptr, ptr %t326 %t330 = call ptr @lp_str_concat(ptr %t328, ptr %t329) %t331 = call ptr @lp_str_concat(ptr %t330, ptr @.str12871) store ptr %t331, ptr %t309 br label %ifend126 ifend126: br label %ifend123 ifend123: br label %ifend120 else119: %t332 = load i32, ptr @g_g_windowed %t333 = icmp ne i32 %t332, 0 br i1 %t333, label %then127, label %ifend129 then127: %t334 = load ptr, ptr %t304 %t335 = call ptr @fn_join_path(ptr %t334, ptr @.str12872) store ptr %t335, ptr %t336 %t337 = load ptr, ptr %t309 %t338 = call ptr @lp_str_concat(ptr %t337, ptr @.str12873) %t339 = load ptr, ptr %t336 %t340 = call ptr @lp_str_concat(ptr %t338, ptr %t339) %t341 = call ptr @lp_str_concat(ptr %t340, ptr @.str12874) store ptr %t341, ptr %t309 %t342 = load i32, ptr @g_g_uses_audio %t343 = icmp ne i32 %t342, 0 br i1 %t343, label %then130, label %ifend132 then130: %t344 = load ptr, ptr %t304 %t345 = call ptr @fn_join_path(ptr %t344, ptr @.str12875) store ptr %t345, ptr %t346 %t347 = load ptr, ptr %t309 %t348 = call ptr @lp_str_concat(ptr %t347, ptr @.str12876) %t349 = load ptr, ptr %t346 %t350 = call ptr @lp_str_concat(ptr %t348, ptr %t349) %t351 = call ptr @lp_str_concat(ptr %t350, ptr @.str12877) store ptr %t351, ptr %t309 br label %ifend132 ifend132: br label %ifend129 ifend129: br label %ifend120 ifend120: %t352 = load i32, ptr @g_g_uses_jobs %t353 = icmp ne i32 %t352, 0 br i1 %t353, label %then133, label %ifend135 then133: %t354 = load i32, ptr @g_g_target_win %t355 = icmp ne i32 %t354, 0 br i1 %t355, label %then136, label %else137 then136: %t356 = load ptr, ptr %t309 %t357 = call ptr @lp_str_concat(ptr %t356, ptr @.str12878) %t358 = load ptr, ptr %t304 %t359 = call ptr @fn_join_path(ptr %t358, ptr @.str12879) %t360 = call ptr @lp_str_concat(ptr %t357, ptr %t359) store ptr %t360, ptr %t309 br label %ifend138 else137: %t361 = load ptr, ptr %t309 %t362 = call ptr @lp_str_concat(ptr %t361, ptr @.str12880) %t363 = load ptr, ptr %t304 %t364 = call ptr @fn_join_path(ptr %t363, ptr @.str12881) %t365 = call ptr @lp_str_concat(ptr %t362, ptr %t364) store ptr %t365, ptr %t309 br label %ifend138 ifend138: br label %ifend135 ifend135: %t366 = load i32, ptr @g_g_uses_udp %t367 = icmp ne i32 %t366, 0 br i1 %t367, label %then139, label %ifend141 then139: %t368 = load i32, ptr @g_g_target_win %t369 = icmp ne i32 %t368, 0 br i1 %t369, label %then142, label %else143 then142: %t370 = load ptr, ptr %t309 %t371 = call ptr @lp_str_concat(ptr %t370, ptr @.str12882) %t372 = load ptr, ptr %t304 %t373 = call ptr @fn_join_path(ptr %t372, ptr @.str12883) %t374 = call ptr @lp_str_concat(ptr %t371, ptr %t373) %t375 = call ptr @lp_str_concat(ptr %t374, ptr @.str12884) store ptr %t375, ptr %t309 br label %ifend144 else143: %t376 = load ptr, ptr %t309 %t377 = call ptr @lp_str_concat(ptr %t376, ptr @.str12885) %t378 = load ptr, ptr %t304 %t379 = call ptr @fn_join_path(ptr %t378, ptr @.str12886) %t380 = call ptr @lp_str_concat(ptr %t377, ptr %t379) store ptr %t380, ptr %t309 br label %ifend144 ifend144: br label %ifend141 ifend141: %t382 = load i32, ptr @g_g_target_win %t383 = icmp ne i32 %t382, 0 %t384 = zext i1 %t383 to i32 store i32 %t384, ptr %t381 br i1 %t383, label %sc145, label %scend146 sc145: %t385 = load i32, ptr @g_g_uses_cryptort %t386 = icmp ne i32 %t385, 0 %t387 = zext i1 %t386 to i32 store i32 %t387, ptr %t381 br label %scend146 scend146: %t388 = load i32, ptr %t381 %t389 = icmp ne i32 %t388, 0 br i1 %t389, label %then147, label %ifend149 then147: %t390 = load ptr, ptr %t309 %t391 = call ptr @lp_str_concat(ptr %t390, ptr @.str12887) store ptr %t391, ptr %t309 br label %ifend149 ifend149: %t392 = load i32, ptr @g_g_uses_process %t393 = icmp ne i32 %t392, 0 br i1 %t393, label %then150, label %ifend152 then150: %t394 = load i32, ptr @g_g_target_win %t395 = icmp ne i32 %t394, 0 br i1 %t395, label %then153, label %else154 then153: %t396 = load ptr, ptr %t309 %t397 = call ptr @lp_str_concat(ptr %t396, ptr @.str12888) %t398 = load ptr, ptr %t304 %t399 = call ptr @fn_join_path(ptr %t398, ptr @.str12889) %t400 = call ptr @lp_str_concat(ptr %t397, ptr %t399) store ptr %t400, ptr %t309 br label %ifend155 else154: %t401 = load ptr, ptr %t309 %t402 = call ptr @lp_str_concat(ptr %t401, ptr @.str12890) %t403 = load ptr, ptr %t304 %t404 = call ptr @fn_join_path(ptr %t403, ptr @.str12891) %t405 = call ptr @lp_str_concat(ptr %t402, ptr %t404) store ptr %t405, ptr %t309 br label %ifend155 ifend155: br label %ifend152 ifend152: %t406 = load i32, ptr @g_g_uses_http %t407 = icmp ne i32 %t406, 0 br i1 %t407, label %then156, label %ifend158 then156: %t408 = load i32, ptr @g_g_target_win %t409 = icmp ne i32 %t408, 0 br i1 %t409, label %then159, label %else160 then159: %t410 = load ptr, ptr %t304 %t411 = call ptr @fn_join_path(ptr %t410, ptr @.str12892) store ptr %t411, ptr %t412 %t413 = load ptr, ptr %t309 %t414 = call ptr @lp_str_concat(ptr %t413, ptr @.str12893) %t415 = load ptr, ptr %t412 %t416 = call ptr @lp_str_concat(ptr %t414, ptr %t415) %t417 = call ptr @lp_str_concat(ptr %t416, ptr @.str12894) store ptr %t417, ptr %t309 br label %ifend161 else160: %t418 = load ptr, ptr %t304 %t419 = call ptr @fn_join_path(ptr %t418, ptr @.str12895) store ptr %t419, ptr %t420 %t421 = load ptr, ptr %t309 %t422 = call ptr @lp_str_concat(ptr %t421, ptr @.str12896) %t423 = load ptr, ptr %t420 %t424 = call ptr @lp_str_concat(ptr %t422, ptr %t423) %t425 = call ptr @lp_str_concat(ptr %t424, ptr @.str12897) store ptr %t425, ptr %t309 br label %ifend161 ifend161: br label %ifend158 ifend158: %t426 = load i32, ptr @g_g_uses_gl %t427 = icmp ne i32 %t426, 0 br i1 %t427, label %then162, label %ifend164 then162: %t428 = load i32, ptr @g_g_target_win %t429 = icmp ne i32 %t428, 0 br i1 %t429, label %then165, label %else166 then165: %t430 = load ptr, ptr %t304 %t431 = call ptr @fn_join_path(ptr %t430, ptr @.str12898) store ptr %t431, ptr %t432 %t433 = load ptr, ptr %t304 %t434 = call ptr @fn_join_path(ptr %t433, ptr @.str12899) store ptr %t434, ptr %t435 %t436 = load ptr, ptr %t304 %t437 = call ptr @fn_join_path(ptr %t436, ptr @.str12900) store ptr %t437, ptr %t438 %t439 = load i32, ptr @g_g_windowed %t440 = icmp ne i32 %t439, 0 br i1 %t440, label %then168, label %ifend170 then168: %t441 = load ptr, ptr %t304 %t442 = call ptr @fn_join_path(ptr %t441, ptr @.str12901) store ptr %t442, ptr %t438 br label %ifend170 ifend170: %t443 = load ptr, ptr %t309 %t444 = call ptr @lp_str_concat(ptr %t443, ptr @.str12902) %t445 = load ptr, ptr %t432 %t446 = call ptr @lp_str_concat(ptr %t444, ptr %t445) %t447 = call ptr @lp_str_concat(ptr %t446, ptr @.str12903) %t448 = load ptr, ptr %t435 %t449 = call ptr @lp_str_concat(ptr %t447, ptr %t448) %t450 = call ptr @lp_str_concat(ptr %t449, ptr @.str12904) %t451 = load ptr, ptr %t438 %t452 = call ptr @lp_str_concat(ptr %t450, ptr %t451) %t453 = call ptr @lp_str_concat(ptr %t452, ptr @.str12905) store ptr %t453, ptr %t309 br label %ifend167 else166: %t454 = load ptr, ptr %t304 %t455 = call ptr @fn_join_path(ptr %t454, ptr @.str12906) store ptr %t455, ptr %t456 %t457 = load ptr, ptr %t304 %t458 = call ptr @fn_join_path(ptr %t457, ptr @.str12907) store ptr %t458, ptr %t459 %t460 = load ptr, ptr %t309 %t461 = call ptr @lp_str_concat(ptr %t460, ptr @.str12908) %t462 = load ptr, ptr %t456 %t463 = call ptr @lp_str_concat(ptr %t461, ptr %t462) %t464 = call ptr @lp_str_concat(ptr %t463, ptr @.str12909) %t465 = load ptr, ptr %t459 %t466 = call ptr @lp_str_concat(ptr %t464, ptr %t465) %t467 = call ptr @lp_str_concat(ptr %t466, ptr @.str12910) store ptr %t467, ptr %t309 br label %ifend167 ifend167: br label %ifend164 ifend164: %t468 = load i32, ptr @g_g_uses_vk %t469 = icmp ne i32 %t468, 0 br i1 %t469, label %then171, label %ifend173 then171: %t470 = load ptr, ptr %t304 %t471 = call ptr @fn_join_path(ptr %t470, ptr @.str12911) store ptr %t471, ptr %t472 %t473 = load ptr, ptr %t304 %t474 = call ptr @fn_join_path(ptr %t473, ptr @.str12912) store ptr %t474, ptr %t475 %t476 = load i32, ptr @g_g_target_win %t477 = icmp ne i32 %t476, 0 br i1 %t477, label %then174, label %ifend176 then174: %t478 = load ptr, ptr %t304 %t479 = call ptr @fn_join_path(ptr %t478, ptr @.str12913) store ptr %t479, ptr %t475 br label %ifend176 ifend176: %t480 = load ptr, ptr %t309 %t481 = call ptr @lp_str_concat(ptr %t480, ptr @.str12914) %t482 = load ptr, ptr %t472 %t483 = call ptr @lp_str_concat(ptr %t481, ptr %t482) %t484 = call ptr @lp_str_concat(ptr %t483, ptr @.str12915) %t485 = load ptr, ptr %t475 %t486 = call ptr @lp_str_concat(ptr %t484, ptr %t485) store ptr %t486, ptr %t309 br label %ifend173 ifend173: %t488 = load i32, ptr @g_g_target_win %t489 = icmp ne i32 %t488, 0 %t490 = zext i1 %t489 to i32 store i32 %t490, ptr %t487 br i1 %t489, label %sc177, label %scend178 sc177: %t491 = load i32, ptr %t9 %t492 = icmp ne i32 %t491, 0 %t493 = zext i1 %t492 to i32 store i32 %t493, ptr %t487 br label %scend178 scend178: %t494 = load i32, ptr %t487 %t495 = icmp ne i32 %t494, 0 br i1 %t495, label %then179, label %ifend181 then179: %t496 = load ptr, ptr %t309 %t497 = call ptr @lp_str_concat(ptr %t496, ptr @.str12916) store ptr %t497, ptr %t309 br label %ifend181 ifend181: store i32 0, ptr %t498 br label %wcond182 wcond182: %t499 = load i32, ptr %t498 %t500 = load ptr, ptr %t16 %t501 = getelementptr inbounds %LSlice, ptr %t500, i32 0, i32 1 %t502 = load i32, ptr %t501 %t503 = icmp slt i32 %t499, %t502 %t504 = zext i1 %t503 to i32 %t505 = icmp ne i32 %t504, 0 br i1 %t505, label %wbody183, label %wend184 wbody183: %t506 = load ptr, ptr %t309 %t507 = call ptr @lp_str_concat(ptr %t506, ptr @.str12917) %t508 = load ptr, ptr %t16 %t509 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 0 %t510 = load ptr, ptr %t509 %t511 = load i32, ptr %t498 %t512 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 1 %t513 = load i32, ptr %t512 %t514 = icmp ult i32 %t511, %t513 br i1 %t514, label %ixok185, label %ixbad186 ixbad186: %t515 = load ptr, ptr @__stderrp call i32 (ptr, ptr, ...) @fprintf(ptr %t515, ptr @.fmt_bounds, ptr @.str12918, i32 %t511, i32 %t513) call void @exit(i32 1) unreachable ixok185: %t516 = getelementptr inbounds ptr, ptr %t510, i32 %t511 %t517 = load ptr, ptr %t516 %t518 = call ptr @lp_str_concat(ptr %t507, ptr %t517) %t519 = call ptr @lp_str_concat(ptr %t518, ptr @.str12919) store ptr %t519, ptr %t309 %t520 = load i32, ptr %t498 %t521 = add i32 %t520, 1 store i32 %t521, ptr %t498 br label %wcond182 wend184: %t522 = load ptr, ptr %t309 %t523 = call ptr @lp_str_concat(ptr %t522, ptr @.str12920) %t524 = load ptr, ptr %t1 %t525 = call ptr @lp_str_concat(ptr %t523, ptr %t524) store ptr %t525, ptr %t309 %t526 = load ptr, ptr %t309 store ptr %t526, ptr %t527 %t528 = call i32 @fn_host_is_windows() %t529 = icmp ne i32 %t528, 0 br i1 %t529, label %then187, label %ifend189 then187: %t530 = load ptr, ptr %t309 %t531 = call ptr @lp_str_concat(ptr @.str12921, ptr %t530) %t532 = call ptr @lp_str_concat(ptr %t531, ptr @.str12922) store ptr %t532, ptr %t527 br label %ifend189 ifend189: %t533 = load ptr, ptr %t527 %t534 = call i32 @system(ptr %t533) store i32 %t534, ptr %t535 %t536 = load i32, ptr %t5 %t537 = icmp eq i32 %t536, 0 %t538 = zext i1 %t537 to i32 %t539 = icmp ne i32 %t538, 0 br i1 %t539, label %then190, label %ifend192 then190: %t540 = load ptr, ptr %t295 call void @fn_remove_file(ptr %t540) br label %ifend192 ifend192: %t541 = load i32, ptr %t535 %t542 = icmp ne i32 %t541, 0 %t543 = zext i1 %t542 to i32 %t544 = icmp ne i32 %t543, 0 br i1 %t544, label %then193, label %ifend195 then193: call void @fn_die(ptr @.str12923) br label %ifend195 ifend195: %t545 = load i32, ptr %t6 %t546 = icmp ne i32 %t545, 0 br i1 %t546, label %then196, label %ifend198 then196: %t547 = call i32 @fn_host_is_windows() %t548 = icmp ne i32 %t547, 0 br i1 %t548, label %then199, label %ifend201 then199: %t549 = load ptr, ptr %t1 %t550 = call ptr @fn_win_path(ptr %t549) %t551 = call ptr @lp_str_concat(ptr @.str12924, ptr %t550) %t552 = call ptr @lp_str_concat(ptr %t551, ptr @.str12925) %t553 = call i32 @system(ptr %t552) call void @exit(i32 %t553) unreachable ifend201: %t554 = load ptr, ptr %t1 %t555 = call i32 @system(ptr %t554) store i32 %t555, ptr %t556 %t557 = load i32, ptr %t556 %t558 = lshr i32 %t557, 8 %t559 = and i32 %t558, 255 call void @exit(i32 %t559) unreachable ifend198: br label %ret ret: %t560 = load i32, ptr %retval ret i32 %t560 }